Go to the documentation of this file.00001
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 #ifndef _USB_COMMUN_AUDIO_H_
00047 #define _USB_COMMUN_AUDIO_H_
00048
00049 #define AUDIO_CLASS_REVISION 0x0100 //!< Revision of class specification - 1.0
00050
00053 #define AUDIO_CLASS 0x01
00054 #define AUDIO_SUB_CLASS_CONTROL 0x01 //!< Audio control sub class
00055 #define AUDIO_SUB_CLASS_STREAMING 0x02 //!< Audio stream sub class
00056 #define AUDIO_SUB_CLASS_MIDISTREAMING 0x03 //!< Audio midi stream sub class
00057
00058
00059
00064 #define DESCRIPTOR_AUDIO_UNDEFINED 0x20
00065 #define DESCRIPTOR_AUDIO_DEVICE 0x21
00066 #define DESCRIPTOR_AUDIO_CONFIGURATION 0x22
00067 #define DESCRIPTOR_AUDIO_STRING 0x23
00068 #define DESCRIPTOR_AUDIO_INTERFACE 0x24
00069 #define DESCRIPTOR_AUDIO_ENDPOINT 0x25
00070
00071
00074 #define DESCRIPTOR_SUBTYPE_AUDIO_AC_UNDEFINED 0x00
00075 #define DESCRIPTOR_SUBTYPE_AUDIO_AC_HEADER 0x01
00076 #define DESCRIPTOR_SUBTYPE_AUDIO_AC_INPUT_TERMINAL 0x02
00077 #define DESCRIPTOR_SUBTYPE_AUDIO_AC_OUTPUT_TERMINAL 0x03
00078 #define DESCRIPTOR_SUBTYPE_AUDIO_AC_MIXER_UNIT 0x04
00079 #define DESCRIPTOR_SUBTYPE_AUDIO_AC_SELECTOR_UNIT 0x05
00080 #define DESCRIPTOR_SUBTYPE_AUDIO_AC_FEATURE_UNIT 0x06
00081 #define DESCRIPTOR_SUBTYPE_AUDIO_AC_PROCESSING_UNIT 0x07
00082 #define DESCRIPTOR_SUBTYPE_AUDIO_AC_EXTENSION_UNIT 0x08
00083
00084
00087 #define DESCRIPTOR_SUBTYPE_AUDIO_AS_UNDEFINED 0x00
00088 #define DESCRIPTOR_SUBTYPE_AUDIO_AS_GENERAL 0x01
00089 #define DESCRIPTOR_SUBTYPE_AUDIO_AS_FORMAT_TYPE 0x02
00090 #define DESCRIPTOR_SUBTYPE_AUDIO_AS_FORMAT_SPECIFIC 0x03
00091
00092
00095 #define DESCRIPTOR_SUBTYPE_AUDIO_ENDP_UNDEFINED 0x00
00096 #define DESCRIPTOR_SUBTYPE_AUDIO_ENDP_GENERAL 0x01
00097
00098
00101 #define AUDIO_PROCESSING_UNIT_UNDEFINED 0x00
00102 #define AUDIO_PROCESSING_UNIT_UPDOWNMIX 0x01
00103 #define AUDIO_PROCESSING_UNIT_DOLBY_PROLOGIC 0x02
00104 #define AUDIO_PROCESSING_UNIT_3D_STEREO_EXTENDER 0x03
00105 #define AUDIO_PROCESSING_UNIT_REVERBERATION 0x04
00106 #define AUDIO_PROCESSING_UNIT_CHORUS 0x05
00107 #define AUDIO_PROCESSING_UNIT_DYN_RANGE_COMP 0x06
00108
00109
00110
00111
00115 #define AUDIO_CHANNEL_NO_POSITION 0x0000 // non-predefined spatial positions
00116 #define AUDIO_CHANNEL_L 0x0001 // Left Front (L)
00117 #define AUDIO_CHANNEL_R 0x0002 // Right Front (R)
00118 #define AUDIO_CHANNEL_C 0x0004 // Center Front (C)
00119 #define AUDIO_CHANNEL_LFE 0x0008 // Low Frequency Enhancement (LFE) [Super woofer]
00120 #define AUDIO_CHANNEL_LS 0x0010 // Left Surround (LS)
00121 #define AUDIO_CHANNEL_RS 0x0020 // Right Surround (RS)
00122 #define AUDIO_CHANNEL_LC 0x0040 // Left of Center (LC) [in front]
00123 #define AUDIO_CHANNEL_RC 0x0080 // Right of Center (RC) [in front]
00124 #define AUDIO_CHANNEL_S 0x0100 // Surround (S) [rear]
00125 #define AUDIO_CHANNEL_SL 0x0200 // Side Left (SL) [left wall]
00126 #define AUDIO_CHANNEL_SR 0x0400 // Side Right (SR) [right wall]
00127 #define AUDIO_CHANNEL_T 0x0800 // Top (T) [overhead]
00128
00129
00130
00131
00136 #define AUDIO_TE_TYPE_USB_UNDEFINE 0x0100 // I/O USB Terminal, undefined Type.
00137 #define AUDIO_TE_TYPE_USB_STREAMING 0x0101 // I/O A Terminal dealing with a signal carried over an endpoint in an AudioStreaming interface. The AudioStreaming interface descriptor points to the associated Terminal through the bTerminalLink field.
00138 #define AUDIO_TE_TYPE_USB_VENDOR_SPECIFIC 0x01FF // I/O A Terminal dealing with a signal carried over a vendor-specific interface. The vendor-specific interface descriptor must contain a field that references the Terminal
00139
00140
00141
00142 #define AUDIO_TE_TYPE_INPUT_UNDEFINED 0x0200 // I Input Terminal, undefined Type.
00143 #define AUDIO_TE_TYPE_INPUT_MICROPHONE 0x0201 // I A generic microphone that does not fit under any of the other classifications.
00144 #define AUDIO_TE_TYPE_INPUT_DESKTOP_MICROPHONE 0x0202 // I A microphone normally placed on the desktop or integrated into the monitor.
00145 #define AUDIO_TE_TYPE_INPUT_PERSONAL_MICROPHONE 0x0203 // I A head-mounted or clip-on microphone.
00146 #define AUDIO_TE_TYPE_INPUT_OMNI_DIRECTIONAL_MICROPHONE 0x0204 // I A microphone designed to pick up voice from more than one speaker at relatively long ranges.
00147 #define AUDIO_TE_TYPE_INPUT_MICROPHONE_ARRAY 0x0205 // I An array of microphones designed for directional processing using host-based signal processing algorithms.
00148 #define AUDIO_TE_TYPE_INPUT_PROCESSING_MICROPHONE_ARRAY 0x0206 // I An array of microphones with an embedded signal processor.
00149
00150
00151
00152 #define AUDIO_TE_TYPE_OUTPUT_UNDEFINED 0x0300 // O Output Terminal, undefined Type.
00153 #define AUDIO_TE_TYPE_OUTPUT_SPEAKER 0x0301 // O A generic speaker or set of speakers that does not fit under any of the other classifications.
00154 #define AUDIO_TE_TYPE_OUTPUT_HEADPHONES 0x0302 // O A head-mounted audio output device.
00155 #define AUDIO_TE_TYPE_OUTPUT_HEAD_MOUNTED DISPLAY AUDIO 0x0303 // O The audio part of a VR head mounted display. The Associated Interfaces descriptor can be used to reference the HID interface used to report the position and orientation of the HMD.
00156 #define AUDIO_TE_TYPE_OUTPUT_DESKTOP_SPEAKER 0x0304 // O Relatively small speaker or set of speakers normally placed on the desktop or integrated into the monitor. These speakers are close to the user and have limited stereo separation.
00157 #define AUDIO_TE_TYPE_OUTPUT_ROOM_SPEAKER 0x0305 // O Larger speaker or set of speakers that are heard well anywhere in the room.
00158 #define AUDIO_TE_TYPE_OUTPUT_COMMUNICATION_SPEAKER 0x0306 // O Speaker or set of speakers designed for voice communication.
00159 #define AUDIO_TE_TYPE_OUTPUT_LOW_FREQUENCY_EFFECTS_SPEAKER 0x0307 // O Speaker designed for low frequencies (subwoofer). Not capable of reproducing speech or music.
00160
00161
00162
00163 #define AUDIO_TE_TYPE_BI_UNDEFINED 0x0400 // I/O Bi-directional Terminal, undefined Type.
00164 #define AUDIO_TE_TYPE_BI_HANDSET 0x0401 // I/O Hand-held bi-directional audio device.
00165 #define AUDIO_TE_TYPE_BI_HEADSET 0x0402 // I/O Head-mounted bi-directional audio device.
00166 #define AUDIO_TE_TYPE_BI_SPEAKERPHONE_NO_ECHO_REDUCTION 0x0403 // I/O A hands-free audio device designed for host-based echo cancellation.
00167 #define AUDIO_TE_TYPE_BI_ECHO_SUPPRESSING_SPEAKERPHONE 0x0404 // I/O A hands-free audio device with echo suppression capable of half-duplex operation.
00168 #define AUDIO_TE_TYPE_BI_ECHO_CANCELING_SPEAKERPHONE 0x0405 // I/O A hands-free audio device with echo cancellation capable of full-duplex operation.
00169
00170
00171
00172 #define AUDIO_TE_TYPE_TELEPHONY_UNDEFINED 0x0500 // I/O Telephony Terminal, undefined Type.
00173 #define AUDIO_TE_TYPE_TELEPHONY_PHONE_LINE 0x0501 // I/O May be an analog telephone line jack, an ISDN line, a proprietary PBX interface, or a wireless link.
00174 #define AUDIO_TE_TYPE_TELEPHONY_TELEPHONE 0x0502 // I/O Device can be used as a telephone. When not in use as a telephone, handset is used as a bi-directional audio device.
00175 #define AUDIO_TE_TYPE_TELEPHONY_DOWN_LINE_PHONE 0x0503 // I/O A standard telephone set connected to the device. When not in use as a telephone, it can be used as a bidirectional audio device.
00176
00177
00178
00179 #define AUDIO_TE_TYPE_EXTERNAL_UNDEFINED 0x0600 // I/O External Terminal, undefined Type.
00180 #define AUDIO_TE_TYPE_EXTERNAL_ANALOG_CONNECTOR 0x0601 // I/O A generic analog connector.
00181 #define AUDIO_TE_TYPE_EXTERNAL_DIGITAL_AUDIO_INTERFACE 0x0602 // I/O A generic digital audio interface.
00182 #define AUDIO_TE_TYPE_EXTERNAL_LINE_CONNECTOR 0x0603 // I/O An analog connector at standard line levels. Usually uses 3.5mm.
00183 #define AUDIO_TE_TYPE_EXTERNAL_LEGACY_AUDIO_CONNECTOR 0x0604 // I/O An input connector assumed to be connected to the lineout of the legacy audio system of the host computer. Used for backward compatibility.
00184 #define AUDIO_TE_TYPE_EXTERNAL_S_PDIF_INTERFACE 0x0605 // I/O An S/PDIF digital audio interface. The Associated Interface descriptor can be used to reference an interface used for controlling special functions of this interface.
00185 #define AUDIO_TE_TYPE_EXTERNAL_1394_DA_STREAM 0x0606 // I/O An interface to audio streams on a 1394 bus.
00186 #define AUDIO_TE_TYPE_EXTERNAL_1394_DV_STREAM_SOUNDTRACK 0x0607 // I/O An interface to soundtrack of A/V stream on a 1394 bus.
00187
00188
00189
00190 #define AUDIO_TE_TYPE_EMBEDDED_UNDEFINED 0x0700 // I/O Embedded Terminal, undefined Type.
00191 #define AUDIO_TE_TYPE_EMBEDDED_LEVEL_CALIBRATION_NOISE_SRC 0x0701 // O Internal Noise source for level calibration (MPEG decoding, Dolby PrologicÔ, AC-3 etc.)
00192 #define AUDIO_TE_TYPE_EMBEDDED_EQUALIZATION NOISE 0x0702 // O Internal Noise source for measurements.
00193 #define AUDIO_TE_TYPE_EMBEDDED_CD_PLAYER 0x0703 // I Audio compact disc player or CD-ROM capable of audio playback.
00194 #define AUDIO_TE_TYPE_EMBEDDED_DAT 0x0704 // I/O Digital Audio Tape.
00195 #define AUDIO_TE_TYPE_EMBEDDED_DCC 0x0705 // I/O Digital Compact Cassette.
00196 #define AUDIO_TE_TYPE_EMBEDDED_MINIDISK 0x0706 // I/O Minidisk player.
00197 #define AUDIO_TE_TYPE_EMBEDDED_ANALOG_TAPE 0x0707 // I/O Analog Audio Tape.
00198 #define AUDIO_TE_TYPE_EMBEDDED_PHONOGRAPH 0x0708 // I Analog vinyl record player.
00199 #define AUDIO_TE_TYPE_EMBEDDED_VCR_AUDIO 0x0709 // I Audio track of VCR.
00200 #define AUDIO_TE_TYPE_EMBEDDED_VIDEO_DISC_AUDIO 0x070A // I Audio track of VideoDisc player.
00201 #define AUDIO_TE_TYPE_EMBEDDED_DVD_AUDIO 0x070B // I Audio track of DVD player.
00202 #define AUDIO_TE_TYPE_EMBEDDED_TV_TUNER_AUDIO 0x070C // I Audio track of TV tuner.
00203 #define AUDIO_TE_TYPE_EMBEDDED_SATELLITE_RECEIVER_AUDIO 0x070D // I Audio track of satellite receiver.
00204 #define AUDIO_TE_TYPE_EMBEDDED_CABLE_TUNER_AUDIO 0x070E // I Audio track of cable tuner.
00205 #define AUDIO_TE_TYPE_EMBEDDED_DSS_AUDIO 0x070F // I Audio track of DSS receiver.
00206 #define AUDIO_TE_TYPE_EMBEDDED_RADIO_RECEIVER 0x0710 // I AM/FM radio receiver.
00207 #define AUDIO_TE_TYPE_EMBEDDED_RADIO_TRANSMITTER 0x0711 // O AM/FM radio transmitter.
00208 #define AUDIO_TE_TYPE_EMBEDDED_MULTI_TRACK_RECORDER 0x0712 // I/O A multi-track recording system.
00209 #define AUDIO_TE_TYPE_EMBEDDED_SYNTHESIZER 0x0713 // I Synthesizer.
00210
00211
00212
00213
00216
00219 #define AUDIO_FORMAT_TYPE_UNDEFINED 0x00
00220 #define AUDIO_FORMAT_TYPE_I 0x01
00221 #define AUDIO_FORMAT_TYPE_II 0x02
00222 #define AUDIO_FORMAT_TYPE_III 0x03
00223
00224
00229 #define AUDIO_FORMAT_TI_UNDEFINE 0x0000
00230 #define AUDIO_FORMAT_TI_PCM 0x0001
00231 #define AUDIO_FORMAT_TI_PCM8 0x0002
00232 #define AUDIO_FORMAT_TI_IEEE_FLOAT 0x0003
00233 #define AUDIO_FORMAT_TI_ALAW 0x0004
00234 #define AUDIO_FORMAT_TI_MULAW 0x0005
00235
00236
00237
00238 #define AUDIO_FORMAT_TII_UNDEFINED 0x1000
00239 #define AUDIO_FORMAT_TII_MPEG 0x1001
00240 #define AUDIO_FORMAT_TII_AC_3 0x1002
00241
00242
00243
00244 #define AUDIO_FORMAT_TIII_UNDEFINED 0x2000
00245 #define AUDIO_FORMAT_TIII_IEC1937_AC_3 0x2001
00246 #define AUDIO_FORMAT_TIII_IEC1937_MPEG1_L1 0x2002
00247 #define AUDIO_FORMAT_TIII_IEC1937_MPEG1_L2_3_OR_MP_2_NOEXT 0x2003
00248 #define AUDIO_FORMAT_TIII_IEC1937_MPEG2_EXT 0x2004
00249 #define AUDIO_FORMAT_TIII_IEC1937_MPEG2_L1_LS 0x2005
00250 #define AUDIO_FORMAT_TIII_IEC1937_MPEG2_L2_L3_LS 0x2006
00251
00252
00253
00258 #define AUDIO_FORMAT_CS_MP_UNDEFINED 0x00
00259 #define AUDIO_FORMAT_CS_MP_DUAL_CHANNEL 0x01
00260 #define AUDIO_FORMAT_CS_MP_SECOND_STEREO 0x02
00261 #define AUDIO_FORMAT_CS_MP_MULTILINGUAL 0x03
00262 #define AUDIO_FORMAT_CS_MP_DYN_RANGE 0x04
00263 #define AUDIO_FORMAT_CS_MP_SCALING 0x05
00264 #define AUDIO_FORMAT_CS_MP_HILO_SCALING 0x06
00265
00266
00267
00268 #define AUDIO_FORMAT_CS_AC_CONTROL_UNDEFINED 0x00
00269 #define AUDIO_FORMAT_CS_AC_MODE 0x01
00270 #define AUDIO_FORMAT_CS_AC_DYN_RANGE 0x02
00271 #define AUDIO_FORMAT_CS_AC_SCALING 0x03
00272 #define AUDIO_FORMAT_CS_AC_HILO_SCALING 0x04
00273
00274
00275
00276
00277
00278
00283
00295 #define SETUP_AUDIO_SET_CUR 0x01
00296 #define SETUP_AUDIO_SET_MIN 0x02
00297 #define SETUP_AUDIO_SET_MAX 0x03
00298 #define SETUP_AUDIO_SET_RES 0x04
00299 #define SETUP_AUDIO_GET_CUR 0x81
00300 #define SETUP_AUDIO_GET_MIN 0x82
00301 #define SETUP_AUDIO_GET_MAX 0x83
00302 #define SETUP_AUDIO_GET_RES 0x84
00303
00304
00305
00306
00307
00308 #define SETUP_AUDIO_SET_MEM 0x05
00309 #define SETUP_AUDIO_GET_MEM 0x85
00310 #define SETUP_AUDIO_GET_STAT 0xFF
00311
00312
00313
00320 #define AUDIO_TE_CONTROL_CS_UNDEFINED 0x00
00321 #define AUDIO_TE_CONTROL_CS_COPY_PROTECT 0x01
00322
00323
00324
00325 #define AUDIO_TE_CONTROL_CS_COPY_PROTECT_ATT_CPL0 0x00 // Copying is permitted without restriction. The material is either not copyrighted, or the copyright is not asserted
00326 #define AUDIO_TE_CONTROL_CS_COPY_PROTECT_ATT_CPL1 0x01 // One generation of copies may be made. The material is copyright protected and is the original.
00327 #define AUDIO_TE_CONTROL_CS_COPY_PROTECT_ATT_CPL2 0x02 // The material is copyright protected and no digital copying is permitted.
00328
00329
00330
00331
00338 #define AUDIO_MIXER_CONTROL_IOCN_ALL_PROGRAM 0xFFFF // To get or set all programmable Mixer Controls
00339 #define AUDIO_MIXER_CONTROL_IOCN_ALL 0x0000 // To get all Mixer Controls
00340
00341
00342
00343
00352
00353
00360 #define AUDIO_FU_CONTROL_CS_UNDEFINED 0x00
00361 #define AUDIO_FU_CONTROL_CS_MUTE 0x01
00362 #define AUDIO_FU_CONTROL_CS_VOLUME 0x02
00363 #define AUDIO_FU_CONTROL_CS_BASS 0x03
00364 #define AUDIO_FU_CONTROL_CS_MID 0x04
00365 #define AUDIO_FU_CONTROL_CS_TREBLE 0x05
00366 #define AUDIO_FU_CONTROL_CS_GRAPHIC_EQUALIZER 0x06
00367 #define AUDIO_FU_CONTROL_CS_AUTOMATIC_GAIN 0x07
00368 #define AUDIO_FU_CONTROL_CS_DELAY 0x08
00369 #define AUDIO_FU_CONTROL_CS_BASS_BOOST 0x09
00370 #define AUDIO_FU_CONTROL_CS_LOUDNESS 0x0A
00371
00372
00373
00374 #define AUDIO_FU_CONTROL_CN_ALL 0xFF // To get or set all available Controls
00375
00376
00379 #define AUDIO_FU_CONTROL_BAND_EQ_25Hz 0x00000001 // band 14
00380 #define AUDIO_FU_CONTROL_BAND_EQ_31_5Hz 0x00000002 // band 15*
00381 #define AUDIO_FU_CONTROL_BAND_EQ_40Hz 0x00000004 // band 16
00382 #define AUDIO_FU_CONTROL_BAND_EQ_50Hz 0x00000008 // band 17
00383 #define AUDIO_FU_CONTROL_BAND_EQ_63Hz 0x00000010 // band 18*
00384 #define AUDIO_FU_CONTROL_BAND_EQ_80Hz 0x00000020 // band 19
00385 #define AUDIO_FU_CONTROL_BAND_EQ_100Hz 0x00000040 // band 20
00386 #define AUDIO_FU_CONTROL_BAND_EQ_125Hz 0x00000080 // band 21*
00387 #define AUDIO_FU_CONTROL_BAND_EQ_160Hz 0x00000100 // band 22
00388 #define AUDIO_FU_CONTROL_BAND_EQ_200Hz 0x00000200 // band 23
00389 #define AUDIO_FU_CONTROL_BAND_EQ_250Hz 0x00000400 // band 24*
00390 #define AUDIO_FU_CONTROL_BAND_EQ_315Hz 0x00000800 // band 25
00391 #define AUDIO_FU_CONTROL_BAND_EQ_400Hz 0x00001000 // band 26
00392 #define AUDIO_FU_CONTROL_BAND_EQ_500Hz 0x00002000 // band 27*
00393 #define AUDIO_FU_CONTROL_BAND_EQ_630Hz 0x00004000 // band 28
00394 #define AUDIO_FU_CONTROL_BAND_EQ_800Hz 0x00008000 // band 29
00395 #define AUDIO_FU_CONTROL_BAND_EQ_1000Hz 0x00010000 // band 30*
00396 #define AUDIO_FU_CONTROL_BAND_EQ_1250Hz 0x00020000 // band 31
00397 #define AUDIO_FU_CONTROL_BAND_EQ_1600Hz 0x00040000 // band 32
00398 #define AUDIO_FU_CONTROL_BAND_EQ_2000Hz 0x00080000 // band 33*
00399 #define AUDIO_FU_CONTROL_BAND_EQ_2500Hz 0x00100000 // band 34
00400 #define AUDIO_FU_CONTROL_BAND_EQ_3150Hz 0x00200000 // band 35
00401 #define AUDIO_FU_CONTROL_BAND_EQ_4000Hz 0x00400000 // band 36*
00402 #define AUDIO_FU_CONTROL_BAND_EQ_5000Hz 0x00800000 // band 37
00403 #define AUDIO_FU_CONTROL_BAND_EQ_6300Hz 0x01000000 // band 38
00404 #define AUDIO_FU_CONTROL_BAND_EQ_8000Hz 0x02000000 // band 39*
00405 #define AUDIO_FU_CONTROL_BAND_EQ_10000Hz 0x04000000 // band 40
00406 #define AUDIO_FU_CONTROL_BAND_EQ_12500Hz 0x08000000 // band 41
00407 #define AUDIO_FU_CONTROL_BAND_EQ_16000Hz 0x10000000 // band 42*
00408 #define AUDIO_FU_CONTROL_BAND_EQ_20000Hz 0x20000000 // band 43
00409
00410
00411
00412
00413 #define AUDIO_FU_CONTROL_DELAY_0MS 0x0000 // 0 ms
00414 #define AUDIO_FU_CONTROL_DELAY_1MS 0x0040 // 1 ms
00415 #define AUDIO_FU_CONTROL_DELAY_MAX 0xFFFF // 1023.9844 ms
00416
00417
00418
00419
00426 #define AUDIO_PU_CONTROL_CS_UD_UNDEFINED 0x00
00427 #define AUDIO_PU_CONTROL_CS_UD_ENABLE 0x01
00428 #define AUDIO_PU_CONTROL_CS_UD_MODE_SELECT 0x02
00429
00430
00431
00432 #define AUDIO_PU_CONTROL_CS_DP_UNDEFINED 0x00
00433 #define AUDIO_PU_CONTROL_CS_DP_ENABLE 0x01
00434 #define AUDIO_PU_CONTROL_CS_DP_MODE_SELECT 0x02
00435
00436
00437
00438 #define AUDIO_PU_CONTROL_CS_3D_UNDEFINED 0x00
00439 #define AUDIO_PU_CONTROL_CS_3D_ENABLE 0x01
00440 #define AUDIO_PU_CONTROL_CS_3D_SPACIOUSNESS 0x03
00441
00442
00443
00444 #define AUDIO_PU_CONTROL_CS_RV_UNDEFINED 0x00
00445 #define AUDIO_PU_CONTROL_CS_RV_ENABLE 0x01
00446 #define AUDIO_PU_CONTROL_CS_RV_LEVEL 0x02
00447 #define AUDIO_PU_CONTROL_CS_RV_TIME 0x03
00448 #define AUDIO_PU_CONTROL_CS_RV_FEEDBACK 0x04
00449
00450
00451
00452 #define AUDIO_PU_CONTROL_CS_CH_UNDEFINED 0x00
00453 #define AUDIO_PU_CONTROL_CS_CH_ENABLE 0x01
00454 #define AUDIO_PU_CONTROL_CS_CH_LEVEL 0x02
00455 #define AUDIO_PU_CONTROL_CS_CH_RATE 0x03
00456 #define AUDIO_PU_CONTROL_CS_CH_DEPTH 0x04
00457
00458
00459
00460 #define AUDIO_PU_CONTROL_CS_DR_UNDEFINED 0x00
00461 #define AUDIO_PU_CONTROL_CS_DR_ENABLE 0x01
00462 #define AUDIO_PU_CONTROL_CS_DR_COMPRESSION_RATE 0x02
00463 #define AUDIO_PU_CONTROL_CS_DR_MAXAMPL 0x03
00464 #define AUDIO_PU_CONTROL_CS_DR_THRESHOLD 0x04
00465 #define AUDIO_PU_CONTROL_CS_DR_ATTACK_TIME 0x05
00466 #define AUDIO_PU_CONTROL_CS_DR_RELEASE_TIME 0x06
00467
00468
00469
00470 #define AUDIO_PU_CONTROL_CS_RV_TYPE_ROOM1 0 // simulates the reverberation of a small room.
00471 #define AUDIO_PU_CONTROL_CS_RV_TYPE_ROOM2 1 // simulates the reverberation of a medium room.
00472 #define AUDIO_PU_CONTROL_CS_RV_TYPE_ROOM3 2 // simulates the reverberation of a large room.
00473 #define AUDIO_PU_CONTROL_CS_RV_TYPE_HALL1 3 // simulates the reverberation of a medium concert hall.
00474 #define AUDIO_PU_CONTROL_CS_RV_TYPE_HALL2 4 // simulates the reverberation of a large concert hall.
00475 #define AUDIO_PU_CONTROL_CS_RV_TYPE_PLATE 5 // simulates a plate reverberation (a studio device using a metal plate).
00476 #define AUDIO_PU_CONTROL_CS_RV_TYPE_DELAY 6 // conventional delay that produces echo effects.
00477 #define AUDIO_PU_CONTROL_CS_RV_TYPE_PANNING_DELAY 7 // special delay in which the delayed sounds move left and right.
00478
00479
00480
00481
00482 #define AUDIO_PU_CONTROL_CS_DR_RELEASE_TIME_DELAY_0MS 0x0000 // 0 ms
00483 #define AUDIO_PU_CONTROL_CS_DR_RELEASE_TIME_DELAY_MAX 0xFFFF // 255.9961 ms
00484
00485
00486
00487
00494 #define AUDIO_XU_CONTROL_CS_UNDEFINED 0x00
00495 #define AUDIO_XU_CONTROL_CS_ENABLE 0x01
00496
00497
00498
00505 #define AUDIO_EP_CONTROL_CS_UNDEFINED 0x00
00506 #define AUDIO_EP_CONTROL_CS_SAMPLING_FREQ 0x01
00507 #define AUDIO_EP_CONTROL_CS_PITCH 0x02
00508
00509
00510
00511
00518
00519
00526
00527
00540 #define AUDIO_CONTROL_LEVEL16_DB_STEP (1L/256) // 1/256 dB
00541 #define AUDIO_CONTROL_LEVEL16_MAX 0x7FFF // 127.9961 dB
00542 #define AUDIO_CONTROL_LEVEL16_1DB 0x0100 // 1 dB
00543 #define AUDIO_CONTROL_LEVEL16_0DB 0x0000 // 0 dB
00544 #define AUDIO_CONTROL_LEVEL16_M1DB 0xFE00 // -1 dB
00545 #define AUDIO_CONTROL_LEVEL16_MIN 0x8001 // -127.9961 dB
00546 #define AUDIO_CONTROL_LEVEL16_MUTE 0x8000 // -infinit dB (CUR attribute only)
00547
00548
00549
00550
00551
00552
00553
00554
00555 #define AUDIO_CONTROL_LEVEL8_MAX 0x7F // +31.75 dB
00556 #define AUDIO_CONTROL_LEVEL8_0DB 0x00 // 0 dB
00557 #define AUDIO_CONTROL_LEVEL8_MIN 0x80 // -32.00 dB
00558
00559
00560
00562
00563 #endif // _USB_COMMUN_AUDIO_H_
00564