ALSA project - the C library reference
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
asoundef.h
Go to the documentation of this file.
1
11
/*
12
* This library is free software; you can redistribute it and/or modify
13
* it under the terms of the GNU Lesser General Public License as
14
* published by the Free Software Foundation; either version 2.1 of
15
* the License, or (at your option) any later version.
16
*
17
* This program is distributed in the hope that it will be useful,
18
* but WITHOUT ANY WARRANTY; without even the implied warranty of
19
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
* GNU Lesser General Public License for more details.
21
*
22
* You should have received a copy of the GNU Lesser General Public
23
* License along with this library; if not, write to the Free Software
24
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
25
*
26
*/
27
28
#ifndef __ALSA_ASOUNDEF_H
29
#define __ALSA_ASOUNDEF_H
30
31
#ifdef __cplusplus
32
extern
"C"
{
33
#endif
34
41
#define IEC958_AES0_PROFESSIONAL (1<<0)
42
#define IEC958_AES0_NONAUDIO (1<<1)
43
#define IEC958_AES0_PRO_EMPHASIS (7<<2)
44
#define IEC958_AES0_PRO_EMPHASIS_NOTID (0<<2)
45
#define IEC958_AES0_PRO_EMPHASIS_NONE (1<<2)
46
#define IEC958_AES0_PRO_EMPHASIS_5015 (3<<2)
47
#define IEC958_AES0_PRO_EMPHASIS_CCITT (7<<2)
48
#define IEC958_AES0_PRO_FREQ_UNLOCKED (1<<5)
49
#define IEC958_AES0_PRO_FS (3<<6)
50
#define IEC958_AES0_PRO_FS_NOTID (0<<6)
51
#define IEC958_AES0_PRO_FS_44100 (1<<6)
52
#define IEC958_AES0_PRO_FS_48000 (2<<6)
53
#define IEC958_AES0_PRO_FS_32000 (3<<6)
54
#define IEC958_AES0_CON_NOT_COPYRIGHT (1<<2)
55
#define IEC958_AES0_CON_EMPHASIS (7<<3)
56
#define IEC958_AES0_CON_EMPHASIS_NONE (0<<3)
57
#define IEC958_AES0_CON_EMPHASIS_5015 (1<<3)
58
#define IEC958_AES0_CON_MODE (3<<6)
59
#define IEC958_AES1_PRO_MODE (15<<0)
60
#define IEC958_AES1_PRO_MODE_NOTID (0<<0)
61
#define IEC958_AES1_PRO_MODE_STEREOPHONIC (2<<0)
62
#define IEC958_AES1_PRO_MODE_SINGLE (4<<0)
63
#define IEC958_AES1_PRO_MODE_TWO (8<<0)
64
#define IEC958_AES1_PRO_MODE_PRIMARY (12<<0)
65
#define IEC958_AES1_PRO_MODE_BYTE3 (15<<0)
66
#define IEC958_AES1_PRO_USERBITS (15<<4)
67
#define IEC958_AES1_PRO_USERBITS_NOTID (0<<4)
68
#define IEC958_AES1_PRO_USERBITS_192 (8<<4)
69
#define IEC958_AES1_PRO_USERBITS_UDEF (12<<4)
70
#define IEC958_AES1_CON_CATEGORY 0x7f
71
#define IEC958_AES1_CON_GENERAL 0x00
72
#define IEC958_AES1_CON_LASEROPT_MASK 0x07
73
#define IEC958_AES1_CON_LASEROPT_ID 0x01
74
#define IEC958_AES1_CON_IEC908_CD (IEC958_AES1_CON_LASEROPT_ID|0x00)
75
#define IEC958_AES1_CON_NON_IEC908_CD (IEC958_AES1_CON_LASEROPT_ID|0x08)
76
#define IEC958_AES1_CON_MINI_DISC (IEC958_AES1_CON_LASEROPT_ID|0x48)
77
#define IEC958_AES1_CON_DVD (IEC958_AES1_CON_LASEROPT_ID|0x18)
78
#define IEC958_AES1_CON_LASTEROPT_OTHER (IEC958_AES1_CON_LASEROPT_ID|0x78)
79
#define IEC958_AES1_CON_DIGDIGCONV_MASK 0x07
80
#define IEC958_AES1_CON_DIGDIGCONV_ID 0x02
81
#define IEC958_AES1_CON_PCM_CODER (IEC958_AES1_CON_DIGDIGCONV_ID|0x00)
82
#define IEC958_AES1_CON_MIXER (IEC958_AES1_CON_DIGDIGCONV_ID|0x10)
83
#define IEC958_AES1_CON_RATE_CONVERTER (IEC958_AES1_CON_DIGDIGCONV_ID|0x18)
84
#define IEC958_AES1_CON_SAMPLER (IEC958_AES1_CON_DIGDIGCONV_ID|0x20)
85
#define IEC958_AES1_CON_DSP (IEC958_AES1_CON_DIGDIGCONV_ID|0x28)
86
#define IEC958_AES1_CON_DIGDIGCONV_OTHER (IEC958_AES1_CON_DIGDIGCONV_ID|0x78)
87
#define IEC958_AES1_CON_MAGNETIC_MASK 0x07
88
#define IEC958_AES1_CON_MAGNETIC_ID 0x03
89
#define IEC958_AES1_CON_DAT (IEC958_AES1_CON_MAGNETIC_ID|0x00)
90
#define IEC958_AES1_CON_VCR (IEC958_AES1_CON_MAGNETIC_ID|0x08)
91
#define IEC958_AES1_CON_DCC (IEC958_AES1_CON_MAGNETIC_ID|0x40)
92
#define IEC958_AES1_CON_MAGNETIC_DISC (IEC958_AES1_CON_MAGNETIC_ID|0x18)
93
#define IEC958_AES1_CON_MAGNETIC_OTHER (IEC958_AES1_CON_MAGNETIC_ID|0x78)
94
#define IEC958_AES1_CON_BROADCAST1_MASK 0x07
95
#define IEC958_AES1_CON_BROADCAST1_ID 0x04
96
#define IEC958_AES1_CON_DAB_JAPAN (IEC958_AES1_CON_BROADCAST1_ID|0x00)
97
#define IEC958_AES1_CON_DAB_EUROPE (IEC958_AES1_CON_BROADCAST1_ID|0x08)
98
#define IEC958_AES1_CON_DAB_USA (IEC958_AES1_CON_BROADCAST1_ID|0x60)
99
#define IEC958_AES1_CON_SOFTWARE (IEC958_AES1_CON_BROADCAST1_ID|0x40)
100
#define IEC958_AES1_CON_IEC62105 (IEC958_AES1_CON_BROADCAST1_ID|0x20)
101
#define IEC958_AES1_CON_BROADCAST1_OTHER (IEC958_AES1_CON_BROADCAST1_ID|0x78)
102
#define IEC958_AES1_CON_BROADCAST2_MASK 0x0f
103
#define IEC958_AES1_CON_BROADCAST2_ID 0x0e
104
#define IEC958_AES1_CON_MUSICAL_MASK 0x07
105
#define IEC958_AES1_CON_MUSICAL_ID 0x05
106
#define IEC958_AES1_CON_SYNTHESIZER (IEC958_AES1_CON_MUSICAL_ID|0x00)
107
#define IEC958_AES1_CON_MICROPHONE (IEC958_AES1_CON_MUSICAL_ID|0x08)
108
#define IEC958_AES1_CON_MUSICAL_OTHER (IEC958_AES1_CON_MUSICAL_ID|0x78)
109
#define IEC958_AES1_CON_ADC_MASK 0x1f
110
#define IEC958_AES1_CON_ADC_ID 0x06
111
#define IEC958_AES1_CON_ADC (IEC958_AES1_CON_ADC_ID|0x00)
112
#define IEC958_AES1_CON_ADC_OTHER (IEC958_AES1_CON_ADC_ID|0x60)
113
#define IEC958_AES1_CON_ADC_COPYRIGHT_MASK 0x1f
114
#define IEC958_AES1_CON_ADC_COPYRIGHT_ID 0x16
115
#define IEC958_AES1_CON_ADC_COPYRIGHT (IEC958_AES1_CON_ADC_COPYRIGHT_ID|0x00)
116
#define IEC958_AES1_CON_ADC_COPYRIGHT_OTHER (IEC958_AES1_CON_ADC_COPYRIGHT_ID|0x60)
117
#define IEC958_AES1_CON_SOLIDMEM_MASK 0x0f
118
#define IEC958_AES1_CON_SOLIDMEM_ID 0x08
119
#define IEC958_AES1_CON_SOLIDMEM_DIGITAL_RECORDER_PLAYER (IEC958_AES1_CON_SOLIDMEM_ID|0x00)
120
#define IEC958_AES1_CON_SOLIDMEM_OTHER (IEC958_AES1_CON_SOLIDMEM_ID|0x70)
121
#define IEC958_AES1_CON_EXPERIMENTAL 0x40
122
#define IEC958_AES1_CON_ORIGINAL (1<<7)
123
#define IEC958_AES2_PRO_SBITS (7<<0)
124
#define IEC958_AES2_PRO_SBITS_20 (2<<0)
125
#define IEC958_AES2_PRO_SBITS_24 (4<<0)
126
#define IEC958_AES2_PRO_SBITS_UDEF (6<<0)
127
#define IEC958_AES2_PRO_WORDLEN (7<<3)
128
#define IEC958_AES2_PRO_WORDLEN_NOTID (0<<3)
129
#define IEC958_AES2_PRO_WORDLEN_22_18 (2<<3)
130
#define IEC958_AES2_PRO_WORDLEN_23_19 (4<<3)
131
#define IEC958_AES2_PRO_WORDLEN_24_20 (5<<3)
132
#define IEC958_AES2_PRO_WORDLEN_20_16 (6<<3)
133
#define IEC958_AES2_CON_SOURCE (15<<0)
134
#define IEC958_AES2_CON_SOURCE_UNSPEC (0<<0)
135
#define IEC958_AES2_CON_CHANNEL (15<<4)
136
#define IEC958_AES2_CON_CHANNEL_UNSPEC (0<<4)
137
#define IEC958_AES3_CON_FS (15<<0)
138
#define IEC958_AES3_CON_FS_44100 (0<<0)
139
#define IEC958_AES3_CON_FS_NOTID (1<<0)
140
#define IEC958_AES3_CON_FS_48000 (2<<0)
141
#define IEC958_AES3_CON_FS_32000 (3<<0)
142
#define IEC958_AES3_CON_FS_22050 (4<<0)
143
#define IEC958_AES3_CON_FS_24000 (6<<0)
144
#define IEC958_AES3_CON_FS_88200 (8<<0)
145
#define IEC958_AES3_CON_FS_768000 (9<<0)
146
#define IEC958_AES3_CON_FS_96000 (10<<0)
147
#define IEC958_AES3_CON_FS_176400 (12<<0)
148
#define IEC958_AES3_CON_FS_192000 (14<<0)
149
#define IEC958_AES3_CON_CLOCK (3<<4)
150
#define IEC958_AES3_CON_CLOCK_1000PPM (0<<4)
151
#define IEC958_AES3_CON_CLOCK_50PPM (1<<4)
152
#define IEC958_AES3_CON_CLOCK_VARIABLE (2<<4)
153
#define IEC958_AES4_CON_MAX_WORDLEN_24 (1<<0)
154
#define IEC958_AES4_CON_WORDLEN (7<<1)
155
#define IEC958_AES4_CON_WORDLEN_NOTID (0<<1)
156
#define IEC958_AES4_CON_WORDLEN_20_16 (1<<1)
157
#define IEC958_AES4_CON_WORDLEN_22_18 (2<<1)
158
#define IEC958_AES4_CON_WORDLEN_23_19 (4<<1)
159
#define IEC958_AES4_CON_WORDLEN_24_20 (5<<1)
160
#define IEC958_AES4_CON_WORDLEN_21_17 (6<<1)
161
#define IEC958_AES4_CON_ORIGFS (15<<4)
162
#define IEC958_AES4_CON_ORIGFS_NOTID (0<<4)
163
#define IEC958_AES4_CON_ORIGFS_192000 (1<<4)
164
#define IEC958_AES4_CON_ORIGFS_12000 (2<<4)
165
#define IEC958_AES4_CON_ORIGFS_176400 (3<<4)
166
#define IEC958_AES4_CON_ORIGFS_96000 (5<<4)
167
#define IEC958_AES4_CON_ORIGFS_8000 (6<<4)
168
#define IEC958_AES4_CON_ORIGFS_88200 (7<<4)
169
#define IEC958_AES4_CON_ORIGFS_16000 (8<<4)
170
#define IEC958_AES4_CON_ORIGFS_24000 (9<<4)
171
#define IEC958_AES4_CON_ORIGFS_11025 (10<<4)
172
#define IEC958_AES4_CON_ORIGFS_22050 (11<<4)
173
#define IEC958_AES4_CON_ORIGFS_32000 (12<<4)
174
#define IEC958_AES4_CON_ORIGFS_48000 (13<<4)
175
#define IEC958_AES4_CON_ORIGFS_44100 (15<<4)
176
#define IEC958_AES5_CON_CGMSA (3<<0)
177
#define IEC958_AES5_CON_CGMSA_COPYFREELY (0<<0)
178
#define IEC958_AES5_CON_CGMSA_COPYONCE (1<<0)
179
#define IEC958_AES5_CON_CGMSA_COPYNOMORE (2<<0)
180
#define IEC958_AES5_CON_CGMSA_COPYNEVER (3<<0)
182
#define CEA861_AUDIO_INFOFRAME_DB1CC (7<<0)
183
#define CEA861_AUDIO_INFOFRAME_DB1CT (0xf<<4)
184
#define CEA861_AUDIO_INFOFRAME_DB1CT_FROM_STREAM (0<<4)
185
#define CEA861_AUDIO_INFOFRAME_DB1CT_IEC60958 (1<<4)
186
#define CEA861_AUDIO_INFOFRAME_DB1CT_AC3 (2<<4)
187
#define CEA861_AUDIO_INFOFRAME_DB1CT_MPEG1 (3<<4)
188
#define CEA861_AUDIO_INFOFRAME_DB1CT_MP3 (4<<4)
189
#define CEA861_AUDIO_INFOFRAME_DB1CT_MPEG2_MULTICH (5<<4)
190
#define CEA861_AUDIO_INFOFRAME_DB1CT_AAC (6<<4)
191
#define CEA861_AUDIO_INFOFRAME_DB1CT_DTS (7<<4)
192
#define CEA861_AUDIO_INFOFRAME_DB1CT_ATRAC (8<<4)
193
#define CEA861_AUDIO_INFOFRAME_DB1CT_ONEBIT (9<<4)
194
#define CEA861_AUDIO_INFOFRAME_DB1CT_DOLBY_DIG_PLUS (10<<4)
195
#define CEA861_AUDIO_INFOFRAME_DB1CT_DTS_HD (11<<4)
196
#define CEA861_AUDIO_INFOFRAME_DB1CT_MAT (12<<4)
197
#define CEA861_AUDIO_INFOFRAME_DB1CT_DST (13<<4)
198
#define CEA861_AUDIO_INFOFRAME_DB1CT_WMA_PRO (14<<4)
199
#define CEA861_AUDIO_INFOFRAME_DB2SF (7<<2)
200
#define CEA861_AUDIO_INFOFRAME_DB2SF_FROM_STREAM (0<<2)
201
#define CEA861_AUDIO_INFOFRAME_DB2SF_32000 (1<<2)
202
#define CEA861_AUDIO_INFOFRAME_DB2SF_44100 (2<<2)
203
#define CEA861_AUDIO_INFOFRAME_DB2SF_48000 (3<<2)
204
#define CEA861_AUDIO_INFOFRAME_DB2SF_88200 (4<<2)
205
#define CEA861_AUDIO_INFOFRAME_DB2SF_96000 (5<<2)
206
#define CEA861_AUDIO_INFOFRAME_DB2SF_176400 (6<<2)
207
#define CEA861_AUDIO_INFOFRAME_DB2SF_192000 (7<<2)
208
#define CEA861_AUDIO_INFOFRAME_DB2SS (3<<0)
209
#define CEA861_AUDIO_INFOFRAME_DB2SS_FROM_STREAM (0<<0)
210
#define CEA861_AUDIO_INFOFRAME_DB2SS_16BIT (1<<0)
211
#define CEA861_AUDIO_INFOFRAME_DB2SS_20BIT (2<<0)
212
#define CEA861_AUDIO_INFOFRAME_DB2SS_24BIT (3<<0)
213
#define CEA861_AUDIO_INFOFRAME_DB5_DM_INH (1<<7)
214
#define CEA861_AUDIO_INFOFRAME_DB5_DM_INH_PERMITTED (0<<7)
215
#define CEA861_AUDIO_INFOFRAME_DB5_DM_INH_PROHIBITED (1<<7)
216
#define CEA861_AUDIO_INFOFRAME_DB5_LSV (0xf<<3)
224
#define MIDI_CHANNELS 16
225
#define MIDI_GM_DRUM_CHANNEL (10-1)
233
#define MIDI_CMD_NOTE_OFF 0x80
234
#define MIDI_CMD_NOTE_ON 0x90
235
#define MIDI_CMD_NOTE_PRESSURE 0xa0
236
#define MIDI_CMD_CONTROL 0xb0
237
#define MIDI_CMD_PGM_CHANGE 0xc0
238
#define MIDI_CMD_CHANNEL_PRESSURE 0xd0
239
#define MIDI_CMD_BENDER 0xe0
241
#define MIDI_CMD_COMMON_SYSEX 0xf0
242
#define MIDI_CMD_COMMON_MTC_QUARTER 0xf1
243
#define MIDI_CMD_COMMON_SONG_POS 0xf2
244
#define MIDI_CMD_COMMON_SONG_SELECT 0xf3
245
#define MIDI_CMD_COMMON_TUNE_REQUEST 0xf6
246
#define MIDI_CMD_COMMON_SYSEX_END 0xf7
247
#define MIDI_CMD_COMMON_CLOCK 0xf8
248
#define MIDI_CMD_COMMON_START 0xfa
249
#define MIDI_CMD_COMMON_CONTINUE 0xfb
250
#define MIDI_CMD_COMMON_STOP 0xfc
251
#define MIDI_CMD_COMMON_SENSING 0xfe
252
#define MIDI_CMD_COMMON_RESET 0xff
262
#define MIDI_CTL_MSB_BANK 0x00
263
#define MIDI_CTL_MSB_MODWHEEL 0x01
264
#define MIDI_CTL_MSB_BREATH 0x02
265
#define MIDI_CTL_MSB_FOOT 0x04
266
#define MIDI_CTL_MSB_PORTAMENTO_TIME 0x05
267
#define MIDI_CTL_MSB_DATA_ENTRY 0x06
268
#define MIDI_CTL_MSB_MAIN_VOLUME 0x07
269
#define MIDI_CTL_MSB_BALANCE 0x08
270
#define MIDI_CTL_MSB_PAN 0x0a
271
#define MIDI_CTL_MSB_EXPRESSION 0x0b
272
#define MIDI_CTL_MSB_EFFECT1 0x0c
273
#define MIDI_CTL_MSB_EFFECT2 0x0d
274
#define MIDI_CTL_MSB_GENERAL_PURPOSE1 0x10
275
#define MIDI_CTL_MSB_GENERAL_PURPOSE2 0x11
276
#define MIDI_CTL_MSB_GENERAL_PURPOSE3 0x12
277
#define MIDI_CTL_MSB_GENERAL_PURPOSE4 0x13
278
#define MIDI_CTL_LSB_BANK 0x20
279
#define MIDI_CTL_LSB_MODWHEEL 0x21
280
#define MIDI_CTL_LSB_BREATH 0x22
281
#define MIDI_CTL_LSB_FOOT 0x24
282
#define MIDI_CTL_LSB_PORTAMENTO_TIME 0x25
283
#define MIDI_CTL_LSB_DATA_ENTRY 0x26
284
#define MIDI_CTL_LSB_MAIN_VOLUME 0x27
285
#define MIDI_CTL_LSB_BALANCE 0x28
286
#define MIDI_CTL_LSB_PAN 0x2a
287
#define MIDI_CTL_LSB_EXPRESSION 0x2b
288
#define MIDI_CTL_LSB_EFFECT1 0x2c
289
#define MIDI_CTL_LSB_EFFECT2 0x2d
290
#define MIDI_CTL_LSB_GENERAL_PURPOSE1 0x30
291
#define MIDI_CTL_LSB_GENERAL_PURPOSE2 0x31
292
#define MIDI_CTL_LSB_GENERAL_PURPOSE3 0x32
293
#define MIDI_CTL_LSB_GENERAL_PURPOSE4 0x33
294
#define MIDI_CTL_SUSTAIN 0x40
295
#define MIDI_CTL_PORTAMENTO 0x41
296
#define MIDI_CTL_SOSTENUTO 0x42
297
#define MIDI_CTL_SUSTENUTO 0x42
298
#define MIDI_CTL_SOFT_PEDAL 0x43
299
#define MIDI_CTL_LEGATO_FOOTSWITCH 0x44
300
#define MIDI_CTL_HOLD2 0x45
301
#define MIDI_CTL_SC1_SOUND_VARIATION 0x46
302
#define MIDI_CTL_SC2_TIMBRE 0x47
303
#define MIDI_CTL_SC3_RELEASE_TIME 0x48
304
#define MIDI_CTL_SC4_ATTACK_TIME 0x49
305
#define MIDI_CTL_SC5_BRIGHTNESS 0x4a
306
#define MIDI_CTL_SC6 0x4b
307
#define MIDI_CTL_SC7 0x4c
308
#define MIDI_CTL_SC8 0x4d
309
#define MIDI_CTL_SC9 0x4e
310
#define MIDI_CTL_SC10 0x4f
311
#define MIDI_CTL_GENERAL_PURPOSE5 0x50
312
#define MIDI_CTL_GENERAL_PURPOSE6 0x51
313
#define MIDI_CTL_GENERAL_PURPOSE7 0x52
314
#define MIDI_CTL_GENERAL_PURPOSE8 0x53
315
#define MIDI_CTL_PORTAMENTO_CONTROL 0x54
316
#define MIDI_CTL_E1_REVERB_DEPTH 0x5b
317
#define MIDI_CTL_E2_TREMOLO_DEPTH 0x5c
318
#define MIDI_CTL_E3_CHORUS_DEPTH 0x5d
319
#define MIDI_CTL_E4_DETUNE_DEPTH 0x5e
320
#define MIDI_CTL_E5_PHASER_DEPTH 0x5f
321
#define MIDI_CTL_DATA_INCREMENT 0x60
322
#define MIDI_CTL_DATA_DECREMENT 0x61
323
#define MIDI_CTL_NONREG_PARM_NUM_LSB 0x62
324
#define MIDI_CTL_NONREG_PARM_NUM_MSB 0x63
325
#define MIDI_CTL_REGIST_PARM_NUM_LSB 0x64
326
#define MIDI_CTL_REGIST_PARM_NUM_MSB 0x65
327
#define MIDI_CTL_ALL_SOUNDS_OFF 0x78
328
#define MIDI_CTL_RESET_CONTROLLERS 0x79
329
#define MIDI_CTL_LOCAL_CONTROL_SWITCH 0x7a
330
#define MIDI_CTL_ALL_NOTES_OFF 0x7b
331
#define MIDI_CTL_OMNI_OFF 0x7c
332
#define MIDI_CTL_OMNI_ON 0x7d
333
#define MIDI_CTL_MONO1 0x7e
334
#define MIDI_CTL_MONO2 0x7f
340
#ifdef __cplusplus
341
}
342
#endif
343
344
#endif
/* __ALSA_ASOUNDEF_H */
Generated by
1.8.3.1