Elliott Hughes | 180edef | 2023-11-02 00:08:05 +0000 | [diff] [blame^] | 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 | */ |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 7 | #ifndef __SOUND_SFNT_INFO_H |
| 8 | #define __SOUND_SFNT_INFO_H |
| 9 | #include <sound/asound.h> |
| 10 | #ifdef SNDRV_BIG_ENDIAN |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 11 | #define SNDRV_OSS_PATCHKEY(id) (0xfd00 | id) |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 12 | #else |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 13 | #define SNDRV_OSS_PATCHKEY(id) ((id << 8) | 0xfd) |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 14 | #endif |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 15 | struct soundfont_patch_info { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 16 | unsigned short key; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 17 | #define SNDRV_OSS_SOUNDFONT_PATCH SNDRV_OSS_PATCHKEY(0x07) |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 18 | short device_no; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 19 | unsigned short sf_id; |
| 20 | short optarg; |
| 21 | int len; |
| 22 | short type; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 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 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 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 |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 31 | short reserved; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 32 | }; |
| 33 | #define SNDRV_SFNT_PATCH_NAME_LEN 32 |
| 34 | struct soundfont_open_parm { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 35 | unsigned short type; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 36 | #define SNDRV_SFNT_PAT_TYPE_MISC 0 |
| 37 | #define SNDRV_SFNT_PAT_TYPE_GUS 6 |
| 38 | #define SNDRV_SFNT_PAT_TYPE_MAP 7 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 39 | #define SNDRV_SFNT_PAT_LOCKED 0x100 |
| 40 | #define SNDRV_SFNT_PAT_SHARED 0x200 |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 41 | short reserved; |
| 42 | char name[SNDRV_SFNT_PATCH_NAME_LEN]; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 43 | }; |
| 44 | struct soundfont_voice_parm { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 45 | unsigned short moddelay; |
| 46 | unsigned short modatkhld; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 47 | unsigned short moddcysus; |
| 48 | unsigned short modrelease; |
| 49 | short modkeyhold, modkeydecay; |
| 50 | unsigned short voldelay; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 51 | unsigned short volatkhld; |
| 52 | unsigned short voldcysus; |
| 53 | unsigned short volrelease; |
| 54 | short volkeyhold, volkeydecay; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 55 | unsigned short lfo1delay; |
| 56 | unsigned short lfo2delay; |
| 57 | unsigned short pefe; |
| 58 | unsigned short fmmod; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 59 | unsigned short tremfrq; |
| 60 | unsigned short fm2frq2; |
| 61 | unsigned char cutoff; |
| 62 | unsigned char filterQ; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 63 | unsigned char chorus; |
| 64 | unsigned char reverb; |
| 65 | unsigned short reserved[4]; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 66 | }; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 67 | struct soundfont_voice_info { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 68 | unsigned short sf_id; |
| 69 | unsigned short sample; |
| 70 | int start, end; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 71 | int loopstart, loopend; |
| 72 | short rate_offset; |
| 73 | unsigned short mode; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 74 | #define SNDRV_SFNT_MODE_ROMSOUND 0x8000 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 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 |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 79 | short root; |
| 80 | short tune; |
| 81 | unsigned char low, high; |
| 82 | unsigned char vellow, velhigh; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 83 | signed char fixkey, fixvel; |
| 84 | signed char pan, fixpan; |
| 85 | short exclusiveClass; |
| 86 | unsigned char amplitude; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 87 | unsigned char attenuation; |
| 88 | short scaleTuning; |
| 89 | struct soundfont_voice_parm parm; |
| 90 | unsigned short sample_mode; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 91 | }; |
| 92 | struct soundfont_voice_rec_hdr { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 93 | unsigned char bank; |
| 94 | unsigned char instr; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 95 | char nvoices; |
| 96 | char write_mode; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 97 | #define SNDRV_SFNT_WR_APPEND 0 |
| 98 | #define SNDRV_SFNT_WR_EXCLUSIVE 1 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 99 | #define SNDRV_SFNT_WR_REPLACE 2 |
| 100 | }; |
| 101 | struct soundfont_sample_info { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 102 | unsigned short sf_id; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 103 | unsigned short sample; |
| 104 | int start, end; |
| 105 | int loopstart, loopend; |
| 106 | int size; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 107 | short dummy; |
| 108 | unsigned short mode_flags; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 109 | #define SNDRV_SFNT_SAMPLE_8BITS 1 |
| 110 | #define SNDRV_SFNT_SAMPLE_UNSIGNED 2 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 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 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 115 | #define SNDRV_SFNT_SAMPLE_STEREO_RIGHT 64 |
| 116 | #define SNDRV_SFNT_SAMPLE_REVERSE_LOOP 128 |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 117 | unsigned int truesize; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 118 | }; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 119 | struct soundfont_voice_map { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 120 | int map_bank, map_instr, map_key; |
| 121 | int src_bank, src_instr, src_key; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 122 | }; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 123 | #define SNDRV_EMUX_HWDEP_NAME "Emux WaveTable" |
| 124 | #define SNDRV_EMUX_VERSION ((1 << 16) | (0 << 8) | 0) |
| 125 | struct snd_emux_misc_mode { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 126 | int port; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 127 | int mode; |
| 128 | int value; |
| 129 | int value2; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 130 | }; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 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) |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 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 |