cri_le_atom_asr.h
説明を見る。
    1 /****************************************************************************
    2  *
    3  * CRI Middleware SDK
    4  *
    5  * Copyright (c) 2010-2017 CRI Middleware Co., Ltd.
    6  *
    7  * Library  : CRI Atom
    8  * Module   : Library User's Header
    9  * File     : cri_le_atom_asr.h
   10  *
   11  ****************************************************************************/
   16 /* 多重定義防止                   */
   17 /* Prevention of redefinition   */
   18 #ifndef CRI_ATOM_ASR_H_INCLUDED
   19 #define CRI_ATOM_ASR_H_INCLUDED
   20 
   21 /***************************************************************************
   22  *      インクルードファイル
   23  *      Include files
   24  ***************************************************************************/
   25 #include <cri_le_xpt.h>
   26 #include <cri_le_atom.h>
   27 #include <cri_le_atom_ex.h>
   28 
   29 /***************************************************************************
   30  *      定数マクロ
   31  *      Macro Constants
   32  ***************************************************************************/
   39 #define CRIATOMEXASR_MAX_CHANNELS       (8)
   40 
   47 #define CRIATOMEXASR_DEFAULT_NUM_BUSES  (8)
   48 
   55 #define CRIATOMEXASR_MAX_BUSES          (64)
   56 
   64 #define CRIATOMEXASR_RACK_DEFAULT_ID    (0)
   65 
   73 #define CRIATOMEXASR_RACK_ILLEGAL_ID    (-1)
   74 
   82 #define CRIATOMEXASR_MAX_NUM_USER_EFFECT_INTERFACES (256)
   83 
   84 /*==========================================================================
   85  *      CRI ASRバスエフェクト名
   86  *=========================================================================*/
   91 #define CRIATOMEXASR_AMPLITUDE_ANALYZER_NAME        "CRIWARE/AmplitudeAnalyzer"
   92 
   97 #define CRIATOMEXASR_BIQUAD_FILTER_NAME             "CRIWARE/Biquad"
   98 
  103 #define CRIATOMEXASR_BANDPASS_FILTER_NAME           "CRIWARE/Bandpass"
  104 
  109 #define CRIATOMEXASR_CHORUS_NAME                    "CRIWARE/Chorus"
  110 
  115 #define CRIATOMEXASR_FLANGER_NAME                   "CRIWARE/Flanger"
  116 
  121 #define CRIATOMEXASR_COMPRESSOR_NAME                "CRIWARE/Compressor"
  122 
  127 #define CRIATOMEXASR_LIMITER_NAME                   "CRIWARE/Limiter"
  128 
  133 #define CRIATOMEXASR_DELAY_NAME                     "CRIWARE/Delay"
  134 
  139 #define CRIATOMEXASR_ECHO_NAME                      "CRIWARE/Echo"
  140 
  145 #define CRIATOMEXASR_MULTITAP_DELAY_NAME            "CRIWARE/MultiTapDelay"
  146 
  151 #define CRIATOMEXASR_DISTORTION_NAME                "CRIWARE/Distortion"
  152 
  157 #define CRIATOMEXASR_I3DL2_REVERB_NAME              "CRIWARE/I3DL2Reverb"
  158 
  163 #define CRIATOMEXASR_MATRIX_NAME                    "CRIWARE/Matrix"
  164 
  169 #define CRIATOMEXASR_3BANDS_EQUALIZER_NAME          "CRIWARE/3BandsEQ"
  170 
  175 #define CRIATOMEXASR_32BANDS_EQUALIZER_NAME         "CRIWARE/32BandsEQ"
  176 
  181 #define CRIATOMEXASR_PITCH_SHIFTER_NAME             "CRIWARE/PitchShifter"
  182 
  187 #define CRIATOMEXASR_REVERB_NAME                    "CRIWARE/Reverb"
  188 
  193 #define CRIATOMEXASR_SURROUNDER_NAME                "CRIWARE/Surrounder"
  194  
  199 #define CRIATOMEXASR_BIT_CRUSHER_NAME               "CRIWARE/BitCrusher"
  200 
  205 #define CRIATOMEXASR_PHASER_NAME                    "CRIWARE/Phaser"
  206 
  207 /*==========================================================================
  208  *      CRI ASRバスエフェクト パラメータ定義マクロ
  209  *=========================================================================*/
  233 #define CRIATOMEXASR_AMPLITUDE_ANALYZER_PARAMETER_SIDE_CHAIN_TABLE_ID   (0)
  234 
  241 #define CRIATOMEXASR_AMPLITUDE_ANALYZER_NUM_PARAMETERS                  (1)
  242 
  256 #define CRIATOMEXASR_BIQUAD_FILTER_PARAMETER_TYPE                       (0)
  257 
  269 #define CRIATOMEXASR_BIQUAD_FILTER_PARAMETER_FREQUENCY                  (1)
  270 
  278 #define CRIATOMEXASR_BIQUAD_FILTER_PARAMETER_QUALITY_FACTOR             (2)
  279 
  288 #define CRIATOMEXASR_BIQUAD_FILTER_PARAMETER_GAIN                       (3)
  289 
  296 #define CRIATOMEXASR_BIQUAD_FILTER_NUM_PARAMETERS                       (4)
  297 
  302 #define CRIATOMEXASR_BIQUAD_FILTER_TYPE_LOWPASS                         (0)
  303 
  308 #define CRIATOMEXASR_BIQUAD_FILTER_TYPE_HIGHPASS                        (1)
  309 
  314 #define CRIATOMEXASR_BIQUAD_FILTER_TYPE_NOTCH                           (2)
  315 
  320 #define CRIATOMEXASR_BIQUAD_FILTER_TYPE_LOWSHELF                        (3)
  321 
  326 #define CRIATOMEXASR_BIQUAD_FILTER_TYPE_HIGHSHELF                       (4)
  327 
  332 #define CRIATOMEXASR_BIQUAD_FILTER_TYPE_PEAKING                         (5)
  333 
  341 #define CRIATOMEXASR_BANDPASS_FILTER_PARAMETER_LOW_FREQ                 (0)
  342 
  350 #define CRIATOMEXASR_BANDPASS_FILTER_PARAMETER_HIGH_FREQ                (1)
  351 
  358 #define CRIATOMEXASR_BANDPASS_FILTER_NUM_PARAMETERS                     (2)
  359 
  373 #define CRIATOMEXASR_CHORUS_PARAMETER_DELAY_TIME_MS                     (0)
  374 
  382 #define CRIATOMEXASR_CHORUS_PARAMETER_DEPTH                             (1)
  383 
  391 #define CRIATOMEXASR_CHORUS_PARAMETER_RATE                              (2)
  392 
  400 #define CRIATOMEXASR_CHORUS_PARAMETER_FEEDBACK                          (3)
  401 
  409 #define CRIATOMEXASR_CHORUS_PARAMETER_DRY_MIX                           (4)
  410 
  415 #define CRIATOMEXASR_CHORUS_NUM_PARAMETERS                              (8)
  416 
  424 #define CRIATOMEXASR_FLANGER_PARAMETER_DELAY_TIME_MS                    (0)
  425 
  433 #define CRIATOMEXASR_FLANGER_PARAMETER_DEPTH                            (1)
  434 
  442 #define CRIATOMEXASR_FLANGER_PARAMETER_RATE                             (2)
  443 
  451 #define CRIATOMEXASR_FLANGER_PARAMETER_FEEDBACK                         (3)
  452 
  460 #define CRIATOMEXASR_FLANGER_PARAMETER_DRY_MIX                          (4)
  461 
  469 #define CRIATOMEXASR_FLANGER_PARAMETER_WET_MIX                          (5)
  470 
  475 #define CRIATOMEXASR_FLANGER_NUM_PARAMETERS                             (6)
  476 
  491 #define CRIATOMEXASR_COMPRESSOR_PARAMETER_THRESHOLD                     (0)
  492 
  500 #define CRIATOMEXASR_COMPRESSOR_PARAMETER_RATIO                         (1)
  501 
  509 #define CRIATOMEXASR_COMPRESSOR_PARAMETER_ATTACK_TIME_MS                (2)
  510 
  518 #define CRIATOMEXASR_COMPRESSOR_PARAMETER_RELEASE_TIME_MS               (3)
  519 
  527 #define CRIATOMEXASR_COMPRESSOR_PARAMETER_OUTPUT_GAIN                   (4)
  528 
  537 #define CRIATOMEXASR_COMPRESSOR_PARAMETER_SURROUND_LINK                 (5)
  538 
  547 #define CRIATOMEXASR_COMPRESSOR_PARAMETER_SPLIT_EQ_TYPE                 (6)
  548 
  556 #define CRIATOMEXASR_COMPRESSOR_PARAMETER_SPLIT_EQ_FREQUENCY            (7)
  557 
  565 #define CRIATOMEXASR_COMPRESSOR_PARAMETER_SPLIT_EQ_QUALITY_FACTOR       (8)
  566 
  571 #define CRIATOMEXASR_COMPRESSOR_NUM_PARAMETERS                          (9)
  572 
  577 #define CRIATOMEXASR_COMPRESSOR_SPLIT_EQ_TYPE_NONE                      (0)
  578 
  583 #define CRIATOMEXASR_COMPRESSOR_SPLIT_EQ_TYPE_LOWPASS                   (1)
  584 
  589 #define CRIATOMEXASR_COMPRESSOR_SPLIT_EQ_TYPE_HIGHPASS                  (2)
  590 
  595 #define CRIATOMEXASR_COMPRESSOR_SPLIT_EQ_TYPE_BANDPASS                  (3)
  596 
  601 #define CRIATOMEXASR_COMPRESSOR_SPLIT_EQ_TYPE_NOTCH                     (4)
  602 
  607 #define CRIATOMEXASR_COMPRESSOR_MODE_NORMAL                             (0)
  608 
  613 #define CRIATOMEXASR_COMPRESSOR_MODE_SIDE_CHAIN                         (1)
  614 
  619 #define CRIATOMEXASR_COMPRESSOR_TYPE_PEAK                               (0)
  620 
  625 #define CRIATOMEXASR_COMPRESSOR_TYPE_RMS                                (1)
  626 
  633 #define CRIATOMEXASR_LIMITER_PARAMETER_THRESHOLD                        (0)
  634 
  642 #define CRIATOMEXASR_LIMITER_PARAMETER_ATTACK_TIME_MS                   (1)
  643 
  651 #define CRIATOMEXASR_LIMITER_PARAMETER_RELEASE_TIME_MS                  (2)
  652 
  660 #define CRIATOMEXASR_LIMITER_PARAMETER_OUTPUT_GAIN                      (3)
  661 
  670 #define CRIATOMEXASR_LIMITER_PARAMETER_SURROUND_LINK                    (4)
  671 
  679 #define CRIATOMEXASR_LIMITER_PARAMETER_TYPE                             (5)
  680 
  685 #define CRIATOMEXASR_LIMITER_NUM_PARAMETERS                             (6)
  686                                                                     
  691 #define CRIATOMEXASR_LIMITER_MODE_NORMAL                                (0)
  692 
  697 #define CRIATOMEXASR_LIMITER_MODE_SIDE_CHAIN                            (1)
  698 
  703 #define CRIATOMEXASR_LIMITER_TYPE_PEAK                                  (0)
  704 
  709 #define CRIATOMEXASR_LIMITER_TYPE_RMS                                   (1)
  710 
  724 #define CRIATOMEXASR_DELAY_PARAMETER_DELAY_TIME_MS                      (0)
  725 
  730 #define CRIATOMEXASR_DELAY_NUM_PARAMETERS                               (1)
  731 
  736 #define CRIATOMEXASR_DELAY_PARAMETER_MIN_DELAY_TIME_MS                  (50.0f)
  737 
  743 #define CRIATOMEXASR_DELAY_PARAMETER_MAX_DELAY_TIME_MS                  (1000.0f)
  744 
  751 #define CRIATOMEXASR_ECHO_PARAMETER_DELAY_TIME_MS                       (0)
  752 
  762 #define CRIATOMEXASR_ECHO_PARAMETER_FB_GAIN                             (1)
  763 
  768 #define CRIATOMEXASR_ECHO_NUM_PARAMETERS                                (2)
  769 
  774 #define CRIATOMEXASR_ECHO_PARAMETER_MIN_DELAY_TIME_MS                   (0.0f)
  775 
  781 #define CRIATOMEXASR_ECHO_PARAMETER_MAX_DELAY_TIME_MS                   (1000.0f)
  782 
  787 #define CRIATOMEXASR_ECHO_PARAMETER_MIN_FB_GAIN                         (-0.99f)
  788 
  793 #define CRIATOMEXASR_ECHO_PARAMETER_MAX_FB_GAIN                         (0.99f)
  794 
  799 #define CRIATOMEXASR_MULTITAP_DELAY_NUM_TAPS                            (4)
  800 
  807 #define CRIATOMEXASR_MULTITAP_DELAY_NUM_CHANNELS                        (4)
  808 
  814 #define CRIATOMEXASR_MULTITAP_DELAY_PARAMETER_MAX_DELAY_TIME_MS         (10000.0f)
  815 
  820 #define CRIATOMEXASR_MULTITAP_DELAY_NUM_PARAMETER_PAR_TAP               (4)
  821 
  829 #define CRIATOMEXASR_MULTITAP_DELAY_PARAMETER_MAX_SUM_FEEDBACK_GAIN     (0.90f)
  830 
  835 #define CRIATOMEXASR_MULTITAP_DELAY_NUM_PARAMETERS \
  836     (CRIATOMEXASR_MULTITAP_DELAY_NUM_PARAMETER_PAR_TAP * CRIATOMEXASR_MULTITAP_DELAY_NUM_TAPS)  
  837 
  851 #define CRIATOMEXASR_DISTORTION_PARAMETER_DRIVE_DB                      (0)
  852 
  860 #define CRIATOMEXASR_DISTORTION_PARAMETER_DRY_MIX                       (1)
  861 
  869 #define CRIATOMEXASR_DISTORTION_PARAMETER_WET_MIX                       (2)
  870 
  878 #define CRIATOMEXASR_DISTORTION_PARAMETER_OUTPUT_GAIN                   (3)
  879 
  884 #define CRIATOMEXASR_DISTORTION_NUM_PARAMETERS                          (4)
  885 
  901 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_ROOM                        (0)
  902 
  910 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_ROOM_HF                     (1)
  911 
  919 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_DECAY_TIME                  (2)
  920 
  928 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_DECAY_HF_RATIO              (3)
  929 
  937 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_REFLECTIONS                 (4)
  938 
  946 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_REFLECTIONS_DELAY           (5)
  947 
  955 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_REVERB                      (6)
  956 
  964 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_REVERB_DELAY                (7)
  965 
  973 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_DIFFUSION                   (8)
  974 
  982 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_DENSITY                     (9)
  983 
  991 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_HF_REFERENCE                (10)
  992 
 1001 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_FRONT_INPUT                 (11)
 1002 
 1011 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_REAR_INPUT                  (12)
 1012 
 1021 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_CENTER_INPUT                (13)
 1022 
 1031 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_FRONT_OUTPUT                (14)
 1032 
 1041 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_REAR_OUTPUT                 (15)
 1042 
 1051 #define CRIATOMEXASR_I3DL2_REVERB_PARAMETER_CENTER_OUTPUT               (16)
 1052 
 1057 #define CRIATOMEXASR_I3DL2_REVERB_NUM_PARAMETERS                        (17)
 1058 
 1063 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_GENERIC \
 1064     { -1000,  -100, 1.49f, 0.83f,  -2602, 0.007f,    200, 0.011f, 100.0f, 100.0f, 5000.0f}
 1065 
 1070 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_PADDEDCELL \
 1071     { -1000, -6000, 0.17f, 0.10f,  -1204, 0.001f,    207, 0.002f, 100.0f, 100.0f, 5000.0f}
 1072 
 1077 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_ROOM \
 1078     { -1000,  -454, 0.40f, 0.83f,  -1646, 0.002f,     53, 0.003f, 100.0f, 100.0f, 5000.0f}
 1079 
 1084 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_BATHROOM \
 1085     { -1000, -1200, 1.49f, 0.54f,   -370, 0.007f,   1030, 0.011f, 100.0f,  60.0f, 5000.0f}
 1086 
 1091 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_LIVINGROOM \
 1092     { -1000, -6000, 0.50f, 0.10f,  -1376, 0.003f,  -1104, 0.004f, 100.0f, 100.0f, 5000.0f}
 1093 
 1098 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_STONEROOM \
 1099     { -1000,  -300, 2.31f, 0.64f,   -711, 0.012f,     83, 0.017f, 100.0f, 100.0f, 5000.0f}
 1100 
 1105 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_AUDITORIUM \
 1106     { -1000,  -476, 4.32f, 0.59f,   -789, 0.020f,   -289, 0.030f, 100.0f, 100.0f, 5000.0f}
 1107 
 1112 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_CONCERTHALL \
 1113     { -1000,  -500, 3.92f, 0.70f,  -1230, 0.020f,     -2, 0.029f, 100.0f, 100.0f, 5000.0f}
 1114 
 1119 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_CAVE \
 1120     { -1000,     0, 2.91f, 1.30f,   -602, 0.015f,   -302, 0.022f, 100.0f, 100.0f, 5000.0f}
 1121 
 1126 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_ARENA \
 1127     { -1000,  -698, 7.24f, 0.33f,  -1166, 0.020f,     16, 0.030f, 100.0f, 100.0f, 5000.0f}
 1128 
 1133 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_HANGAR \
 1134     { -1000, -1000, 10.05f, 0.23f,   -602, 0.020f,    198, 0.030f, 100.0f, 100.0f, 5000.0f}
 1135 
 1140 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_CARPETEDHALLWAY \
 1141     { -1000, -4000, 0.30f, 0.10f,  -1831, 0.002f,  -1630, 0.030f, 100.0f, 100.0f, 5000.0f}
 1142 
 1147 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_HALLWAY \
 1148     { -1000,  -300, 1.49f, 0.59f,  -1219, 0.007f,    441, 0.011f, 100.0f, 100.0f, 5000.0f}
 1149 
 1154 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_STONECORRIDOR \
 1155     { -1000,  -237, 2.70f, 0.79f,  -1214, 0.013f,    395, 0.020f, 100.0f, 100.0f, 5000.0f}
 1156 
 1161 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_ALLEY \
 1162     { -1000,  -270, 1.49f, 0.86f,  -1204, 0.007f,     -4, 0.011f, 100.0f, 100.0f, 5000.0f}
 1163 
 1168 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_FOREST \
 1169     { -1000, -3300, 1.49f, 0.54f,  -2560, 0.162f,   -613, 0.088f,  79.0f, 100.0f, 5000.0f}
 1170 
 1175 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_CITY \
 1176     { -1000,  -800, 1.49f, 0.67f,  -2273, 0.007f,  -2217, 0.011f,  50.0f, 100.0f, 5000.0f}
 1177 
 1182 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_MOUNTAINS \
 1183     { -1000, -2500, 1.49f, 0.21f,  -2780, 0.300f,  -2014, 0.100f,  27.0f, 100.0f, 5000.0f}
 1184 
 1189 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_QUARRY \
 1190     { -1000, -1000, 1.49f, 0.83f, -10000, 0.061f,    500, 0.025f, 100.0f, 100.0f, 5000.0f}
 1191 
 1196 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_PLAIN \
 1197     { -1000, -2000, 1.49f, 0.50f,  -2466, 0.179f,  -2514, 0.100f,  21.0f, 100.0f, 5000.0f}
 1198 
 1203 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_PARKINGLOT \
 1204     { -1000,     0, 1.65f, 1.50f,  -1363, 0.008f,  -1153, 0.012f, 100.0f, 100.0f, 5000.0f}
 1205 
 1210 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_SEWERPIPE \
 1211     { -1000, -1000, 2.81f, 0.14f,    429, 0.014f,    648, 0.021f,  80.0f,  60.0f, 5000.0f}
 1212 
 1217 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_UNDERWATER \
 1218     { -1000, -4000, 1.49f, 0.10f,   -449, 0.007f,   1700, 0.011f, 100.0f, 100.0f, 5000.0f}
 1219 
 1224 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_SMALLROOM \
 1225     { -1000,  -600, 1.10f, 0.83f,   -400, 0.005f,    500, 0.010f, 100.0f, 100.0f, 5000.0f}
 1226 
 1231 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_MEDIUMROOM \
 1232     { -1000,  -600, 1.30f, 0.83f,  -1000, 0.010f,   -200, 0.020f, 100.0f, 100.0f, 5000.0f}
 1233 
 1238 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_LARGEROOM \
 1239     { -1000,  -600, 1.50f, 0.83f,  -1600, 0.020f,  -1000, 0.040f, 100.0f, 100.0f, 5000.0f}
 1240 
 1245 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_MEDIUMHALL \
 1246     { -1000,  -600, 1.80f, 0.70f,  -1300, 0.015f,   -800, 0.030f, 100.0f, 100.0f, 5000.0f}
 1247 
 1252 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_LARGEHALL \
 1253     { -1000,  -600, 1.80f, 0.70f,  -2000, 0.030f,  -1400, 0.060f, 100.0f, 100.0f, 5000.0f}
 1254 
 1259 #define CRIATOMEXASR_I3DL2_REVERB_PRESET_PLATE \
 1260     { -1000,  -200, 1.30f, 0.90f,      0, 0.002f,      0, 0.010f, 100.0f,  75.0f, 5000.0f}
 1261 
 1275 #define CRIATOMEXASR_MATRIX_MAX_NUM_CHANNELS                            (8)
 1276 
 1281 #define CRIATOMEXASR_MATRIX_NUM_PARAMETERS                          \
 1282     (CRIATOMEXASR_MATRIX_MAX_NUM_CHANNELS * CRIATOMEXASR_MATRIX_MAX_NUM_CHANNELS)
 1283 
 1295 #define CRIATOMEXASR_MULTIBANDS_EQ_BAND_FILTER_TYPE_LOWSHELF            (0)
 1296 
 1301 #define CRIATOMEXASR_MULTIBANDS_EQ_BAND_FILTER_TYPE_HIGHSHELF           (1)
 1302 
 1307 #define CRIATOMEXASR_MULTIBANDS_EQ_BAND_FILTER_TYPE_PEAKING             (2)
 1308 
 1313 #define CRIATOMEXASR_MULTIBANDS_EQ_NUM_PARAMETER_PAR_BAND               (4)
 1314 
 1329 #define CRIATOMEXASR_PITCH_SHIFTER_PARAMETER_PITCH_RATIO                (0)
 1330 
 1339 #define CRIATOMEXASR_PITCH_SHIFTER_PARAMETER_FORMANT_RATIO              (1)
 1340 
 1349 #define CRIATOMEXASR_PITCH_SHIFTER_PARAMETER_MODE                       (2)
 1350 
 1358 #define CRIATOMEXASR_PITCH_SHIFTER_PARAMETER_DATA_PITCH_FREQUENCY       (3)
 1359 
 1364 #define CRIATOMEXASR_PITCH_SHIFTER_NUM_PARAMETERS                       (4)
 1365 
 1372 #define CRIATOMEXASR_PITCH_SHIFTER_MODE_MUSIC                           (0)
 1373 
 1380 #define CRIATOMEXASR_PITCH_SHIFTER_MODE_VOCAL                           (1)
 1381 
 1388 #define CRIATOMEXASR_PITCH_SHIFTER_MODE_SE                              (2)
 1389 
 1396 #define CRIATOMEXASR_PITCH_SHIFTER_MODE_SPEECH                          (3)
 1397 
 1411 #define CRIATOMEXASR_REVERB_PARAMETER_REVERB_TIME_MS                    (0)
 1412 
 1420 #define CRIATOMEXASR_REVERB_PARAMETER_ROOM_SIZE_M                       (1)
 1421 
 1429 #define CRIATOMEXASR_REVERB_PARAMETER_PRE_DELAY_TIME_MS                 (2)
 1430 
 1438 #define CRIATOMEXASR_REVERB_PARAMETER_LOW_COF                           (3)
 1439 
 1447 #define CRIATOMEXASR_REVERB_PARAMETER_HIGH_COF                          (4)
 1448 
 1453 #define CRIATOMEXASR_REVERB_NUM_PARAMETERS                              (5)
 1454 
 1461 #define CRIATOMEXASR_REVERB_MODE_DEF_SURROUND                           (0)
 1462 
 1469 #define CRIATOMEXASR_REVERB_MODE_DEF_STEREO                             (1)
 1470 
 1477 #define CRIATOMEXASR_REVERB_MODE_DEF_REAR_ONLY                          (2)
 1478 
 1485 #define CRIATOMEXASR_REVERB_MODE_DEF_CENTER_ONLY                        (3)
 1486 
 1500 #define CRIATOMEXASR_SURROUNDER_PARAMETER_MODE                          (0)
 1501 
 1509 #define CRIATOMEXASR_SURROUNDER_PARAMETER_DELAY_TIME_MS                 (1)
 1510 
 1518 #define CRIATOMEXASR_SURROUNDER_PARAMETER_GAIN                          (2)
 1519 
 1524 #define CRIATOMEXASR_SURROUNDER_NUM_PARAMETERS                          (3)
 1525 
 1526 
 1533 #define CRIATOMEXASR_SURROUNDER_MODE_STRAIGHT                           (0)
 1534 
 1541 #define CRIATOMEXASR_SURROUNDER_MODE_CROSS                              (1)
 1542 
 1549 #define CRIATOMEXASR_SURROUNDER_MODE_MATRIX                             (2)
 1550 
 1564 #define CRIATOMEXASR_BIT_CRUSHER_PARAMETER_DRIVE_DB                     (0)
 1565 
 1574 #define CRIATOMEXASR_BIT_CRUSHER_PARAMETER_DEPTH_BITS                   (1)
 1575 
 1584 #define CRIATOMEXASR_BIT_CRUSHER_PARAMETER_DOWN_SAMPLING                (2)
 1585 
 1593 #define CRIATOMEXASR_BIT_CRUSHER_PARAMETER_DRY_MIX                      (3)
 1594 
 1602 #define CRIATOMEXASR_BIT_CRUSHER_PARAMETER_WET_MIX                      (4)
 1603 
 1611 #define CRIATOMEXASR_BIT_CRUSHER_PARAMETER_OUTPUT_GAIN                  (5)
 1612 
 1617 #define CRIATOMEXASR_BIT_CRUSHER_NUM_PARAMETERS                         (6)
 1618 
 1632 #define CRIATOMEXASR_PHASER_PARAMETER_STAGES                            (0)
 1633 
 1641 #define CRIATOMEXASR_PHASER_PARAMETER_DEPTH                             (1)
 1642 
 1650 #define CRIATOMEXASR_PHASER_PARAMETER_RATE                              (2)
 1651 
 1659 #define CRIATOMEXASR_PHASER_PARAMETER_FEEDBACK                          (3)
 1660 
 1668 #define CRIATOMEXASR_PHASER_PARAMETER_DRY_MIX                           (4)
 1669 
 1677 #define CRIATOMEXASR_PHASER_PARAMETER_WET_MIX                           (5)
 1678 
 1683 #define CRIATOMEXASR_PHASER_NUM_PARAMETERS                              (6)
 1684 
 1685 /***************************************************************************
 1686  *      処理マクロ
 1687  *      Macro Functions
 1688  ***************************************************************************/
 1689 /*==========================================================================
 1690  *      CRI AtomEx ASR API
 1691  *=========================================================================*/
 1700 #define criAtomExAsr_SetDefaultConfig(p_config) \
 1701 {\
 1702     (p_config)->server_frequency = 60.0f;\
 1703     (p_config)->num_buses = CRIATOMEXASR_DEFAULT_NUM_BUSES; \
 1704     (p_config)->output_channels = CRIATOM_DEFAULT_OUTPUT_CHANNELS;\
 1705     (p_config)->output_sampling_rate = CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE;\
 1706     (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_NATIVE;\
 1707     (p_config)->context = NULL;\
 1708     (p_config)->max_racks = 8;\
 1709     (p_config)->ambisonics_order_type = CRIATOMAMBISONICS_ORDER_TYPE_NONE;\
 1710 }
 1711 
 1720 #define criAtomExAsr_SetDefaultConfigForBusAnalyzer(p_config) \
 1721 {\
 1722     (p_config)->interval = 50;\
 1723     (p_config)->peak_hold_time = 1000;\
 1724 }
 1725 
 1726 /*==========================================================================
 1727  *      CRI AtomEx ASR Rack API
 1728  *=========================================================================*/
 1739 #define criAtomExAsrRack_SetDefaultConfig(p_config) \
 1740 {\
 1741     (p_config)->server_frequency = 60.0f;\
 1742     (p_config)->num_buses = CRIATOMEXASR_DEFAULT_NUM_BUSES; \
 1743     (p_config)->output_channels = CRIATOM_DEFAULT_OUTPUT_CHANNELS;\
 1744     (p_config)->output_sampling_rate = CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE;\
 1745     (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_NATIVE;\
 1746     (p_config)->output_rack_id = 0;\
 1747     (p_config)->context = NULL;\
 1748 }
 1749 
 1750 /*==========================================================================
 1751  *      CRI Atom ASR API
 1752  *=========================================================================*/
 1763 #define criAtomAsr_SetDefaultConfig(p_config)   \
 1764 {\
 1765     (p_config)->server_frequency = 60.0f;\
 1766     (p_config)->num_buses = CRIATOMEXASR_DEFAULT_NUM_BUSES; \
 1767     (p_config)->output_channels = CRIATOM_DEFAULT_OUTPUT_CHANNELS;\
 1768     (p_config)->output_sampling_rate = CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE;\
 1769     (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_NATIVE;\
 1770     (p_config)->context = NULL;\
 1771     (p_config)->max_racks = 8;\
 1772     (p_config)->ambisonics_order_type = CRIATOMAMBISONICS_ORDER_TYPE_NONE;\
 1773 }
 1774 
 1775 /*==========================================================================
 1776  *      CRI AtomEx API
 1777  *=========================================================================*/
 1787 #define criAtomEx_SetDefaultConfigForUserPcmOutput(p_config)            \
 1788 {                                                           \
 1789     criAtomEx_SetDefaultConfig(&(p_config)->atom_ex);       \
 1790     criAtomExAsr_SetDefaultConfig(&(p_config)->asr);        \
 1791     criAtomExHcaMx_SetDefaultConfig(&(p_config)->hca_mx);   \
 1792 }
 1793 
 1794 /*==========================================================================
 1795  *      CRI ASRバスエフェクト パラメータインデックスアクセスマクロ
 1796  *=========================================================================*/
 1805 #define CRIATOMEXASR_CHORUS_PARAMETER_WET_MIX(tap_index)                \
 1806     ((tap_index) + 5)
 1807 
 1817 #define CRIATOMEXASR_MATRIX_PARAMETER_LEVELS(input_ch, output_ch)       \
 1818     ((input_ch) * CRIATOMEXASR_MATRIX_MAX_NUM_CHANNELS + (output_ch))
 1819 
 1830 #define CRIATOMEXASR_MULTIBANDS_EQ_PARAMETER_TYPE(band_index)           \
 1831     (CRIATOMEXASR_MULTIBANDS_EQ_NUM_PARAMETER_PAR_BAND * (band_index))
 1832 
 1841 #define CRIATOMEXASR_MULTIBANDS_EQ_PARAMETER_FREQUENCY(band_index)      \
 1842     (CRIATOMEXASR_MULTIBANDS_EQ_NUM_PARAMETER_PAR_BAND * (band_index) + 1)  
 1843 
 1853 #define CRIATOMEXASR_MULTIBANDS_EQ_PARAMETER_QUALITY_FACTOR(band_index) \
 1854     (CRIATOMEXASR_MULTIBANDS_EQ_NUM_PARAMETER_PAR_BAND * (band_index) + 2)  
 1855 
 1865 #define CRIATOMEXASR_MULTIBANDS_EQ_PARAMETER_GAIN(band_index)           \
 1866     (CRIATOMEXASR_MULTIBANDS_EQ_NUM_PARAMETER_PAR_BAND * (band_index) + 3)  
 1867 
 1873 #define CRIATOMEXASR_MULTIBANDS_EQ_NUM_PARAMETERS(num_bands)            \
 1874     ((num_bands) * CRIATOMEXASR_MULTIBANDS_EQ_NUM_PARAMETER_PAR_BAND)
 1875 
 1884 #define CRIATOMEXASR_MULTITAP_DELAY_PARAMETER_DELAY_TIME_MS(i_tap)      \
 1885     (0 + (i_tap) * CRIATOMEXASR_MULTITAP_DELAY_NUM_PARAMETER_PAR_TAP)
 1886 
 1895 #define CRIATOMEXASR_MULTITAP_DELAY_PARAMETER_LEVEL(i_tap)              \
 1896     (1 + (i_tap) * CRIATOMEXASR_MULTITAP_DELAY_NUM_PARAMETER_PAR_TAP)
 1897 
 1907 #define CRIATOMEXASR_MULTITAP_DELAY_PARAMETER_AZIMUTH(i_tap)            \
 1908     (2 + (i_tap) * CRIATOMEXASR_MULTITAP_DELAY_NUM_PARAMETER_PAR_TAP)
 1909 
 1919 #define CRIATOMEXASR_MULTITAP_DELAY_PARAMETER_FEEDBACK(i_tap)           \
 1920     (3 + (i_tap) * CRIATOMEXASR_MULTITAP_DELAY_NUM_PARAMETER_PAR_TAP)
 1921 
 1922 /***************************************************************************
 1923  *      データ型宣言
 1924  *      Data Type Declarations
 1925  ***************************************************************************/
 1926 /*==========================================================================
 1927  *      CRI AtomEx ASR API
 1928  *=========================================================================*/
 1944 typedef struct CriAtomExAsrConfigTag {
 1954     CriFloat32 server_frequency;
 1955 
 1964     CriSint32 num_buses;
 1965 
 1971     CriSint32 output_channels;
 1972     
 1981     CriSint32 output_sampling_rate;
 1982     
 1992     CriAtomSoundRendererType sound_renderer_type;
 1993 
 2002     void *context;
 2003     
 2009     CriSint32 max_racks;
 2010 
 2025     CriAtomAmbisonicsOrderType ambisonics_order_type;
 2026 } CriAtomExAsrConfig;
 2027 
 2043 typedef struct {
 2049     CriSint32 interval;
 2050 
 2056     CriSint32 peak_hold_time;
 2057 } CriAtomExAsrBusAnalyzerConfig;
 2058 
 2070 typedef struct CriAtomExAsrBusAnalyzerInfoTag {
 2076     CriSint32 num_channels;
 2077     
 2084     CriFloat32 rms_levels[CRIATOMEXASR_MAX_CHANNELS];
 2085     
 2091     CriFloat32 peak_levels[CRIATOMEXASR_MAX_CHANNELS];
 2092     
 2098     CriFloat32 peak_hold_levels[CRIATOMEXASR_MAX_CHANNELS];
 2099 } CriAtomExAsrBusAnalyzerInfo;
 2100 
 2155 typedef void (*CriAtomExAsrBusFilterCbFunc)(void *obj, CriAtomPcmFormat format,
 2156     CriSint32 num_channels, CriSint32 num_samples, void *data[]);
 2157 
 2164 typedef const struct CriAfxInterfaceWithVersionTag* CriAtomExAsrAfxInterfaceWithVersionPtr;
 2165 
 2166 /*==========================================================================
 2167  *      CRI AtomEx ASR Rack API
 2168  *=========================================================================*/
 2169 
 2178 typedef CriSint32 CriAtomExAsrRackId;
 2179 
 2195 typedef struct CriAtomExAsrRackConfigTag {
 2205     CriFloat32 server_frequency;
 2206     
 2214     CriSint32 num_buses;
 2215 
 2222     CriSint32 output_channels;
 2223     
 2232     CriSint32 output_sampling_rate;
 2233     
 2241     CriAtomSoundRendererType sound_renderer_type;
 2242 
 2249     CriAtomExAsrRackId output_rack_id;
 2250 
 2259     void *context;
 2260 } CriAtomExAsrRackConfig;
 2261 
 2262 /*==========================================================================
 2263  *      CRI Atom ASR API
 2264  *=========================================================================*/
 2280 typedef struct CriAtomAsrConfigTag {
 2290     CriFloat32 server_frequency;
 2291     
 2299     CriSint32 num_buses;
 2300 
 2307     CriSint32 output_channels;
 2308     
 2317     CriSint32 output_sampling_rate;
 2318     
 2328     CriAtomSoundRendererType sound_renderer_type;
 2329     
 2338     void *context;
 2339 
 2345     CriSint32 max_racks;
 2346 
 2361     CriAtomAmbisonicsOrderType ambisonics_order_type;
 2362 } CriAtomAsrConfig;
 2363 
 2364 /*==========================================================================
 2365 *      CRI AtomEx API
 2366 *=========================================================================*/
 2374 typedef struct CriAtomExConfigForUserPcmOutputTag {
 2375     CriAtomExConfig         atom_ex;    
 2376     CriAtomExAsrConfig      asr;        
 2377     CriAtomExHcaMxConfig    hca_mx;     
 2378 } CriAtomExConfigForUserPcmOutput;
 2379 
 2380 /***************************************************************************
 2381  *      変数宣言
 2382  *      Prototype Variables
 2383  ***************************************************************************/
 2384 
 2385 /***************************************************************************
 2386  *      関数宣言
 2387  *      Prototype Functions
 2388  ***************************************************************************/
 2389 #ifdef __cplusplus
 2390 extern "C" {
 2391 #endif
 2392 /*==========================================================================
 2393  *      CRI AtomEx ASR API
 2394  *=========================================================================*/
 2420 CriSint32 CRIAPI criAtomExAsr_CalculateWorkSize(const CriAtomExAsrConfig *config);
 2421 
 2478 void CRIAPI criAtomExAsr_SetConfigForWorkSizeCalculation(const CriAtomExAsrConfig *config);
 2479 
 2509 void CRIAPI criAtomExAsr_Initialize(
 2510     const CriAtomExAsrConfig *config, void *work, CriSint32 work_size);
 2511 
 2529 void CRIAPI criAtomExAsr_Finalize(void);
 2530 
 2548 void CRIAPI criAtomExAsr_SetBusVolumeByName(const CriChar8* bus_name, CriFloat32 volume);
 2549 
 2562 void CRIAPI criAtomExAsr_GetBusVolumeByName(const CriChar8* bus_name, CriFloat32 *volume);
 2563 
 2584 void CRIAPI criAtomExAsr_SetBusPan3dByName(const CriChar8* bus_name, 
 2585     CriFloat32 pan3d_angle, CriFloat32 pan3d_distance, CriFloat32 pan3d_volume);
 2586 
 2597 void CRIAPI criAtomExAsr_GetBusPan3dByName(const CriChar8* bus_name, 
 2598     CriFloat32 *pan3d_angle, CriFloat32 *pan3d_distance, CriFloat32 *pan3d_volume);
 2599 
 2625 void CRIAPI criAtomExAsr_SetBusMatrixByName(const CriChar8* bus_name, 
 2626     CriSint32 input_channels, CriSint32 output_channels, const CriFloat32 matrix[]);
 2627 
 2645 void CRIAPI criAtomExAsr_SetBusSendLevelByName(
 2646     const CriChar8* bus_name, const CriChar8* sendto_bus_name, CriFloat32 level);
 2647 
 2665 void CRIAPI criAtomExAsr_SetEffectParameter(
 2666     const CriChar8* bus_name, const CriChar8* effect_name, 
 2667     const CriUint32 parameter_index, const CriFloat32 parameter_value);
 2668 
 2679 void CRIAPI criAtomExAsr_UpdateEffectParameters(const CriChar8* bus_name, const CriChar8* effect_name);
 2680 
 2696 CriFloat32 CRIAPI criAtomExAsr_GetEffectParameter(
 2697     const CriChar8* bus_name, const CriChar8* effect_name, 
 2698     const CriUint32 parameter_index);
 2699 
 2716 void CRIAPI criAtomExAsr_SetEffectBypass(
 2717     const CriChar8* bus_name, const CriChar8* effect_name, 
 2718     const CriBool bypass);
 2719 
 2772 void CRIAPI criAtomExAsr_AttachBusAnalyzerByName(
 2773     const CriChar8* bus_name, const CriAtomExAsrBusAnalyzerConfig* config);
 2774 
 2783 void CRIAPI criAtomExAsr_DetachBusAnalyzerByName(const CriChar8* bus_name);
 2784 
 2794 void CRIAPI criAtomExAsr_GetBusAnalyzerInfoByName(
 2795     const CriChar8* bus_name, CriAtomExAsrBusAnalyzerInfo *info);
 2796 
 2818 void CRIAPI criAtomExAsr_SetBusFilterCallbackByName(const CriChar8* bus_name, 
 2819     CriAtomExAsrBusFilterCbFunc pre_func, CriAtomExAsrBusFilterCbFunc post_func, void *obj);
 2820 
 2834 CriSint32 CRIAPI criAtomExAsr_GetNumBuses(void);
 2835 
 2858 CriBool CRIAPI criAtomExAsr_RegisterEffectInterface(CriAtomExAsrAfxInterfaceWithVersionPtr afx_interface);
 2859 
 2875 void CRIAPI criAtomExAsr_UnregisterEffectInterface(CriAtomExAsrAfxInterfaceWithVersionPtr afx_interface);
 2876 
 2877 /*==========================================================================
 2878  *      CRI AtomEx ASR Rack API
 2879  *=========================================================================*/
 2905 CriSint32 CRIAPI criAtomExAsrRack_CalculateWorkSize(const CriAtomExAsrRackConfig *config);
 2906 
 2926 CriSint32 CRIAPI criAtomExAsrRack_CalculateWorkSizeForDspBusSettingFromConfig(
 2927     const CriAtomExAsrRackConfig *config, const CriChar8 *setting);
 2928 
 2949 CriSint32 CRIAPI criAtomExAsrRack_CalculateWorkSizeForDspBusSettingFromAcfDataAndConfig(
 2950     void *acf_data, CriSint32 acf_data_size,
 2951     const CriAtomExAsrRackConfig *rack_config, const CriChar8 *setting);
 2952 
 2988 CriAtomExAsrRackId CRIAPI criAtomExAsrRack_Create(
 2989     const CriAtomExAsrRackConfig *config, void *work, CriSint32 work_size);
 2990 
 3008 void CRIAPI criAtomExAsrRack_Destroy(CriAtomExAsrRackId rack_id);
 3009 
 3028 CriSint32 CRIAPI criAtomExAsrRack_CalculateWorkSizeForDspBusSetting(
 3029     CriAtomExAsrRackId rack_id, const CriChar8 *setting);
 3030 
 3052 void CRIAPI criAtomExAsrRack_AttachDspBusSetting(CriAtomExAsrRackId rack_id,
 3053     const CriChar8 *setting, void *work, CriSint32 work_size);
 3054 
 3072 void CRIAPI criAtomExAsrRack_DetachDspBusSetting(CriAtomExAsrRackId rack_id);
 3073 
 3085 void CRIAPI criAtomExAsrRack_ApplyDspBusSnapshot(CriAtomExAsrRackId rack_id,
 3086     const CriChar8 *snapshot_name, CriSint32 time_ms);
 3087 
 3097 const CriChar8* CRIAPI criAtomExAsrRack_GetAppliedDspBusSnapshotName(CriAtomExAsrRackId rack_id);
 3098 
 3117 void CRIAPI criAtomExAsrRack_SetBusVolumeByName(CriAtomExAsrRackId rack_id, 
 3118     const CriChar8* bus_name, CriFloat32 volume);
 3119 
 3133 void CRIAPI criAtomExAsrRack_GetBusVolumeByName(CriAtomExAsrRackId rack_id, 
 3134     const CriChar8* bus_name, CriFloat32* volume);
 3135 
 3157 void CRIAPI criAtomExAsrRack_SetBusPan3dByName(CriAtomExAsrRackId rack_id, const CriChar8* bus_name, 
 3158     CriFloat32 pan3d_angle, CriFloat32 pan3d_distance, CriFloat32 pan3d_volume);
 3159 
 3171 void CRIAPI criAtomExAsrRack_GetBusPan3dByName(CriAtomExAsrRackId rack_id, const CriChar8* bus_name, 
 3172     CriFloat32 *pan3d_angle, CriFloat32 *pan3d_distance, CriFloat32 *pan3d_volume);
 3173 
 3200 void CRIAPI criAtomExAsrRack_SetBusMatrixByName(
 3201     CriAtomExAsrRackId rack_id, const CriChar8* bus_name, CriSint32 input_channels, 
 3202     CriSint32 output_channels, const CriFloat32 matrix[]);
 3203 
 3222 void CRIAPI criAtomExAsrRack_SetBusSendLevelByName(CriAtomExAsrRackId rack_id,
 3223     const CriChar8* bus_name, const CriChar8* sendto_bus_name, CriFloat32 level);
 3224 
 3242 void CRIAPI criAtomExAsrRack_SetEffectParameter(CriAtomExAsrRackId rack_id,
 3243     const CriChar8* bus_name, const CriChar8* effect_name, 
 3244     const CriUint32 parameter_index, const CriFloat32 parameter_value);
 3245 
 3257 void CRIAPI criAtomExAsrRack_UpdateEffectParameters(CriAtomExAsrRackId rack_id,
 3258     const CriChar8* bus_name, const CriChar8* effect_name);
 3259 
 3276 CriFloat32 CRIAPI criAtomExAsrRack_GetEffectParameter(CriAtomExAsrRackId rack_id,
 3277     const CriChar8* bus_name, const CriChar8* effect_name, 
 3278     const CriUint32 parameter_index);
 3279 
 3297 void CRIAPI criAtomExAsrRack_SetEffectBypass(CriAtomExAsrRackId rack_id,
 3298     const CriChar8* bus_name, const CriChar8* effect_name, const CriBool bypass);
 3299 
 3322 void CRIAPI criAtomExAsrRack_AttachBusAnalyzerByName(CriAtomExAsrRackId rack_id, 
 3323     const CriChar8* bus_name, const CriAtomExAsrBusAnalyzerConfig* config);
 3324 
 3334 void CRIAPI criAtomExAsrRack_DetachBusAnalyzerByName(
 3335     CriAtomExAsrRackId rack_id, const CriChar8* bus_name);
 3336 
 3347 void CRIAPI criAtomExAsrRack_GetBusAnalyzerInfoByName(CriAtomExAsrRackId rack_id, 
 3348     const CriChar8* bus_name, CriAtomExAsrBusAnalyzerInfo *info);
 3349 
 3372 void CRIAPI criAtomExAsrRack_SetBusFilterCallbackByName(CriAtomExAsrRackId rack_id, 
 3373     const CriChar8* bus_name, CriAtomExAsrBusFilterCbFunc pre_func, 
 3374     CriAtomExAsrBusFilterCbFunc post_func, void *obj);
 3375 
 3391 void CRIAPI criAtomExAsrRack_SetAlternateRackId(
 3392     CriAtomExAsrRackId rack_id, CriAtomExAsrRackId alt_rack_id);
 3393 
 3408 CriSint32 CRIAPI criAtomExAsrRack_GetNumBuses(CriAtomExAsrRackId rack_id);
 3409 
 3434 CriSint32 CRIAPI criAtomExAsr_GetPcmDataFloat32(
 3435     CriSint32 output_channels, CriSint32 output_samples, CriFloat32 *output_buffer[]);
 3436 
 3445 CriSint32 CRIAPI criAtomExAsr_GetNumBufferedSamples(void);
 3446 
 3478 void CRIAPI criAtomExAsr_SetPcmBufferSize(CriSint32 num_samples);
 3479 
 3505 CriSint32 CRIAPI criAtomExAsrRack_GetPcmDataFloat32(CriAtomExAsrRackId rack_id,
 3506     CriSint32 output_channels, CriSint32 output_samples, CriFloat32 *output_buffer[]);
 3507 
 3516 CriSint32 CRIAPI criAtomExAsrRack_GetNumBufferedSamples(CriAtomExAsrRackId rack_id);
 3517 
 3518 /*==========================================================================
 3519  *      CRI Atom ASR API
 3520  *=========================================================================*/
 3546 CriSint32 CRIAPI criAtomAsr_CalculateWorkSize(const CriAtomAsrConfig *config);
 3547 
 3579 void CRIAPI criAtomAsr_Initialize(
 3580     const CriAtomAsrConfig *config, void *work, CriSint32 work_size);
 3581 
 3599 void CRIAPI criAtomAsr_Finalize(void);
 3600 
 3601 /*==========================================================================
 3602 *      CRI AtomEx API
 3603 *=========================================================================*/
 3626 CriSint32 CRIAPI criAtomEx_CalculateWorkSizeForUserPcmOutput(
 3627     const CriAtomExConfigForUserPcmOutput *config);
 3628 
 3652 void CRIAPI criAtomEx_InitializeForUserPcmOutput(
 3653     const CriAtomExConfigForUserPcmOutput *config, void *work, CriSint32 work_size);
 3654 
 3667 void CRIAPI criAtomEx_FinalizeForUserPcmOutput(void);
 3668 
 3669 /***************************************************************************
 3670  *      暫定API(使用はお控え下さい)
 3671  *      Tentative API (Please don't use it)
 3672  ***************************************************************************/
 3673 /* 以下に宣言されている関数はAtomの内部処理用、ゲームエンジンとの連携等にて
 3674  * 暫定的に使用されているAPIです。
 3675  * 今後のアップデートにて予告なく変更・削除が行われるため、使用はお控え下さい。
 3676  */
 3677 void CRIAPI criAtomExAsr_PauseOutputVoice(CriBool sw);
 3678 CriBool CRIAPI criAtomExAsrRack_GetNumOutputSamples(
 3679     CriAtomExAsrRackId rack_id, CriSint64 *num_samples, CriSint32 *sampling_rate);
 3680 CriSint32 CRIAPI criAtomExAsrRack_GetOutputChannels(CriAtomExAsrRackId rack_id);
 3681 CriUint16 CRIAPI criAtomExAsrRack_GetBusNumber(
 3682     CriAtomExAsrRackId rack_id, const CriChar8 *bus_name);
 3683 void CRIAPI criAtomAsr_PauseOutputVoice(CriBool sw);
 3684 CriSint32 CRIAPI criAtomExAsrRack_GetAmbisonicRackId(void);
 3685 
 3686 #ifdef __cplusplus
 3687 }
 3688 #endif
 3689 
 3690 /***************************************************************************
 3691  *      旧バージョンとの互換用
 3692  *      For compatibility with old version
 3693  ***************************************************************************/
 3694 #define CRIATOMEXASR_DEFAULT_NUM_BASES  (CRIATOMEXASR_DEFAULT_NUM_BUSES)
 3695 #define CRIATOMEXASR_MAX_BASES          (CRIATOMEXASR_MAX_BUSES)
 3696 #define criAtomExAsr_CalculateWorkSizeForDspBusSettingFromAcfData(acf_data, acf_buffer_size, setting_name)  \
 3697     criAtomEx_CalculateWorkSizeForDspBusSettingFromAcfData((acf_data), (acf_buffer_size), (setting_name))
 3698 #define criAtomExAsr_CalculateWorkSizeForDspBusSetting(setting) \
 3699     criAtomEx_CalculateWorkSizeForDspBusSetting(setting)
 3700 #define criAtomExAsr_AttachDspBusSetting(setting, work, work_size) \
 3701     criAtomEx_AttachDspBusSetting(setting, work, work_size)
 3702 #define criAtomExAsr_DetachDspBusSetting() \
 3703     criAtomEx_DetachDspBusSetting()
 3704 /* レンダラーの出力Ch数設定に応じて、自動でダウンミックスするため下記2関数は無効にしています */
 3705 #define criAtomExAsr_SetDownmixMode(downmix_mode)
 3706 #define criAtomExAsrRack_SetDownmixMode(rack_id, downmix_mode)
 3707 
 3708 /* 誤表記マクロ */
 3709 #define CRIATOMEXASR_BIQUAD_FILTER_ANALYZER_NAME                "CRIWARE/Biquad"
 3710 #define CRIATOMEXASR_BANDPASS_FILTER_PARAMETER_TYPE             (-1)
 3711 #define CRIATOMEXASR_BUTTERWORTH_FILTER_PARAMETER_TYPE          (-1)
 3712 #define CRIATOMEXASR_BUTTERWORTH_FILTER_PARAMETER_LOW_FREQ      (0)
 3713 #define CRIATOMEXASR_BUTTERWORTH_FILTER_PARAMETER_HIGH_FREQ     (1)
 3714 #define CRIATOMEXASR_BUTTERWORTH_FILTER_NUM_PARAMETERS          (2)
 3715 
 3716 /* 
 3717  * CRI Atom Ver.2.13.00 以降では、ASRバスに使用するエフェクトの識別を
 3718  * id(列挙型)から文字列に変更し、またエフェクトのパラメータは構造体からfloat配列に変更しています。
 3719  * この変更に伴い、以下の列挙型と構造体は内部的に使用しません。
 3720  * 過去互換の為、型定義だけを残します。
 3721  */
 3722 typedef enum {
 3723     CRIATOMEXASR_DSP_ID_INVALID = 0,        
 3724     CRIATOMEXASR_DSP_ID_BANDPASS_FILTER,    
 3725     CRIATOMEXASR_DSP_ID_BIQUAD_FILTER,      
 3726     CRIATOMEXASR_DSP_ID_DELAY,              
 3727     CRIATOMEXASR_DSP_ID_ECHO,               
 3728     CRIATOMEXASR_DSP_ID_REVERB,             
 3729     CRIATOMEXASR_DSP_ID_PITCH_SHIFTER,      
 3730     CRIATOMEXASR_DSP_ID_3BAND_EQ,           
 3731     CRIATOMEXASR_DSP_ID_COMPRESSOR,         
 3732     CRIATOMEXASR_DSP_ID_COMPRESSOR_EX,      
 3733     CRIATOMEXASR_DSP_ID_CHORUS,             
 3734     CRIATOMEXASR_DSP_ID_FLANGER,            
 3735     CRIATOMEXASR_DSP_ID_DISTORTION,         
 3736     CRIATOMEXASR_DSP_ID_AMPLITUDE_ANALYZER, 
 3737     CRIATOMEXASR_DSP_ID_SURROUNDER,         
 3738     CRIATOMEXASR_DSP_ID_I3DL2_REVERB,       
 3739     CRIATOMEXASR_DSP_ID_MULTI_TAP_DELAY,    
 3740     CRIATOMEXASR_DSP_ID_LIMITER,            
 3741     CRIATOMEXASR_DSP_ID_MATRIX,             
 3742     CRIATOMEXASR_DSP_ID_32BANDS_EQ,
 3743     CRIATOMEXASR_DSP_ID_BIT_CRUSHER,
 3744     CRIATOMEXASR_DSP_ID_PHASER,
 3745     CRIATOMEXASR_DSP_ID_NO_TYPE = 0xFF,
 3746     CRIATOMEXASR_DSP_ID_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
 3747 } CriAtomExAsrDspId;
 3748 
 3749 typedef struct CriAtomExAsrBandpassFilterParameterTag {
 3750     CriFloat32 cof_high;
 3751     CriFloat32 cof_low;
 3752 } CriAtomExAsrBandpassFilterParameter;
 3753 
 3754 typedef struct CriAtomExAsrBiquadFilterParameterTag {
 3755     CriAtomExBiquadFilterType type;
 3756     CriFloat32 frequency;
 3757     CriFloat32 q_value;
 3758     CriFloat32 gain;
 3759 } CriAtomExAsrBiquadFilterParameter;
 3760 
 3761 typedef struct CriAtomExAsrDelayParameterTag {
 3762     CriFloat32 max_delay_time_ms;
 3763     CriFloat32 delay_time_ms;
 3764 } CriAtomExAsrDelayParameter;
 3765 
 3766 typedef struct CriAtomExAsrEchoParameterTag {
 3767     CriFloat32 max_delay_time_ms;
 3768     CriFloat32 delay_time_ms;
 3769     CriFloat32 gain;
 3770 } CriAtomExAsrEchoParameter;
 3771 
 3772 typedef enum {
 3773     CRIATOMEXASR_REVERB_MODE_SURROUND = 0,
 3774     CRIATOMEXASR_REVERB_MODE_STEREO,
 3775     CRIATOMEXASR_REVERB_MODE_REAR_ONLY,
 3776     CRIATOMEXASR_REVERB_MODE_CENTER_ONLY,
 3777     CRIATOMEXASR_REVERB_MODE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
 3778 } CriAtomExAsrReverbMode;
 3779 
 3780 typedef struct CriAtomExAsrReverbParameterTag {
 3781     CriFloat32 max_predelay_time_ms;
 3782     CriFloat32 max_room_size;
 3783     CriAtomExAsrReverbMode mode;
 3784     CriFloat32 reverb_time_ms;
 3785     CriFloat32 room_size;
 3786     CriFloat32 predelay_time_ms;
 3787     CriFloat32 cof_low;
 3788     CriFloat32 cof_high;
 3789 } CriAtomExAsrReverbParameter;
 3790 
 3791 typedef enum {
 3792     CRIATOMEXASR_PITCHSHIFTER_WINDOW_WIDTH_128 = 0,
 3793     CRIATOMEXASR_PITCHSHIFTER_WINDOW_WIDTH_256,    
 3794     CRIATOMEXASR_PITCHSHIFTER_WINDOW_WIDTH_512,    
 3795     CRIATOMEXASR_PITCHSHIFTER_WINDOW_WIDTH_1024,   
 3796     CRIATOMEXASR_PITCHSHIFTER_WINDOW_WIDTH_2048,   
 3797     CRIATOMEXASR_PITCHSHIFTER_WINDOW_WIDTH_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
 3798 } CriAtomExAsrPitchShifterWindowWidthType;
 3799 
 3800 typedef enum {
 3801     CRIATOMEXASR_PITCHSHIFTER_OVERLAP_1 = 0, 
 3802     CRIATOMEXASR_PITCHSHIFTER_OVERLAP_2,     
 3803     CRIATOMEXASR_PITCHSHIFTER_OVERLAP_4,     
 3804     CRIATOMEXASR_PITCHSHIFTER_OVERLAP_8,     
 3805     CRIATOMEXASR_PITCHSHIFTER_OVERLAP_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
 3806 } CriAtomExAsrPitchShifterOverlapType;
 3807 
 3808 typedef struct CriAtomExAsrPitchShifterParameterTag {
 3809     CriFloat32 pitch_cent;
 3810     CriFloat32 formant_cent;
 3811     CriSint32 mode;
 3812     CriAtomExAsrPitchShifterWindowWidthType window_width;
 3813     CriAtomExAsrPitchShifterOverlapType overlap;
 3814 } CriAtomExAsrPitchShifterParameter;
 3815 
 3816 typedef enum {
 3817     CRIATOMEX_EQ_BAND_TYPE_LOWSHELF     = 0,    
 3818     CRIATOMEX_EQ_BAND_TYPE_HIGHSHELF    = 1,    
 3819     CRIATOMEX_EQ_BAND_TYPE_PEAKING      = 2,    
 3820     CRIATOMEX_EQ_BAND_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
 3821 } CriAtomExAsrEqBandType;
 3822 
 3823 typedef struct CriAtomExAsr3BandsEqParameterTag {
 3824     struct {
 3825         CriAtomExAsrEqBandType type;
 3826         CriFloat32 frequency;
 3827         CriFloat32 q_value;
 3828         CriFloat32 gain;
 3829     } bands[3];
 3830 } CriAtomExAsr3BandsEqParameter;
 3831 
 3832 typedef struct CriAtomExAsr32BandsEqParameterTag {
 3833     CriSint32 num_used_bands;
 3834     struct {
 3835         CriAtomExAsrEqBandType type;
 3836         CriFloat32 frequency;
 3837         CriFloat32 q_value;
 3838         CriFloat32 gain;
 3839     } bands[32];
 3840 } CriAtomExAsr32BandsEqParameter;
 3841 
 3842 typedef struct CriAtomExAsrCompressorParameterTag {
 3843     CriFloat32 threshold;
 3844     CriFloat32 ratio;
 3845     CriFloat32 attack_time;
 3846     CriFloat32 release_time;
 3847     CriFloat32 output_gain; 
 3848     CriFloat32 surround_link;
 3849     CriSint32 side_chain_input_bus_no;
 3850 } CriAtomExAsrCompressorParameter;
 3851 
 3852 typedef enum {
 3853     CRIATOMEXASR_SPLIT_EQ_NONE     = 0,
 3854     CRIATOMEXASR_SPLIT_EQ_LOWPASS  = 1,
 3855     CRIATOMEXASR_SPLIT_EQ_HIGHPASS = 2,
 3856     CRIATOMEXASR_SPLIT_EQ_BANDPASS = 3,
 3857     CRIATOMEXASR_SPLIT_EQ_NOTCH    = 4,
 3858     CRIATOMEXASR_SPLIT_EQ_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
 3859 } CriAtomExAsrSplitEqType;
 3860 
 3861 typedef struct CriAtomExAsrCompressorExParameterTag {
 3862     CriAtomExAsrCompressorParameter base;
 3863     CriAtomExAsrSplitEqType eq_type;
 3864     CriFloat32 frequency;
 3865     CriFloat32 q_value;
 3866 } CriAtomExAsrCompressorExParameter;
 3867 
 3868 typedef struct CriAtomExAsrChorusParameterTag {
 3869     CriFloat32 max_delay_time_ms;
 3870     CriFloat32 delay_time_ms;
 3871     CriFloat32 rate;
 3872     CriFloat32 depth;
 3873     CriFloat32 feedback;
 3874     CriFloat32 dry_mix; 
 3875     CriFloat32 wet_mix1;
 3876     CriFloat32 wet_mix2;
 3877     CriFloat32 wet_mix3;
 3878 } CriAtomExAsrChorusParameter;
 3879 
 3880 typedef struct CriAtomExAsrFlangerParameterTag {
 3881     CriFloat32 delay_time_ms;
 3882     CriFloat32 rate;
 3883     CriFloat32 depth;
 3884     CriFloat32 feedback;
 3885     CriFloat32 dry_mix; 
 3886     CriFloat32 wet_mix;
 3887 } CriAtomExAsrFlangerParameter;
 3888 
 3889 typedef struct CriAtomExAsrDistortionParameterTag {
 3890     CriFloat32 drive;
 3891     CriFloat32 dry_mix; 
 3892     CriFloat32 wet_mix;
 3893     CriFloat32 output_gain; 
 3894 } CriAtomExAsrDistortionParameter;
 3895 
 3896 typedef enum {
 3897     CRIATOMEX_SURROUNDER_MODE_STRAIGHT = 0,
 3898     CRIATOMEX_SURROUNDER_MODE_CROSS = 1,
 3899     CRIATOMEX_SURROUNDER_MODE_MATRIX = 2,
 3900     CRIATOMEX_SURROUNDER_MODE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
 3901 } CriAtomExAsrSurrounderMode;
 3902 
 3903 typedef struct CriAtomExAsrSurrounderParameterTag {
 3904     CriFloat32 max_delay_time_ms;
 3905     CriFloat32 delay_time_ms;
 3906     CriFloat32 gain;
 3907     CriAtomExAsrSurrounderMode mode;
 3908 } CriAtomExAsrSurrounderParameter;
 3909 
 3910 typedef struct CriAtomExAsrI3DL2ReverbParameterTag {
 3911     CriFloat32 room;
 3912     CriFloat32 room_hf;
 3913     CriFloat32 decay_time;
 3914     CriFloat32 decay_hf_ratio;
 3915     CriFloat32 reflections;
 3916     CriFloat32 reflections_delay;
 3917     CriFloat32 reverb;
 3918     CriFloat32 reverb_delay;
 3919     CriFloat32 diffusion;
 3920     CriFloat32 density;
 3921     CriFloat32 hf_reference;
 3922     CriFloat32 front_input;
 3923     CriFloat32 rear_input;
 3924     CriFloat32 center_input;
 3925     CriFloat32 front_output;
 3926     CriFloat32 rear_output;
 3927     CriFloat32 center_output;
 3928 } CriAtomExAsrI3DL2ReverbParameter;
 3929 
 3930 typedef struct CriAtomExAsrMultiTapDelayParameterTag {
 3931     CriFloat32 max_delay_time_ms;
 3932     struct {
 3933         CriFloat32 delay_time_ms;
 3934         CriFloat32 level;
 3935         CriFloat32 pan;
 3936         CriFloat32 feedback;
 3937     } taps[4];
 3938 } CriAtomExAsrMultiTapDelayParameter;
 3939 
 3940 typedef enum {
 3941     CRIATOMEX_LIMITER_TYPE_PEAK = 0,
 3942     CRIATOMEX_LIMITER_TYPE_RMS = 1,
 3943     CRIATOMEX_LIMITER_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
 3944 } CriAtomExAsrLimiterType;
 3945 
 3946 typedef struct CriAtomExAsrLimiterParameterTag {
 3947     CriAtomExAsrLimiterType type;
 3948     CriFloat32 threshold;
 3949     CriFloat32 attack_time;
 3950     CriFloat32 release_time;
 3951     CriFloat32 output_gain; 
 3952     CriFloat32 surround_link;
 3953     CriSint32 side_chain_input_bus_no;
 3954 } CriAtomExAsrLimiterParameter;
 3955 
 3956 typedef struct CriAtomExAsrMatrixParameterTag {
 3957     CriFloat32      levels[CRIATOMEXASR_MAX_CHANNELS][CRIATOMEXASR_MAX_CHANNELS];
 3958 } CriAtomExAsrMatrixParameter;
 3959 
 3960 #ifdef __cplusplus
 3961 extern "C" {
 3962 #endif
 3963 
 3970 void CRIAPI criAtomExAsr_SetDspParameter(
 3971     CriSint32 bus_no, CriAtomExAsrDspId dsp_id, const void* parameter);
 3972 
 3979 void CRIAPI criAtomExAsr_SetDspParameterByName(
 3980     const CriChar8* bus_name, CriAtomExAsrDspId dsp_id, const void* parameter);
 3981 
 3988 void CRIAPI criAtomExAsr_GetDspParameter(
 3989     CriSint32 bus_no, CriAtomExAsrDspId dsp_id, void* parameter_buf, CriSint32 parameter_size);
 3990 
 3997 void CRIAPI criAtomExAsr_GetDspParameterByName(
 3998     const CriChar8* bus_name, CriAtomExAsrDspId dsp_id, void* parameter_buf, CriSint32 parameter_size);
 3999 
 4006 void CRIAPI criAtomExAsr_SetDspBypass(
 4007     CriSint32 bus_no, CriAtomExAsrDspId dsp_id, CriBool bypass);
 4008 
 4015 void CRIAPI criAtomExAsr_SetDspBypassByName(
 4016     const CriChar8* bus_name, CriAtomExAsrDspId dsp_id, CriBool bypass);
 4017 
 4023 void CRIAPI criAtomExAsr_SetBusVolume(CriSint32 bus_no, CriFloat32 volume);
 4024 
 4030 void CRIAPI criAtomExAsr_GetBusVolume(CriSint32 bus_no, CriFloat32 *volume);
 4031 
 4037 void CRIAPI criAtomExAsr_SetBusPan3d(CriSint32 bus_no, 
 4038     CriFloat32 pan3d_angle, CriFloat32 pan3d_distance, CriFloat32 pan3d_volume);
 4039 
 4045 void CRIAPI criAtomExAsr_GetBusPan3d(CriSint32 bus_no, 
 4046     CriFloat32 *pan3d_angle, CriFloat32 *pan3d_distance, CriFloat32 *pan3d_volume);
 4047 
 4053 void CRIAPI criAtomExAsr_SetBusMatrix(CriSint32 bus_no, 
 4054     CriSint32 input_channels, CriSint32 output_channels, const CriFloat32 matrix[]);
 4055 
 4061 void CRIAPI criAtomExAsr_SetBusSendLevel(
 4062     CriSint32 bus_no, CriSint32 sendto_no, CriFloat32 level);
 4069 void CRIAPI criAtomExAsr_AttachBusAnalyzer(
 4070     CriSint32 bus_no, const CriAtomExAsrBusAnalyzerConfig* config);
 4071 
 4077 void CRIAPI criAtomExAsr_DetachBusAnalyzer(CriSint32 bus_no);
 4078 
 4084 void CRIAPI criAtomExAsr_GetBusAnalyzerInfo(
 4085     CriSint32 bus_no, CriAtomExAsrBusAnalyzerInfo *info);
 4086 
 4092 void CRIAPI criAtomExAsr_SetBusFilterCallback(CriSint32 bus_no, 
 4093     CriAtomExAsrBusFilterCbFunc pre_func, CriAtomExAsrBusFilterCbFunc post_func, void *obj);
 4094 
 4101 void CRIAPI criAtomExAsrRack_SetDspParameter(CriAtomExAsrRackId rack_id, 
 4102     CriSint32 bus_no, CriAtomExAsrDspId dsp_id, const void* parameter);
 4103 
 4110 void CRIAPI criAtomExAsrRack_SetDspParameterByName(CriAtomExAsrRackId rack_id, 
 4111     const CriChar8* bus_name, CriAtomExAsrDspId dsp_id, const void* parameter);
 4112 
 4119 void CRIAPI criAtomExAsrRack_GetDspParameter(CriAtomExAsrRackId rack_id, 
 4120     CriSint32 bus_no, CriAtomExAsrDspId dsp_id, void* parameter_buf, CriSint32 parameter_size);
 4121 
 4128 void CRIAPI criAtomExAsrRack_GetDspParameterByName(CriAtomExAsrRackId rack_id, 
 4129     const CriChar8* bus_name, CriAtomExAsrDspId dsp_id, void* parameter_buf, CriSint32 parameter_size);
 4130 
 4137 void CRIAPI criAtomExAsrRack_SetDspBypass(CriAtomExAsrRackId rack_id, 
 4138     CriSint32 bus_no, CriAtomExAsrDspId dsp_id, CriBool bypass);
 4139 
 4146 void CRIAPI criAtomExAsrRack_SetDspBypassByName(CriAtomExAsrRackId rack_id, 
 4147     const CriChar8* bus_name, CriAtomExAsrDspId dsp_id, CriBool bypass);
 4148 
 4154 void CRIAPI criAtomExAsrRack_SetBusVolume(CriAtomExAsrRackId rack_id, 
 4155     CriSint32 bus_no, CriFloat32 volume);
 4156 
 4162 void CRIAPI criAtomExAsrRack_GetBusVolume(CriAtomExAsrRackId rack_id, 
 4163     CriSint32 bus_no, CriFloat32* volume);
 4164 
 4170 void CRIAPI criAtomExAsrRack_SetBusPan3d(CriAtomExAsrRackId rack_id, CriSint32 bus_no, 
 4171     CriFloat32 pan3d_angle, CriFloat32 pan3d_distance, CriFloat32 pan3d_volume);
 4172 
 4178 void CRIAPI criAtomExAsrRack_GetBusPan3d(CriAtomExAsrRackId rack_id, CriSint32 bus_no, 
 4179     CriFloat32 *pan3d_angle, CriFloat32 *pan3d_distance, CriFloat32 *pan3d_volume);
 4180 
 4186 void CRIAPI criAtomExAsrRack_SetBusMatrix(
 4187     CriAtomExAsrRackId rack_id, CriSint32 bus_no, CriSint32 input_channels, 
 4188     CriSint32 output_channels, const CriFloat32 matrix[]);
 4189 
 4195 void CRIAPI criAtomExAsrRack_SetBusSendLevel(CriAtomExAsrRackId rack_id,
 4196     CriSint32 bus_no, CriSint32 sendto_no, CriFloat32 level);
 4197 
 4203 void CRIAPI criAtomExAsrRack_AttachBusAnalyzer(CriAtomExAsrRackId rack_id, 
 4204     CriSint32 bus_no, const CriAtomExAsrBusAnalyzerConfig* config);
 4205 
 4211 void CRIAPI criAtomExAsrRack_DetachBusAnalyzer(
 4212     CriAtomExAsrRackId rack_id, CriSint32 bus_no);
 4213 
 4219 void CRIAPI criAtomExAsrRack_GetBusAnalyzerInfo(CriAtomExAsrRackId rack_id, 
 4220     CriSint32 bus_no, CriAtomExAsrBusAnalyzerInfo *info);
 4221 
 4227 void CRIAPI criAtomExAsrRack_SetBusFilterCallback(CriAtomExAsrRackId rack_id, 
 4228     CriSint32 bus_no, CriAtomExAsrBusFilterCbFunc pre_func, 
 4229     CriAtomExAsrBusFilterCbFunc post_func, void *obj);
 4230 
 4231 #ifdef __cplusplus
 4232 }
 4233 #endif
 4234 
 4235 
 4236 #endif  /* CRI_ATOM_ASR_H_INCLUDED */
 4237 
 4238 /* --- end of file --- */-stdin

CRI Middleware logo Copyright (c) 2012-2018 CRI Middleware Co., Ltd. CRI ADX2 LE マニュアル (for Cocos2d-x) SDKVer.2.10版