1 /* 2 * This file is auto-generated. Modifications will be lost. 3 * 4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5 * for more information. 6 */ 7 #ifndef __SOUND_SFNT_INFO_H 8 #define __SOUND_SFNT_INFO_H 9 #include <sound/asound.h> 10 #ifdef SNDRV_BIG_ENDIAN 11 #define SNDRV_OSS_PATCHKEY(id) (0xfd00 | id) 12 #else 13 #define SNDRV_OSS_PATCHKEY(id) ((id << 8) | 0xfd) 14 #endif 15 struct soundfont_patch_info { 16 unsigned short key; 17 #define SNDRV_OSS_SOUNDFONT_PATCH SNDRV_OSS_PATCHKEY(0x07) 18 short device_no; 19 unsigned short sf_id; 20 short optarg; 21 int len; 22 short type; 23 #define SNDRV_SFNT_LOAD_INFO 0 24 #define SNDRV_SFNT_LOAD_DATA 1 25 #define SNDRV_SFNT_OPEN_PATCH 2 26 #define SNDRV_SFNT_CLOSE_PATCH 3 27 #define SNDRV_SFNT_REPLACE_DATA 5 28 #define SNDRV_SFNT_MAP_PRESET 6 29 #define SNDRV_SFNT_PROBE_DATA 8 30 #define SNDRV_SFNT_REMOVE_INFO 9 31 short reserved; 32 }; 33 #define SNDRV_SFNT_PATCH_NAME_LEN 32 34 struct soundfont_open_parm { 35 unsigned short type; 36 #define SNDRV_SFNT_PAT_TYPE_MISC 0 37 #define SNDRV_SFNT_PAT_TYPE_GUS 6 38 #define SNDRV_SFNT_PAT_TYPE_MAP 7 39 #define SNDRV_SFNT_PAT_LOCKED 0x100 40 #define SNDRV_SFNT_PAT_SHARED 0x200 41 short reserved; 42 char name[SNDRV_SFNT_PATCH_NAME_LEN]; 43 }; 44 struct soundfont_voice_parm { 45 unsigned short moddelay; 46 unsigned short modatkhld; 47 unsigned short moddcysus; 48 unsigned short modrelease; 49 short modkeyhold, modkeydecay; 50 unsigned short voldelay; 51 unsigned short volatkhld; 52 unsigned short voldcysus; 53 unsigned short volrelease; 54 short volkeyhold, volkeydecay; 55 unsigned short lfo1delay; 56 unsigned short lfo2delay; 57 unsigned short pefe; 58 unsigned short fmmod; 59 unsigned short tremfrq; 60 unsigned short fm2frq2; 61 unsigned char cutoff; 62 unsigned char filterQ; 63 unsigned char chorus; 64 unsigned char reverb; 65 unsigned short reserved[4]; 66 }; 67 struct soundfont_voice_info { 68 unsigned short sf_id; 69 unsigned short sample; 70 int start, end; 71 int loopstart, loopend; 72 short rate_offset; 73 unsigned short mode; 74 #define SNDRV_SFNT_MODE_ROMSOUND 0x8000 75 #define SNDRV_SFNT_MODE_STEREO 1 76 #define SNDRV_SFNT_MODE_LOOPING 2 77 #define SNDRV_SFNT_MODE_NORELEASE 4 78 #define SNDRV_SFNT_MODE_INIT_PARM 8 79 short root; 80 short tune; 81 unsigned char low, high; 82 unsigned char vellow, velhigh; 83 signed char fixkey, fixvel; 84 signed char pan, fixpan; 85 short exclusiveClass; 86 unsigned char amplitude; 87 unsigned char attenuation; 88 short scaleTuning; 89 struct soundfont_voice_parm parm; 90 unsigned short sample_mode; 91 }; 92 struct soundfont_voice_rec_hdr { 93 unsigned char bank; 94 unsigned char instr; 95 char nvoices; 96 char write_mode; 97 #define SNDRV_SFNT_WR_APPEND 0 98 #define SNDRV_SFNT_WR_EXCLUSIVE 1 99 #define SNDRV_SFNT_WR_REPLACE 2 100 }; 101 struct soundfont_sample_info { 102 unsigned short sf_id; 103 unsigned short sample; 104 int start, end; 105 int loopstart, loopend; 106 int size; 107 short dummy; 108 unsigned short mode_flags; 109 #define SNDRV_SFNT_SAMPLE_8BITS 1 110 #define SNDRV_SFNT_SAMPLE_UNSIGNED 2 111 #define SNDRV_SFNT_SAMPLE_NO_BLANK 4 112 #define SNDRV_SFNT_SAMPLE_SINGLESHOT 8 113 #define SNDRV_SFNT_SAMPLE_BIDIR_LOOP 16 114 #define SNDRV_SFNT_SAMPLE_STEREO_LEFT 32 115 #define SNDRV_SFNT_SAMPLE_STEREO_RIGHT 64 116 #define SNDRV_SFNT_SAMPLE_REVERSE_LOOP 128 117 unsigned int truesize; 118 }; 119 struct soundfont_voice_map { 120 int map_bank, map_instr, map_key; 121 int src_bank, src_instr, src_key; 122 }; 123 #define SNDRV_EMUX_HWDEP_NAME "Emux WaveTable" 124 #define SNDRV_EMUX_VERSION ((1 << 16) | (0 << 8) | 0) 125 struct snd_emux_misc_mode { 126 int port; 127 int mode; 128 int value; 129 int value2; 130 }; 131 #define SNDRV_EMUX_IOCTL_VERSION _IOR('H', 0x80, unsigned int) 132 #define SNDRV_EMUX_IOCTL_LOAD_PATCH _IOWR('H', 0x81, struct soundfont_patch_info) 133 #define SNDRV_EMUX_IOCTL_RESET_SAMPLES _IO('H', 0x82) 134 #define SNDRV_EMUX_IOCTL_REMOVE_LAST_SAMPLES _IO('H', 0x83) 135 #define SNDRV_EMUX_IOCTL_MEM_AVAIL _IOW('H', 0x84, int) 136 #define SNDRV_EMUX_IOCTL_MISC_MODE _IOWR('H', 0x84, struct snd_emux_misc_mode) 137 #endif 138