xref: /aosp_15_r20/prebuilts/build-tools/sysroots/aarch64-unknown-linux-musl/include/linux/soundcard.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker /*
2*cda5da8dSAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*cda5da8dSAndroid Build Coastguard Worker  *
4*cda5da8dSAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*cda5da8dSAndroid Build Coastguard Worker  * for more information.
6*cda5da8dSAndroid Build Coastguard Worker  */
7*cda5da8dSAndroid Build Coastguard Worker #ifndef _UAPISOUNDCARD_H
8*cda5da8dSAndroid Build Coastguard Worker #define _UAPISOUNDCARD_H
9*cda5da8dSAndroid Build Coastguard Worker #define SOUND_VERSION 0x030802
10*cda5da8dSAndroid Build Coastguard Worker #define OPEN_SOUND_SYSTEM
11*cda5da8dSAndroid Build Coastguard Worker #include <linux/ioctl.h>
12*cda5da8dSAndroid Build Coastguard Worker #include <endian.h>
13*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_ADLIB 1
14*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_SB 2
15*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_PAS 3
16*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_GUS 4
17*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_MPU401 5
18*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_SB16 6
19*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_SB16MIDI 7
20*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_UART6850 8
21*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_GUS16 9
22*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_MSS 10
23*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_PSS 11
24*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_SSCAPE 12
25*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_PSS_MPU 13
26*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_PSS_MSS 14
27*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_SSCAPE_MSS 15
28*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_TRXPRO 16
29*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_TRXPRO_SB 17
30*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_TRXPRO_MPU 18
31*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_MAD16 19
32*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_MAD16_MPU 20
33*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_CS4232 21
34*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_CS4232_MPU 22
35*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_MAUI 23
36*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_PSEUDO_MSS 24
37*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_GUSPNP 25
38*cda5da8dSAndroid Build Coastguard Worker #define SNDCARD_UART401 26
39*cda5da8dSAndroid Build Coastguard Worker #ifndef _SIOWR
40*cda5da8dSAndroid Build Coastguard Worker #if defined(_IOWR) && (defined(_AIX) || !defined(sun) && !defined(sparc) && !defined(__sparc__) && !defined(__INCioctlh) && !defined(__Lynx__))
41*cda5da8dSAndroid Build Coastguard Worker #define SIOCPARM_MASK IOCPARM_MASK
42*cda5da8dSAndroid Build Coastguard Worker #define SIOC_VOID IOC_VOID
43*cda5da8dSAndroid Build Coastguard Worker #define SIOC_OUT IOC_OUT
44*cda5da8dSAndroid Build Coastguard Worker #define SIOC_IN IOC_IN
45*cda5da8dSAndroid Build Coastguard Worker #define SIOC_INOUT IOC_INOUT
46*cda5da8dSAndroid Build Coastguard Worker #define _SIOC_SIZE _IOC_SIZE
47*cda5da8dSAndroid Build Coastguard Worker #define _SIOC_DIR _IOC_DIR
48*cda5da8dSAndroid Build Coastguard Worker #define _SIOC_NONE _IOC_NONE
49*cda5da8dSAndroid Build Coastguard Worker #define _SIOC_READ _IOC_READ
50*cda5da8dSAndroid Build Coastguard Worker #define _SIOC_WRITE _IOC_WRITE
51*cda5da8dSAndroid Build Coastguard Worker #define _SIO _IO
52*cda5da8dSAndroid Build Coastguard Worker #define _SIOR _IOR
53*cda5da8dSAndroid Build Coastguard Worker #define _SIOW _IOW
54*cda5da8dSAndroid Build Coastguard Worker #define _SIOWR _IOWR
55*cda5da8dSAndroid Build Coastguard Worker #else
56*cda5da8dSAndroid Build Coastguard Worker #define SIOCPARM_MASK 0x1fff
57*cda5da8dSAndroid Build Coastguard Worker #define SIOC_VOID 0x00000000
58*cda5da8dSAndroid Build Coastguard Worker #define SIOC_OUT 0x20000000
59*cda5da8dSAndroid Build Coastguard Worker #define SIOC_IN 0x40000000
60*cda5da8dSAndroid Build Coastguard Worker #define SIOC_INOUT (SIOC_IN | SIOC_OUT)
61*cda5da8dSAndroid Build Coastguard Worker #define _SIO(x,y) ((int) (SIOC_VOID | (x << 8) | y))
62*cda5da8dSAndroid Build Coastguard Worker #define _SIOR(x,y,t) ((int) (SIOC_OUT | ((sizeof(t) & SIOCPARM_MASK) << 16) | (x << 8) | y))
63*cda5da8dSAndroid Build Coastguard Worker #define _SIOW(x,y,t) ((int) (SIOC_IN | ((sizeof(t) & SIOCPARM_MASK) << 16) | (x << 8) | y))
64*cda5da8dSAndroid Build Coastguard Worker #define _SIOWR(x,y,t) ((int) (SIOC_INOUT | ((sizeof(t) & SIOCPARM_MASK) << 16) | (x << 8) | y))
65*cda5da8dSAndroid Build Coastguard Worker #define _SIOC_SIZE(x) ((x >> 16) & SIOCPARM_MASK)
66*cda5da8dSAndroid Build Coastguard Worker #define _SIOC_DIR(x) (x & 0xf0000000)
67*cda5da8dSAndroid Build Coastguard Worker #define _SIOC_NONE SIOC_VOID
68*cda5da8dSAndroid Build Coastguard Worker #define _SIOC_READ SIOC_OUT
69*cda5da8dSAndroid Build Coastguard Worker #define _SIOC_WRITE SIOC_IN
70*cda5da8dSAndroid Build Coastguard Worker #endif
71*cda5da8dSAndroid Build Coastguard Worker #endif
72*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SEQ_RESET _SIO('Q', 0)
73*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SEQ_SYNC _SIO('Q', 1)
74*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SYNTH_INFO _SIOWR('Q', 2, struct synth_info)
75*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SEQ_CTRLRATE _SIOWR('Q', 3, int)
76*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SEQ_GETOUTCOUNT _SIOR('Q', 4, int)
77*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SEQ_GETINCOUNT _SIOR('Q', 5, int)
78*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SEQ_PERCMODE _SIOW('Q', 6, int)
79*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_FM_LOAD_INSTR _SIOW('Q', 7, struct sbi_instrument)
80*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SEQ_TESTMIDI _SIOW('Q', 8, int)
81*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SEQ_RESETSAMPLES _SIOW('Q', 9, int)
82*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SEQ_NRSYNTHS _SIOR('Q', 10, int)
83*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SEQ_NRMIDIS _SIOR('Q', 11, int)
84*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_MIDI_INFO _SIOWR('Q', 12, struct midi_info)
85*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SEQ_THRESHOLD _SIOW('Q', 13, int)
86*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SYNTH_MEMAVL _SIOWR('Q', 14, int)
87*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_FM_4OP_ENABLE _SIOW('Q', 15, int)
88*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SEQ_PANIC _SIO('Q', 17)
89*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SEQ_OUTOFBAND _SIOW('Q', 18, struct seq_event_rec)
90*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SEQ_GETTIME _SIOR('Q', 19, int)
91*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SYNTH_ID _SIOWR('Q', 20, struct synth_info)
92*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SYNTH_CONTROL _SIOWR('Q', 21, struct synth_control)
93*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_SYNTH_REMOVESAMPLE _SIOWR('Q', 22, struct remove_sample)
94*cda5da8dSAndroid Build Coastguard Worker typedef struct synth_control {
95*cda5da8dSAndroid Build Coastguard Worker   int devno;
96*cda5da8dSAndroid Build Coastguard Worker   char data[4000];
97*cda5da8dSAndroid Build Coastguard Worker } synth_control;
98*cda5da8dSAndroid Build Coastguard Worker typedef struct remove_sample {
99*cda5da8dSAndroid Build Coastguard Worker   int devno;
100*cda5da8dSAndroid Build Coastguard Worker   int bankno;
101*cda5da8dSAndroid Build Coastguard Worker   int instrno;
102*cda5da8dSAndroid Build Coastguard Worker } remove_sample;
103*cda5da8dSAndroid Build Coastguard Worker typedef struct seq_event_rec {
104*cda5da8dSAndroid Build Coastguard Worker   unsigned char arr[8];
105*cda5da8dSAndroid Build Coastguard Worker } seq_event_rec;
106*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_TMR_TIMEBASE _SIOWR('T', 1, int)
107*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_TMR_START _SIO('T', 2)
108*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_TMR_STOP _SIO('T', 3)
109*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_TMR_CONTINUE _SIO('T', 4)
110*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_TMR_TEMPO _SIOWR('T', 5, int)
111*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_TMR_SOURCE _SIOWR('T', 6, int)
112*cda5da8dSAndroid Build Coastguard Worker #define TMR_INTERNAL 0x00000001
113*cda5da8dSAndroid Build Coastguard Worker #define TMR_EXTERNAL 0x00000002
114*cda5da8dSAndroid Build Coastguard Worker #define TMR_MODE_MIDI 0x00000010
115*cda5da8dSAndroid Build Coastguard Worker #define TMR_MODE_FSK 0x00000020
116*cda5da8dSAndroid Build Coastguard Worker #define TMR_MODE_CLS 0x00000040
117*cda5da8dSAndroid Build Coastguard Worker #define TMR_MODE_SMPTE 0x00000080
118*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_TMR_METRONOME _SIOW('T', 7, int)
119*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_TMR_SELECT _SIOW('T', 8, int)
120*cda5da8dSAndroid Build Coastguard Worker #define _LINUX_PATCHKEY_H_INDIRECT
121*cda5da8dSAndroid Build Coastguard Worker #include <linux/patchkey.h>
122*cda5da8dSAndroid Build Coastguard Worker #undef _LINUX_PATCHKEY_H_INDIRECT
123*cda5da8dSAndroid Build Coastguard Worker #ifdef __BYTE_ORDER
124*cda5da8dSAndroid Build Coastguard Worker #if __BYTE_ORDER == __BIG_ENDIAN
125*cda5da8dSAndroid Build Coastguard Worker #define AFMT_S16_NE AFMT_S16_BE
126*cda5da8dSAndroid Build Coastguard Worker #elif __BYTE_ORDER==__LITTLE_ENDIAN
127*cda5da8dSAndroid Build Coastguard Worker #define AFMT_S16_NE AFMT_S16_LE
128*cda5da8dSAndroid Build Coastguard Worker #else
129*cda5da8dSAndroid Build Coastguard Worker #error "could not determine byte order"
130*cda5da8dSAndroid Build Coastguard Worker #endif
131*cda5da8dSAndroid Build Coastguard Worker #endif
132*cda5da8dSAndroid Build Coastguard Worker struct patch_info {
133*cda5da8dSAndroid Build Coastguard Worker   unsigned short key;
134*cda5da8dSAndroid Build Coastguard Worker #define WAVE_PATCH _PATCHKEY(0x04)
135*cda5da8dSAndroid Build Coastguard Worker #define GUS_PATCH WAVE_PATCH
136*cda5da8dSAndroid Build Coastguard Worker #define WAVEFRONT_PATCH _PATCHKEY(0x06)
137*cda5da8dSAndroid Build Coastguard Worker   short device_no;
138*cda5da8dSAndroid Build Coastguard Worker   short instr_no;
139*cda5da8dSAndroid Build Coastguard Worker   unsigned int mode;
140*cda5da8dSAndroid Build Coastguard Worker #define WAVE_16_BITS 0x01
141*cda5da8dSAndroid Build Coastguard Worker #define WAVE_UNSIGNED 0x02
142*cda5da8dSAndroid Build Coastguard Worker #define WAVE_LOOPING 0x04
143*cda5da8dSAndroid Build Coastguard Worker #define WAVE_BIDIR_LOOP 0x08
144*cda5da8dSAndroid Build Coastguard Worker #define WAVE_LOOP_BACK 0x10
145*cda5da8dSAndroid Build Coastguard Worker #define WAVE_SUSTAIN_ON 0x20
146*cda5da8dSAndroid Build Coastguard Worker #define WAVE_ENVELOPES 0x40
147*cda5da8dSAndroid Build Coastguard Worker #define WAVE_FAST_RELEASE 0x80
148*cda5da8dSAndroid Build Coastguard Worker #define WAVE_VIBRATO 0x00010000
149*cda5da8dSAndroid Build Coastguard Worker #define WAVE_TREMOLO 0x00020000
150*cda5da8dSAndroid Build Coastguard Worker #define WAVE_SCALE 0x00040000
151*cda5da8dSAndroid Build Coastguard Worker #define WAVE_FRACTIONS 0x00080000
152*cda5da8dSAndroid Build Coastguard Worker #define WAVE_ROM 0x40000000
153*cda5da8dSAndroid Build Coastguard Worker #define WAVE_MULAW 0x20000000
154*cda5da8dSAndroid Build Coastguard Worker   int len;
155*cda5da8dSAndroid Build Coastguard Worker   int loop_start, loop_end;
156*cda5da8dSAndroid Build Coastguard Worker   unsigned int base_freq;
157*cda5da8dSAndroid Build Coastguard Worker   unsigned int base_note;
158*cda5da8dSAndroid Build Coastguard Worker   unsigned int high_note;
159*cda5da8dSAndroid Build Coastguard Worker   unsigned int low_note;
160*cda5da8dSAndroid Build Coastguard Worker   int panning;
161*cda5da8dSAndroid Build Coastguard Worker   int detuning;
162*cda5da8dSAndroid Build Coastguard Worker   unsigned char env_rate[6];
163*cda5da8dSAndroid Build Coastguard Worker   unsigned char env_offset[6];
164*cda5da8dSAndroid Build Coastguard Worker   unsigned char tremolo_sweep;
165*cda5da8dSAndroid Build Coastguard Worker   unsigned char tremolo_rate;
166*cda5da8dSAndroid Build Coastguard Worker   unsigned char tremolo_depth;
167*cda5da8dSAndroid Build Coastguard Worker   unsigned char vibrato_sweep;
168*cda5da8dSAndroid Build Coastguard Worker   unsigned char vibrato_rate;
169*cda5da8dSAndroid Build Coastguard Worker   unsigned char vibrato_depth;
170*cda5da8dSAndroid Build Coastguard Worker   int scale_frequency;
171*cda5da8dSAndroid Build Coastguard Worker   unsigned int scale_factor;
172*cda5da8dSAndroid Build Coastguard Worker   int volume;
173*cda5da8dSAndroid Build Coastguard Worker   int fractions;
174*cda5da8dSAndroid Build Coastguard Worker   int reserved1;
175*cda5da8dSAndroid Build Coastguard Worker   int spare[2];
176*cda5da8dSAndroid Build Coastguard Worker   char data[1];
177*cda5da8dSAndroid Build Coastguard Worker };
178*cda5da8dSAndroid Build Coastguard Worker struct sysex_info {
179*cda5da8dSAndroid Build Coastguard Worker   short key;
180*cda5da8dSAndroid Build Coastguard Worker #define SYSEX_PATCH _PATCHKEY(0x05)
181*cda5da8dSAndroid Build Coastguard Worker #define MAUI_PATCH _PATCHKEY(0x06)
182*cda5da8dSAndroid Build Coastguard Worker   short device_no;
183*cda5da8dSAndroid Build Coastguard Worker   int len;
184*cda5da8dSAndroid Build Coastguard Worker   unsigned char data[1];
185*cda5da8dSAndroid Build Coastguard Worker };
186*cda5da8dSAndroid Build Coastguard Worker #define SEQ_NOTEOFF 0
187*cda5da8dSAndroid Build Coastguard Worker #define SEQ_FMNOTEOFF SEQ_NOTEOFF
188*cda5da8dSAndroid Build Coastguard Worker #define SEQ_NOTEON 1
189*cda5da8dSAndroid Build Coastguard Worker #define SEQ_FMNOTEON SEQ_NOTEON
190*cda5da8dSAndroid Build Coastguard Worker #define SEQ_WAIT TMR_WAIT_ABS
191*cda5da8dSAndroid Build Coastguard Worker #define SEQ_PGMCHANGE 3
192*cda5da8dSAndroid Build Coastguard Worker #define SEQ_FMPGMCHANGE SEQ_PGMCHANGE
193*cda5da8dSAndroid Build Coastguard Worker #define SEQ_SYNCTIMER TMR_START
194*cda5da8dSAndroid Build Coastguard Worker #define SEQ_MIDIPUTC 5
195*cda5da8dSAndroid Build Coastguard Worker #define SEQ_DRUMON 6
196*cda5da8dSAndroid Build Coastguard Worker #define SEQ_DRUMOFF 7
197*cda5da8dSAndroid Build Coastguard Worker #define SEQ_ECHO TMR_ECHO
198*cda5da8dSAndroid Build Coastguard Worker #define SEQ_AFTERTOUCH 9
199*cda5da8dSAndroid Build Coastguard Worker #define SEQ_CONTROLLER 10
200*cda5da8dSAndroid Build Coastguard Worker #define CTL_BANK_SELECT 0x00
201*cda5da8dSAndroid Build Coastguard Worker #define CTL_MODWHEEL 0x01
202*cda5da8dSAndroid Build Coastguard Worker #define CTL_BREATH 0x02
203*cda5da8dSAndroid Build Coastguard Worker #define CTL_FOOT 0x04
204*cda5da8dSAndroid Build Coastguard Worker #define CTL_PORTAMENTO_TIME 0x05
205*cda5da8dSAndroid Build Coastguard Worker #define CTL_DATA_ENTRY 0x06
206*cda5da8dSAndroid Build Coastguard Worker #define CTL_MAIN_VOLUME 0x07
207*cda5da8dSAndroid Build Coastguard Worker #define CTL_BALANCE 0x08
208*cda5da8dSAndroid Build Coastguard Worker #define CTL_PAN 0x0a
209*cda5da8dSAndroid Build Coastguard Worker #define CTL_EXPRESSION 0x0b
210*cda5da8dSAndroid Build Coastguard Worker #define CTL_GENERAL_PURPOSE1 0x10
211*cda5da8dSAndroid Build Coastguard Worker #define CTL_GENERAL_PURPOSE2 0x11
212*cda5da8dSAndroid Build Coastguard Worker #define CTL_GENERAL_PURPOSE3 0x12
213*cda5da8dSAndroid Build Coastguard Worker #define CTL_GENERAL_PURPOSE4 0x13
214*cda5da8dSAndroid Build Coastguard Worker #define CTL_DAMPER_PEDAL 0x40
215*cda5da8dSAndroid Build Coastguard Worker #define CTL_SUSTAIN 0x40
216*cda5da8dSAndroid Build Coastguard Worker #define CTL_HOLD 0x40
217*cda5da8dSAndroid Build Coastguard Worker #define CTL_PORTAMENTO 0x41
218*cda5da8dSAndroid Build Coastguard Worker #define CTL_SOSTENUTO 0x42
219*cda5da8dSAndroid Build Coastguard Worker #define CTL_SOFT_PEDAL 0x43
220*cda5da8dSAndroid Build Coastguard Worker #define CTL_HOLD2 0x45
221*cda5da8dSAndroid Build Coastguard Worker #define CTL_GENERAL_PURPOSE5 0x50
222*cda5da8dSAndroid Build Coastguard Worker #define CTL_GENERAL_PURPOSE6 0x51
223*cda5da8dSAndroid Build Coastguard Worker #define CTL_GENERAL_PURPOSE7 0x52
224*cda5da8dSAndroid Build Coastguard Worker #define CTL_GENERAL_PURPOSE8 0x53
225*cda5da8dSAndroid Build Coastguard Worker #define CTL_EXT_EFF_DEPTH 0x5b
226*cda5da8dSAndroid Build Coastguard Worker #define CTL_TREMOLO_DEPTH 0x5c
227*cda5da8dSAndroid Build Coastguard Worker #define CTL_CHORUS_DEPTH 0x5d
228*cda5da8dSAndroid Build Coastguard Worker #define CTL_DETUNE_DEPTH 0x5e
229*cda5da8dSAndroid Build Coastguard Worker #define CTL_CELESTE_DEPTH 0x5e
230*cda5da8dSAndroid Build Coastguard Worker #define CTL_PHASER_DEPTH 0x5f
231*cda5da8dSAndroid Build Coastguard Worker #define CTL_DATA_INCREMENT 0x60
232*cda5da8dSAndroid Build Coastguard Worker #define CTL_DATA_DECREMENT 0x61
233*cda5da8dSAndroid Build Coastguard Worker #define CTL_NONREG_PARM_NUM_LSB 0x62
234*cda5da8dSAndroid Build Coastguard Worker #define CTL_NONREG_PARM_NUM_MSB 0x63
235*cda5da8dSAndroid Build Coastguard Worker #define CTL_REGIST_PARM_NUM_LSB 0x64
236*cda5da8dSAndroid Build Coastguard Worker #define CTL_REGIST_PARM_NUM_MSB 0x65
237*cda5da8dSAndroid Build Coastguard Worker #define CTRL_PITCH_BENDER 255
238*cda5da8dSAndroid Build Coastguard Worker #define CTRL_PITCH_BENDER_RANGE 254
239*cda5da8dSAndroid Build Coastguard Worker #define CTRL_EXPRESSION 253
240*cda5da8dSAndroid Build Coastguard Worker #define CTRL_MAIN_VOLUME 252
241*cda5da8dSAndroid Build Coastguard Worker #define SEQ_BALANCE 11
242*cda5da8dSAndroid Build Coastguard Worker #define SEQ_VOLMODE 12
243*cda5da8dSAndroid Build Coastguard Worker #define VOL_METHOD_ADAGIO 1
244*cda5da8dSAndroid Build Coastguard Worker #define VOL_METHOD_LINEAR 2
245*cda5da8dSAndroid Build Coastguard Worker #define SEQ_FULLSIZE 0xfd
246*cda5da8dSAndroid Build Coastguard Worker #define SEQ_PRIVATE 0xfe
247*cda5da8dSAndroid Build Coastguard Worker #define SEQ_EXTENDED 0xff
248*cda5da8dSAndroid Build Coastguard Worker typedef unsigned char sbi_instr_data[32];
249*cda5da8dSAndroid Build Coastguard Worker struct sbi_instrument {
250*cda5da8dSAndroid Build Coastguard Worker   unsigned short key;
251*cda5da8dSAndroid Build Coastguard Worker #define FM_PATCH _PATCHKEY(0x01)
252*cda5da8dSAndroid Build Coastguard Worker #define OPL3_PATCH _PATCHKEY(0x03)
253*cda5da8dSAndroid Build Coastguard Worker   short device;
254*cda5da8dSAndroid Build Coastguard Worker   int channel;
255*cda5da8dSAndroid Build Coastguard Worker   sbi_instr_data operators;
256*cda5da8dSAndroid Build Coastguard Worker };
257*cda5da8dSAndroid Build Coastguard Worker struct synth_info {
258*cda5da8dSAndroid Build Coastguard Worker   char name[30];
259*cda5da8dSAndroid Build Coastguard Worker   int device;
260*cda5da8dSAndroid Build Coastguard Worker   int synth_type;
261*cda5da8dSAndroid Build Coastguard Worker #define SYNTH_TYPE_FM 0
262*cda5da8dSAndroid Build Coastguard Worker #define SYNTH_TYPE_SAMPLE 1
263*cda5da8dSAndroid Build Coastguard Worker #define SYNTH_TYPE_MIDI 2
264*cda5da8dSAndroid Build Coastguard Worker   int synth_subtype;
265*cda5da8dSAndroid Build Coastguard Worker #define FM_TYPE_ADLIB 0x00
266*cda5da8dSAndroid Build Coastguard Worker #define FM_TYPE_OPL3 0x01
267*cda5da8dSAndroid Build Coastguard Worker #define MIDI_TYPE_MPU401 0x401
268*cda5da8dSAndroid Build Coastguard Worker #define SAMPLE_TYPE_BASIC 0x10
269*cda5da8dSAndroid Build Coastguard Worker #define SAMPLE_TYPE_GUS SAMPLE_TYPE_BASIC
270*cda5da8dSAndroid Build Coastguard Worker #define SAMPLE_TYPE_WAVEFRONT 0x11
271*cda5da8dSAndroid Build Coastguard Worker   int perc_mode;
272*cda5da8dSAndroid Build Coastguard Worker   int nr_voices;
273*cda5da8dSAndroid Build Coastguard Worker   int nr_drums;
274*cda5da8dSAndroid Build Coastguard Worker   int instr_bank_size;
275*cda5da8dSAndroid Build Coastguard Worker   unsigned int capabilities;
276*cda5da8dSAndroid Build Coastguard Worker #define SYNTH_CAP_PERCMODE 0x00000001
277*cda5da8dSAndroid Build Coastguard Worker #define SYNTH_CAP_OPL3 0x00000002
278*cda5da8dSAndroid Build Coastguard Worker #define SYNTH_CAP_INPUT 0x00000004
279*cda5da8dSAndroid Build Coastguard Worker   int dummies[19];
280*cda5da8dSAndroid Build Coastguard Worker };
281*cda5da8dSAndroid Build Coastguard Worker struct sound_timer_info {
282*cda5da8dSAndroid Build Coastguard Worker   char name[32];
283*cda5da8dSAndroid Build Coastguard Worker   int caps;
284*cda5da8dSAndroid Build Coastguard Worker };
285*cda5da8dSAndroid Build Coastguard Worker #define MIDI_CAP_MPU401 1
286*cda5da8dSAndroid Build Coastguard Worker struct midi_info {
287*cda5da8dSAndroid Build Coastguard Worker   char name[30];
288*cda5da8dSAndroid Build Coastguard Worker   int device;
289*cda5da8dSAndroid Build Coastguard Worker   unsigned int capabilities;
290*cda5da8dSAndroid Build Coastguard Worker   int dev_type;
291*cda5da8dSAndroid Build Coastguard Worker   int dummies[18];
292*cda5da8dSAndroid Build Coastguard Worker };
293*cda5da8dSAndroid Build Coastguard Worker typedef struct {
294*cda5da8dSAndroid Build Coastguard Worker   unsigned char cmd;
295*cda5da8dSAndroid Build Coastguard Worker   char nr_args, nr_returns;
296*cda5da8dSAndroid Build Coastguard Worker   unsigned char data[30];
297*cda5da8dSAndroid Build Coastguard Worker } mpu_command_rec;
298*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_MIDI_PRETIME _SIOWR('m', 0, int)
299*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_MIDI_MPUMODE _SIOWR('m', 1, int)
300*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_MIDI_MPUCMD _SIOWR('m', 2, mpu_command_rec)
301*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_RESET _SIO('P', 0)
302*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_SYNC _SIO('P', 1)
303*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_SPEED _SIOWR('P', 2, int)
304*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_STEREO _SIOWR('P', 3, int)
305*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_GETBLKSIZE _SIOWR('P', 4, int)
306*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_SAMPLESIZE SNDCTL_DSP_SETFMT
307*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_CHANNELS _SIOWR('P', 6, int)
308*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_WRITE_CHANNELS SNDCTL_DSP_CHANNELS
309*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_WRITE_FILTER _SIOWR('P', 7, int)
310*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_POST _SIO('P', 8)
311*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_SUBDIVIDE _SIOWR('P', 9, int)
312*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_SETFRAGMENT _SIOWR('P', 10, int)
313*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_GETFMTS _SIOR('P', 11, int)
314*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_SETFMT _SIOWR('P', 5, int)
315*cda5da8dSAndroid Build Coastguard Worker #define AFMT_QUERY 0x00000000
316*cda5da8dSAndroid Build Coastguard Worker #define AFMT_MU_LAW 0x00000001
317*cda5da8dSAndroid Build Coastguard Worker #define AFMT_A_LAW 0x00000002
318*cda5da8dSAndroid Build Coastguard Worker #define AFMT_IMA_ADPCM 0x00000004
319*cda5da8dSAndroid Build Coastguard Worker #define AFMT_U8 0x00000008
320*cda5da8dSAndroid Build Coastguard Worker #define AFMT_S16_LE 0x00000010
321*cda5da8dSAndroid Build Coastguard Worker #define AFMT_S16_BE 0x00000020
322*cda5da8dSAndroid Build Coastguard Worker #define AFMT_S8 0x00000040
323*cda5da8dSAndroid Build Coastguard Worker #define AFMT_U16_LE 0x00000080
324*cda5da8dSAndroid Build Coastguard Worker #define AFMT_U16_BE 0x00000100
325*cda5da8dSAndroid Build Coastguard Worker #define AFMT_MPEG 0x00000200
326*cda5da8dSAndroid Build Coastguard Worker #define AFMT_AC3 0x00000400
327*cda5da8dSAndroid Build Coastguard Worker typedef struct audio_buf_info {
328*cda5da8dSAndroid Build Coastguard Worker   int fragments;
329*cda5da8dSAndroid Build Coastguard Worker   int fragstotal;
330*cda5da8dSAndroid Build Coastguard Worker   int fragsize;
331*cda5da8dSAndroid Build Coastguard Worker   int bytes;
332*cda5da8dSAndroid Build Coastguard Worker } audio_buf_info;
333*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_GETOSPACE _SIOR('P', 12, audio_buf_info)
334*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_GETISPACE _SIOR('P', 13, audio_buf_info)
335*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_NONBLOCK _SIO('P', 14)
336*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_GETCAPS _SIOR('P', 15, int)
337*cda5da8dSAndroid Build Coastguard Worker #define DSP_CAP_REVISION 0x000000ff
338*cda5da8dSAndroid Build Coastguard Worker #define DSP_CAP_DUPLEX 0x00000100
339*cda5da8dSAndroid Build Coastguard Worker #define DSP_CAP_REALTIME 0x00000200
340*cda5da8dSAndroid Build Coastguard Worker #define DSP_CAP_BATCH 0x00000400
341*cda5da8dSAndroid Build Coastguard Worker #define DSP_CAP_COPROC 0x00000800
342*cda5da8dSAndroid Build Coastguard Worker #define DSP_CAP_TRIGGER 0x00001000
343*cda5da8dSAndroid Build Coastguard Worker #define DSP_CAP_MMAP 0x00002000
344*cda5da8dSAndroid Build Coastguard Worker #define DSP_CAP_MULTI 0x00004000
345*cda5da8dSAndroid Build Coastguard Worker #define DSP_CAP_BIND 0x00008000
346*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_GETTRIGGER _SIOR('P', 16, int)
347*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_SETTRIGGER _SIOW('P', 16, int)
348*cda5da8dSAndroid Build Coastguard Worker #define PCM_ENABLE_INPUT 0x00000001
349*cda5da8dSAndroid Build Coastguard Worker #define PCM_ENABLE_OUTPUT 0x00000002
350*cda5da8dSAndroid Build Coastguard Worker typedef struct count_info {
351*cda5da8dSAndroid Build Coastguard Worker   int bytes;
352*cda5da8dSAndroid Build Coastguard Worker   int blocks;
353*cda5da8dSAndroid Build Coastguard Worker   int ptr;
354*cda5da8dSAndroid Build Coastguard Worker } count_info;
355*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_GETIPTR _SIOR('P', 17, count_info)
356*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_GETOPTR _SIOR('P', 18, count_info)
357*cda5da8dSAndroid Build Coastguard Worker typedef struct buffmem_desc {
358*cda5da8dSAndroid Build Coastguard Worker   unsigned * buffer;
359*cda5da8dSAndroid Build Coastguard Worker   int size;
360*cda5da8dSAndroid Build Coastguard Worker } buffmem_desc;
361*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_MAPINBUF _SIOR('P', 19, buffmem_desc)
362*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_MAPOUTBUF _SIOR('P', 20, buffmem_desc)
363*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_SETSYNCRO _SIO('P', 21)
364*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_SETDUPLEX _SIO('P', 22)
365*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_GETODELAY _SIOR('P', 23, int)
366*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_GETCHANNELMASK _SIOWR('P', 64, int)
367*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_BIND_CHANNEL _SIOWR('P', 65, int)
368*cda5da8dSAndroid Build Coastguard Worker #define DSP_BIND_QUERY 0x00000000
369*cda5da8dSAndroid Build Coastguard Worker #define DSP_BIND_FRONT 0x00000001
370*cda5da8dSAndroid Build Coastguard Worker #define DSP_BIND_SURR 0x00000002
371*cda5da8dSAndroid Build Coastguard Worker #define DSP_BIND_CENTER_LFE 0x00000004
372*cda5da8dSAndroid Build Coastguard Worker #define DSP_BIND_HANDSET 0x00000008
373*cda5da8dSAndroid Build Coastguard Worker #define DSP_BIND_MIC 0x00000010
374*cda5da8dSAndroid Build Coastguard Worker #define DSP_BIND_MODEM1 0x00000020
375*cda5da8dSAndroid Build Coastguard Worker #define DSP_BIND_MODEM2 0x00000040
376*cda5da8dSAndroid Build Coastguard Worker #define DSP_BIND_I2S 0x00000080
377*cda5da8dSAndroid Build Coastguard Worker #define DSP_BIND_SPDIF 0x00000100
378*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_SETSPDIF _SIOW('P', 66, int)
379*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_GETSPDIF _SIOR('P', 67, int)
380*cda5da8dSAndroid Build Coastguard Worker #define SPDIF_PRO 0x0001
381*cda5da8dSAndroid Build Coastguard Worker #define SPDIF_N_AUD 0x0002
382*cda5da8dSAndroid Build Coastguard Worker #define SPDIF_COPY 0x0004
383*cda5da8dSAndroid Build Coastguard Worker #define SPDIF_PRE 0x0008
384*cda5da8dSAndroid Build Coastguard Worker #define SPDIF_CC 0x07f0
385*cda5da8dSAndroid Build Coastguard Worker #define SPDIF_L 0x0800
386*cda5da8dSAndroid Build Coastguard Worker #define SPDIF_DRS 0x4000
387*cda5da8dSAndroid Build Coastguard Worker #define SPDIF_V 0x8000
388*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_DSP_PROFILE _SIOW('P', 23, int)
389*cda5da8dSAndroid Build Coastguard Worker #define APF_NORMAL 0
390*cda5da8dSAndroid Build Coastguard Worker #define APF_NETWORK 1
391*cda5da8dSAndroid Build Coastguard Worker #define APF_CPUINTENS 2
392*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_READ_RATE _SIOR('P', 2, int)
393*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_READ_CHANNELS _SIOR('P', 6, int)
394*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_READ_BITS _SIOR('P', 5, int)
395*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_READ_FILTER _SIOR('P', 7, int)
396*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_WRITE_BITS SNDCTL_DSP_SETFMT
397*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_WRITE_RATE SNDCTL_DSP_SPEED
398*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_POST SNDCTL_DSP_POST
399*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_RESET SNDCTL_DSP_RESET
400*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_SYNC SNDCTL_DSP_SYNC
401*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_SUBDIVIDE SNDCTL_DSP_SUBDIVIDE
402*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_SETFRAGMENT SNDCTL_DSP_SETFRAGMENT
403*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_GETFMTS SNDCTL_DSP_GETFMTS
404*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_SETFMT SNDCTL_DSP_SETFMT
405*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_GETOSPACE SNDCTL_DSP_GETOSPACE
406*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_GETISPACE SNDCTL_DSP_GETISPACE
407*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_NONBLOCK SNDCTL_DSP_NONBLOCK
408*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_GETCAPS SNDCTL_DSP_GETCAPS
409*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_GETTRIGGER SNDCTL_DSP_GETTRIGGER
410*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_SETTRIGGER SNDCTL_DSP_SETTRIGGER
411*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_SETSYNCRO SNDCTL_DSP_SETSYNCRO
412*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_GETIPTR SNDCTL_DSP_GETIPTR
413*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_GETOPTR SNDCTL_DSP_GETOPTR
414*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_MAPINBUF SNDCTL_DSP_MAPINBUF
415*cda5da8dSAndroid Build Coastguard Worker #define SOUND_PCM_MAPOUTBUF SNDCTL_DSP_MAPOUTBUF
416*cda5da8dSAndroid Build Coastguard Worker typedef struct copr_buffer {
417*cda5da8dSAndroid Build Coastguard Worker   int command;
418*cda5da8dSAndroid Build Coastguard Worker   int flags;
419*cda5da8dSAndroid Build Coastguard Worker #define CPF_NONE 0x0000
420*cda5da8dSAndroid Build Coastguard Worker #define CPF_FIRST 0x0001
421*cda5da8dSAndroid Build Coastguard Worker #define CPF_LAST 0x0002
422*cda5da8dSAndroid Build Coastguard Worker   int len;
423*cda5da8dSAndroid Build Coastguard Worker   int offs;
424*cda5da8dSAndroid Build Coastguard Worker   unsigned char data[4000];
425*cda5da8dSAndroid Build Coastguard Worker } copr_buffer;
426*cda5da8dSAndroid Build Coastguard Worker typedef struct copr_debug_buf {
427*cda5da8dSAndroid Build Coastguard Worker   int command;
428*cda5da8dSAndroid Build Coastguard Worker   int parm1;
429*cda5da8dSAndroid Build Coastguard Worker   int parm2;
430*cda5da8dSAndroid Build Coastguard Worker   int flags;
431*cda5da8dSAndroid Build Coastguard Worker   int len;
432*cda5da8dSAndroid Build Coastguard Worker } copr_debug_buf;
433*cda5da8dSAndroid Build Coastguard Worker typedef struct copr_msg {
434*cda5da8dSAndroid Build Coastguard Worker   int len;
435*cda5da8dSAndroid Build Coastguard Worker   unsigned char data[4000];
436*cda5da8dSAndroid Build Coastguard Worker } copr_msg;
437*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_COPR_RESET _SIO('C', 0)
438*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_COPR_LOAD _SIOWR('C', 1, copr_buffer)
439*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_COPR_RDATA _SIOWR('C', 2, copr_debug_buf)
440*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_COPR_RCODE _SIOWR('C', 3, copr_debug_buf)
441*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_COPR_WDATA _SIOW('C', 4, copr_debug_buf)
442*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_COPR_WCODE _SIOW('C', 5, copr_debug_buf)
443*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_COPR_RUN _SIOWR('C', 6, copr_debug_buf)
444*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_COPR_HALT _SIOWR('C', 7, copr_debug_buf)
445*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_COPR_SENDMSG _SIOWR('C', 8, copr_msg)
446*cda5da8dSAndroid Build Coastguard Worker #define SNDCTL_COPR_RCVMSG _SIOR('C', 9, copr_msg)
447*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_NRDEVICES 25
448*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_VOLUME 0
449*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_BASS 1
450*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_TREBLE 2
451*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_SYNTH 3
452*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_PCM 4
453*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_SPEAKER 5
454*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_LINE 6
455*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_MIC 7
456*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_CD 8
457*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_IMIX 9
458*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_ALTPCM 10
459*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_RECLEV 11
460*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_IGAIN 12
461*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_OGAIN 13
462*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_LINE1 14
463*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_LINE2 15
464*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_LINE3 16
465*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_DIGITAL1 17
466*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_DIGITAL2 18
467*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_DIGITAL3 19
468*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_PHONEIN 20
469*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_PHONEOUT 21
470*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_VIDEO 22
471*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_RADIO 23
472*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_MONITOR 24
473*cda5da8dSAndroid Build Coastguard Worker #define SOUND_ONOFF_MIN 28
474*cda5da8dSAndroid Build Coastguard Worker #define SOUND_ONOFF_MAX 30
475*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_NONE 31
476*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_ENHANCE SOUND_MIXER_NONE
477*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_MUTE SOUND_MIXER_NONE
478*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_LOUD SOUND_MIXER_NONE
479*cda5da8dSAndroid Build Coastguard Worker #define SOUND_DEVICE_LABELS { "Vol  ", "Bass ", "Trebl", "Synth", "Pcm  ", "Spkr ", "Line ", "Mic  ", "CD   ", "Mix  ", "Pcm2 ", "Rec  ", "IGain", "OGain", "Line1", "Line2", "Line3", "Digital1", "Digital2", "Digital3", "PhoneIn", "PhoneOut", "Video", "Radio", "Monitor" }
480*cda5da8dSAndroid Build Coastguard Worker #define SOUND_DEVICE_NAMES { "vol", "bass", "treble", "synth", "pcm", "speaker", "line", "mic", "cd", "mix", "pcm2", "rec", "igain", "ogain", "line1", "line2", "line3", "dig1", "dig2", "dig3", "phin", "phout", "video", "radio", "monitor" }
481*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_RECSRC 0xff
482*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_DEVMASK 0xfe
483*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_RECMASK 0xfd
484*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_CAPS 0xfc
485*cda5da8dSAndroid Build Coastguard Worker #define SOUND_CAP_EXCL_INPUT 0x00000001
486*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_STEREODEVS 0xfb
487*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_OUTSRC 0xfa
488*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_OUTMASK 0xf9
489*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_VOLUME (1 << SOUND_MIXER_VOLUME)
490*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_BASS (1 << SOUND_MIXER_BASS)
491*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_TREBLE (1 << SOUND_MIXER_TREBLE)
492*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_SYNTH (1 << SOUND_MIXER_SYNTH)
493*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_PCM (1 << SOUND_MIXER_PCM)
494*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_SPEAKER (1 << SOUND_MIXER_SPEAKER)
495*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_LINE (1 << SOUND_MIXER_LINE)
496*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_MIC (1 << SOUND_MIXER_MIC)
497*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_CD (1 << SOUND_MIXER_CD)
498*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_IMIX (1 << SOUND_MIXER_IMIX)
499*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_ALTPCM (1 << SOUND_MIXER_ALTPCM)
500*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_RECLEV (1 << SOUND_MIXER_RECLEV)
501*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_IGAIN (1 << SOUND_MIXER_IGAIN)
502*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_OGAIN (1 << SOUND_MIXER_OGAIN)
503*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_LINE1 (1 << SOUND_MIXER_LINE1)
504*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_LINE2 (1 << SOUND_MIXER_LINE2)
505*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_LINE3 (1 << SOUND_MIXER_LINE3)
506*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_DIGITAL1 (1 << SOUND_MIXER_DIGITAL1)
507*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_DIGITAL2 (1 << SOUND_MIXER_DIGITAL2)
508*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_DIGITAL3 (1 << SOUND_MIXER_DIGITAL3)
509*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_PHONEIN (1 << SOUND_MIXER_PHONEIN)
510*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_PHONEOUT (1 << SOUND_MIXER_PHONEOUT)
511*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_RADIO (1 << SOUND_MIXER_RADIO)
512*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_VIDEO (1 << SOUND_MIXER_VIDEO)
513*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_MONITOR (1 << SOUND_MIXER_MONITOR)
514*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_MUTE (1 << SOUND_MIXER_MUTE)
515*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_ENHANCE (1 << SOUND_MIXER_ENHANCE)
516*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MASK_LOUD (1 << SOUND_MIXER_LOUD)
517*cda5da8dSAndroid Build Coastguard Worker #define MIXER_READ(dev) _SIOR('M', dev, int)
518*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_VOLUME MIXER_READ(SOUND_MIXER_VOLUME)
519*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_BASS MIXER_READ(SOUND_MIXER_BASS)
520*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_TREBLE MIXER_READ(SOUND_MIXER_TREBLE)
521*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_SYNTH MIXER_READ(SOUND_MIXER_SYNTH)
522*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_PCM MIXER_READ(SOUND_MIXER_PCM)
523*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_SPEAKER MIXER_READ(SOUND_MIXER_SPEAKER)
524*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_LINE MIXER_READ(SOUND_MIXER_LINE)
525*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_MIC MIXER_READ(SOUND_MIXER_MIC)
526*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_CD MIXER_READ(SOUND_MIXER_CD)
527*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_IMIX MIXER_READ(SOUND_MIXER_IMIX)
528*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_ALTPCM MIXER_READ(SOUND_MIXER_ALTPCM)
529*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_RECLEV MIXER_READ(SOUND_MIXER_RECLEV)
530*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_IGAIN MIXER_READ(SOUND_MIXER_IGAIN)
531*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_OGAIN MIXER_READ(SOUND_MIXER_OGAIN)
532*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_LINE1 MIXER_READ(SOUND_MIXER_LINE1)
533*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_LINE2 MIXER_READ(SOUND_MIXER_LINE2)
534*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_LINE3 MIXER_READ(SOUND_MIXER_LINE3)
535*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_MUTE MIXER_READ(SOUND_MIXER_MUTE)
536*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_ENHANCE MIXER_READ(SOUND_MIXER_ENHANCE)
537*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_LOUD MIXER_READ(SOUND_MIXER_LOUD)
538*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_RECSRC MIXER_READ(SOUND_MIXER_RECSRC)
539*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_DEVMASK MIXER_READ(SOUND_MIXER_DEVMASK)
540*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_RECMASK MIXER_READ(SOUND_MIXER_RECMASK)
541*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_STEREODEVS MIXER_READ(SOUND_MIXER_STEREODEVS)
542*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_READ_CAPS MIXER_READ(SOUND_MIXER_CAPS)
543*cda5da8dSAndroid Build Coastguard Worker #define MIXER_WRITE(dev) _SIOWR('M', dev, int)
544*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_VOLUME MIXER_WRITE(SOUND_MIXER_VOLUME)
545*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_BASS MIXER_WRITE(SOUND_MIXER_BASS)
546*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_TREBLE MIXER_WRITE(SOUND_MIXER_TREBLE)
547*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_SYNTH MIXER_WRITE(SOUND_MIXER_SYNTH)
548*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_PCM MIXER_WRITE(SOUND_MIXER_PCM)
549*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_SPEAKER MIXER_WRITE(SOUND_MIXER_SPEAKER)
550*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_LINE MIXER_WRITE(SOUND_MIXER_LINE)
551*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_MIC MIXER_WRITE(SOUND_MIXER_MIC)
552*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_CD MIXER_WRITE(SOUND_MIXER_CD)
553*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_IMIX MIXER_WRITE(SOUND_MIXER_IMIX)
554*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_ALTPCM MIXER_WRITE(SOUND_MIXER_ALTPCM)
555*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_RECLEV MIXER_WRITE(SOUND_MIXER_RECLEV)
556*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_IGAIN MIXER_WRITE(SOUND_MIXER_IGAIN)
557*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_OGAIN MIXER_WRITE(SOUND_MIXER_OGAIN)
558*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_LINE1 MIXER_WRITE(SOUND_MIXER_LINE1)
559*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_LINE2 MIXER_WRITE(SOUND_MIXER_LINE2)
560*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_LINE3 MIXER_WRITE(SOUND_MIXER_LINE3)
561*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_MUTE MIXER_WRITE(SOUND_MIXER_MUTE)
562*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_ENHANCE MIXER_WRITE(SOUND_MIXER_ENHANCE)
563*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_LOUD MIXER_WRITE(SOUND_MIXER_LOUD)
564*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_WRITE_RECSRC MIXER_WRITE(SOUND_MIXER_RECSRC)
565*cda5da8dSAndroid Build Coastguard Worker typedef struct mixer_info {
566*cda5da8dSAndroid Build Coastguard Worker   char id[16];
567*cda5da8dSAndroid Build Coastguard Worker   char name[32];
568*cda5da8dSAndroid Build Coastguard Worker   int modify_counter;
569*cda5da8dSAndroid Build Coastguard Worker   int fillers[10];
570*cda5da8dSAndroid Build Coastguard Worker } mixer_info;
571*cda5da8dSAndroid Build Coastguard Worker typedef struct _old_mixer_info {
572*cda5da8dSAndroid Build Coastguard Worker   char id[16];
573*cda5da8dSAndroid Build Coastguard Worker   char name[32];
574*cda5da8dSAndroid Build Coastguard Worker } _old_mixer_info;
575*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_INFO _SIOR('M', 101, mixer_info)
576*cda5da8dSAndroid Build Coastguard Worker #define SOUND_OLD_MIXER_INFO _SIOR('M', 101, _old_mixer_info)
577*cda5da8dSAndroid Build Coastguard Worker typedef unsigned char mixer_record[128];
578*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_ACCESS _SIOWR('M', 102, mixer_record)
579*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_AGC _SIOWR('M', 103, int)
580*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_3DSE _SIOWR('M', 104, int)
581*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_PRIVATE1 _SIOWR('M', 111, int)
582*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_PRIVATE2 _SIOWR('M', 112, int)
583*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_PRIVATE3 _SIOWR('M', 113, int)
584*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_PRIVATE4 _SIOWR('M', 114, int)
585*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_PRIVATE5 _SIOWR('M', 115, int)
586*cda5da8dSAndroid Build Coastguard Worker typedef struct mixer_vol_table {
587*cda5da8dSAndroid Build Coastguard Worker   int num;
588*cda5da8dSAndroid Build Coastguard Worker   char name[32];
589*cda5da8dSAndroid Build Coastguard Worker   int levels[32];
590*cda5da8dSAndroid Build Coastguard Worker } mixer_vol_table;
591*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_GETLEVELS _SIOWR('M', 116, mixer_vol_table)
592*cda5da8dSAndroid Build Coastguard Worker #define SOUND_MIXER_SETLEVELS _SIOWR('M', 117, mixer_vol_table)
593*cda5da8dSAndroid Build Coastguard Worker #define OSS_GETVERSION _SIOR('M', 118, int)
594*cda5da8dSAndroid Build Coastguard Worker #define EV_SEQ_LOCAL 0x80
595*cda5da8dSAndroid Build Coastguard Worker #define EV_TIMING 0x81
596*cda5da8dSAndroid Build Coastguard Worker #define EV_CHN_COMMON 0x92
597*cda5da8dSAndroid Build Coastguard Worker #define EV_CHN_VOICE 0x93
598*cda5da8dSAndroid Build Coastguard Worker #define EV_SYSEX 0x94
599*cda5da8dSAndroid Build Coastguard Worker #define MIDI_NOTEOFF 0x80
600*cda5da8dSAndroid Build Coastguard Worker #define MIDI_NOTEON 0x90
601*cda5da8dSAndroid Build Coastguard Worker #define MIDI_KEY_PRESSURE 0xA0
602*cda5da8dSAndroid Build Coastguard Worker #define MIDI_CTL_CHANGE 0xB0
603*cda5da8dSAndroid Build Coastguard Worker #define MIDI_PGM_CHANGE 0xC0
604*cda5da8dSAndroid Build Coastguard Worker #define MIDI_CHN_PRESSURE 0xD0
605*cda5da8dSAndroid Build Coastguard Worker #define MIDI_PITCH_BEND 0xE0
606*cda5da8dSAndroid Build Coastguard Worker #define MIDI_SYSTEM_PREFIX 0xF0
607*cda5da8dSAndroid Build Coastguard Worker #define TMR_WAIT_REL 1
608*cda5da8dSAndroid Build Coastguard Worker #define TMR_WAIT_ABS 2
609*cda5da8dSAndroid Build Coastguard Worker #define TMR_STOP 3
610*cda5da8dSAndroid Build Coastguard Worker #define TMR_START 4
611*cda5da8dSAndroid Build Coastguard Worker #define TMR_CONTINUE 5
612*cda5da8dSAndroid Build Coastguard Worker #define TMR_TEMPO 6
613*cda5da8dSAndroid Build Coastguard Worker #define TMR_ECHO 8
614*cda5da8dSAndroid Build Coastguard Worker #define TMR_CLOCK 9
615*cda5da8dSAndroid Build Coastguard Worker #define TMR_SPP 10
616*cda5da8dSAndroid Build Coastguard Worker #define TMR_TIMESIG 11
617*cda5da8dSAndroid Build Coastguard Worker #define LOCL_STARTAUDIO 1
618*cda5da8dSAndroid Build Coastguard Worker #define SEQ_DECLAREBUF() SEQ_USE_EXTBUF()
619*cda5da8dSAndroid Build Coastguard Worker #define SEQ_PM_DEFINES int __foo_bar___
620*cda5da8dSAndroid Build Coastguard Worker #define SEQ_LOAD_GMINSTR(dev,instr)
621*cda5da8dSAndroid Build Coastguard Worker #define SEQ_LOAD_GMDRUM(dev,drum)
622*cda5da8dSAndroid Build Coastguard Worker #define _SEQ_EXTERN extern
623*cda5da8dSAndroid Build Coastguard Worker #define SEQ_USE_EXTBUF() _SEQ_EXTERN unsigned char _seqbuf[]; _SEQ_EXTERN int _seqbuflen; _SEQ_EXTERN int _seqbufptr
624*cda5da8dSAndroid Build Coastguard Worker #ifndef USE_SIMPLE_MACROS
625*cda5da8dSAndroid Build Coastguard Worker #define SEQ_DEFINEBUF(len) unsigned char _seqbuf[len]; int _seqbuflen = len; int _seqbufptr = 0
626*cda5da8dSAndroid Build Coastguard Worker #define _SEQ_NEEDBUF(len) if((_seqbufptr + (len)) > _seqbuflen) seqbuf_dump()
627*cda5da8dSAndroid Build Coastguard Worker #define _SEQ_ADVBUF(len) _seqbufptr += len
628*cda5da8dSAndroid Build Coastguard Worker #define SEQ_DUMPBUF seqbuf_dump
629*cda5da8dSAndroid Build Coastguard Worker #else
630*cda5da8dSAndroid Build Coastguard Worker #define _SEQ_NEEDBUF(len)
631*cda5da8dSAndroid Build Coastguard Worker #endif
632*cda5da8dSAndroid Build Coastguard Worker #define SEQ_VOLUME_MODE(dev,mode) { _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr] = SEQ_EXTENDED; _seqbuf[_seqbufptr + 1] = SEQ_VOLMODE; _seqbuf[_seqbufptr + 2] = (dev); _seqbuf[_seqbufptr + 3] = (mode); _seqbuf[_seqbufptr + 4] = 0; _seqbuf[_seqbufptr + 5] = 0; _seqbuf[_seqbufptr + 6] = 0; _seqbuf[_seqbufptr + 7] = 0; _SEQ_ADVBUF(8); }
633*cda5da8dSAndroid Build Coastguard Worker #define _CHN_VOICE(dev,event,chn,note,parm) { _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr] = EV_CHN_VOICE; _seqbuf[_seqbufptr + 1] = (dev); _seqbuf[_seqbufptr + 2] = (event); _seqbuf[_seqbufptr + 3] = (chn); _seqbuf[_seqbufptr + 4] = (note); _seqbuf[_seqbufptr + 5] = (parm); _seqbuf[_seqbufptr + 6] = (0); _seqbuf[_seqbufptr + 7] = 0; _SEQ_ADVBUF(8); }
634*cda5da8dSAndroid Build Coastguard Worker #define SEQ_START_NOTE(dev,chn,note,vol) _CHN_VOICE(dev, MIDI_NOTEON, chn, note, vol)
635*cda5da8dSAndroid Build Coastguard Worker #define SEQ_STOP_NOTE(dev,chn,note,vol) _CHN_VOICE(dev, MIDI_NOTEOFF, chn, note, vol)
636*cda5da8dSAndroid Build Coastguard Worker #define SEQ_KEY_PRESSURE(dev,chn,note,pressure) _CHN_VOICE(dev, MIDI_KEY_PRESSURE, chn, note, pressure)
637*cda5da8dSAndroid Build Coastguard Worker #define _CHN_COMMON(dev,event,chn,p1,p2,w14) { _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr] = EV_CHN_COMMON; _seqbuf[_seqbufptr + 1] = (dev); _seqbuf[_seqbufptr + 2] = (event); _seqbuf[_seqbufptr + 3] = (chn); _seqbuf[_seqbufptr + 4] = (p1); _seqbuf[_seqbufptr + 5] = (p2); * (short *) & _seqbuf[_seqbufptr + 6] = (w14); _SEQ_ADVBUF(8); }
638*cda5da8dSAndroid Build Coastguard Worker #define SEQ_SYSEX(dev,buf,len) { int ii, ll = (len); unsigned char * bufp = buf; if(ll > 6) ll = 6; _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr] = EV_SYSEX; _seqbuf[_seqbufptr + 1] = (dev); for(ii = 0; ii < ll; ii ++) _seqbuf[_seqbufptr + ii + 2] = bufp[ii]; for(ii = ll; ii < 6; ii ++) _seqbuf[_seqbufptr + ii + 2] = 0xff; _SEQ_ADVBUF(8); }
639*cda5da8dSAndroid Build Coastguard Worker #define SEQ_CHN_PRESSURE(dev,chn,pressure) _CHN_COMMON(dev, MIDI_CHN_PRESSURE, chn, pressure, 0, 0)
640*cda5da8dSAndroid Build Coastguard Worker #define SEQ_SET_PATCH SEQ_PGM_CHANGE
641*cda5da8dSAndroid Build Coastguard Worker #define SEQ_PGM_CHANGE(dev,chn,patch) _CHN_COMMON(dev, MIDI_PGM_CHANGE, chn, patch, 0, 0)
642*cda5da8dSAndroid Build Coastguard Worker #define SEQ_CONTROL(dev,chn,controller,value) _CHN_COMMON(dev, MIDI_CTL_CHANGE, chn, controller, 0, value)
643*cda5da8dSAndroid Build Coastguard Worker #define SEQ_BENDER(dev,chn,value) _CHN_COMMON(dev, MIDI_PITCH_BEND, chn, 0, 0, value)
644*cda5da8dSAndroid Build Coastguard Worker #define SEQ_V2_X_CONTROL(dev,voice,controller,value) { _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr] = SEQ_EXTENDED; _seqbuf[_seqbufptr + 1] = SEQ_CONTROLLER; _seqbuf[_seqbufptr + 2] = (dev); _seqbuf[_seqbufptr + 3] = (voice); _seqbuf[_seqbufptr + 4] = (controller); _seqbuf[_seqbufptr + 5] = ((value) & 0xff); _seqbuf[_seqbufptr + 6] = ((value >> 8) & 0xff); _seqbuf[_seqbufptr + 7] = 0; _SEQ_ADVBUF(8); }
645*cda5da8dSAndroid Build Coastguard Worker #define SEQ_PITCHBEND(dev,voice,value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER, value)
646*cda5da8dSAndroid Build Coastguard Worker #define SEQ_BENDER_RANGE(dev,voice,value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER_RANGE, value)
647*cda5da8dSAndroid Build Coastguard Worker #define SEQ_EXPRESSION(dev,voice,value) SEQ_CONTROL(dev, voice, CTL_EXPRESSION, value * 128)
648*cda5da8dSAndroid Build Coastguard Worker #define SEQ_MAIN_VOLUME(dev,voice,value) SEQ_CONTROL(dev, voice, CTL_MAIN_VOLUME, (value * 16383) / 100)
649*cda5da8dSAndroid Build Coastguard Worker #define SEQ_PANNING(dev,voice,pos) SEQ_CONTROL(dev, voice, CTL_PAN, (pos + 128) / 2)
650*cda5da8dSAndroid Build Coastguard Worker #define _TIMER_EVENT(ev,parm) { _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr + 0] = EV_TIMING; _seqbuf[_seqbufptr + 1] = (ev); _seqbuf[_seqbufptr + 2] = 0; _seqbuf[_seqbufptr + 3] = 0; * (unsigned int *) & _seqbuf[_seqbufptr + 4] = (parm); _SEQ_ADVBUF(8); }
651*cda5da8dSAndroid Build Coastguard Worker #define SEQ_START_TIMER() _TIMER_EVENT(TMR_START, 0)
652*cda5da8dSAndroid Build Coastguard Worker #define SEQ_STOP_TIMER() _TIMER_EVENT(TMR_STOP, 0)
653*cda5da8dSAndroid Build Coastguard Worker #define SEQ_CONTINUE_TIMER() _TIMER_EVENT(TMR_CONTINUE, 0)
654*cda5da8dSAndroid Build Coastguard Worker #define SEQ_WAIT_TIME(ticks) _TIMER_EVENT(TMR_WAIT_ABS, ticks)
655*cda5da8dSAndroid Build Coastguard Worker #define SEQ_DELTA_TIME(ticks) _TIMER_EVENT(TMR_WAIT_REL, ticks)
656*cda5da8dSAndroid Build Coastguard Worker #define SEQ_ECHO_BACK(key) _TIMER_EVENT(TMR_ECHO, key)
657*cda5da8dSAndroid Build Coastguard Worker #define SEQ_SET_TEMPO(value) _TIMER_EVENT(TMR_TEMPO, value)
658*cda5da8dSAndroid Build Coastguard Worker #define SEQ_SONGPOS(pos) _TIMER_EVENT(TMR_SPP, pos)
659*cda5da8dSAndroid Build Coastguard Worker #define SEQ_TIME_SIGNATURE(sig) _TIMER_EVENT(TMR_TIMESIG, sig)
660*cda5da8dSAndroid Build Coastguard Worker #define _LOCAL_EVENT(ev,parm) { _SEQ_NEEDBUF(8); _seqbuf[_seqbufptr + 0] = EV_SEQ_LOCAL; _seqbuf[_seqbufptr + 1] = (ev); _seqbuf[_seqbufptr + 2] = 0; _seqbuf[_seqbufptr + 3] = 0; * (unsigned int *) & _seqbuf[_seqbufptr + 4] = (parm); _SEQ_ADVBUF(8); }
661*cda5da8dSAndroid Build Coastguard Worker #define SEQ_PLAYAUDIO(devmask) _LOCAL_EVENT(LOCL_STARTAUDIO, devmask)
662*cda5da8dSAndroid Build Coastguard Worker #define SEQ_MIDIOUT(device,byte) { _SEQ_NEEDBUF(4); _seqbuf[_seqbufptr] = SEQ_MIDIPUTC; _seqbuf[_seqbufptr + 1] = (byte); _seqbuf[_seqbufptr + 2] = (device); _seqbuf[_seqbufptr + 3] = 0; _SEQ_ADVBUF(4); }
663*cda5da8dSAndroid Build Coastguard Worker #define SEQ_WRPATCH(patchx,len) { if(_seqbufptr) SEQ_DUMPBUF(); if(write(seqfd, (char *) (patchx), len) == - 1) perror("Write patch: /dev/sequencer"); }
664*cda5da8dSAndroid Build Coastguard Worker #define SEQ_WRPATCH2(patchx,len) (SEQ_DUMPBUF(), write(seqfd, (char *) (patchx), len))
665*cda5da8dSAndroid Build Coastguard Worker #endif
666