diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/drivers/opl4/opl4_lib.c | 40 | ||||
-rw-r--r-- | sound/drivers/opl4/opl4_local.h | 68 | ||||
-rw-r--r-- | sound/drivers/opl4/opl4_mixer.c | 16 | ||||
-rw-r--r-- | sound/drivers/opl4/opl4_proc.c | 24 | ||||
-rw-r--r-- | sound/drivers/opl4/opl4_seq.c | 42 | ||||
-rw-r--r-- | sound/drivers/opl4/opl4_synth.c | 76 | ||||
-rw-r--r-- | sound/drivers/opl4/yrw801.c | 262 |
7 files changed, 266 insertions, 262 deletions
diff --git a/sound/drivers/opl4/opl4_lib.c b/sound/drivers/opl4/opl4_lib.c index 4ae5dd8f011e..ddfc10d04be2 100644 --- a/sound/drivers/opl4/opl4_lib.c +++ b/sound/drivers/opl4/opl4_lib.c | |||
@@ -27,14 +27,14 @@ MODULE_AUTHOR("Clemens Ladisch <clemens@ladisch.de>"); | |||
27 | MODULE_DESCRIPTION("OPL4 driver"); | 27 | MODULE_DESCRIPTION("OPL4 driver"); |
28 | MODULE_LICENSE("GPL"); | 28 | MODULE_LICENSE("GPL"); |
29 | 29 | ||
30 | static void inline snd_opl4_wait(opl4_t *opl4) | 30 | static void inline snd_opl4_wait(struct snd_opl4 *opl4) |
31 | { | 31 | { |
32 | int timeout = 10; | 32 | int timeout = 10; |
33 | while ((inb(opl4->fm_port) & OPL4_STATUS_BUSY) && --timeout > 0) | 33 | while ((inb(opl4->fm_port) & OPL4_STATUS_BUSY) && --timeout > 0) |
34 | ; | 34 | ; |
35 | } | 35 | } |
36 | 36 | ||
37 | void snd_opl4_write(opl4_t *opl4, u8 reg, u8 value) | 37 | void snd_opl4_write(struct snd_opl4 *opl4, u8 reg, u8 value) |
38 | { | 38 | { |
39 | snd_opl4_wait(opl4); | 39 | snd_opl4_wait(opl4); |
40 | outb(reg, opl4->pcm_port); | 40 | outb(reg, opl4->pcm_port); |
@@ -43,7 +43,7 @@ void snd_opl4_write(opl4_t *opl4, u8 reg, u8 value) | |||
43 | outb(value, opl4->pcm_port + 1); | 43 | outb(value, opl4->pcm_port + 1); |
44 | } | 44 | } |
45 | 45 | ||
46 | u8 snd_opl4_read(opl4_t *opl4, u8 reg) | 46 | u8 snd_opl4_read(struct snd_opl4 *opl4, u8 reg) |
47 | { | 47 | { |
48 | snd_opl4_wait(opl4); | 48 | snd_opl4_wait(opl4); |
49 | outb(reg, opl4->pcm_port); | 49 | outb(reg, opl4->pcm_port); |
@@ -52,7 +52,7 @@ u8 snd_opl4_read(opl4_t *opl4, u8 reg) | |||
52 | return inb(opl4->pcm_port + 1); | 52 | return inb(opl4->pcm_port + 1); |
53 | } | 53 | } |
54 | 54 | ||
55 | void snd_opl4_read_memory(opl4_t *opl4, char *buf, int offset, int size) | 55 | void snd_opl4_read_memory(struct snd_opl4 *opl4, char *buf, int offset, int size) |
56 | { | 56 | { |
57 | unsigned long flags; | 57 | unsigned long flags; |
58 | u8 memcfg; | 58 | u8 memcfg; |
@@ -76,7 +76,7 @@ void snd_opl4_read_memory(opl4_t *opl4, char *buf, int offset, int size) | |||
76 | spin_unlock_irqrestore(&opl4->reg_lock, flags); | 76 | spin_unlock_irqrestore(&opl4->reg_lock, flags); |
77 | } | 77 | } |
78 | 78 | ||
79 | void snd_opl4_write_memory(opl4_t *opl4, const char *buf, int offset, int size) | 79 | void snd_opl4_write_memory(struct snd_opl4 *opl4, const char *buf, int offset, int size) |
80 | { | 80 | { |
81 | unsigned long flags; | 81 | unsigned long flags; |
82 | u8 memcfg; | 82 | u8 memcfg; |
@@ -100,7 +100,7 @@ void snd_opl4_write_memory(opl4_t *opl4, const char *buf, int offset, int size) | |||
100 | spin_unlock_irqrestore(&opl4->reg_lock, flags); | 100 | spin_unlock_irqrestore(&opl4->reg_lock, flags); |
101 | } | 101 | } |
102 | 102 | ||
103 | static void snd_opl4_enable_opl4(opl4_t *opl4) | 103 | static void snd_opl4_enable_opl4(struct snd_opl4 *opl4) |
104 | { | 104 | { |
105 | outb(OPL3_REG_MODE, opl4->fm_port + 2); | 105 | outb(OPL3_REG_MODE, opl4->fm_port + 2); |
106 | inb(opl4->fm_port); | 106 | inb(opl4->fm_port); |
@@ -110,7 +110,7 @@ static void snd_opl4_enable_opl4(opl4_t *opl4) | |||
110 | inb(opl4->fm_port); | 110 | inb(opl4->fm_port); |
111 | } | 111 | } |
112 | 112 | ||
113 | static int snd_opl4_detect(opl4_t *opl4) | 113 | static int snd_opl4_detect(struct snd_opl4 *opl4) |
114 | { | 114 | { |
115 | u8 id1, id2; | 115 | u8 id1, id2; |
116 | 116 | ||
@@ -144,19 +144,19 @@ static int snd_opl4_detect(opl4_t *opl4) | |||
144 | } | 144 | } |
145 | 145 | ||
146 | #if defined(CONFIG_SND_SEQUENCER) || (defined(MODULE) && defined(CONFIG_SND_SEQUENCER_MODULE)) | 146 | #if defined(CONFIG_SND_SEQUENCER) || (defined(MODULE) && defined(CONFIG_SND_SEQUENCER_MODULE)) |
147 | static void snd_opl4_seq_dev_free(snd_seq_device_t *seq_dev) | 147 | static void snd_opl4_seq_dev_free(struct snd_seq_device *seq_dev) |
148 | { | 148 | { |
149 | opl4_t *opl4 = seq_dev->private_data; | 149 | struct snd_opl4 *opl4 = seq_dev->private_data; |
150 | opl4->seq_dev = NULL; | 150 | opl4->seq_dev = NULL; |
151 | } | 151 | } |
152 | 152 | ||
153 | static int snd_opl4_create_seq_dev(opl4_t *opl4, int seq_device) | 153 | static int snd_opl4_create_seq_dev(struct snd_opl4 *opl4, int seq_device) |
154 | { | 154 | { |
155 | opl4->seq_dev_num = seq_device; | 155 | opl4->seq_dev_num = seq_device; |
156 | if (snd_seq_device_new(opl4->card, seq_device, SNDRV_SEQ_DEV_ID_OPL4, | 156 | if (snd_seq_device_new(opl4->card, seq_device, SNDRV_SEQ_DEV_ID_OPL4, |
157 | sizeof(opl4_t *), &opl4->seq_dev) >= 0) { | 157 | sizeof(struct snd_opl4 *), &opl4->seq_dev) >= 0) { |
158 | strcpy(opl4->seq_dev->name, "OPL4 Wavetable"); | 158 | strcpy(opl4->seq_dev->name, "OPL4 Wavetable"); |
159 | *(opl4_t **)SNDRV_SEQ_DEVICE_ARGPTR(opl4->seq_dev) = opl4; | 159 | *(struct snd_opl4 **)SNDRV_SEQ_DEVICE_ARGPTR(opl4->seq_dev) = opl4; |
160 | opl4->seq_dev->private_data = opl4; | 160 | opl4->seq_dev->private_data = opl4; |
161 | opl4->seq_dev->private_free = snd_opl4_seq_dev_free; | 161 | opl4->seq_dev->private_free = snd_opl4_seq_dev_free; |
162 | } | 162 | } |
@@ -164,7 +164,7 @@ static int snd_opl4_create_seq_dev(opl4_t *opl4, int seq_device) | |||
164 | } | 164 | } |
165 | #endif | 165 | #endif |
166 | 166 | ||
167 | static void snd_opl4_free(opl4_t *opl4) | 167 | static void snd_opl4_free(struct snd_opl4 *opl4) |
168 | { | 168 | { |
169 | #ifdef CONFIG_PROC_FS | 169 | #ifdef CONFIG_PROC_FS |
170 | snd_opl4_free_proc(opl4); | 170 | snd_opl4_free_proc(opl4); |
@@ -174,22 +174,22 @@ static void snd_opl4_free(opl4_t *opl4) | |||
174 | kfree(opl4); | 174 | kfree(opl4); |
175 | } | 175 | } |
176 | 176 | ||
177 | static int snd_opl4_dev_free(snd_device_t *device) | 177 | static int snd_opl4_dev_free(struct snd_device *device) |
178 | { | 178 | { |
179 | opl4_t *opl4 = device->device_data; | 179 | struct snd_opl4 *opl4 = device->device_data; |
180 | snd_opl4_free(opl4); | 180 | snd_opl4_free(opl4); |
181 | return 0; | 181 | return 0; |
182 | } | 182 | } |
183 | 183 | ||
184 | int snd_opl4_create(snd_card_t *card, | 184 | int snd_opl4_create(struct snd_card *card, |
185 | unsigned long fm_port, unsigned long pcm_port, | 185 | unsigned long fm_port, unsigned long pcm_port, |
186 | int seq_device, | 186 | int seq_device, |
187 | opl3_t **ropl3, opl4_t **ropl4) | 187 | struct snd_opl3 **ropl3, struct snd_opl4 **ropl4) |
188 | { | 188 | { |
189 | opl4_t *opl4; | 189 | struct snd_opl4 *opl4; |
190 | opl3_t *opl3; | 190 | struct snd_opl3 *opl3; |
191 | int err; | 191 | int err; |
192 | static snd_device_ops_t ops = { | 192 | static struct snd_device_ops ops = { |
193 | .dev_free = snd_opl4_dev_free | 193 | .dev_free = snd_opl4_dev_free |
194 | }; | 194 | }; |
195 | 195 | ||
diff --git a/sound/drivers/opl4/opl4_local.h b/sound/drivers/opl4/opl4_local.h index c455680843f6..7e088a4a2f4c 100644 --- a/sound/drivers/opl4/opl4_local.h +++ b/sound/drivers/opl4/opl4_local.h | |||
@@ -131,7 +131,7 @@ | |||
131 | #define SNDRV_SEQ_DEV_ID_OPL4 "opl4-synth" | 131 | #define SNDRV_SEQ_DEV_ID_OPL4 "opl4-synth" |
132 | 132 | ||
133 | 133 | ||
134 | typedef struct opl4_sound { | 134 | struct opl4_sound { |
135 | u16 tone; | 135 | u16 tone; |
136 | s16 pitch_offset; | 136 | s16 pitch_offset; |
137 | u8 key_scaling; | 137 | u8 key_scaling; |
@@ -144,42 +144,42 @@ typedef struct opl4_sound { | |||
144 | u8 reg_level_decay2; | 144 | u8 reg_level_decay2; |
145 | u8 reg_release_correction; | 145 | u8 reg_release_correction; |
146 | u8 reg_tremolo; | 146 | u8 reg_tremolo; |
147 | } opl4_sound_t; | 147 | }; |
148 | 148 | ||
149 | typedef struct opl4_region { | 149 | struct opl4_region { |
150 | u8 key_min, key_max; | 150 | u8 key_min, key_max; |
151 | opl4_sound_t sound; | 151 | struct opl4_sound sound; |
152 | } opl4_region_t; | 152 | }; |
153 | 153 | ||
154 | typedef struct opl4_region_ptr { | 154 | struct opl4_region_ptr { |
155 | int count; | 155 | int count; |
156 | const opl4_region_t *regions; | 156 | const struct opl4_region *regions; |
157 | } opl4_region_ptr_t; | 157 | }; |
158 | 158 | ||
159 | typedef struct opl4_voice { | 159 | struct opl4_voice { |
160 | struct list_head list; | 160 | struct list_head list; |
161 | int number; | 161 | int number; |
162 | snd_midi_channel_t *chan; | 162 | struct snd_midi_channel *chan; |
163 | int note; | 163 | int note; |
164 | int velocity; | 164 | int velocity; |
165 | const opl4_sound_t *sound; | 165 | const struct opl4_sound *sound; |
166 | u8 level_direct; | 166 | u8 level_direct; |
167 | u8 reg_f_number; | 167 | u8 reg_f_number; |
168 | u8 reg_misc; | 168 | u8 reg_misc; |
169 | u8 reg_lfo_vibrato; | 169 | u8 reg_lfo_vibrato; |
170 | } opl4_voice_t; | 170 | }; |
171 | 171 | ||
172 | struct opl4 { | 172 | struct snd_opl4 { |
173 | unsigned long fm_port; | 173 | unsigned long fm_port; |
174 | unsigned long pcm_port; | 174 | unsigned long pcm_port; |
175 | struct resource *res_fm_port; | 175 | struct resource *res_fm_port; |
176 | struct resource *res_pcm_port; | 176 | struct resource *res_pcm_port; |
177 | unsigned short hardware; | 177 | unsigned short hardware; |
178 | spinlock_t reg_lock; | 178 | spinlock_t reg_lock; |
179 | snd_card_t *card; | 179 | struct snd_card *card; |
180 | 180 | ||
181 | #ifdef CONFIG_PROC_FS | 181 | #ifdef CONFIG_PROC_FS |
182 | snd_info_entry_t *proc_entry; | 182 | struct snd_info_entry *proc_entry; |
183 | int memory_access; | 183 | int memory_access; |
184 | #endif | 184 | #endif |
185 | struct semaphore access_mutex; | 185 | struct semaphore access_mutex; |
@@ -189,44 +189,44 @@ struct opl4 { | |||
189 | 189 | ||
190 | int seq_dev_num; | 190 | int seq_dev_num; |
191 | int seq_client; | 191 | int seq_client; |
192 | snd_seq_device_t *seq_dev; | 192 | struct snd_seq_device *seq_dev; |
193 | 193 | ||
194 | snd_midi_channel_set_t *chset; | 194 | struct snd_midi_channel_set *chset; |
195 | opl4_voice_t voices[OPL4_MAX_VOICES]; | 195 | struct opl4_voice voices[OPL4_MAX_VOICES]; |
196 | struct list_head off_voices; | 196 | struct list_head off_voices; |
197 | struct list_head on_voices; | 197 | struct list_head on_voices; |
198 | #endif | 198 | #endif |
199 | }; | 199 | }; |
200 | 200 | ||
201 | /* opl4_lib.c */ | 201 | /* opl4_lib.c */ |
202 | void snd_opl4_write(opl4_t *opl4, u8 reg, u8 value); | 202 | void snd_opl4_write(struct snd_opl4 *opl4, u8 reg, u8 value); |
203 | u8 snd_opl4_read(opl4_t *opl4, u8 reg); | 203 | u8 snd_opl4_read(struct snd_opl4 *opl4, u8 reg); |
204 | void snd_opl4_read_memory(opl4_t *opl4, char *buf, int offset, int size); | 204 | void snd_opl4_read_memory(struct snd_opl4 *opl4, char *buf, int offset, int size); |
205 | void snd_opl4_write_memory(opl4_t *opl4, const char *buf, int offset, int size); | 205 | void snd_opl4_write_memory(struct snd_opl4 *opl4, const char *buf, int offset, int size); |
206 | 206 | ||
207 | /* opl4_mixer.c */ | 207 | /* opl4_mixer.c */ |
208 | int snd_opl4_create_mixer(opl4_t *opl4); | 208 | int snd_opl4_create_mixer(struct snd_opl4 *opl4); |
209 | 209 | ||
210 | #ifdef CONFIG_PROC_FS | 210 | #ifdef CONFIG_PROC_FS |
211 | /* opl4_proc.c */ | 211 | /* opl4_proc.c */ |
212 | int snd_opl4_create_proc(opl4_t *opl4); | 212 | int snd_opl4_create_proc(struct snd_opl4 *opl4); |
213 | void snd_opl4_free_proc(opl4_t *opl4); | 213 | void snd_opl4_free_proc(struct snd_opl4 *opl4); |
214 | #endif | 214 | #endif |
215 | 215 | ||
216 | /* opl4_seq.c */ | 216 | /* opl4_seq.c */ |
217 | extern int volume_boost; | 217 | extern int volume_boost; |
218 | 218 | ||
219 | /* opl4_synth.c */ | 219 | /* opl4_synth.c */ |
220 | void snd_opl4_synth_reset(opl4_t *opl4); | 220 | void snd_opl4_synth_reset(struct snd_opl4 *opl4); |
221 | void snd_opl4_synth_shutdown(opl4_t *opl4); | 221 | void snd_opl4_synth_shutdown(struct snd_opl4 *opl4); |
222 | void snd_opl4_note_on(void *p, int note, int vel, snd_midi_channel_t *chan); | 222 | void snd_opl4_note_on(void *p, int note, int vel, struct snd_midi_channel *chan); |
223 | void snd_opl4_note_off(void *p, int note, int vel, snd_midi_channel_t *chan); | 223 | void snd_opl4_note_off(void *p, int note, int vel, struct snd_midi_channel *chan); |
224 | void snd_opl4_terminate_note(void *p, int note, snd_midi_channel_t *chan); | 224 | void snd_opl4_terminate_note(void *p, int note, struct snd_midi_channel *chan); |
225 | void snd_opl4_control(void *p, int type, snd_midi_channel_t *chan); | 225 | void snd_opl4_control(void *p, int type, struct snd_midi_channel *chan); |
226 | void snd_opl4_sysex(void *p, unsigned char *buf, int len, int parsed, snd_midi_channel_set_t *chset); | 226 | void snd_opl4_sysex(void *p, unsigned char *buf, int len, int parsed, struct snd_midi_channel_set *chset); |
227 | 227 | ||
228 | /* yrw801.c */ | 228 | /* yrw801.c */ |
229 | int snd_yrw801_detect(opl4_t *opl4); | 229 | int snd_yrw801_detect(struct snd_opl4 *opl4); |
230 | extern const opl4_region_ptr_t snd_yrw801_regions[]; | 230 | extern const struct opl4_region_ptr snd_yrw801_regions[]; |
231 | 231 | ||
232 | #endif /* __OPL4_LOCAL_H */ | 232 | #endif /* __OPL4_LOCAL_H */ |
diff --git a/sound/drivers/opl4/opl4_mixer.c b/sound/drivers/opl4/opl4_mixer.c index ec7a228fbe7e..04079de4c35f 100644 --- a/sound/drivers/opl4/opl4_mixer.c +++ b/sound/drivers/opl4/opl4_mixer.c | |||
@@ -20,7 +20,7 @@ | |||
20 | #include "opl4_local.h" | 20 | #include "opl4_local.h" |
21 | #include <sound/control.h> | 21 | #include <sound/control.h> |
22 | 22 | ||
23 | static int snd_opl4_ctl_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) | 23 | static int snd_opl4_ctl_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) |
24 | { | 24 | { |
25 | uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; | 25 | uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; |
26 | uinfo->count = 2; | 26 | uinfo->count = 2; |
@@ -29,9 +29,9 @@ static int snd_opl4_ctl_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinf | |||
29 | return 0; | 29 | return 0; |
30 | } | 30 | } |
31 | 31 | ||
32 | static int snd_opl4_ctl_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) | 32 | static int snd_opl4_ctl_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
33 | { | 33 | { |
34 | opl4_t *opl4 = snd_kcontrol_chip(kcontrol); | 34 | struct snd_opl4 *opl4 = snd_kcontrol_chip(kcontrol); |
35 | unsigned long flags; | 35 | unsigned long flags; |
36 | u8 reg = kcontrol->private_value; | 36 | u8 reg = kcontrol->private_value; |
37 | u8 value; | 37 | u8 value; |
@@ -44,9 +44,9 @@ static int snd_opl4_ctl_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucon | |||
44 | return 0; | 44 | return 0; |
45 | } | 45 | } |
46 | 46 | ||
47 | static int snd_opl4_ctl_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) | 47 | static int snd_opl4_ctl_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
48 | { | 48 | { |
49 | opl4_t *opl4 = snd_kcontrol_chip(kcontrol); | 49 | struct snd_opl4 *opl4 = snd_kcontrol_chip(kcontrol); |
50 | unsigned long flags; | 50 | unsigned long flags; |
51 | u8 reg = kcontrol->private_value; | 51 | u8 reg = kcontrol->private_value; |
52 | u8 value, old_value; | 52 | u8 value, old_value; |
@@ -60,7 +60,7 @@ static int snd_opl4_ctl_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucon | |||
60 | return value != old_value; | 60 | return value != old_value; |
61 | } | 61 | } |
62 | 62 | ||
63 | static snd_kcontrol_new_t snd_opl4_controls[] = { | 63 | static struct snd_kcontrol_new snd_opl4_controls[] = { |
64 | { | 64 | { |
65 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, | 65 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, |
66 | .name = "FM Playback Volume", | 66 | .name = "FM Playback Volume", |
@@ -79,9 +79,9 @@ static snd_kcontrol_new_t snd_opl4_controls[] = { | |||
79 | } | 79 | } |
80 | }; | 80 | }; |
81 | 81 | ||
82 | int snd_opl4_create_mixer(opl4_t *opl4) | 82 | int snd_opl4_create_mixer(struct snd_opl4 *opl4) |
83 | { | 83 | { |
84 | snd_card_t *card = opl4->card; | 84 | struct snd_card *card = opl4->card; |
85 | int i, err; | 85 | int i, err; |
86 | 86 | ||
87 | strcat(card->mixername, ",OPL4"); | 87 | strcat(card->mixername, ",OPL4"); |
diff --git a/sound/drivers/opl4/opl4_proc.c b/sound/drivers/opl4/opl4_proc.c index 6a1486258acf..f4b4e74fcc18 100644 --- a/sound/drivers/opl4/opl4_proc.c +++ b/sound/drivers/opl4/opl4_proc.c | |||
@@ -23,10 +23,10 @@ | |||
23 | 23 | ||
24 | #ifdef CONFIG_PROC_FS | 24 | #ifdef CONFIG_PROC_FS |
25 | 25 | ||
26 | static int snd_opl4_mem_proc_open(snd_info_entry_t *entry, | 26 | static int snd_opl4_mem_proc_open(struct snd_info_entry *entry, |
27 | unsigned short mode, void **file_private_data) | 27 | unsigned short mode, void **file_private_data) |
28 | { | 28 | { |
29 | opl4_t *opl4 = entry->private_data; | 29 | struct snd_opl4 *opl4 = entry->private_data; |
30 | 30 | ||
31 | down(&opl4->access_mutex); | 31 | down(&opl4->access_mutex); |
32 | if (opl4->memory_access) { | 32 | if (opl4->memory_access) { |
@@ -38,10 +38,10 @@ static int snd_opl4_mem_proc_open(snd_info_entry_t *entry, | |||
38 | return 0; | 38 | return 0; |
39 | } | 39 | } |
40 | 40 | ||
41 | static int snd_opl4_mem_proc_release(snd_info_entry_t *entry, | 41 | static int snd_opl4_mem_proc_release(struct snd_info_entry *entry, |
42 | unsigned short mode, void *file_private_data) | 42 | unsigned short mode, void *file_private_data) |
43 | { | 43 | { |
44 | opl4_t *opl4 = entry->private_data; | 44 | struct snd_opl4 *opl4 = entry->private_data; |
45 | 45 | ||
46 | down(&opl4->access_mutex); | 46 | down(&opl4->access_mutex); |
47 | opl4->memory_access--; | 47 | opl4->memory_access--; |
@@ -49,11 +49,11 @@ static int snd_opl4_mem_proc_release(snd_info_entry_t *entry, | |||
49 | return 0; | 49 | return 0; |
50 | } | 50 | } |
51 | 51 | ||
52 | static long snd_opl4_mem_proc_read(snd_info_entry_t *entry, void *file_private_data, | 52 | static long snd_opl4_mem_proc_read(struct snd_info_entry *entry, void *file_private_data, |
53 | struct file *file, char __user *_buf, | 53 | struct file *file, char __user *_buf, |
54 | unsigned long count, unsigned long pos) | 54 | unsigned long count, unsigned long pos) |
55 | { | 55 | { |
56 | opl4_t *opl4 = entry->private_data; | 56 | struct snd_opl4 *opl4 = entry->private_data; |
57 | long size; | 57 | long size; |
58 | char* buf; | 58 | char* buf; |
59 | 59 | ||
@@ -75,11 +75,11 @@ static long snd_opl4_mem_proc_read(snd_info_entry_t *entry, void *file_private_d | |||
75 | return 0; | 75 | return 0; |
76 | } | 76 | } |
77 | 77 | ||
78 | static long snd_opl4_mem_proc_write(snd_info_entry_t *entry, void *file_private_data, | 78 | static long snd_opl4_mem_proc_write(struct snd_info_entry *entry, void *file_private_data, |
79 | struct file *file, const char __user *_buf, | 79 | struct file *file, const char __user *_buf, |
80 | unsigned long count, unsigned long pos) | 80 | unsigned long count, unsigned long pos) |
81 | { | 81 | { |
82 | opl4_t *opl4 = entry->private_data; | 82 | struct snd_opl4 *opl4 = entry->private_data; |
83 | long size; | 83 | long size; |
84 | char *buf; | 84 | char *buf; |
85 | 85 | ||
@@ -101,7 +101,7 @@ static long snd_opl4_mem_proc_write(snd_info_entry_t *entry, void *file_private_ | |||
101 | return 0; | 101 | return 0; |
102 | } | 102 | } |
103 | 103 | ||
104 | static long long snd_opl4_mem_proc_llseek(snd_info_entry_t *entry, void *file_private_data, | 104 | static long long snd_opl4_mem_proc_llseek(struct snd_info_entry *entry, void *file_private_data, |
105 | struct file *file, long long offset, int orig) | 105 | struct file *file, long long offset, int orig) |
106 | { | 106 | { |
107 | switch (orig) { | 107 | switch (orig) { |
@@ -130,9 +130,9 @@ static struct snd_info_entry_ops snd_opl4_mem_proc_ops = { | |||
130 | .llseek = snd_opl4_mem_proc_llseek, | 130 | .llseek = snd_opl4_mem_proc_llseek, |
131 | }; | 131 | }; |
132 | 132 | ||
133 | int snd_opl4_create_proc(opl4_t *opl4) | 133 | int snd_opl4_create_proc(struct snd_opl4 *opl4) |
134 | { | 134 | { |
135 | snd_info_entry_t *entry; | 135 | struct snd_info_entry *entry; |
136 | 136 | ||
137 | entry = snd_info_create_card_entry(opl4->card, "opl4-mem", opl4->card->proc_root); | 137 | entry = snd_info_create_card_entry(opl4->card, "opl4-mem", opl4->card->proc_root); |
138 | if (entry) { | 138 | if (entry) { |
@@ -157,7 +157,7 @@ int snd_opl4_create_proc(opl4_t *opl4) | |||
157 | return 0; | 157 | return 0; |
158 | } | 158 | } |
159 | 159 | ||
160 | void snd_opl4_free_proc(opl4_t *opl4) | 160 | void snd_opl4_free_proc(struct snd_opl4 *opl4) |
161 | { | 161 | { |
162 | if (opl4->proc_entry) | 162 | if (opl4->proc_entry) |
163 | snd_info_unregister(opl4->proc_entry); | 163 | snd_info_unregister(opl4->proc_entry); |
diff --git a/sound/drivers/opl4/opl4_seq.c b/sound/drivers/opl4/opl4_seq.c index 958dfe88479a..bfd68e49c914 100644 --- a/sound/drivers/opl4/opl4_seq.c +++ b/sound/drivers/opl4/opl4_seq.c | |||
@@ -45,21 +45,21 @@ int volume_boost = 8; | |||
45 | module_param(volume_boost, int, 0644); | 45 | module_param(volume_boost, int, 0644); |
46 | MODULE_PARM_DESC(volume_boost, "Additional volume for OPL4 wavetable sounds."); | 46 | MODULE_PARM_DESC(volume_boost, "Additional volume for OPL4 wavetable sounds."); |
47 | 47 | ||
48 | static int snd_opl4_seq_use_inc(opl4_t *opl4) | 48 | static int snd_opl4_seq_use_inc(struct snd_opl4 *opl4) |
49 | { | 49 | { |
50 | if (!try_module_get(opl4->card->module)) | 50 | if (!try_module_get(opl4->card->module)) |
51 | return -EFAULT; | 51 | return -EFAULT; |
52 | return 0; | 52 | return 0; |
53 | } | 53 | } |
54 | 54 | ||
55 | static void snd_opl4_seq_use_dec(opl4_t *opl4) | 55 | static void snd_opl4_seq_use_dec(struct snd_opl4 *opl4) |
56 | { | 56 | { |
57 | module_put(opl4->card->module); | 57 | module_put(opl4->card->module); |
58 | } | 58 | } |
59 | 59 | ||
60 | static int snd_opl4_seq_use(void *private_data, snd_seq_port_subscribe_t *info) | 60 | static int snd_opl4_seq_use(void *private_data, struct snd_seq_port_subscribe *info) |
61 | { | 61 | { |
62 | opl4_t *opl4 = private_data; | 62 | struct snd_opl4 *opl4 = private_data; |
63 | int err; | 63 | int err; |
64 | 64 | ||
65 | down(&opl4->access_mutex); | 65 | down(&opl4->access_mutex); |
@@ -84,9 +84,9 @@ static int snd_opl4_seq_use(void *private_data, snd_seq_port_subscribe_t *info) | |||
84 | return 0; | 84 | return 0; |
85 | } | 85 | } |
86 | 86 | ||
87 | static int snd_opl4_seq_unuse(void *private_data, snd_seq_port_subscribe_t *info) | 87 | static int snd_opl4_seq_unuse(void *private_data, struct snd_seq_port_subscribe *info) |
88 | { | 88 | { |
89 | opl4_t *opl4 = private_data; | 89 | struct snd_opl4 *opl4 = private_data; |
90 | 90 | ||
91 | snd_opl4_synth_shutdown(opl4); | 91 | snd_opl4_synth_shutdown(opl4); |
92 | 92 | ||
@@ -99,7 +99,7 @@ static int snd_opl4_seq_unuse(void *private_data, snd_seq_port_subscribe_t *info | |||
99 | return 0; | 99 | return 0; |
100 | } | 100 | } |
101 | 101 | ||
102 | static snd_midi_op_t opl4_ops = { | 102 | static struct snd_midi_op opl4_ops = { |
103 | .note_on = snd_opl4_note_on, | 103 | .note_on = snd_opl4_note_on, |
104 | .note_off = snd_opl4_note_off, | 104 | .note_off = snd_opl4_note_off, |
105 | .note_terminate = snd_opl4_terminate_note, | 105 | .note_terminate = snd_opl4_terminate_note, |
@@ -107,10 +107,10 @@ static snd_midi_op_t opl4_ops = { | |||
107 | .sysex = snd_opl4_sysex, | 107 | .sysex = snd_opl4_sysex, |
108 | }; | 108 | }; |
109 | 109 | ||
110 | static int snd_opl4_seq_event_input(snd_seq_event_t *ev, int direct, | 110 | static int snd_opl4_seq_event_input(struct snd_seq_event *ev, int direct, |
111 | void *private_data, int atomic, int hop) | 111 | void *private_data, int atomic, int hop) |
112 | { | 112 | { |
113 | opl4_t *opl4 = private_data; | 113 | struct snd_opl4 *opl4 = private_data; |
114 | 114 | ||
115 | snd_midi_process_event(&opl4_ops, ev, opl4->chset); | 115 | snd_midi_process_event(&opl4_ops, ev, opl4->chset); |
116 | return 0; | 116 | return 0; |
@@ -118,20 +118,20 @@ static int snd_opl4_seq_event_input(snd_seq_event_t *ev, int direct, | |||
118 | 118 | ||
119 | static void snd_opl4_seq_free_port(void *private_data) | 119 | static void snd_opl4_seq_free_port(void *private_data) |
120 | { | 120 | { |
121 | opl4_t *opl4 = private_data; | 121 | struct snd_opl4 *opl4 = private_data; |
122 | 122 | ||
123 | snd_midi_channel_free_set(opl4->chset); | 123 | snd_midi_channel_free_set(opl4->chset); |
124 | } | 124 | } |
125 | 125 | ||
126 | static int snd_opl4_seq_new_device(snd_seq_device_t *dev) | 126 | static int snd_opl4_seq_new_device(struct snd_seq_device *dev) |
127 | { | 127 | { |
128 | opl4_t *opl4; | 128 | struct snd_opl4 *opl4; |
129 | int client; | 129 | int client; |
130 | snd_seq_client_callback_t callbacks; | 130 | struct snd_seq_client_callback callbacks; |
131 | snd_seq_client_info_t cinfo; | 131 | struct snd_seq_client_info cinfo; |
132 | snd_seq_port_callback_t pcallbacks; | 132 | struct snd_seq_port_callback pcallbacks; |
133 | 133 | ||
134 | opl4 = *(opl4_t **)SNDRV_SEQ_DEVICE_ARGPTR(dev); | 134 | opl4 = *(struct snd_opl4 **)SNDRV_SEQ_DEVICE_ARGPTR(dev); |
135 | if (!opl4) | 135 | if (!opl4) |
136 | return -EINVAL; | 136 | return -EINVAL; |
137 | 137 | ||
@@ -188,11 +188,11 @@ static int snd_opl4_seq_new_device(snd_seq_device_t *dev) | |||
188 | return 0; | 188 | return 0; |
189 | } | 189 | } |
190 | 190 | ||
191 | static int snd_opl4_seq_delete_device(snd_seq_device_t *dev) | 191 | static int snd_opl4_seq_delete_device(struct snd_seq_device *dev) |
192 | { | 192 | { |
193 | opl4_t *opl4; | 193 | struct snd_opl4 *opl4; |
194 | 194 | ||
195 | opl4 = *(opl4_t **)SNDRV_SEQ_DEVICE_ARGPTR(dev); | 195 | opl4 = *(struct snd_opl4 **)SNDRV_SEQ_DEVICE_ARGPTR(dev); |
196 | if (!opl4) | 196 | if (!opl4) |
197 | return -EINVAL; | 197 | return -EINVAL; |
198 | 198 | ||
@@ -205,13 +205,13 @@ static int snd_opl4_seq_delete_device(snd_seq_device_t *dev) | |||
205 | 205 | ||
206 | static int __init alsa_opl4_synth_init(void) | 206 | static int __init alsa_opl4_synth_init(void) |
207 | { | 207 | { |
208 | static snd_seq_dev_ops_t ops = { | 208 | static struct snd_seq_dev_ops ops = { |
209 | snd_opl4_seq_new_device, | 209 | snd_opl4_seq_new_device, |
210 | snd_opl4_seq_delete_device | 210 | snd_opl4_seq_delete_device |
211 | }; | 211 | }; |
212 | 212 | ||
213 | return snd_seq_device_register_driver(SNDRV_SEQ_DEV_ID_OPL4, &ops, | 213 | return snd_seq_device_register_driver(SNDRV_SEQ_DEV_ID_OPL4, &ops, |
214 | sizeof(opl4_t*)); | 214 | sizeof(struct snd_opl4 *)); |
215 | } | 215 | } |
216 | 216 | ||
217 | static void __exit alsa_opl4_synth_exit(void) | 217 | static void __exit alsa_opl4_synth_exit(void) |
diff --git a/sound/drivers/opl4/opl4_synth.c b/sound/drivers/opl4/opl4_synth.c index b146a1c995d9..74f6e53eae0d 100644 --- a/sound/drivers/opl4/opl4_synth.c +++ b/sound/drivers/opl4/opl4_synth.c | |||
@@ -270,7 +270,7 @@ static unsigned char snd_opl4_volume_table[128] = { | |||
270 | /* | 270 | /* |
271 | * Initializes all voices. | 271 | * Initializes all voices. |
272 | */ | 272 | */ |
273 | void snd_opl4_synth_reset(opl4_t *opl4) | 273 | void snd_opl4_synth_reset(struct snd_opl4 *opl4) |
274 | { | 274 | { |
275 | unsigned long flags; | 275 | unsigned long flags; |
276 | int i; | 276 | int i; |
@@ -294,7 +294,7 @@ void snd_opl4_synth_reset(opl4_t *opl4) | |||
294 | /* | 294 | /* |
295 | * Shuts down all voices. | 295 | * Shuts down all voices. |
296 | */ | 296 | */ |
297 | void snd_opl4_synth_shutdown(opl4_t *opl4) | 297 | void snd_opl4_synth_shutdown(struct snd_opl4 *opl4) |
298 | { | 298 | { |
299 | unsigned long flags; | 299 | unsigned long flags; |
300 | int i; | 300 | int i; |
@@ -309,12 +309,12 @@ void snd_opl4_synth_shutdown(opl4_t *opl4) | |||
309 | /* | 309 | /* |
310 | * Executes the callback for all voices playing the specified note. | 310 | * Executes the callback for all voices playing the specified note. |
311 | */ | 311 | */ |
312 | static void snd_opl4_do_for_note(opl4_t *opl4, int note, snd_midi_channel_t *chan, | 312 | static void snd_opl4_do_for_note(struct snd_opl4 *opl4, int note, struct snd_midi_channel *chan, |
313 | void (*func)(opl4_t *opl4, opl4_voice_t *voice)) | 313 | void (*func)(struct snd_opl4 *opl4, struct opl4_voice *voice)) |
314 | { | 314 | { |
315 | int i; | 315 | int i; |
316 | unsigned long flags; | 316 | unsigned long flags; |
317 | opl4_voice_t *voice; | 317 | struct opl4_voice *voice; |
318 | 318 | ||
319 | spin_lock_irqsave(&opl4->reg_lock, flags); | 319 | spin_lock_irqsave(&opl4->reg_lock, flags); |
320 | for (i = 0; i < OPL4_MAX_VOICES; i++) { | 320 | for (i = 0; i < OPL4_MAX_VOICES; i++) { |
@@ -329,12 +329,13 @@ static void snd_opl4_do_for_note(opl4_t *opl4, int note, snd_midi_channel_t *cha | |||
329 | /* | 329 | /* |
330 | * Executes the callback for all voices of to the specified channel. | 330 | * Executes the callback for all voices of to the specified channel. |
331 | */ | 331 | */ |
332 | static void snd_opl4_do_for_channel(opl4_t *opl4, snd_midi_channel_t *chan, | 332 | static void snd_opl4_do_for_channel(struct snd_opl4 *opl4, |
333 | void (*func)(opl4_t *opl4, opl4_voice_t *voice)) | 333 | struct snd_midi_channel *chan, |
334 | void (*func)(struct snd_opl4 *opl4, struct opl4_voice *voice)) | ||
334 | { | 335 | { |
335 | int i; | 336 | int i; |
336 | unsigned long flags; | 337 | unsigned long flags; |
337 | opl4_voice_t *voice; | 338 | struct opl4_voice *voice; |
338 | 339 | ||
339 | spin_lock_irqsave(&opl4->reg_lock, flags); | 340 | spin_lock_irqsave(&opl4->reg_lock, flags); |
340 | for (i = 0; i < OPL4_MAX_VOICES; i++) { | 341 | for (i = 0; i < OPL4_MAX_VOICES; i++) { |
@@ -349,12 +350,12 @@ static void snd_opl4_do_for_channel(opl4_t *opl4, snd_midi_channel_t *chan, | |||
349 | /* | 350 | /* |
350 | * Executes the callback for all active voices. | 351 | * Executes the callback for all active voices. |
351 | */ | 352 | */ |
352 | static void snd_opl4_do_for_all(opl4_t *opl4, | 353 | static void snd_opl4_do_for_all(struct snd_opl4 *opl4, |
353 | void (*func)(opl4_t *opl4, opl4_voice_t *voice)) | 354 | void (*func)(struct snd_opl4 *opl4, struct opl4_voice *voice)) |
354 | { | 355 | { |
355 | int i; | 356 | int i; |
356 | unsigned long flags; | 357 | unsigned long flags; |
357 | opl4_voice_t *voice; | 358 | struct opl4_voice *voice; |
358 | 359 | ||
359 | spin_lock_irqsave(&opl4->reg_lock, flags); | 360 | spin_lock_irqsave(&opl4->reg_lock, flags); |
360 | for (i = 0; i < OPL4_MAX_VOICES; i++) { | 361 | for (i = 0; i < OPL4_MAX_VOICES; i++) { |
@@ -365,7 +366,7 @@ static void snd_opl4_do_for_all(opl4_t *opl4, | |||
365 | spin_unlock_irqrestore(&opl4->reg_lock, flags); | 366 | spin_unlock_irqrestore(&opl4->reg_lock, flags); |
366 | } | 367 | } |
367 | 368 | ||
368 | static void snd_opl4_update_volume(opl4_t *opl4, opl4_voice_t *voice) | 369 | static void snd_opl4_update_volume(struct snd_opl4 *opl4, struct opl4_voice *voice) |
369 | { | 370 | { |
370 | int att; | 371 | int att; |
371 | 372 | ||
@@ -384,7 +385,7 @@ static void snd_opl4_update_volume(opl4_t *opl4, opl4_voice_t *voice) | |||
384 | voice->level_direct = 0; | 385 | voice->level_direct = 0; |
385 | } | 386 | } |
386 | 387 | ||
387 | static void snd_opl4_update_pan(opl4_t *opl4, opl4_voice_t *voice) | 388 | static void snd_opl4_update_pan(struct snd_opl4 *opl4, struct opl4_voice *voice) |
388 | { | 389 | { |
389 | int pan = voice->sound->panpot; | 390 | int pan = voice->sound->panpot; |
390 | 391 | ||
@@ -399,7 +400,8 @@ static void snd_opl4_update_pan(opl4_t *opl4, opl4_voice_t *voice) | |||
399 | snd_opl4_write(opl4, OPL4_REG_MISC + voice->number, voice->reg_misc); | 400 | snd_opl4_write(opl4, OPL4_REG_MISC + voice->number, voice->reg_misc); |
400 | } | 401 | } |
401 | 402 | ||
402 | static void snd_opl4_update_vibrato_depth(opl4_t *opl4, opl4_voice_t *voice) | 403 | static void snd_opl4_update_vibrato_depth(struct snd_opl4 *opl4, |
404 | struct opl4_voice *voice) | ||
403 | { | 405 | { |
404 | int depth; | 406 | int depth; |
405 | 407 | ||
@@ -414,9 +416,10 @@ static void snd_opl4_update_vibrato_depth(opl4_t *opl4, opl4_voice_t *voice) | |||
414 | voice->reg_lfo_vibrato); | 416 | voice->reg_lfo_vibrato); |
415 | } | 417 | } |
416 | 418 | ||
417 | static void snd_opl4_update_pitch(opl4_t *opl4, opl4_voice_t *voice) | 419 | static void snd_opl4_update_pitch(struct snd_opl4 *opl4, |
420 | struct opl4_voice *voice) | ||
418 | { | 421 | { |
419 | snd_midi_channel_t *chan = voice->chan; | 422 | struct snd_midi_channel *chan = voice->chan; |
420 | int note, pitch, octave; | 423 | int note, pitch, octave; |
421 | 424 | ||
422 | note = chan->drum_channel ? 60 : voice->note; | 425 | note = chan->drum_channel ? 60 : voice->note; |
@@ -444,7 +447,8 @@ static void snd_opl4_update_pitch(opl4_t *opl4, opl4_voice_t *voice) | |||
444 | snd_opl4_write(opl4, OPL4_REG_F_NUMBER + voice->number, voice->reg_f_number); | 447 | snd_opl4_write(opl4, OPL4_REG_F_NUMBER + voice->number, voice->reg_f_number); |
445 | } | 448 | } |
446 | 449 | ||
447 | static void snd_opl4_update_tone_parameters(opl4_t *opl4, opl4_voice_t *voice) | 450 | static void snd_opl4_update_tone_parameters(struct snd_opl4 *opl4, |
451 | struct opl4_voice *voice) | ||
448 | { | 452 | { |
449 | snd_opl4_write(opl4, OPL4_REG_ATTACK_DECAY1 + voice->number, | 453 | snd_opl4_write(opl4, OPL4_REG_ATTACK_DECAY1 + voice->number, |
450 | voice->sound->reg_attack_decay1); | 454 | voice->sound->reg_attack_decay1); |
@@ -457,17 +461,17 @@ static void snd_opl4_update_tone_parameters(opl4_t *opl4, opl4_voice_t *voice) | |||
457 | } | 461 | } |
458 | 462 | ||
459 | /* allocate one voice */ | 463 | /* allocate one voice */ |
460 | static opl4_voice_t *snd_opl4_get_voice(opl4_t *opl4) | 464 | static struct opl4_voice *snd_opl4_get_voice(struct snd_opl4 *opl4) |
461 | { | 465 | { |
462 | /* first, try to get the oldest key-off voice */ | 466 | /* first, try to get the oldest key-off voice */ |
463 | if (!list_empty(&opl4->off_voices)) | 467 | if (!list_empty(&opl4->off_voices)) |
464 | return list_entry(opl4->off_voices.next, opl4_voice_t, list); | 468 | return list_entry(opl4->off_voices.next, struct opl4_voice, list); |
465 | /* then get the oldest key-on voice */ | 469 | /* then get the oldest key-on voice */ |
466 | snd_assert(!list_empty(&opl4->on_voices), ); | 470 | snd_assert(!list_empty(&opl4->on_voices), ); |
467 | return list_entry(opl4->on_voices.next, opl4_voice_t, list); | 471 | return list_entry(opl4->on_voices.next, struct opl4_voice, list); |
468 | } | 472 | } |
469 | 473 | ||
470 | static void snd_opl4_wait_for_wave_headers(opl4_t *opl4) | 474 | static void snd_opl4_wait_for_wave_headers(struct snd_opl4 *opl4) |
471 | { | 475 | { |
472 | int timeout = 200; | 476 | int timeout = 200; |
473 | 477 | ||
@@ -475,12 +479,12 @@ static void snd_opl4_wait_for_wave_headers(opl4_t *opl4) | |||
475 | udelay(10); | 479 | udelay(10); |
476 | } | 480 | } |
477 | 481 | ||
478 | void snd_opl4_note_on(void *private_data, int note, int vel, snd_midi_channel_t *chan) | 482 | void snd_opl4_note_on(void *private_data, int note, int vel, struct snd_midi_channel *chan) |
479 | { | 483 | { |
480 | opl4_t *opl4 = private_data; | 484 | struct snd_opl4 *opl4 = private_data; |
481 | const opl4_region_ptr_t *regions; | 485 | const struct opl4_region_ptr *regions; |
482 | opl4_voice_t *voice[2]; | 486 | struct opl4_voice *voice[2]; |
483 | const opl4_sound_t *sound[2]; | 487 | const struct opl4_sound *sound[2]; |
484 | int voices = 0, i; | 488 | int voices = 0, i; |
485 | unsigned long flags; | 489 | unsigned long flags; |
486 | 490 | ||
@@ -549,7 +553,7 @@ void snd_opl4_note_on(void *private_data, int note, int vel, snd_midi_channel_t | |||
549 | spin_unlock_irqrestore(&opl4->reg_lock, flags); | 553 | spin_unlock_irqrestore(&opl4->reg_lock, flags); |
550 | } | 554 | } |
551 | 555 | ||
552 | static void snd_opl4_voice_off(opl4_t *opl4, opl4_voice_t *voice) | 556 | static void snd_opl4_voice_off(struct snd_opl4 *opl4, struct opl4_voice *voice) |
553 | { | 557 | { |
554 | list_del(&voice->list); | 558 | list_del(&voice->list); |
555 | list_add_tail(&voice->list, &opl4->off_voices); | 559 | list_add_tail(&voice->list, &opl4->off_voices); |
@@ -558,14 +562,14 @@ static void snd_opl4_voice_off(opl4_t *opl4, opl4_voice_t *voice) | |||
558 | snd_opl4_write(opl4, OPL4_REG_MISC + voice->number, voice->reg_misc); | 562 | snd_opl4_write(opl4, OPL4_REG_MISC + voice->number, voice->reg_misc); |
559 | } | 563 | } |
560 | 564 | ||
561 | void snd_opl4_note_off(void *private_data, int note, int vel, snd_midi_channel_t *chan) | 565 | void snd_opl4_note_off(void *private_data, int note, int vel, struct snd_midi_channel *chan) |
562 | { | 566 | { |
563 | opl4_t *opl4 = private_data; | 567 | struct snd_opl4 *opl4 = private_data; |
564 | 568 | ||
565 | snd_opl4_do_for_note(opl4, note, chan, snd_opl4_voice_off); | 569 | snd_opl4_do_for_note(opl4, note, chan, snd_opl4_voice_off); |
566 | } | 570 | } |
567 | 571 | ||
568 | static void snd_opl4_terminate_voice(opl4_t *opl4, opl4_voice_t *voice) | 572 | static void snd_opl4_terminate_voice(struct snd_opl4 *opl4, struct opl4_voice *voice) |
569 | { | 573 | { |
570 | list_del(&voice->list); | 574 | list_del(&voice->list); |
571 | list_add_tail(&voice->list, &opl4->off_voices); | 575 | list_add_tail(&voice->list, &opl4->off_voices); |
@@ -574,16 +578,16 @@ static void snd_opl4_terminate_voice(opl4_t *opl4, opl4_voice_t *voice) | |||
574 | snd_opl4_write(opl4, OPL4_REG_MISC + voice->number, voice->reg_misc); | 578 | snd_opl4_write(opl4, OPL4_REG_MISC + voice->number, voice->reg_misc); |
575 | } | 579 | } |
576 | 580 | ||
577 | void snd_opl4_terminate_note(void *private_data, int note, snd_midi_channel_t *chan) | 581 | void snd_opl4_terminate_note(void *private_data, int note, struct snd_midi_channel *chan) |
578 | { | 582 | { |
579 | opl4_t *opl4 = private_data; | 583 | struct snd_opl4 *opl4 = private_data; |
580 | 584 | ||
581 | snd_opl4_do_for_note(opl4, note, chan, snd_opl4_terminate_voice); | 585 | snd_opl4_do_for_note(opl4, note, chan, snd_opl4_terminate_voice); |
582 | } | 586 | } |
583 | 587 | ||
584 | void snd_opl4_control(void *private_data, int type, snd_midi_channel_t *chan) | 588 | void snd_opl4_control(void *private_data, int type, struct snd_midi_channel *chan) |
585 | { | 589 | { |
586 | opl4_t *opl4 = private_data; | 590 | struct snd_opl4 *opl4 = private_data; |
587 | 591 | ||
588 | switch (type) { | 592 | switch (type) { |
589 | case MIDI_CTL_MSB_MODWHEEL: | 593 | case MIDI_CTL_MSB_MODWHEEL: |
@@ -621,9 +625,9 @@ void snd_opl4_control(void *private_data, int type, snd_midi_channel_t *chan) | |||
621 | } | 625 | } |
622 | 626 | ||
623 | void snd_opl4_sysex(void *private_data, unsigned char *buf, int len, | 627 | void snd_opl4_sysex(void *private_data, unsigned char *buf, int len, |
624 | int parsed, snd_midi_channel_set_t *chset) | 628 | int parsed, struct snd_midi_channel_set *chset) |
625 | { | 629 | { |
626 | opl4_t *opl4 = private_data; | 630 | struct snd_opl4 *opl4 = private_data; |
627 | 631 | ||
628 | if (parsed == SNDRV_MIDI_SYSEX_GS_MASTER_VOLUME) | 632 | if (parsed == SNDRV_MIDI_SYSEX_GS_MASTER_VOLUME) |
629 | snd_opl4_do_for_all(opl4, snd_opl4_update_volume); | 633 | snd_opl4_do_for_all(opl4, snd_opl4_update_volume); |
diff --git a/sound/drivers/opl4/yrw801.c b/sound/drivers/opl4/yrw801.c index a51174dd3e56..6c335492d082 100644 --- a/sound/drivers/opl4/yrw801.c +++ b/sound/drivers/opl4/yrw801.c | |||
@@ -33,7 +33,7 @@ | |||
33 | 33 | ||
34 | #include "opl4_local.h" | 34 | #include "opl4_local.h" |
35 | 35 | ||
36 | int snd_yrw801_detect(opl4_t *opl4) | 36 | int snd_yrw801_detect(struct snd_opl4 *opl4) |
37 | { | 37 | { |
38 | char buf[15]; | 38 | char buf[15]; |
39 | 39 | ||
@@ -54,7 +54,7 @@ int snd_yrw801_detect(opl4_t *opl4) | |||
54 | * by this driver. | 54 | * by this driver. |
55 | */ | 55 | */ |
56 | 56 | ||
57 | static const opl4_region_t regions_00[] = { /* Acoustic Grand Piano */ | 57 | static const struct opl4_region regions_00[] = { /* Acoustic Grand Piano */ |
58 | {0x14, 0x27, {0x12c,7474,100, 0,0,0x00,0xc8,0x20,0xf2,0x13,0x08,0x0}}, | 58 | {0x14, 0x27, {0x12c,7474,100, 0,0,0x00,0xc8,0x20,0xf2,0x13,0x08,0x0}}, |
59 | {0x28, 0x2d, {0x12d,6816,100, 0,0,0x00,0xc8,0x20,0xf2,0x14,0x08,0x0}}, | 59 | {0x28, 0x2d, {0x12d,6816,100, 0,0,0x00,0xc8,0x20,0xf2,0x14,0x08,0x0}}, |
60 | {0x2e, 0x33, {0x12e,5899,100, 0,0,0x00,0xc8,0x20,0xf2,0x14,0x08,0x0}}, | 60 | {0x2e, 0x33, {0x12e,5899,100, 0,0,0x00,0xc8,0x20,0xf2,0x14,0x08,0x0}}, |
@@ -66,7 +66,7 @@ static const opl4_region_t regions_00[] = { /* Acoustic Grand Piano */ | |||
66 | {0x53, 0x58, {0x134,1444,100, 0,0,0x07,0xc8,0x20,0xf3,0x14,0x18,0x0}}, | 66 | {0x53, 0x58, {0x134,1444,100, 0,0,0x07,0xc8,0x20,0xf3,0x14,0x18,0x0}}, |
67 | {0x59, 0x6d, {0x135,1915,100, 0,0,0x00,0xc8,0x20,0xf4,0x15,0x08,0x0}} | 67 | {0x59, 0x6d, {0x135,1915,100, 0,0,0x00,0xc8,0x20,0xf4,0x15,0x08,0x0}} |
68 | }; | 68 | }; |
69 | static const opl4_region_t regions_01[] = { /* Bright Acoustic Piano */ | 69 | static const struct opl4_region regions_01[] = { /* Bright Acoustic Piano */ |
70 | {0x14, 0x2d, {0x12c,7474,100, 0,0,0x00,0xc8,0x20,0xf2,0x13,0x08,0x0}}, | 70 | {0x14, 0x2d, {0x12c,7474,100, 0,0,0x00,0xc8,0x20,0xf2,0x13,0x08,0x0}}, |
71 | {0x2e, 0x33, {0x12d,6816,100, 0,0,0x00,0xc8,0x20,0xf2,0x14,0x08,0x0}}, | 71 | {0x2e, 0x33, {0x12d,6816,100, 0,0,0x00,0xc8,0x20,0xf2,0x14,0x08,0x0}}, |
72 | {0x34, 0x39, {0x12e,5899,100, 0,0,0x00,0xc8,0x20,0xf2,0x14,0x08,0x0}}, | 72 | {0x34, 0x39, {0x12e,5899,100, 0,0,0x00,0xc8,0x20,0xf2,0x14,0x08,0x0}}, |
@@ -78,7 +78,7 @@ static const opl4_region_t regions_01[] = { /* Bright Acoustic Piano */ | |||
78 | {0x59, 0x5e, {0x134,1444,100, 0,0,0x0a,0xc8,0x20,0xf3,0x14,0x18,0x0}}, | 78 | {0x59, 0x5e, {0x134,1444,100, 0,0,0x0a,0xc8,0x20,0xf3,0x14,0x18,0x0}}, |
79 | {0x5f, 0x6d, {0x135,1915,100, 0,0,0x00,0xc8,0x20,0xf4,0x15,0x08,0x0}} | 79 | {0x5f, 0x6d, {0x135,1915,100, 0,0,0x00,0xc8,0x20,0xf4,0x15,0x08,0x0}} |
80 | }; | 80 | }; |
81 | static const opl4_region_t regions_02[] = { /* Electric Grand Piano */ | 81 | static const struct opl4_region regions_02[] = { /* Electric Grand Piano */ |
82 | {0x14, 0x2d, {0x12c,7476,100, 1,0,0x00,0xae,0x20,0xf2,0x13,0x07,0x0}}, | 82 | {0x14, 0x2d, {0x12c,7476,100, 1,0,0x00,0xae,0x20,0xf2,0x13,0x07,0x0}}, |
83 | {0x2e, 0x33, {0x12d,6818,100, 1,0,0x00,0xae,0x20,0xf2,0x14,0x07,0x0}}, | 83 | {0x2e, 0x33, {0x12d,6818,100, 1,0,0x00,0xae,0x20,0xf2,0x14,0x07,0x0}}, |
84 | {0x34, 0x39, {0x12e,5901,100, 1,0,0x00,0xae,0x20,0xf2,0x14,0x07,0x0}}, | 84 | {0x34, 0x39, {0x12e,5901,100, 1,0,0x00,0xae,0x20,0xf2,0x14,0x07,0x0}}, |
@@ -91,7 +91,7 @@ static const opl4_region_t regions_02[] = { /* Electric Grand Piano */ | |||
91 | {0x5f, 0x6d, {0x135,1917,100, 1,0,0x00,0xae,0x20,0xf4,0x15,0x07,0x0}}, | 91 | {0x5f, 0x6d, {0x135,1917,100, 1,0,0x00,0xae,0x20,0xf4,0x15,0x07,0x0}}, |
92 | {0x00, 0x7f, {0x06c,6375,100,-1,0,0x00,0xc2,0x28,0xf4,0x23,0x18,0x0}} | 92 | {0x00, 0x7f, {0x06c,6375,100,-1,0,0x00,0xc2,0x28,0xf4,0x23,0x18,0x0}} |
93 | }; | 93 | }; |
94 | static const opl4_region_t regions_03[] = { /* Honky-Tonk Piano */ | 94 | static const struct opl4_region regions_03[] = { /* Honky-Tonk Piano */ |
95 | {0x14, 0x27, {0x12c,7474,100, 0,0,0x00,0xb4,0x20,0xf2,0x13,0x08,0x0}}, | 95 | {0x14, 0x27, {0x12c,7474,100, 0,0,0x00,0xb4,0x20,0xf2,0x13,0x08,0x0}}, |
96 | {0x28, 0x2d, {0x12d,6816,100, 0,0,0x00,0xb4,0x20,0xf2,0x14,0x08,0x0}}, | 96 | {0x28, 0x2d, {0x12d,6816,100, 0,0,0x00,0xb4,0x20,0xf2,0x14,0x08,0x0}}, |
97 | {0x2e, 0x33, {0x12e,5899,100, 0,0,0x00,0xb4,0x20,0xf2,0x14,0x08,0x0}}, | 97 | {0x2e, 0x33, {0x12e,5899,100, 0,0,0x00,0xb4,0x20,0xf2,0x14,0x08,0x0}}, |
@@ -113,11 +113,11 @@ static const opl4_region_t regions_03[] = { /* Honky-Tonk Piano */ | |||
113 | {0x53, 0x58, {0x134,1457,100, 0,0,0x01,0xb4,0x20,0xf3,0x14,0x18,0x0}}, | 113 | {0x53, 0x58, {0x134,1457,100, 0,0,0x01,0xb4,0x20,0xf3,0x14,0x18,0x0}}, |
114 | {0x59, 0x6d, {0x135,1903,100, 0,0,0x00,0xb4,0x20,0xf4,0x15,0x08,0x0}} | 114 | {0x59, 0x6d, {0x135,1903,100, 0,0,0x00,0xb4,0x20,0xf4,0x15,0x08,0x0}} |
115 | }; | 115 | }; |
116 | static const opl4_region_t regions_04[] = { /* Electric Piano 1 */ | 116 | static const struct opl4_region regions_04[] = { /* Electric Piano 1 */ |
117 | {0x15, 0x6c, {0x00b,6570,100, 0,0,0x00,0x28,0x38,0xf0,0x00,0x0c,0x0}}, | 117 | {0x15, 0x6c, {0x00b,6570,100, 0,0,0x00,0x28,0x38,0xf0,0x00,0x0c,0x0}}, |
118 | {0x00, 0x7f, {0x06c,6375,100, 0,2,0x00,0xb0,0x22,0xf4,0x23,0x19,0x0}} | 118 | {0x00, 0x7f, {0x06c,6375,100, 0,2,0x00,0xb0,0x22,0xf4,0x23,0x19,0x0}} |
119 | }; | 119 | }; |
120 | static const opl4_region_t regions_05[] = { /* Electric Piano 2 */ | 120 | static const struct opl4_region regions_05[] = { /* Electric Piano 2 */ |
121 | {0x14, 0x27, {0x12c,7476,100, 0,3,0x00,0xa2,0x1b,0xf2,0x13,0x08,0x0}}, | 121 | {0x14, 0x27, {0x12c,7476,100, 0,3,0x00,0xa2,0x1b,0xf2,0x13,0x08,0x0}}, |
122 | {0x28, 0x2d, {0x12d,6818,100, 0,3,0x00,0xa2,0x1b,0xf2,0x14,0x08,0x0}}, | 122 | {0x28, 0x2d, {0x12d,6818,100, 0,3,0x00,0xa2,0x1b,0xf2,0x14,0x08,0x0}}, |
123 | {0x2e, 0x33, {0x12e,5901,100, 0,3,0x00,0xa2,0x1b,0xf2,0x14,0x08,0x0}}, | 123 | {0x2e, 0x33, {0x12e,5901,100, 0,3,0x00,0xa2,0x1b,0xf2,0x14,0x08,0x0}}, |
@@ -139,103 +139,103 @@ static const opl4_region_t regions_05[] = { /* Electric Piano 2 */ | |||
139 | {0x59, 0x5e, {0x134,1442,100, 0,0,0x0a,0xa2,0x18,0xf3,0x14,0x18,0x0}}, | 139 | {0x59, 0x5e, {0x134,1442,100, 0,0,0x0a,0xa2,0x18,0xf3,0x14,0x18,0x0}}, |
140 | {0x5f, 0x6d, {0x135,1913,100, 0,0,0x00,0xa2,0x18,0xf4,0x15,0x08,0x0}} | 140 | {0x5f, 0x6d, {0x135,1913,100, 0,0,0x00,0xa2,0x18,0xf4,0x15,0x08,0x0}} |
141 | }; | 141 | }; |
142 | static const opl4_region_t regions_06[] = { /* Harpsichord */ | 142 | static const struct opl4_region regions_06[] = { /* Harpsichord */ |
143 | {0x15, 0x39, {0x080,5158,100, 0,0,0x00,0xb2,0x20,0xf5,0x24,0x19,0x0}}, | 143 | {0x15, 0x39, {0x080,5158,100, 0,0,0x00,0xb2,0x20,0xf5,0x24,0x19,0x0}}, |
144 | {0x3a, 0x3f, {0x081,4408,100, 0,0,0x00,0xb2,0x20,0xf5,0x25,0x09,0x0}}, | 144 | {0x3a, 0x3f, {0x081,4408,100, 0,0,0x00,0xb2,0x20,0xf5,0x25,0x09,0x0}}, |
145 | {0x40, 0x45, {0x082,3622,100, 0,0,0x00,0xb2,0x20,0xf5,0x25,0x09,0x0}}, | 145 | {0x40, 0x45, {0x082,3622,100, 0,0,0x00,0xb2,0x20,0xf5,0x25,0x09,0x0}}, |
146 | {0x46, 0x4d, {0x083,2843,100, 0,0,0x00,0xb2,0x20,0xf5,0x25,0x19,0x0}}, | 146 | {0x46, 0x4d, {0x083,2843,100, 0,0,0x00,0xb2,0x20,0xf5,0x25,0x19,0x0}}, |
147 | {0x4e, 0x6c, {0x084,1307,100, 0,0,0x00,0xb2,0x20,0xf5,0x25,0x29,0x0}} | 147 | {0x4e, 0x6c, {0x084,1307,100, 0,0,0x00,0xb2,0x20,0xf5,0x25,0x29,0x0}} |
148 | }; | 148 | }; |
149 | static const opl4_region_t regions_07[] = { /* Clavinet */ | 149 | static const struct opl4_region regions_07[] = { /* Clavinet */ |
150 | {0x15, 0x51, {0x027,5009,100, 0,0,0x00,0xd2,0x28,0xf5,0x13,0x2b,0x0}}, | 150 | {0x15, 0x51, {0x027,5009,100, 0,0,0x00,0xd2,0x28,0xf5,0x13,0x2b,0x0}}, |
151 | {0x52, 0x6c, {0x028,3495,100, 0,0,0x00,0xd2,0x28,0xf5,0x13,0x3b,0x0}} | 151 | {0x52, 0x6c, {0x028,3495,100, 0,0,0x00,0xd2,0x28,0xf5,0x13,0x3b,0x0}} |
152 | }; | 152 | }; |
153 | static const opl4_region_t regions_08[] = { /* Celesta */ | 153 | static const struct opl4_region regions_08[] = { /* Celesta */ |
154 | {0x15, 0x6c, {0x02b,3267,100, 0,0,0x00,0xdc,0x20,0xf4,0x15,0x07,0x3}} | 154 | {0x15, 0x6c, {0x02b,3267,100, 0,0,0x00,0xdc,0x20,0xf4,0x15,0x07,0x3}} |
155 | }; | 155 | }; |
156 | static const opl4_region_t regions_09[] = { /* Glockenspiel */ | 156 | static const struct opl4_region regions_09[] = { /* Glockenspiel */ |
157 | {0x15, 0x78, {0x0f3, 285,100, 0,0,0x00,0xc2,0x28,0xf6,0x25,0x25,0x0}} | 157 | {0x15, 0x78, {0x0f3, 285,100, 0,0,0x00,0xc2,0x28,0xf6,0x25,0x25,0x0}} |
158 | }; | 158 | }; |
159 | static const opl4_region_t regions_0a[] = { /* Music Box */ | 159 | static const struct opl4_region regions_0a[] = { /* Music Box */ |
160 | {0x15, 0x6c, {0x0f3,3362,100, 0,0,0x00,0xb6,0x20,0xa6,0x25,0x25,0x0}}, | 160 | {0x15, 0x6c, {0x0f3,3362,100, 0,0,0x00,0xb6,0x20,0xa6,0x25,0x25,0x0}}, |
161 | {0x15, 0x6c, {0x101,4773,100, 0,0,0x00,0xaa,0x20,0xd4,0x14,0x16,0x0}} | 161 | {0x15, 0x6c, {0x101,4773,100, 0,0,0x00,0xaa,0x20,0xd4,0x14,0x16,0x0}} |
162 | }; | 162 | }; |
163 | static const opl4_region_t regions_0b[] = { /* Vibraphone */ | 163 | static const struct opl4_region regions_0b[] = { /* Vibraphone */ |
164 | {0x15, 0x6c, {0x101,4778,100, 0,0,0x00,0xc0,0x28,0xf4,0x14,0x16,0x4}} | 164 | {0x15, 0x6c, {0x101,4778,100, 0,0,0x00,0xc0,0x28,0xf4,0x14,0x16,0x4}} |
165 | }; | 165 | }; |
166 | static const opl4_region_t regions_0c[] = { /* Marimba */ | 166 | static const struct opl4_region regions_0c[] = { /* Marimba */ |
167 | {0x15, 0x3f, {0x0f4,4778,100, 0,0,0x00,0xc4,0x38,0xf7,0x47,0x08,0x0}}, | 167 | {0x15, 0x3f, {0x0f4,4778,100, 0,0,0x00,0xc4,0x38,0xf7,0x47,0x08,0x0}}, |
168 | {0x40, 0x4c, {0x0f5,3217,100, 0,0,0x00,0xc4,0x38,0xf7,0x47,0x08,0x0}}, | 168 | {0x40, 0x4c, {0x0f5,3217,100, 0,0,0x00,0xc4,0x38,0xf7,0x47,0x08,0x0}}, |
169 | {0x4d, 0x5a, {0x0f5,3217,100, 0,0,0x00,0xc4,0x38,0xf7,0x48,0x08,0x0}}, | 169 | {0x4d, 0x5a, {0x0f5,3217,100, 0,0,0x00,0xc4,0x38,0xf7,0x48,0x08,0x0}}, |
170 | {0x5b, 0x7f, {0x0f5,3218,100, 0,0,0x00,0xc4,0x38,0xf7,0x48,0x18,0x0}} | 170 | {0x5b, 0x7f, {0x0f5,3218,100, 0,0,0x00,0xc4,0x38,0xf7,0x48,0x18,0x0}} |
171 | }; | 171 | }; |
172 | static const opl4_region_t regions_0d[] = { /* Xylophone */ | 172 | static const struct opl4_region regions_0d[] = { /* Xylophone */ |
173 | {0x00, 0x7f, {0x136,1729,100, 0,0,0x00,0xd2,0x38,0xf0,0x06,0x36,0x0}} | 173 | {0x00, 0x7f, {0x136,1729,100, 0,0,0x00,0xd2,0x38,0xf0,0x06,0x36,0x0}} |
174 | }; | 174 | }; |
175 | static const opl4_region_t regions_0e[] = { /* Tubular Bell */ | 175 | static const struct opl4_region regions_0e[] = { /* Tubular Bell */ |
176 | {0x01, 0x7f, {0x0ff,3999,100, 0,1,0x00,0x90,0x21,0xf4,0xa3,0x25,0x1}} | 176 | {0x01, 0x7f, {0x0ff,3999,100, 0,1,0x00,0x90,0x21,0xf4,0xa3,0x25,0x1}} |
177 | }; | 177 | }; |
178 | static const opl4_region_t regions_0f[] = { /* Dulcimer */ | 178 | static const struct opl4_region regions_0f[] = { /* Dulcimer */ |
179 | {0x00, 0x7f, {0x03f,4236,100, 0,1,0x00,0xbc,0x29,0xf5,0x16,0x07,0x0}}, | 179 | {0x00, 0x7f, {0x03f,4236,100, 0,1,0x00,0xbc,0x29,0xf5,0x16,0x07,0x0}}, |
180 | {0x00, 0x7f, {0x040,4236,100, 0,2,0x0e,0x94,0x2a,0xf5,0x16,0x07,0x0}} | 180 | {0x00, 0x7f, {0x040,4236,100, 0,2,0x0e,0x94,0x2a,0xf5,0x16,0x07,0x0}} |
181 | }; | 181 | }; |
182 | static const opl4_region_t regions_10[] = { /* Drawbar Organ */ | 182 | static const struct opl4_region regions_10[] = { /* Drawbar Organ */ |
183 | {0x01, 0x7f, {0x08e,4394,100, 0,2,0x14,0xc2,0x3a,0xf0,0x00,0x0a,0x0}} | 183 | {0x01, 0x7f, {0x08e,4394,100, 0,2,0x14,0xc2,0x3a,0xf0,0x00,0x0a,0x0}} |
184 | }; | 184 | }; |
185 | static const opl4_region_t regions_11[] = { /* Percussive Organ */ | 185 | static const struct opl4_region regions_11[] = { /* Percussive Organ */ |
186 | {0x15, 0x3b, {0x08c,6062,100, 0,3,0x00,0xbe,0x3b,0xf0,0x00,0x09,0x0}}, | 186 | {0x15, 0x3b, {0x08c,6062,100, 0,3,0x00,0xbe,0x3b,0xf0,0x00,0x09,0x0}}, |
187 | {0x3c, 0x6c, {0x08d,2984,100, 0,3,0x00,0xbe,0x3b,0xf0,0x00,0x09,0x0}} | 187 | {0x3c, 0x6c, {0x08d,2984,100, 0,3,0x00,0xbe,0x3b,0xf0,0x00,0x09,0x0}} |
188 | }; | 188 | }; |
189 | static const opl4_region_t regions_12[] = { /* Rock Organ */ | 189 | static const struct opl4_region regions_12[] = { /* Rock Organ */ |
190 | {0x15, 0x30, {0x128,6574,100, 0,1,0x00,0xcc,0x39,0xf0,0x00,0x0a,0x0}}, | 190 | {0x15, 0x30, {0x128,6574,100, 0,1,0x00,0xcc,0x39,0xf0,0x00,0x0a,0x0}}, |
191 | {0x31, 0x3c, {0x129,5040,100, 0,1,0x00,0xcc,0x39,0xf0,0x00,0x0a,0x0}}, | 191 | {0x31, 0x3c, {0x129,5040,100, 0,1,0x00,0xcc,0x39,0xf0,0x00,0x0a,0x0}}, |
192 | {0x3d, 0x48, {0x12a,3498,100, 0,1,0x00,0xcc,0x39,0xf0,0x00,0x0a,0x0}}, | 192 | {0x3d, 0x48, {0x12a,3498,100, 0,1,0x00,0xcc,0x39,0xf0,0x00,0x0a,0x0}}, |
193 | {0x49, 0x54, {0x12b,1957,100, 0,1,0x00,0xcc,0x39,0xf0,0x00,0x0a,0x0}}, | 193 | {0x49, 0x54, {0x12b,1957,100, 0,1,0x00,0xcc,0x39,0xf0,0x00,0x0a,0x0}}, |
194 | {0x55, 0x6c, {0x127, 423,100, 0,1,0x00,0xcc,0x39,0xf0,0x00,0x0a,0x0}} | 194 | {0x55, 0x6c, {0x127, 423,100, 0,1,0x00,0xcc,0x39,0xf0,0x00,0x0a,0x0}} |
195 | }; | 195 | }; |
196 | static const opl4_region_t regions_13[] = { /* Church Organ */ | 196 | static const struct opl4_region regions_13[] = { /* Church Organ */ |
197 | {0x15, 0x29, {0x087,7466,100, 0,1,0x00,0xc4,0x11,0xf0,0x00,0x09,0x0}}, | 197 | {0x15, 0x29, {0x087,7466,100, 0,1,0x00,0xc4,0x11,0xf0,0x00,0x09,0x0}}, |
198 | {0x2a, 0x30, {0x088,6456,100, 0,1,0x00,0xc4,0x11,0xf0,0x00,0x09,0x0}}, | 198 | {0x2a, 0x30, {0x088,6456,100, 0,1,0x00,0xc4,0x11,0xf0,0x00,0x09,0x0}}, |
199 | {0x31, 0x38, {0x089,5428,100, 0,1,0x00,0xc4,0x11,0xf0,0x00,0x09,0x0}}, | 199 | {0x31, 0x38, {0x089,5428,100, 0,1,0x00,0xc4,0x11,0xf0,0x00,0x09,0x0}}, |
200 | {0x39, 0x41, {0x08a,4408,100, 0,1,0x00,0xc4,0x11,0xf0,0x00,0x09,0x0}}, | 200 | {0x39, 0x41, {0x08a,4408,100, 0,1,0x00,0xc4,0x11,0xf0,0x00,0x09,0x0}}, |
201 | {0x42, 0x6c, {0x08b,3406,100, 0,1,0x00,0xc4,0x11,0xf0,0x00,0x09,0x0}} | 201 | {0x42, 0x6c, {0x08b,3406,100, 0,1,0x00,0xc4,0x11,0xf0,0x00,0x09,0x0}} |
202 | }; | 202 | }; |
203 | static const opl4_region_t regions_14[] = { /* Reed Organ */ | 203 | static const struct opl4_region regions_14[] = { /* Reed Organ */ |
204 | {0x00, 0x53, {0x0ac,5570,100, 0,0,0x06,0xc0,0x38,0xf0,0x00,0x09,0x1}}, | 204 | {0x00, 0x53, {0x0ac,5570,100, 0,0,0x06,0xc0,0x38,0xf0,0x00,0x09,0x1}}, |
205 | {0x54, 0x7f, {0x0ad,2497,100, 0,0,0x00,0xc0,0x38,0xf0,0x00,0x09,0x1}} | 205 | {0x54, 0x7f, {0x0ad,2497,100, 0,0,0x00,0xc0,0x38,0xf0,0x00,0x09,0x1}} |
206 | }; | 206 | }; |
207 | static const opl4_region_t regions_15[] = { /* Accordion */ | 207 | static const struct opl4_region regions_15[] = { /* Accordion */ |
208 | {0x15, 0x4c, {0x006,4261,100, 0,2,0x00,0xa4,0x22,0x90,0x00,0x09,0x0}}, | 208 | {0x15, 0x4c, {0x006,4261,100, 0,2,0x00,0xa4,0x22,0x90,0x00,0x09,0x0}}, |
209 | {0x4d, 0x6c, {0x007,1530,100, 0,2,0x00,0xa4,0x22,0x90,0x00,0x09,0x0}}, | 209 | {0x4d, 0x6c, {0x007,1530,100, 0,2,0x00,0xa4,0x22,0x90,0x00,0x09,0x0}}, |
210 | {0x15, 0x6c, {0x070,4391,100, 0,3,0x00,0x8a,0x23,0xa0,0x00,0x09,0x0}} | 210 | {0x15, 0x6c, {0x070,4391,100, 0,3,0x00,0x8a,0x23,0xa0,0x00,0x09,0x0}} |
211 | }; | 211 | }; |
212 | static const opl4_region_t regions_16[] = { /* Harmonica */ | 212 | static const struct opl4_region regions_16[] = { /* Harmonica */ |
213 | {0x15, 0x6c, {0x070,4408,100, 0,0,0x00,0xae,0x30,0xa0,0x00,0x09,0x2}} | 213 | {0x15, 0x6c, {0x070,4408,100, 0,0,0x00,0xae,0x30,0xa0,0x00,0x09,0x2}} |
214 | }; | 214 | }; |
215 | static const opl4_region_t regions_17[] = { /* Tango Accordion */ | 215 | static const struct opl4_region regions_17[] = { /* Tango Accordion */ |
216 | {0x00, 0x53, {0x0ac,5573,100, 0,0,0x00,0xae,0x38,0xf0,0x00,0x09,0x0}}, | 216 | {0x00, 0x53, {0x0ac,5573,100, 0,0,0x00,0xae,0x38,0xf0,0x00,0x09,0x0}}, |
217 | {0x54, 0x7f, {0x0ad,2500,100, 0,0,0x00,0xae,0x38,0xf0,0x00,0x09,0x0}}, | 217 | {0x54, 0x7f, {0x0ad,2500,100, 0,0,0x00,0xae,0x38,0xf0,0x00,0x09,0x0}}, |
218 | {0x15, 0x6c, {0x041,8479,100, 0,2,0x00,0x6a,0x3a,0x75,0x20,0x0a,0x0}} | 218 | {0x15, 0x6c, {0x041,8479,100, 0,2,0x00,0x6a,0x3a,0x75,0x20,0x0a,0x0}} |
219 | }; | 219 | }; |
220 | static const opl4_region_t regions_18[] = { /* Nylon Guitar */ | 220 | static const struct opl4_region regions_18[] = { /* Nylon Guitar */ |
221 | {0x15, 0x2f, {0x0b3,6964,100, 0,0,0x05,0xca,0x28,0xf5,0x34,0x09,0x0}}, | 221 | {0x15, 0x2f, {0x0b3,6964,100, 0,0,0x05,0xca,0x28,0xf5,0x34,0x09,0x0}}, |
222 | {0x30, 0x36, {0x0b7,5567,100, 0,0,0x0c,0xca,0x28,0xf5,0x34,0x09,0x0}}, | 222 | {0x30, 0x36, {0x0b7,5567,100, 0,0,0x0c,0xca,0x28,0xf5,0x34,0x09,0x0}}, |
223 | {0x37, 0x3c, {0x0b5,4653,100, 0,0,0x00,0xca,0x28,0xf6,0x34,0x09,0x0}}, | 223 | {0x37, 0x3c, {0x0b5,4653,100, 0,0,0x00,0xca,0x28,0xf6,0x34,0x09,0x0}}, |
224 | {0x3d, 0x43, {0x0b4,3892,100, 0,0,0x00,0xca,0x28,0xf6,0x35,0x09,0x0}}, | 224 | {0x3d, 0x43, {0x0b4,3892,100, 0,0,0x00,0xca,0x28,0xf6,0x35,0x09,0x0}}, |
225 | {0x44, 0x60, {0x0b6,2723,100, 0,0,0x00,0xca,0x28,0xf6,0x35,0x19,0x0}} | 225 | {0x44, 0x60, {0x0b6,2723,100, 0,0,0x00,0xca,0x28,0xf6,0x35,0x19,0x0}} |
226 | }; | 226 | }; |
227 | static const opl4_region_t regions_19[] = { /* Steel Guitar */ | 227 | static const struct opl4_region regions_19[] = { /* Steel Guitar */ |
228 | {0x15, 0x31, {0x00c,6937,100, 0,0,0x00,0xbc,0x28,0xf0,0x04,0x19,0x0}}, | 228 | {0x15, 0x31, {0x00c,6937,100, 0,0,0x00,0xbc,0x28,0xf0,0x04,0x19,0x0}}, |
229 | {0x32, 0x38, {0x00d,5410,100, 0,0,0x00,0xbc,0x28,0xf0,0x05,0x09,0x0}}, | 229 | {0x32, 0x38, {0x00d,5410,100, 0,0,0x00,0xbc,0x28,0xf0,0x05,0x09,0x0}}, |
230 | {0x39, 0x47, {0x00e,4379,100, 0,0,0x00,0xbc,0x28,0xf5,0x94,0x09,0x0}}, | 230 | {0x39, 0x47, {0x00e,4379,100, 0,0,0x00,0xbc,0x28,0xf5,0x94,0x09,0x0}}, |
231 | {0x48, 0x6c, {0x00f,2843,100, 0,0,0x00,0xbc,0x28,0xf6,0x95,0x09,0x0}} | 231 | {0x48, 0x6c, {0x00f,2843,100, 0,0,0x00,0xbc,0x28,0xf6,0x95,0x09,0x0}} |
232 | }; | 232 | }; |
233 | static const opl4_region_t regions_1a[] = { /* Jazz Guitar */ | 233 | static const struct opl4_region regions_1a[] = { /* Jazz Guitar */ |
234 | {0x15, 0x31, {0x05a,6832,100, 0,0,0x00,0xca,0x28,0xf6,0x34,0x09,0x0}}, | 234 | {0x15, 0x31, {0x05a,6832,100, 0,0,0x00,0xca,0x28,0xf6,0x34,0x09,0x0}}, |
235 | {0x32, 0x3f, {0x05b,4897,100, 0,0,0x00,0xca,0x28,0xf6,0x34,0x09,0x0}}, | 235 | {0x32, 0x3f, {0x05b,4897,100, 0,0,0x00,0xca,0x28,0xf6,0x34,0x09,0x0}}, |
236 | {0x40, 0x6c, {0x05c,3218,100, 0,0,0x00,0xca,0x28,0xf6,0x34,0x09,0x0}} | 236 | {0x40, 0x6c, {0x05c,3218,100, 0,0,0x00,0xca,0x28,0xf6,0x34,0x09,0x0}} |
237 | }; | 237 | }; |
238 | static const opl4_region_t regions_1b[] = { /* Clean Guitar */ | 238 | static const struct opl4_region regions_1b[] = { /* Clean Guitar */ |
239 | {0x15, 0x2c, {0x061,7053,100, 0,1,0x00,0xb4,0x29,0xf5,0x54,0x0a,0x0}}, | 239 | {0x15, 0x2c, {0x061,7053,100, 0,1,0x00,0xb4,0x29,0xf5,0x54,0x0a,0x0}}, |
240 | {0x2d, 0x31, {0x060,6434,100, 0,1,0x00,0xb4,0x29,0xf5,0x54,0x0a,0x0}}, | 240 | {0x2d, 0x31, {0x060,6434,100, 0,1,0x00,0xb4,0x29,0xf5,0x54,0x0a,0x0}}, |
241 | {0x32, 0x38, {0x063,5764,100, 0,1,0x00,0xbe,0x29,0xf5,0x55,0x0a,0x0}}, | 241 | {0x32, 0x38, {0x063,5764,100, 0,1,0x00,0xbe,0x29,0xf5,0x55,0x0a,0x0}}, |
@@ -245,14 +245,14 @@ static const opl4_region_t regions_1b[] = { /* Clean Guitar */ | |||
245 | {0x4c, 0x54, {0x066,2462,100, 0,1,0x00,0xb4,0x29,0xf5,0x55,0x2a,0x0}}, | 245 | {0x4c, 0x54, {0x066,2462,100, 0,1,0x00,0xb4,0x29,0xf5,0x55,0x2a,0x0}}, |
246 | {0x55, 0x6c, {0x067,1307,100, 0,1,0x00,0xb4,0x29,0xf6,0x56,0x0a,0x0}} | 246 | {0x55, 0x6c, {0x067,1307,100, 0,1,0x00,0xb4,0x29,0xf6,0x56,0x0a,0x0}} |
247 | }; | 247 | }; |
248 | static const opl4_region_t regions_1c[] = { /* Muted Guitar */ | 248 | static const struct opl4_region regions_1c[] = { /* Muted Guitar */ |
249 | {0x01, 0x7f, {0x068,4408,100, 0,0,0x00,0xcc,0x28,0xf6,0x15,0x09,0x0}} | 249 | {0x01, 0x7f, {0x068,4408,100, 0,0,0x00,0xcc,0x28,0xf6,0x15,0x09,0x0}} |
250 | }; | 250 | }; |
251 | static const opl4_region_t regions_1d[] = { /* Overdriven Guitar */ | 251 | static const struct opl4_region regions_1d[] = { /* Overdriven Guitar */ |
252 | {0x00, 0x40, {0x0a5,6589,100, 0,1,0x00,0xc0,0x29,0xf2,0x11,0x09,0x0}}, | 252 | {0x00, 0x40, {0x0a5,6589,100, 0,1,0x00,0xc0,0x29,0xf2,0x11,0x09,0x0}}, |
253 | {0x41, 0x7f, {0x0a6,5428,100, 0,1,0x00,0xc0,0x29,0xf2,0x11,0x09,0x0}} | 253 | {0x41, 0x7f, {0x0a6,5428,100, 0,1,0x00,0xc0,0x29,0xf2,0x11,0x09,0x0}} |
254 | }; | 254 | }; |
255 | static const opl4_region_t regions_1e[] = { /* Distortion Guitar */ | 255 | static const struct opl4_region regions_1e[] = { /* Distortion Guitar */ |
256 | {0x15, 0x2a, {0x051,6928,100, 0,1,0x00,0xbc,0x21,0xa2,0x12,0x0a,0x0}}, | 256 | {0x15, 0x2a, {0x051,6928,100, 0,1,0x00,0xbc,0x21,0xa2,0x12,0x0a,0x0}}, |
257 | {0x2b, 0x2e, {0x052,6433,100, 0,1,0x00,0xbc,0x21,0xa2,0x12,0x0a,0x0}}, | 257 | {0x2b, 0x2e, {0x052,6433,100, 0,1,0x00,0xbc,0x21,0xa2,0x12,0x0a,0x0}}, |
258 | {0x2f, 0x32, {0x053,5944,100, 0,1,0x00,0xbc,0x21,0xa2,0x12,0x0a,0x0}}, | 258 | {0x2f, 0x32, {0x053,5944,100, 0,1,0x00,0xbc,0x21,0xa2,0x12,0x0a,0x0}}, |
@@ -263,44 +263,44 @@ static const opl4_region_t regions_1e[] = { /* Distortion Guitar */ | |||
263 | {0x43, 0x46, {0x058,3361,100, 0,1,0x00,0xbc,0x21,0xa2,0x12,0x0a,0x0}}, | 263 | {0x43, 0x46, {0x058,3361,100, 0,1,0x00,0xbc,0x21,0xa2,0x12,0x0a,0x0}}, |
264 | {0x47, 0x6c, {0x059,2784,100, 0,1,0x00,0xbc,0x21,0xa2,0x12,0x0a,0x0}} | 264 | {0x47, 0x6c, {0x059,2784,100, 0,1,0x00,0xbc,0x21,0xa2,0x12,0x0a,0x0}} |
265 | }; | 265 | }; |
266 | static const opl4_region_t regions_1f[] = { /* Guitar Harmonics */ | 266 | static const struct opl4_region regions_1f[] = { /* Guitar Harmonics */ |
267 | {0x15, 0x44, {0x05e,5499,100, 0,0,0x00,0xce,0x28,0xf4,0x24,0x09,0x0}}, | 267 | {0x15, 0x44, {0x05e,5499,100, 0,0,0x00,0xce,0x28,0xf4,0x24,0x09,0x0}}, |
268 | {0x45, 0x49, {0x05d,4850,100, 0,0,0x00,0xe2,0x28,0xf4,0x24,0x09,0x0}}, | 268 | {0x45, 0x49, {0x05d,4850,100, 0,0,0x00,0xe2,0x28,0xf4,0x24,0x09,0x0}}, |
269 | {0x4a, 0x6c, {0x05f,4259,100, 0,0,0x00,0xce,0x28,0xf4,0x24,0x09,0x0}} | 269 | {0x4a, 0x6c, {0x05f,4259,100, 0,0,0x00,0xce,0x28,0xf4,0x24,0x09,0x0}} |
270 | }; | 270 | }; |
271 | static const opl4_region_t regions_20[] = { /* Acoustic Bass */ | 271 | static const struct opl4_region regions_20[] = { /* Acoustic Bass */ |
272 | {0x15, 0x30, {0x004,8053,100, 0,0,0x00,0xe2,0x18,0xf5,0x15,0x09,0x0}}, | 272 | {0x15, 0x30, {0x004,8053,100, 0,0,0x00,0xe2,0x18,0xf5,0x15,0x09,0x0}}, |
273 | {0x31, 0x6c, {0x005,4754,100, 0,0,0x00,0xe2,0x18,0xf5,0x15,0x09,0x0}} | 273 | {0x31, 0x6c, {0x005,4754,100, 0,0,0x00,0xe2,0x18,0xf5,0x15,0x09,0x0}} |
274 | }; | 274 | }; |
275 | static const opl4_region_t regions_21[] = { /* Fingered Bass */ | 275 | static const struct opl4_region regions_21[] = { /* Fingered Bass */ |
276 | {0x01, 0x20, {0x04a,8762,100, 0,0,0x00,0xde,0x18,0xf6,0x14,0x09,0x0}}, | 276 | {0x01, 0x20, {0x04a,8762,100, 0,0,0x00,0xde,0x18,0xf6,0x14,0x09,0x0}}, |
277 | {0x21, 0x25, {0x04b,8114,100, 0,0,0x00,0xde,0x18,0xf6,0x14,0x09,0x0}}, | 277 | {0x21, 0x25, {0x04b,8114,100, 0,0,0x00,0xde,0x18,0xf6,0x14,0x09,0x0}}, |
278 | {0x26, 0x2a, {0x04c,7475,100, 0,0,0x00,0xde,0x18,0xf6,0x14,0x09,0x0}}, | 278 | {0x26, 0x2a, {0x04c,7475,100, 0,0,0x00,0xde,0x18,0xf6,0x14,0x09,0x0}}, |
279 | {0x2b, 0x7f, {0x04d,6841,100, 0,0,0x00,0xde,0x18,0xf6,0x14,0x09,0x0}} | 279 | {0x2b, 0x7f, {0x04d,6841,100, 0,0,0x00,0xde,0x18,0xf6,0x14,0x09,0x0}} |
280 | }; | 280 | }; |
281 | static const opl4_region_t regions_22[] = { /* Picked Bass */ | 281 | static const struct opl4_region regions_22[] = { /* Picked Bass */ |
282 | {0x15, 0x23, {0x04f,7954,100, 0,0,0x00,0xcc,0x18,0xf3,0x90,0x0a,0x0}}, | 282 | {0x15, 0x23, {0x04f,7954,100, 0,0,0x00,0xcc,0x18,0xf3,0x90,0x0a,0x0}}, |
283 | {0x24, 0x2a, {0x050,7318,100, 0,0,0x05,0xcc,0x18,0xf3,0x90,0x1a,0x0}}, | 283 | {0x24, 0x2a, {0x050,7318,100, 0,0,0x05,0xcc,0x18,0xf3,0x90,0x1a,0x0}}, |
284 | {0x2b, 0x2f, {0x06b,6654,100, 0,0,0x00,0xcc,0x18,0xf3,0x90,0x2a,0x0}}, | 284 | {0x2b, 0x2f, {0x06b,6654,100, 0,0,0x00,0xcc,0x18,0xf3,0x90,0x2a,0x0}}, |
285 | {0x30, 0x47, {0x069,6031,100, 0,0,0x00,0xcc,0x18,0xf5,0xb0,0x0a,0x0}}, | 285 | {0x30, 0x47, {0x069,6031,100, 0,0,0x00,0xcc,0x18,0xf5,0xb0,0x0a,0x0}}, |
286 | {0x48, 0x6c, {0x06a,5393,100, 0,0,0x00,0xcc,0x18,0xf5,0xb0,0x0a,0x0}} | 286 | {0x48, 0x6c, {0x06a,5393,100, 0,0,0x00,0xcc,0x18,0xf5,0xb0,0x0a,0x0}} |
287 | }; | 287 | }; |
288 | static const opl4_region_t regions_23[] = { /* Fretless Bass */ | 288 | static const struct opl4_region regions_23[] = { /* Fretless Bass */ |
289 | {0x01, 0x7f, {0x04e,5297,100, 0,0,0x00,0xd2,0x10,0xf3,0x63,0x19,0x0}} | 289 | {0x01, 0x7f, {0x04e,5297,100, 0,0,0x00,0xd2,0x10,0xf3,0x63,0x19,0x0}} |
290 | }; | 290 | }; |
291 | static const opl4_region_t regions_24[] = { /* Slap Bass 1 */ | 291 | static const struct opl4_region regions_24[] = { /* Slap Bass 1 */ |
292 | {0x15, 0x6c, {0x0a3,7606,100, 0,1,0x00,0xde,0x19,0xf5,0x32,0x1a,0x0}} | 292 | {0x15, 0x6c, {0x0a3,7606,100, 0,1,0x00,0xde,0x19,0xf5,0x32,0x1a,0x0}} |
293 | }; | 293 | }; |
294 | static const opl4_region_t regions_25[] = { /* Slap Bass 2 */ | 294 | static const struct opl4_region regions_25[] = { /* Slap Bass 2 */ |
295 | {0x01, 0x7f, {0x0a2,6694,100, 0,0,0x00,0xda,0x20,0xb0,0x02,0x09,0x0}} | 295 | {0x01, 0x7f, {0x0a2,6694,100, 0,0,0x00,0xda,0x20,0xb0,0x02,0x09,0x0}} |
296 | }; | 296 | }; |
297 | static const opl4_region_t regions_26[] = { /* Synth Bass 1 */ | 297 | static const struct opl4_region regions_26[] = { /* Synth Bass 1 */ |
298 | {0x15, 0x6c, {0x0be,7466,100, 0,1,0x00,0xb8,0x39,0xf4,0x14,0x09,0x0}} | 298 | {0x15, 0x6c, {0x0be,7466,100, 0,1,0x00,0xb8,0x39,0xf4,0x14,0x09,0x0}} |
299 | }; | 299 | }; |
300 | static const opl4_region_t regions_27[] = { /* Synth Bass 2 */ | 300 | static const struct opl4_region regions_27[] = { /* Synth Bass 2 */ |
301 | {0x00, 0x7f, {0x117,8103,100, 0,1,0x00,0xca,0x39,0xf3,0x50,0x08,0x0}} | 301 | {0x00, 0x7f, {0x117,8103,100, 0,1,0x00,0xca,0x39,0xf3,0x50,0x08,0x0}} |
302 | }; | 302 | }; |
303 | static const opl4_region_t regions_28[] = { /* Violin */ | 303 | static const struct opl4_region regions_28[] = { /* Violin */ |
304 | {0x15, 0x3a, {0x105,5158,100, 0,3,0x00,0xcc,0x3b,0xf3,0x20,0x09,0x0}}, | 304 | {0x15, 0x3a, {0x105,5158,100, 0,3,0x00,0xcc,0x3b,0xf3,0x20,0x09,0x0}}, |
305 | {0x3b, 0x3f, {0x102,4754,100, 0,3,0x00,0xcc,0x3b,0xf3,0x20,0x09,0x0}}, | 305 | {0x3b, 0x3f, {0x102,4754,100, 0,3,0x00,0xcc,0x3b,0xf3,0x20,0x09,0x0}}, |
306 | {0x40, 0x41, {0x106,4132,100, 0,3,0x00,0xcc,0x3b,0xf3,0x20,0x09,0x0}}, | 306 | {0x40, 0x41, {0x106,4132,100, 0,3,0x00,0xcc,0x3b,0xf3,0x20,0x09,0x0}}, |
@@ -312,7 +312,7 @@ static const opl4_region_t regions_28[] = { /* Violin */ | |||
312 | {0x4f, 0x51, {0x10d,2166,100, 0,3,0x00,0xcc,0x3b,0xf3,0x20,0x09,0x0}}, | 312 | {0x4f, 0x51, {0x10d,2166,100, 0,3,0x00,0xcc,0x3b,0xf3,0x20,0x09,0x0}}, |
313 | {0x52, 0x6c, {0x109,1825,100, 0,3,0x00,0xcc,0x3b,0xf3,0x20,0x09,0x0}} | 313 | {0x52, 0x6c, {0x109,1825,100, 0,3,0x00,0xcc,0x3b,0xf3,0x20,0x09,0x0}} |
314 | }; | 314 | }; |
315 | static const opl4_region_t regions_29[] = { /* Viola */ | 315 | static const struct opl4_region regions_29[] = { /* Viola */ |
316 | {0x15, 0x32, {0x103,5780,100, 0,3,0x00,0xc4,0x3b,0xa3,0x20,0x09,0x0}}, | 316 | {0x15, 0x32, {0x103,5780,100, 0,3,0x00,0xc4,0x3b,0xa3,0x20,0x09,0x0}}, |
317 | {0x33, 0x35, {0x104,5534,100, 0,3,0x00,0xc4,0x3b,0xa3,0x20,0x09,0x0}}, | 317 | {0x33, 0x35, {0x104,5534,100, 0,3,0x00,0xc4,0x3b,0xa3,0x20,0x09,0x0}}, |
318 | {0x36, 0x38, {0x105,5158,100, 0,3,0x00,0xc4,0x3b,0xa3,0x20,0x09,0x0}}, | 318 | {0x36, 0x38, {0x105,5158,100, 0,3,0x00,0xc4,0x3b,0xa3,0x20,0x09,0x0}}, |
@@ -326,76 +326,76 @@ static const opl4_region_t regions_29[] = { /* Viola */ | |||
326 | {0x4d, 0x4f, {0x10d,2166,100, 0,3,0x00,0xd0,0x3b,0xa3,0x20,0x09,0x0}}, | 326 | {0x4d, 0x4f, {0x10d,2166,100, 0,3,0x00,0xd0,0x3b,0xa3,0x20,0x09,0x0}}, |
327 | {0x50, 0x6c, {0x109,1825,100, 0,3,0x00,0xd0,0x3b,0xa3,0x20,0x09,0x0}} | 327 | {0x50, 0x6c, {0x109,1825,100, 0,3,0x00,0xd0,0x3b,0xa3,0x20,0x09,0x0}} |
328 | }; | 328 | }; |
329 | static const opl4_region_t regions_2a[] = { /* Cello */ | 329 | static const struct opl4_region regions_2a[] = { /* Cello */ |
330 | {0x15, 0x2d, {0x112,6545,100, 0,3,0x00,0xc0,0x33,0xa0,0x00,0x08,0x0}}, | 330 | {0x15, 0x2d, {0x112,6545,100, 0,3,0x00,0xc0,0x33,0xa0,0x00,0x08,0x0}}, |
331 | {0x2e, 0x37, {0x113,5764,100, 0,3,0x00,0xc0,0x33,0xa0,0x00,0x08,0x0}}, | 331 | {0x2e, 0x37, {0x113,5764,100, 0,3,0x00,0xc0,0x33,0xa0,0x00,0x08,0x0}}, |
332 | {0x38, 0x3e, {0x115,4378,100, 0,3,0x00,0xc0,0x33,0xa0,0x00,0x18,0x0}}, | 332 | {0x38, 0x3e, {0x115,4378,100, 0,3,0x00,0xc0,0x33,0xa0,0x00,0x18,0x0}}, |
333 | {0x3f, 0x44, {0x116,3998,100, 0,3,0x00,0xc0,0x33,0xa0,0x00,0x18,0x0}}, | 333 | {0x3f, 0x44, {0x116,3998,100, 0,3,0x00,0xc0,0x33,0xa0,0x00,0x18,0x0}}, |
334 | {0x45, 0x6c, {0x114,3218,100, 0,3,0x00,0xc0,0x33,0xa0,0x00,0x18,0x0}} | 334 | {0x45, 0x6c, {0x114,3218,100, 0,3,0x00,0xc0,0x33,0xa0,0x00,0x18,0x0}} |
335 | }; | 335 | }; |
336 | static const opl4_region_t regions_2b[] = { /* Contrabass */ | 336 | static const struct opl4_region regions_2b[] = { /* Contrabass */ |
337 | {0x15, 0x29, {0x110,7713,100, 0,1,0x00,0xc2,0x19,0x90,0x00,0x09,0x0}}, | 337 | {0x15, 0x29, {0x110,7713,100, 0,1,0x00,0xc2,0x19,0x90,0x00,0x09,0x0}}, |
338 | {0x2a, 0x6c, {0x111,6162,100, 0,1,0x00,0xc2,0x19,0x90,0x00,0x09,0x0}} | 338 | {0x2a, 0x6c, {0x111,6162,100, 0,1,0x00,0xc2,0x19,0x90,0x00,0x09,0x0}} |
339 | }; | 339 | }; |
340 | static const opl4_region_t regions_2c[] = { /* Tremolo Strings */ | 340 | static const struct opl4_region regions_2c[] = { /* Tremolo Strings */ |
341 | {0x15, 0x3b, {0x0b0,4810,100, 0,0,0x0a,0xde,0x38,0xf0,0x00,0x07,0x6}}, | 341 | {0x15, 0x3b, {0x0b0,4810,100, 0,0,0x0a,0xde,0x38,0xf0,0x00,0x07,0x6}}, |
342 | {0x3c, 0x41, {0x035,4035,100, 0,0,0x05,0xde,0x38,0xf0,0x00,0x07,0x6}}, | 342 | {0x3c, 0x41, {0x035,4035,100, 0,0,0x05,0xde,0x38,0xf0,0x00,0x07,0x6}}, |
343 | {0x42, 0x47, {0x033,3129,100, 0,0,0x05,0xde,0x38,0xf0,0x00,0x07,0x6}}, | 343 | {0x42, 0x47, {0x033,3129,100, 0,0,0x05,0xde,0x38,0xf0,0x00,0x07,0x6}}, |
344 | {0x48, 0x52, {0x034,2625,100, 0,0,0x05,0xde,0x38,0xf0,0x00,0x07,0x6}}, | 344 | {0x48, 0x52, {0x034,2625,100, 0,0,0x05,0xde,0x38,0xf0,0x00,0x07,0x6}}, |
345 | {0x53, 0x6c, {0x0af, 936,100, 0,0,0x00,0xde,0x38,0xf0,0x00,0x07,0x6}} | 345 | {0x53, 0x6c, {0x0af, 936,100, 0,0,0x00,0xde,0x38,0xf0,0x00,0x07,0x6}} |
346 | }; | 346 | }; |
347 | static const opl4_region_t regions_2d[] = { /* Pizzicato Strings */ | 347 | static const struct opl4_region regions_2d[] = { /* Pizzicato Strings */ |
348 | {0x15, 0x32, {0x0b8,6186,100, 0,0,0x00,0xbc,0x28,0xf0,0x00,0x05,0x0}}, | 348 | {0x15, 0x32, {0x0b8,6186,100, 0,0,0x00,0xbc,0x28,0xf0,0x00,0x05,0x0}}, |
349 | {0x33, 0x3b, {0x0b9,5031,100, 0,0,0x00,0xbc,0x28,0xf0,0x00,0x05,0x0}}, | 349 | {0x33, 0x3b, {0x0b9,5031,100, 0,0,0x00,0xbc,0x28,0xf0,0x00,0x05,0x0}}, |
350 | {0x3c, 0x42, {0x0bb,4146,100, 0,0,0x00,0xbc,0x28,0xf0,0x00,0x05,0x0}}, | 350 | {0x3c, 0x42, {0x0bb,4146,100, 0,0,0x00,0xbc,0x28,0xf0,0x00,0x05,0x0}}, |
351 | {0x43, 0x48, {0x0ba,3245,100, 0,0,0x00,0xc2,0x28,0xf0,0x00,0x05,0x0}}, | 351 | {0x43, 0x48, {0x0ba,3245,100, 0,0,0x00,0xc2,0x28,0xf0,0x00,0x05,0x0}}, |
352 | {0x49, 0x6c, {0x0bc,2352,100, 0,0,0x00,0xbc,0x28,0xf0,0x00,0x05,0x0}} | 352 | {0x49, 0x6c, {0x0bc,2352,100, 0,0,0x00,0xbc,0x28,0xf0,0x00,0x05,0x0}} |
353 | }; | 353 | }; |
354 | static const opl4_region_t regions_2e[] = { /* Harp */ | 354 | static const struct opl4_region regions_2e[] = { /* Harp */ |
355 | {0x15, 0x46, {0x07e,3740,100, 0,1,0x00,0xd2,0x29,0xf5,0x25,0x07,0x0}}, | 355 | {0x15, 0x46, {0x07e,3740,100, 0,1,0x00,0xd2,0x29,0xf5,0x25,0x07,0x0}}, |
356 | {0x47, 0x6c, {0x07f,2319,100, 0,1,0x00,0xd2,0x29,0xf5,0x25,0x07,0x0}} | 356 | {0x47, 0x6c, {0x07f,2319,100, 0,1,0x00,0xd2,0x29,0xf5,0x25,0x07,0x0}} |
357 | }; | 357 | }; |
358 | static const opl4_region_t regions_2f[] = { /* Timpani */ | 358 | static const struct opl4_region regions_2f[] = { /* Timpani */ |
359 | {0x15, 0x6c, {0x100,6570,100, 0,0,0x00,0xf8,0x28,0xf0,0x05,0x16,0x0}} | 359 | {0x15, 0x6c, {0x100,6570,100, 0,0,0x00,0xf8,0x28,0xf0,0x05,0x16,0x0}} |
360 | }; | 360 | }; |
361 | static const opl4_region_t regions_30[] = { /* Strings */ | 361 | static const struct opl4_region regions_30[] = { /* Strings */ |
362 | {0x15, 0x3b, {0x13c,4806,100, 0,0,0x00,0xc8,0x20,0x80,0x00,0x07,0x0}}, | 362 | {0x15, 0x3b, {0x13c,4806,100, 0,0,0x00,0xc8,0x20,0x80,0x00,0x07,0x0}}, |
363 | {0x3c, 0x41, {0x13e,4035,100, 0,0,0x00,0xc8,0x20,0x80,0x00,0x07,0x0}}, | 363 | {0x3c, 0x41, {0x13e,4035,100, 0,0,0x00,0xc8,0x20,0x80,0x00,0x07,0x0}}, |
364 | {0x42, 0x47, {0x13d,3122,100, 0,0,0x00,0xc8,0x20,0x80,0x00,0x07,0x0}}, | 364 | {0x42, 0x47, {0x13d,3122,100, 0,0,0x00,0xc8,0x20,0x80,0x00,0x07,0x0}}, |
365 | {0x48, 0x52, {0x13f,2629,100, 0,0,0x00,0xbe,0x20,0x80,0x00,0x07,0x0}}, | 365 | {0x48, 0x52, {0x13f,2629,100, 0,0,0x00,0xbe,0x20,0x80,0x00,0x07,0x0}}, |
366 | {0x53, 0x6c, {0x140, 950,100, 0,0,0x00,0xbe,0x20,0x80,0x00,0x07,0x0}} | 366 | {0x53, 0x6c, {0x140, 950,100, 0,0,0x00,0xbe,0x20,0x80,0x00,0x07,0x0}} |
367 | }; | 367 | }; |
368 | static const opl4_region_t regions_31[] = { /* Slow Strings */ | 368 | static const struct opl4_region regions_31[] = { /* Slow Strings */ |
369 | {0x15, 0x3b, {0x0b0,4810,100, 0,1,0x0a,0xbe,0x19,0xf0,0x00,0x07,0x0}}, | 369 | {0x15, 0x3b, {0x0b0,4810,100, 0,1,0x0a,0xbe,0x19,0xf0,0x00,0x07,0x0}}, |
370 | {0x3c, 0x41, {0x035,4035,100, 0,1,0x05,0xbe,0x19,0xf0,0x00,0x07,0x0}}, | 370 | {0x3c, 0x41, {0x035,4035,100, 0,1,0x05,0xbe,0x19,0xf0,0x00,0x07,0x0}}, |
371 | {0x42, 0x47, {0x033,3129,100, 0,1,0x05,0xbe,0x19,0xf0,0x00,0x07,0x0}}, | 371 | {0x42, 0x47, {0x033,3129,100, 0,1,0x05,0xbe,0x19,0xf0,0x00,0x07,0x0}}, |
372 | {0x48, 0x52, {0x034,2625,100, 0,1,0x05,0xbe,0x19,0xf0,0x00,0x07,0x0}}, | 372 | {0x48, 0x52, {0x034,2625,100, 0,1,0x05,0xbe,0x19,0xf0,0x00,0x07,0x0}}, |
373 | {0x53, 0x6c, {0x0af, 936,100, 0,1,0x00,0xbe,0x19,0xf0,0x00,0x07,0x0}} | 373 | {0x53, 0x6c, {0x0af, 936,100, 0,1,0x00,0xbe,0x19,0xf0,0x00,0x07,0x0}} |
374 | }; | 374 | }; |
375 | static const opl4_region_t regions_32[] = { /* Synth Strings 1 */ | 375 | static const struct opl4_region regions_32[] = { /* Synth Strings 1 */ |
376 | {0x05, 0x71, {0x002,6045,100,-2,0,0x00,0xa6,0x20,0x93,0x22,0x06,0x0}}, | 376 | {0x05, 0x71, {0x002,6045,100,-2,0,0x00,0xa6,0x20,0x93,0x22,0x06,0x0}}, |
377 | {0x15, 0x6c, {0x0ae,3261,100, 2,0,0x00,0xc6,0x20,0x70,0x01,0x06,0x0}} | 377 | {0x15, 0x6c, {0x0ae,3261,100, 2,0,0x00,0xc6,0x20,0x70,0x01,0x06,0x0}} |
378 | }; | 378 | }; |
379 | static const opl4_region_t regions_33[] = { /* Synth Strings 2 */ | 379 | static const struct opl4_region regions_33[] = { /* Synth Strings 2 */ |
380 | {0x15, 0x6c, {0x002,4513,100, 5,1,0x00,0xb4,0x19,0x70,0x00,0x06,0x0}}, | 380 | {0x15, 0x6c, {0x002,4513,100, 5,1,0x00,0xb4,0x19,0x70,0x00,0x06,0x0}}, |
381 | {0x15, 0x6c, {0x002,4501,100,-5,1,0x00,0xb4,0x19,0x70,0x00,0x06,0x0}} | 381 | {0x15, 0x6c, {0x002,4501,100,-5,1,0x00,0xb4,0x19,0x70,0x00,0x06,0x0}} |
382 | }; | 382 | }; |
383 | static const opl4_region_t regions_34[] = { /* Choir Aahs */ | 383 | static const struct opl4_region regions_34[] = { /* Choir Aahs */ |
384 | {0x15, 0x3a, {0x018,5010,100, 0,2,0x00,0xc2,0x1a,0x70,0x00,0x08,0x0}}, | 384 | {0x15, 0x3a, {0x018,5010,100, 0,2,0x00,0xc2,0x1a,0x70,0x00,0x08,0x0}}, |
385 | {0x3b, 0x40, {0x019,4370,100, 0,2,0x00,0xc2,0x1a,0x70,0x00,0x08,0x0}}, | 385 | {0x3b, 0x40, {0x019,4370,100, 0,2,0x00,0xc2,0x1a,0x70,0x00,0x08,0x0}}, |
386 | {0x41, 0x47, {0x01a,3478,100, 0,2,0x00,0xc2,0x1a,0x70,0x00,0x08,0x0}}, | 386 | {0x41, 0x47, {0x01a,3478,100, 0,2,0x00,0xc2,0x1a,0x70,0x00,0x08,0x0}}, |
387 | {0x48, 0x6c, {0x01b,2197,100, 0,2,0x00,0xc2,0x1a,0x70,0x00,0x08,0x0}} | 387 | {0x48, 0x6c, {0x01b,2197,100, 0,2,0x00,0xc2,0x1a,0x70,0x00,0x08,0x0}} |
388 | }; | 388 | }; |
389 | static const opl4_region_t regions_35[] = { /* Voice Oohs */ | 389 | static const struct opl4_region regions_35[] = { /* Voice Oohs */ |
390 | {0x15, 0x6c, {0x029,3596,100, 0,0,0x00,0xe6,0x20,0xf7,0x20,0x08,0x0}} | 390 | {0x15, 0x6c, {0x029,3596,100, 0,0,0x00,0xe6,0x20,0xf7,0x20,0x08,0x0}} |
391 | }; | 391 | }; |
392 | static const opl4_region_t regions_36[] = { /* Synth Voice */ | 392 | static const struct opl4_region regions_36[] = { /* Synth Voice */ |
393 | {0x15, 0x6c, {0x02a,3482,100, 0,1,0x00,0xc2,0x19,0x85,0x21,0x07,0x0}} | 393 | {0x15, 0x6c, {0x02a,3482,100, 0,1,0x00,0xc2,0x19,0x85,0x21,0x07,0x0}} |
394 | }; | 394 | }; |
395 | static const opl4_region_t regions_37[] = { /* Orchestra Hit */ | 395 | static const struct opl4_region regions_37[] = { /* Orchestra Hit */ |
396 | {0x15, 0x6c, {0x049,4394,100, 0,0,0x00,0xfe,0x30,0x80,0x05,0x05,0x0}} | 396 | {0x15, 0x6c, {0x049,4394,100, 0,0,0x00,0xfe,0x30,0x80,0x05,0x05,0x0}} |
397 | }; | 397 | }; |
398 | static const opl4_region_t regions_38[] = { /* Trumpet */ | 398 | static const struct opl4_region regions_38[] = { /* Trumpet */ |
399 | {0x15, 0x3c, {0x0f6,4706,100, 0,2,0x00,0xd6,0x32,0xf3,0x20,0x0a,0x0}}, | 399 | {0x15, 0x3c, {0x0f6,4706,100, 0,2,0x00,0xd6,0x32,0xf3,0x20,0x0a,0x0}}, |
400 | {0x3d, 0x43, {0x0f8,3894,100, 0,2,0x00,0xd6,0x32,0xf3,0x20,0x0a,0x0}}, | 400 | {0x3d, 0x43, {0x0f8,3894,100, 0,2,0x00,0xd6,0x32,0xf3,0x20,0x0a,0x0}}, |
401 | {0x44, 0x48, {0x0f7,3118,100, 0,2,0x00,0xd6,0x32,0xf3,0x20,0x0a,0x0}}, | 401 | {0x44, 0x48, {0x0f7,3118,100, 0,2,0x00,0xd6,0x32,0xf3,0x20,0x0a,0x0}}, |
@@ -403,28 +403,28 @@ static const opl4_region_t regions_38[] = { /* Trumpet */ | |||
403 | {0x4f, 0x55, {0x0f9,1634,100, 0,2,0x00,0xd6,0x32,0xf3,0x20,0x0a,0x0}}, | 403 | {0x4f, 0x55, {0x0f9,1634,100, 0,2,0x00,0xd6,0x32,0xf3,0x20,0x0a,0x0}}, |
404 | {0x56, 0x6c, {0x0fb, 786,100, 0,2,0x00,0xd6,0x32,0xf3,0x20,0x0a,0x0}} | 404 | {0x56, 0x6c, {0x0fb, 786,100, 0,2,0x00,0xd6,0x32,0xf3,0x20,0x0a,0x0}} |
405 | }; | 405 | }; |
406 | static const opl4_region_t regions_39[] = { /* Trombone */ | 406 | static const struct opl4_region regions_39[] = { /* Trombone */ |
407 | {0x15, 0x3a, {0x0f0,5053,100, 0,1,0x00,0xd6,0x21,0xf0,0x00,0x09,0x0}}, | 407 | {0x15, 0x3a, {0x0f0,5053,100, 0,1,0x00,0xd6,0x21,0xf0,0x00,0x09,0x0}}, |
408 | {0x3b, 0x3f, {0x0f1,4290,100, 0,1,0x00,0xd6,0x21,0xf0,0x00,0x09,0x0}}, | 408 | {0x3b, 0x3f, {0x0f1,4290,100, 0,1,0x00,0xd6,0x21,0xf0,0x00,0x09,0x0}}, |
409 | {0x40, 0x6c, {0x0f2,3580,100, 0,1,0x00,0xd6,0x21,0xf0,0x00,0x09,0x0}} | 409 | {0x40, 0x6c, {0x0f2,3580,100, 0,1,0x00,0xd6,0x21,0xf0,0x00,0x09,0x0}} |
410 | }; | 410 | }; |
411 | static const opl4_region_t regions_3a[] = { /* Tuba */ | 411 | static const struct opl4_region regions_3a[] = { /* Tuba */ |
412 | {0x15, 0x2d, {0x085,7096,100, 0,1,0x00,0xde,0x21,0xf5,0x10,0x09,0x0}}, | 412 | {0x15, 0x2d, {0x085,7096,100, 0,1,0x00,0xde,0x21,0xf5,0x10,0x09,0x0}}, |
413 | {0x2e, 0x6c, {0x086,6014,100, 0,1,0x00,0xde,0x21,0xf5,0x10,0x09,0x0}} | 413 | {0x2e, 0x6c, {0x086,6014,100, 0,1,0x00,0xde,0x21,0xf5,0x10,0x09,0x0}} |
414 | }; | 414 | }; |
415 | static const opl4_region_t regions_3b[] = { /* Muted Trumpet */ | 415 | static const struct opl4_region regions_3b[] = { /* Muted Trumpet */ |
416 | {0x15, 0x45, {0x0b1,4135,100, 0,0,0x00,0xcc,0x28,0xf3,0x10,0x0a,0x1}}, | 416 | {0x15, 0x45, {0x0b1,4135,100, 0,0,0x00,0xcc,0x28,0xf3,0x10,0x0a,0x1}}, |
417 | {0x46, 0x6c, {0x0b2,2599,100, 0,0,0x00,0xcc,0x28,0x83,0x10,0x0a,0x1}} | 417 | {0x46, 0x6c, {0x0b2,2599,100, 0,0,0x00,0xcc,0x28,0x83,0x10,0x0a,0x1}} |
418 | }; | 418 | }; |
419 | static const opl4_region_t regions_3c[] = { /* French Horns */ | 419 | static const struct opl4_region regions_3c[] = { /* French Horns */ |
420 | {0x15, 0x49, {0x07c,3624,100, 0,2,0x00,0xd0,0x1a,0xf0,0x00,0x09,0x0}}, | 420 | {0x15, 0x49, {0x07c,3624,100, 0,2,0x00,0xd0,0x1a,0xf0,0x00,0x09,0x0}}, |
421 | {0x4a, 0x6c, {0x07d,2664,100, 0,2,0x00,0xd0,0x1a,0xf0,0x00,0x09,0x0}} | 421 | {0x4a, 0x6c, {0x07d,2664,100, 0,2,0x00,0xd0,0x1a,0xf0,0x00,0x09,0x0}} |
422 | }; | 422 | }; |
423 | static const opl4_region_t regions_3d[] = { /* Brass Section */ | 423 | static const struct opl4_region regions_3d[] = { /* Brass Section */ |
424 | {0x15, 0x42, {0x0fc,4375,100, 0,0,0x00,0xd6,0x28,0xf0,0x00,0x0a,0x0}}, | 424 | {0x15, 0x42, {0x0fc,4375,100, 0,0,0x00,0xd6,0x28,0xf0,0x00,0x0a,0x0}}, |
425 | {0x43, 0x6c, {0x0fd,2854,100, 0,0,0x00,0xd6,0x28,0xf0,0x00,0x0a,0x0}} | 425 | {0x43, 0x6c, {0x0fd,2854,100, 0,0,0x00,0xd6,0x28,0xf0,0x00,0x0a,0x0}} |
426 | }; | 426 | }; |
427 | static const opl4_region_t regions_3e[] = { /* Synth Brass 1 */ | 427 | static const struct opl4_region regions_3e[] = { /* Synth Brass 1 */ |
428 | {0x01, 0x27, {0x0d3,9094,100,-1,0,0x00,0xbe,0x18,0xa5,0x11,0x08,0x0}}, | 428 | {0x01, 0x27, {0x0d3,9094,100,-1,0,0x00,0xbe,0x18,0xa5,0x11,0x08,0x0}}, |
429 | {0x28, 0x2d, {0x0da,8335,100,-1,0,0x00,0xbe,0x18,0xa5,0x11,0x08,0x0}}, | 429 | {0x28, 0x2d, {0x0da,8335,100,-1,0,0x00,0xbe,0x18,0xa5,0x11,0x08,0x0}}, |
430 | {0x2e, 0x33, {0x0d4,7558,100,-1,0,0x00,0xbe,0x18,0xa5,0x11,0x08,0x0}}, | 430 | {0x2e, 0x33, {0x0d4,7558,100,-1,0,0x00,0xbe,0x18,0xa5,0x11,0x08,0x0}}, |
@@ -450,7 +450,7 @@ static const opl4_region_t regions_3e[] = { /* Synth Brass 1 */ | |||
450 | {0x5e, 0x64, {0x122,1421,100, 1,1,0x00,0xbe,0x19,0x85,0x23,0x08,0x0}}, | 450 | {0x5e, 0x64, {0x122,1421,100, 1,1,0x00,0xbe,0x19,0x85,0x23,0x08,0x0}}, |
451 | {0x65, 0x7f, {0x123,-115,100, 1,1,0x00,0xbe,0x19,0x85,0x23,0x08,0x0}} | 451 | {0x65, 0x7f, {0x123,-115,100, 1,1,0x00,0xbe,0x19,0x85,0x23,0x08,0x0}} |
452 | }; | 452 | }; |
453 | static const opl4_region_t regions_3f[] = { /* Synth Brass 2 */ | 453 | static const struct opl4_region regions_3f[] = { /* Synth Brass 2 */ |
454 | {0x01, 0x27, {0x118,9113,100, 3,6,0x00,0xae,0x26,0x85,0x23,0x08,0x0}}, | 454 | {0x01, 0x27, {0x118,9113,100, 3,6,0x00,0xae,0x26,0x85,0x23,0x08,0x0}}, |
455 | {0x28, 0x2d, {0x119,8350,100, 3,6,0x00,0xae,0x26,0x85,0x23,0x08,0x0}}, | 455 | {0x28, 0x2d, {0x119,8350,100, 3,6,0x00,0xae,0x26,0x85,0x23,0x08,0x0}}, |
456 | {0x2e, 0x33, {0x11a,7575,100, 3,6,0x00,0xae,0x26,0x85,0x23,0x08,0x0}}, | 456 | {0x2e, 0x33, {0x11a,7575,100, 3,6,0x00,0xae,0x26,0x85,0x23,0x08,0x0}}, |
@@ -465,7 +465,7 @@ static const opl4_region_t regions_3f[] = { /* Synth Brass 2 */ | |||
465 | {0x65, 0x7f, {0x123,-105,100, 3,6,0x00,0xae,0x26,0x85,0x23,0x08,0x0}}, | 465 | {0x65, 0x7f, {0x123,-105,100, 3,6,0x00,0xae,0x26,0x85,0x23,0x08,0x0}}, |
466 | {0x00, 0x7f, {0x124,4034,100,-3,2,0x00,0xea,0x22,0x85,0x23,0x08,0x0}} | 466 | {0x00, 0x7f, {0x124,4034,100,-3,2,0x00,0xea,0x22,0x85,0x23,0x08,0x0}} |
467 | }; | 467 | }; |
468 | static const opl4_region_t regions_40[] = { /* Soprano Sax */ | 468 | static const struct opl4_region regions_40[] = { /* Soprano Sax */ |
469 | {0x15, 0x3f, {0x0e3,4228,100, 0,1,0x00,0xc8,0x21,0xf5,0x20,0x0a,0x0}}, | 469 | {0x15, 0x3f, {0x0e3,4228,100, 0,1,0x00,0xc8,0x21,0xf5,0x20,0x0a,0x0}}, |
470 | {0x40, 0x45, {0x0e4,3495,100, 0,1,0x00,0xc8,0x21,0xf5,0x20,0x0a,0x0}}, | 470 | {0x40, 0x45, {0x0e4,3495,100, 0,1,0x00,0xc8,0x21,0xf5,0x20,0x0a,0x0}}, |
471 | {0x46, 0x4b, {0x0e5,2660,100, 0,1,0x00,0xd6,0x21,0xf5,0x20,0x0a,0x0}}, | 471 | {0x46, 0x4b, {0x0e5,2660,100, 0,1,0x00,0xd6,0x21,0xf5,0x20,0x0a,0x0}}, |
@@ -473,7 +473,7 @@ static const opl4_region_t regions_40[] = { /* Soprano Sax */ | |||
473 | {0x52, 0x59, {0x0e7,1186,100, 0,1,0x00,0xd6,0x21,0xf5,0x20,0x0a,0x0}}, | 473 | {0x52, 0x59, {0x0e7,1186,100, 0,1,0x00,0xd6,0x21,0xf5,0x20,0x0a,0x0}}, |
474 | {0x59, 0x6c, {0x0e8,1730,100, 0,1,0x00,0xc8,0x21,0xf5,0x20,0x0a,0x0}} | 474 | {0x59, 0x6c, {0x0e8,1730,100, 0,1,0x00,0xc8,0x21,0xf5,0x20,0x0a,0x0}} |
475 | }; | 475 | }; |
476 | static const opl4_region_t regions_41[] = { /* Alto Sax */ | 476 | static const struct opl4_region regions_41[] = { /* Alto Sax */ |
477 | {0x15, 0x32, {0x092,6204,100, 0,1,0x00,0xbe,0x19,0xf5,0x20,0x0b,0x0}}, | 477 | {0x15, 0x32, {0x092,6204,100, 0,1,0x00,0xbe,0x19,0xf5,0x20,0x0b,0x0}}, |
478 | {0x33, 0x35, {0x096,5812,100, 0,1,0x00,0xbe,0x19,0xf5,0x20,0x0b,0x0}}, | 478 | {0x33, 0x35, {0x096,5812,100, 0,1,0x00,0xbe,0x19,0xf5,0x20,0x0b,0x0}}, |
479 | {0x36, 0x3a, {0x099,5318,100, 0,1,0x00,0xbe,0x19,0xf5,0x20,0x0b,0x0}}, | 479 | {0x36, 0x3a, {0x099,5318,100, 0,1,0x00,0xbe,0x19,0xf5,0x20,0x0b,0x0}}, |
@@ -488,7 +488,7 @@ static const opl4_region_t regions_41[] = { /* Alto Sax */ | |||
488 | {0x51, 0x53, {0x091,2088,100, 0,1,0x00,0xbe,0x19,0xf5,0x20,0x0b,0x0}}, | 488 | {0x51, 0x53, {0x091,2088,100, 0,1,0x00,0xbe,0x19,0xf5,0x20,0x0b,0x0}}, |
489 | {0x54, 0x6c, {0x095,1732,100, 0,1,0x00,0xbe,0x19,0xf5,0x20,0x0b,0x0}} | 489 | {0x54, 0x6c, {0x095,1732,100, 0,1,0x00,0xbe,0x19,0xf5,0x20,0x0b,0x0}} |
490 | }; | 490 | }; |
491 | static const opl4_region_t regions_42[] = { /* Tenor Sax */ | 491 | static const struct opl4_region regions_42[] = { /* Tenor Sax */ |
492 | {0x24, 0x30, {0x0e9,6301,100, 0,1,0x00,0xbc,0x19,0xf4,0x10,0x0b,0x0}}, | 492 | {0x24, 0x30, {0x0e9,6301,100, 0,1,0x00,0xbc,0x19,0xf4,0x10,0x0b,0x0}}, |
493 | {0x31, 0x34, {0x0ea,5781,100, 0,1,0x00,0xbc,0x19,0xf4,0x10,0x0b,0x0}}, | 493 | {0x31, 0x34, {0x0ea,5781,100, 0,1,0x00,0xbc,0x19,0xf4,0x10,0x0b,0x0}}, |
494 | {0x35, 0x3a, {0x0eb,5053,100, 0,1,0x00,0xbc,0x19,0xf4,0x10,0x0b,0x0}}, | 494 | {0x35, 0x3a, {0x0eb,5053,100, 0,1,0x00,0xbc,0x19,0xf4,0x10,0x0b,0x0}}, |
@@ -497,13 +497,13 @@ static const opl4_region_t regions_42[] = { /* Tenor Sax */ | |||
497 | {0x48, 0x51, {0x0ee,2462,100, 0,1,0x00,0xbc,0x19,0xf4,0x10,0x0b,0x0}}, | 497 | {0x48, 0x51, {0x0ee,2462,100, 0,1,0x00,0xbc,0x19,0xf4,0x10,0x0b,0x0}}, |
498 | {0x52, 0x6c, {0x0ef,1421,100, 0,1,0x00,0xbc,0x19,0xf4,0x10,0x0b,0x0}} | 498 | {0x52, 0x6c, {0x0ef,1421,100, 0,1,0x00,0xbc,0x19,0xf4,0x10,0x0b,0x0}} |
499 | }; | 499 | }; |
500 | static const opl4_region_t regions_43[] = { /* Baritone Sax */ | 500 | static const struct opl4_region regions_43[] = { /* Baritone Sax */ |
501 | {0x15, 0x2d, {0x0df,6714,100, 0,1,0x00,0xce,0x19,0xf0,0x00,0x0a,0x0}}, | 501 | {0x15, 0x2d, {0x0df,6714,100, 0,1,0x00,0xce,0x19,0xf0,0x00,0x0a,0x0}}, |
502 | {0x2e, 0x34, {0x0e1,5552,100, 0,1,0x00,0xce,0x19,0xf0,0x00,0x0a,0x0}}, | 502 | {0x2e, 0x34, {0x0e1,5552,100, 0,1,0x00,0xce,0x19,0xf0,0x00,0x0a,0x0}}, |
503 | {0x35, 0x39, {0x0e2,5178,100, 0,1,0x00,0xce,0x19,0xf0,0x00,0x0a,0x0}}, | 503 | {0x35, 0x39, {0x0e2,5178,100, 0,1,0x00,0xce,0x19,0xf0,0x00,0x0a,0x0}}, |
504 | {0x3a, 0x6c, {0x0e0,4437,100, 0,1,0x00,0xce,0x19,0xf0,0x00,0x0a,0x0}} | 504 | {0x3a, 0x6c, {0x0e0,4437,100, 0,1,0x00,0xce,0x19,0xf0,0x00,0x0a,0x0}} |
505 | }; | 505 | }; |
506 | static const opl4_region_t regions_44[] = { /* Oboe */ | 506 | static const struct opl4_region regions_44[] = { /* Oboe */ |
507 | {0x15, 0x3c, {0x042,4493,100, 0,1,0x00,0xe6,0x39,0xf4,0x10,0x0a,0x0}}, | 507 | {0x15, 0x3c, {0x042,4493,100, 0,1,0x00,0xe6,0x39,0xf4,0x10,0x0a,0x0}}, |
508 | {0x3d, 0x43, {0x044,3702,100, 0,1,0x00,0xdc,0x39,0xf4,0x10,0x0a,0x0}}, | 508 | {0x3d, 0x43, {0x044,3702,100, 0,1,0x00,0xdc,0x39,0xf4,0x10,0x0a,0x0}}, |
509 | {0x44, 0x49, {0x043,2956,100, 0,1,0x00,0xdc,0x39,0xf4,0x10,0x0a,0x0}}, | 509 | {0x44, 0x49, {0x043,2956,100, 0,1,0x00,0xdc,0x39,0xf4,0x10,0x0a,0x0}}, |
@@ -511,55 +511,55 @@ static const opl4_region_t regions_44[] = { /* Oboe */ | |||
511 | {0x50, 0x55, {0x045,1420,100, 0,1,0x00,0xdc,0x39,0xf4,0x10,0x0a,0x0}}, | 511 | {0x50, 0x55, {0x045,1420,100, 0,1,0x00,0xdc,0x39,0xf4,0x10,0x0a,0x0}}, |
512 | {0x56, 0x6c, {0x047, 630,100, 0,1,0x00,0xe6,0x39,0xf4,0x10,0x0a,0x0}} | 512 | {0x56, 0x6c, {0x047, 630,100, 0,1,0x00,0xe6,0x39,0xf4,0x10,0x0a,0x0}} |
513 | }; | 513 | }; |
514 | static const opl4_region_t regions_45[] = { /* English Horn */ | 514 | static const struct opl4_region regions_45[] = { /* English Horn */ |
515 | {0x15, 0x38, {0x03c,5098,100, 0,1,0x00,0xc4,0x31,0xf0,0x00,0x09,0x0}}, | 515 | {0x15, 0x38, {0x03c,5098,100, 0,1,0x00,0xc4,0x31,0xf0,0x00,0x09,0x0}}, |
516 | {0x39, 0x3e, {0x03b,4291,100, 0,1,0x00,0xc4,0x31,0xf0,0x00,0x09,0x0}}, | 516 | {0x39, 0x3e, {0x03b,4291,100, 0,1,0x00,0xc4,0x31,0xf0,0x00,0x09,0x0}}, |
517 | {0x3f, 0x6c, {0x03d,3540,100, 0,1,0x00,0xc4,0x31,0xf0,0x00,0x09,0x0}} | 517 | {0x3f, 0x6c, {0x03d,3540,100, 0,1,0x00,0xc4,0x31,0xf0,0x00,0x09,0x0}} |
518 | }; | 518 | }; |
519 | static const opl4_region_t regions_46[] = { /* Bassoon */ | 519 | static const struct opl4_region regions_46[] = { /* Bassoon */ |
520 | {0x15, 0x22, {0x038,7833,100, 0,1,0x00,0xc6,0x31,0xf0,0x00,0x0b,0x0}}, | 520 | {0x15, 0x22, {0x038,7833,100, 0,1,0x00,0xc6,0x31,0xf0,0x00,0x0b,0x0}}, |
521 | {0x23, 0x2e, {0x03a,7070,100, 0,1,0x00,0xc6,0x31,0xf0,0x00,0x0b,0x0}}, | 521 | {0x23, 0x2e, {0x03a,7070,100, 0,1,0x00,0xc6,0x31,0xf0,0x00,0x0b,0x0}}, |
522 | {0x2f, 0x6c, {0x039,6302,100, 0,1,0x00,0xc6,0x31,0xf0,0x00,0x0b,0x0}} | 522 | {0x2f, 0x6c, {0x039,6302,100, 0,1,0x00,0xc6,0x31,0xf0,0x00,0x0b,0x0}} |
523 | }; | 523 | }; |
524 | static const opl4_region_t regions_47[] = { /* Clarinet */ | 524 | static const struct opl4_region regions_47[] = { /* Clarinet */ |
525 | {0x15, 0x3b, {0x09e,5900,100, 0,1,0x00,0xc8,0x29,0xf3,0x20,0x0a,0x0}}, | 525 | {0x15, 0x3b, {0x09e,5900,100, 0,1,0x00,0xc8,0x29,0xf3,0x20,0x0a,0x0}}, |
526 | {0x3c, 0x41, {0x0a0,5158,100, 0,1,0x00,0xc8,0x29,0xf3,0x20,0x0a,0x0}}, | 526 | {0x3c, 0x41, {0x0a0,5158,100, 0,1,0x00,0xc8,0x29,0xf3,0x20,0x0a,0x0}}, |
527 | {0x42, 0x4a, {0x09f,4260,100, 0,1,0x00,0xc8,0x29,0xf3,0x20,0x0a,0x0}}, | 527 | {0x42, 0x4a, {0x09f,4260,100, 0,1,0x00,0xc8,0x29,0xf3,0x20,0x0a,0x0}}, |
528 | {0x4b, 0x6c, {0x0a1,2957,100, 0,1,0x00,0xc8,0x29,0xf3,0x20,0x0a,0x0}} | 528 | {0x4b, 0x6c, {0x0a1,2957,100, 0,1,0x00,0xc8,0x29,0xf3,0x20,0x0a,0x0}} |
529 | }; | 529 | }; |
530 | static const opl4_region_t regions_48[] = { /* Piccolo */ | 530 | static const struct opl4_region regions_48[] = { /* Piccolo */ |
531 | {0x15, 0x40, {0x071,4803,100, 0,0,0x00,0xe6,0x38,0xf0,0x00,0x0a,0x2}}, | 531 | {0x15, 0x40, {0x071,4803,100, 0,0,0x00,0xe6,0x38,0xf0,0x00,0x0a,0x2}}, |
532 | {0x41, 0x4d, {0x072,3314,100, 0,0,0x00,0xe6,0x38,0xf0,0x00,0x0a,0x2}}, | 532 | {0x41, 0x4d, {0x072,3314,100, 0,0,0x00,0xe6,0x38,0xf0,0x00,0x0a,0x2}}, |
533 | {0x4e, 0x53, {0x073,1731,100, 0,0,0x00,0xe6,0x38,0xf0,0x00,0x0a,0x2}}, | 533 | {0x4e, 0x53, {0x073,1731,100, 0,0,0x00,0xe6,0x38,0xf0,0x00,0x0a,0x2}}, |
534 | {0x54, 0x5f, {0x074,2085,100, 0,0,0x00,0xe6,0x38,0xf0,0x00,0x0a,0x2}}, | 534 | {0x54, 0x5f, {0x074,2085,100, 0,0,0x00,0xe6,0x38,0xf0,0x00,0x0a,0x2}}, |
535 | {0x60, 0x6c, {0x075,1421,100, 0,0,0x00,0xe6,0x38,0xf0,0x00,0x0a,0x2}} | 535 | {0x60, 0x6c, {0x075,1421,100, 0,0,0x00,0xe6,0x38,0xf0,0x00,0x0a,0x2}} |
536 | }; | 536 | }; |
537 | static const opl4_region_t regions_49[] = { /* Flute */ | 537 | static const struct opl4_region regions_49[] = { /* Flute */ |
538 | {0x15, 0x40, {0x071,4803,100, 0,0,0x00,0xdc,0x38,0xf0,0x00,0x0a,0x2}}, | 538 | {0x15, 0x40, {0x071,4803,100, 0,0,0x00,0xdc,0x38,0xf0,0x00,0x0a,0x2}}, |
539 | {0x41, 0x4d, {0x072,3314,100, 0,0,0x00,0xdc,0x38,0xf0,0x00,0x0a,0x2}}, | 539 | {0x41, 0x4d, {0x072,3314,100, 0,0,0x00,0xdc,0x38,0xf0,0x00,0x0a,0x2}}, |
540 | {0x4e, 0x6c, {0x073,1731,100, 0,0,0x00,0xe6,0x38,0xf0,0x00,0x0a,0x2}} | 540 | {0x4e, 0x6c, {0x073,1731,100, 0,0,0x00,0xe6,0x38,0xf0,0x00,0x0a,0x2}} |
541 | }; | 541 | }; |
542 | static const opl4_region_t regions_4a[] = { /* Recorder */ | 542 | static const struct opl4_region regions_4a[] = { /* Recorder */ |
543 | {0x15, 0x6f, {0x0bd,4897,100, 0,0,0x00,0xec,0x30,0x70,0x00,0x09,0x1}} | 543 | {0x15, 0x6f, {0x0bd,4897,100, 0,0,0x00,0xec,0x30,0x70,0x00,0x09,0x1}} |
544 | }; | 544 | }; |
545 | static const opl4_region_t regions_4b[] = { /* Pan Flute */ | 545 | static const struct opl4_region regions_4b[] = { /* Pan Flute */ |
546 | {0x15, 0x6c, {0x077,2359,100, 0,0,0x00,0xde,0x38,0xf0,0x00,0x09,0x3}} | 546 | {0x15, 0x6c, {0x077,2359,100, 0,0,0x00,0xde,0x38,0xf0,0x00,0x09,0x3}} |
547 | }; | 547 | }; |
548 | static const opl4_region_t regions_4c[] = { /* Bottle Blow */ | 548 | static const struct opl4_region regions_4c[] = { /* Bottle Blow */ |
549 | {0x15, 0x6c, {0x077,2359,100, 0,0,0x00,0xc8,0x38,0xf0,0x00,0x09,0x1}}, | 549 | {0x15, 0x6c, {0x077,2359,100, 0,0,0x00,0xc8,0x38,0xf0,0x00,0x09,0x1}}, |
550 | {0x01, 0x7f, {0x125,7372,100, 0,0,0x1e,0x80,0x00,0xf0,0x00,0x09,0x0}} | 550 | {0x01, 0x7f, {0x125,7372,100, 0,0,0x1e,0x80,0x00,0xf0,0x00,0x09,0x0}} |
551 | }; | 551 | }; |
552 | static const opl4_region_t regions_4d[] = { /* Shakuhachi */ | 552 | static const struct opl4_region regions_4d[] = { /* Shakuhachi */ |
553 | {0x00, 0x7f, {0x0ab,4548,100, 0,0,0x00,0xd6,0x30,0xf0,0x00,0x0a,0x3}}, | 553 | {0x00, 0x7f, {0x0ab,4548,100, 0,0,0x00,0xd6,0x30,0xf0,0x00,0x0a,0x3}}, |
554 | {0x15, 0x6c, {0x076,3716,100, 0,0,0x00,0xa2,0x28,0x70,0x00,0x09,0x2}} | 554 | {0x15, 0x6c, {0x076,3716,100, 0,0,0x00,0xa2,0x28,0x70,0x00,0x09,0x2}} |
555 | }; | 555 | }; |
556 | static const opl4_region_t regions_4e[] = { /* Whistle */ | 556 | static const struct opl4_region regions_4e[] = { /* Whistle */ |
557 | {0x00, 0x7f, {0x0aa,1731,100, 0,4,0x00,0xd2,0x2c,0x70,0x00,0x0a,0x0}} | 557 | {0x00, 0x7f, {0x0aa,1731,100, 0,4,0x00,0xd2,0x2c,0x70,0x00,0x0a,0x0}} |
558 | }; | 558 | }; |
559 | static const opl4_region_t regions_4f[] = { /* Ocarina */ | 559 | static const struct opl4_region regions_4f[] = { /* Ocarina */ |
560 | {0x00, 0x7f, {0x0aa,1731,100, 0,1,0x00,0xce,0x29,0x90,0x00,0x0a,0x1}} | 560 | {0x00, 0x7f, {0x0aa,1731,100, 0,1,0x00,0xce,0x29,0x90,0x00,0x0a,0x1}} |
561 | }; | 561 | }; |
562 | static const opl4_region_t regions_50[] = { /* Square Lead */ | 562 | static const struct opl4_region regions_50[] = { /* Square Lead */ |
563 | {0x01, 0x2a, {0x0cc,9853,100, 3,0,0x00,0xac,0x38,0xc6,0x21,0x09,0x0}}, | 563 | {0x01, 0x2a, {0x0cc,9853,100, 3,0,0x00,0xac,0x38,0xc6,0x21,0x09,0x0}}, |
564 | {0x2b, 0x36, {0x0cd,6785,100, 3,0,0x00,0xac,0x38,0xc6,0x21,0x09,0x0}}, | 564 | {0x2b, 0x36, {0x0cd,6785,100, 3,0,0x00,0xac,0x38,0xc6,0x21,0x09,0x0}}, |
565 | {0x37, 0x42, {0x0ca,5248,100, 3,0,0x00,0xac,0x38,0xc6,0x21,0x09,0x0}}, | 565 | {0x37, 0x42, {0x0ca,5248,100, 3,0,0x00,0xac,0x38,0xc6,0x21,0x09,0x0}}, |
@@ -573,7 +573,7 @@ static const opl4_region_t regions_50[] = { /* Square Lead */ | |||
573 | {0x4f, 0x5a, {0x0ce,2167,100,-3,0,0x00,0xac,0x08,0xc6,0x21,0x09,0x0}}, | 573 | {0x4f, 0x5a, {0x0ce,2167,100,-3,0,0x00,0xac,0x08,0xc6,0x21,0x09,0x0}}, |
574 | {0x5b, 0x7f, {0x0cb, 631,100,-3,0,0x00,0xac,0x08,0xc6,0x21,0x09,0x0}} | 574 | {0x5b, 0x7f, {0x0cb, 631,100,-3,0,0x00,0xac,0x08,0xc6,0x21,0x09,0x0}} |
575 | }; | 575 | }; |
576 | static const opl4_region_t regions_51[] = { /* Sawtooth Lead */ | 576 | static const struct opl4_region regions_51[] = { /* Sawtooth Lead */ |
577 | {0x01, 0x27, {0x118,9108,100, 0,0,0x00,0xc8,0x30,0xf2,0x22,0x0a,0x0}}, | 577 | {0x01, 0x27, {0x118,9108,100, 0,0,0x00,0xc8,0x30,0xf2,0x22,0x0a,0x0}}, |
578 | {0x28, 0x2d, {0x119,8345,100, 0,0,0x00,0xc8,0x30,0xf2,0x22,0x0a,0x0}}, | 578 | {0x28, 0x2d, {0x119,8345,100, 0,0,0x00,0xc8,0x30,0xf2,0x22,0x0a,0x0}}, |
579 | {0x2e, 0x33, {0x11a,7570,100, 0,0,0x00,0xc8,0x30,0xf2,0x22,0x0a,0x0}}, | 579 | {0x2e, 0x33, {0x11a,7570,100, 0,0,0x00,0xc8,0x30,0xf2,0x22,0x0a,0x0}}, |
@@ -599,15 +599,15 @@ static const opl4_region_t regions_51[] = { /* Sawtooth Lead */ | |||
599 | {0x5e, 0x66, {0x122,1416,100, 0,0,0x00,0xc8,0x30,0xf2,0x22,0x0a,0x0}}, | 599 | {0x5e, 0x66, {0x122,1416,100, 0,0,0x00,0xc8,0x30,0xf2,0x22,0x0a,0x0}}, |
600 | {0x67, 0x7f, {0x123,-120,100, 0,0,0x00,0xc8,0x30,0xf2,0x22,0x0a,0x0}} | 600 | {0x67, 0x7f, {0x123,-120,100, 0,0,0x00,0xc8,0x30,0xf2,0x22,0x0a,0x0}} |
601 | }; | 601 | }; |
602 | static const opl4_region_t regions_52[] = { /* Calliope Lead */ | 602 | static const struct opl4_region regions_52[] = { /* Calliope Lead */ |
603 | {0x00, 0x7f, {0x0aa,1731,100, 0,0,0x00,0xc2,0x28,0x90,0x00,0x0a,0x2}}, | 603 | {0x00, 0x7f, {0x0aa,1731,100, 0,0,0x00,0xc2,0x28,0x90,0x00,0x0a,0x2}}, |
604 | {0x15, 0x6c, {0x076,3716,100, 0,0,0x00,0xb6,0x28,0xb0,0x00,0x09,0x2}} | 604 | {0x15, 0x6c, {0x076,3716,100, 0,0,0x00,0xb6,0x28,0xb0,0x00,0x09,0x2}} |
605 | }; | 605 | }; |
606 | static const opl4_region_t regions_53[] = { /* Chiffer Lead */ | 606 | static const struct opl4_region regions_53[] = { /* Chiffer Lead */ |
607 | {0x00, 0x7f, {0x13a,3665,100, 0,2,0x00,0xcc,0x2a,0xf0,0x10,0x09,0x1}}, | 607 | {0x00, 0x7f, {0x13a,3665,100, 0,2,0x00,0xcc,0x2a,0xf0,0x10,0x09,0x1}}, |
608 | {0x01, 0x7f, {0x0fe,3660,100, 0,0,0x00,0xbe,0x28,0xf3,0x10,0x17,0x0}} | 608 | {0x01, 0x7f, {0x0fe,3660,100, 0,0,0x00,0xbe,0x28,0xf3,0x10,0x17,0x0}} |
609 | }; | 609 | }; |
610 | static const opl4_region_t regions_54[] = { /* Charang Lead */ | 610 | static const struct opl4_region regions_54[] = { /* Charang Lead */ |
611 | {0x00, 0x40, {0x0a5,6594,100, 0,3,0x00,0xba,0x33,0xf2,0x11,0x09,0x0}}, | 611 | {0x00, 0x40, {0x0a5,6594,100, 0,3,0x00,0xba,0x33,0xf2,0x11,0x09,0x0}}, |
612 | {0x41, 0x7f, {0x0a6,5433,100, 0,3,0x00,0xba,0x33,0xf2,0x11,0x09,0x0}}, | 612 | {0x41, 0x7f, {0x0a6,5433,100, 0,3,0x00,0xba,0x33,0xf2,0x11,0x09,0x0}}, |
613 | {0x01, 0x27, {0x118,9098,100, 0,2,0x00,0xa4,0x2a,0xf2,0x22,0x0e,0x0}}, | 613 | {0x01, 0x27, {0x118,9098,100, 0,2,0x00,0xa4,0x2a,0xf2,0x22,0x0e,0x0}}, |
@@ -623,11 +623,11 @@ static const opl4_region_t regions_54[] = { /* Charang Lead */ | |||
623 | {0x5e, 0x66, {0x122,1416,100, 0,2,0x00,0xa4,0x2a,0xf2,0x22,0x0e,0x0}}, | 623 | {0x5e, 0x66, {0x122,1416,100, 0,2,0x00,0xa4,0x2a,0xf2,0x22,0x0e,0x0}}, |
624 | {0x67, 0x7f, {0x123,-120,100, 0,2,0x00,0xa4,0x2a,0xf2,0x22,0x0e,0x0}} | 624 | {0x67, 0x7f, {0x123,-120,100, 0,2,0x00,0xa4,0x2a,0xf2,0x22,0x0e,0x0}} |
625 | }; | 625 | }; |
626 | static const opl4_region_t regions_55[] = { /* Voice Lead */ | 626 | static const struct opl4_region regions_55[] = { /* Voice Lead */ |
627 | {0x00, 0x7f, {0x0aa,1739,100, 0,6,0x00,0x8c,0x2e,0x90,0x00,0x0a,0x0}}, | 627 | {0x00, 0x7f, {0x0aa,1739,100, 0,6,0x00,0x8c,0x2e,0x90,0x00,0x0a,0x0}}, |
628 | {0x15, 0x6c, {0x02a,3474,100, 0,1,0x00,0xd8,0x29,0xf0,0x05,0x0a,0x0}} | 628 | {0x15, 0x6c, {0x02a,3474,100, 0,1,0x00,0xd8,0x29,0xf0,0x05,0x0a,0x0}} |
629 | }; | 629 | }; |
630 | static const opl4_region_t regions_56[] = { /* 5ths Lead */ | 630 | static const struct opl4_region regions_56[] = { /* 5ths Lead */ |
631 | {0x01, 0x27, {0x118,8468,100, 0,2,0x00,0xd0,0x32,0xf5,0x20,0x08,0x0}}, | 631 | {0x01, 0x27, {0x118,8468,100, 0,2,0x00,0xd0,0x32,0xf5,0x20,0x08,0x0}}, |
632 | {0x28, 0x2d, {0x119,7705,100, 0,2,0x00,0xd0,0x32,0xf5,0x20,0x08,0x0}}, | 632 | {0x28, 0x2d, {0x119,7705,100, 0,2,0x00,0xd0,0x32,0xf5,0x20,0x08,0x0}}, |
633 | {0x2e, 0x33, {0x11a,6930,100, 0,2,0x00,0xd0,0x32,0xf5,0x20,0x08,0x0}}, | 633 | {0x2e, 0x33, {0x11a,6930,100, 0,2,0x00,0xd0,0x32,0xf5,0x20,0x08,0x0}}, |
@@ -642,7 +642,7 @@ static const opl4_region_t regions_56[] = { /* 5ths Lead */ | |||
642 | {0x65, 0x7f, {0x123,-750,100, 0,2,0x00,0xd0,0x32,0xf5,0x20,0x08,0x0}}, | 642 | {0x65, 0x7f, {0x123,-750,100, 0,2,0x00,0xd0,0x32,0xf5,0x20,0x08,0x0}}, |
643 | {0x05, 0x71, {0x002,4503,100, 0,1,0x00,0xb8,0x31,0xb3,0x20,0x0b,0x0}} | 643 | {0x05, 0x71, {0x002,4503,100, 0,1,0x00,0xb8,0x31,0xb3,0x20,0x0b,0x0}} |
644 | }; | 644 | }; |
645 | static const opl4_region_t regions_57[] = { /* Bass & Lead */ | 645 | static const struct opl4_region regions_57[] = { /* Bass & Lead */ |
646 | {0x00, 0x7f, {0x117,8109,100, 0,1,0x00,0xbc,0x29,0xf3,0x50,0x08,0x0}}, | 646 | {0x00, 0x7f, {0x117,8109,100, 0,1,0x00,0xbc,0x29,0xf3,0x50,0x08,0x0}}, |
647 | {0x01, 0x27, {0x118,9097,100, 0,2,0x00,0xbc,0x2a,0xf2,0x20,0x0a,0x0}}, | 647 | {0x01, 0x27, {0x118,9097,100, 0,2,0x00,0xbc,0x2a,0xf2,0x20,0x0a,0x0}}, |
648 | {0x28, 0x2d, {0x119,8334,100, 0,2,0x00,0xbc,0x2a,0xf2,0x20,0x0a,0x0}}, | 648 | {0x28, 0x2d, {0x119,8334,100, 0,2,0x00,0xbc,0x2a,0xf2,0x20,0x0a,0x0}}, |
@@ -657,15 +657,15 @@ static const opl4_region_t regions_57[] = { /* Bass & Lead */ | |||
657 | {0x5e, 0x66, {0x122,1415,100, 0,2,0x00,0xbc,0x2a,0xf2,0x20,0x0a,0x0}}, | 657 | {0x5e, 0x66, {0x122,1415,100, 0,2,0x00,0xbc,0x2a,0xf2,0x20,0x0a,0x0}}, |
658 | {0x67, 0x7f, {0x123,-121,100, 0,2,0x00,0xbc,0x2a,0xf2,0x20,0x0a,0x0}} | 658 | {0x67, 0x7f, {0x123,-121,100, 0,2,0x00,0xbc,0x2a,0xf2,0x20,0x0a,0x0}} |
659 | }; | 659 | }; |
660 | static const opl4_region_t regions_58[] = { /* New Age Pad */ | 660 | static const struct opl4_region regions_58[] = { /* New Age Pad */ |
661 | {0x15, 0x6c, {0x002,4501,100, 0,4,0x00,0xa4,0x24,0x80,0x01,0x05,0x0}}, | 661 | {0x15, 0x6c, {0x002,4501,100, 0,4,0x00,0xa4,0x24,0x80,0x01,0x05,0x0}}, |
662 | {0x15, 0x6c, {0x0f3,4253,100, 0,3,0x00,0x8c,0x23,0xa2,0x14,0x06,0x1}} | 662 | {0x15, 0x6c, {0x0f3,4253,100, 0,3,0x00,0x8c,0x23,0xa2,0x14,0x06,0x1}} |
663 | }; | 663 | }; |
664 | static const opl4_region_t regions_59[] = { /* Warm Pad */ | 664 | static const struct opl4_region regions_59[] = { /* Warm Pad */ |
665 | {0x15, 0x6c, {0x04e,5306,100, 2,2,0x00,0x92,0x2a,0x34,0x23,0x05,0x2}}, | 665 | {0x15, 0x6c, {0x04e,5306,100, 2,2,0x00,0x92,0x2a,0x34,0x23,0x05,0x2}}, |
666 | {0x15, 0x6c, {0x029,3575,100,-2,2,0x00,0xbe,0x22,0x31,0x23,0x06,0x0}} | 666 | {0x15, 0x6c, {0x029,3575,100,-2,2,0x00,0xbe,0x22,0x31,0x23,0x06,0x0}} |
667 | }; | 667 | }; |
668 | static const opl4_region_t regions_5a[] = { /* Polysynth Pad */ | 668 | static const struct opl4_region regions_5a[] = { /* Polysynth Pad */ |
669 | {0x01, 0x27, {0x118,9111,100, 0,3,0x00,0xae,0x23,0xf2,0x20,0x07,0x1}}, | 669 | {0x01, 0x27, {0x118,9111,100, 0,3,0x00,0xae,0x23,0xf2,0x20,0x07,0x1}}, |
670 | {0x28, 0x2d, {0x119,8348,100, 0,3,0x00,0xae,0x23,0xf2,0x20,0x07,0x1}}, | 670 | {0x28, 0x2d, {0x119,8348,100, 0,3,0x00,0xae,0x23,0xf2,0x20,0x07,0x1}}, |
671 | {0x2e, 0x33, {0x11a,7573,100, 0,3,0x00,0xae,0x23,0xf2,0x20,0x07,0x1}}, | 671 | {0x2e, 0x33, {0x11a,7573,100, 0,3,0x00,0xae,0x23,0xf2,0x20,0x07,0x1}}, |
@@ -680,29 +680,29 @@ static const opl4_region_t regions_5a[] = { /* Polysynth Pad */ | |||
680 | {0x67, 0x7f, {0x123,-107,100, 0,3,0x00,0xae,0x23,0xf2,0x20,0x07,0x1}}, | 680 | {0x67, 0x7f, {0x123,-107,100, 0,3,0x00,0xae,0x23,0xf2,0x20,0x07,0x1}}, |
681 | {0x00, 0x7f, {0x124,4024,100, 0,2,0x00,0xae,0x22,0xe5,0x20,0x08,0x0}} | 681 | {0x00, 0x7f, {0x124,4024,100, 0,2,0x00,0xae,0x22,0xe5,0x20,0x08,0x0}} |
682 | }; | 682 | }; |
683 | static const opl4_region_t regions_5b[] = { /* Choir Pad */ | 683 | static const struct opl4_region regions_5b[] = { /* Choir Pad */ |
684 | {0x15, 0x3a, {0x018,5010,100, 0,5,0x00,0xb0,0x25,0x70,0x00,0x06,0x0}}, | 684 | {0x15, 0x3a, {0x018,5010,100, 0,5,0x00,0xb0,0x25,0x70,0x00,0x06,0x0}}, |
685 | {0x3b, 0x40, {0x019,4370,100, 0,5,0x00,0xb0,0x25,0x70,0x00,0x06,0x0}}, | 685 | {0x3b, 0x40, {0x019,4370,100, 0,5,0x00,0xb0,0x25,0x70,0x00,0x06,0x0}}, |
686 | {0x41, 0x47, {0x01a,3478,100, 0,5,0x00,0xb0,0x25,0x70,0x00,0x06,0x0}}, | 686 | {0x41, 0x47, {0x01a,3478,100, 0,5,0x00,0xb0,0x25,0x70,0x00,0x06,0x0}}, |
687 | {0x48, 0x6c, {0x01b,2197,100, 0,5,0x00,0xb0,0x25,0x70,0x00,0x06,0x0}}, | 687 | {0x48, 0x6c, {0x01b,2197,100, 0,5,0x00,0xb0,0x25,0x70,0x00,0x06,0x0}}, |
688 | {0x15, 0x6c, {0x02a,3482,100, 0,4,0x00,0x98,0x24,0x65,0x21,0x06,0x0}} | 688 | {0x15, 0x6c, {0x02a,3482,100, 0,4,0x00,0x98,0x24,0x65,0x21,0x06,0x0}} |
689 | }; | 689 | }; |
690 | static const opl4_region_t regions_5c[] = { /* Bowed Pad */ | 690 | static const struct opl4_region regions_5c[] = { /* Bowed Pad */ |
691 | {0x15, 0x6c, {0x101,4790,100,-1,1,0x00,0xbe,0x19,0x44,0x14,0x16,0x0}}, | 691 | {0x15, 0x6c, {0x101,4790,100,-1,1,0x00,0xbe,0x19,0x44,0x14,0x16,0x0}}, |
692 | {0x00, 0x7f, {0x0aa,1720,100, 1,1,0x00,0x94,0x19,0x40,0x00,0x06,0x0}} | 692 | {0x00, 0x7f, {0x0aa,1720,100, 1,1,0x00,0x94,0x19,0x40,0x00,0x06,0x0}} |
693 | }; | 693 | }; |
694 | static const opl4_region_t regions_5d[] = { /* Metallic Pad */ | 694 | static const struct opl4_region regions_5d[] = { /* Metallic Pad */ |
695 | {0x15, 0x31, {0x00c,6943,100, 0,2,0x00,0xa0,0x0a,0x60,0x03,0x06,0x0}}, | 695 | {0x15, 0x31, {0x00c,6943,100, 0,2,0x00,0xa0,0x0a,0x60,0x03,0x06,0x0}}, |
696 | {0x32, 0x38, {0x00d,5416,100, 0,2,0x00,0xa0,0x0a,0x60,0x03,0x06,0x0}}, | 696 | {0x32, 0x38, {0x00d,5416,100, 0,2,0x00,0xa0,0x0a,0x60,0x03,0x06,0x0}}, |
697 | {0x39, 0x47, {0x00e,4385,100, 0,2,0x00,0xa0,0x0a,0x60,0x03,0x06,0x0}}, | 697 | {0x39, 0x47, {0x00e,4385,100, 0,2,0x00,0xa0,0x0a,0x60,0x03,0x06,0x0}}, |
698 | {0x48, 0x6c, {0x00f,2849,100, 0,2,0x00,0xa0,0x0a,0x60,0x03,0x06,0x0}}, | 698 | {0x48, 0x6c, {0x00f,2849,100, 0,2,0x00,0xa0,0x0a,0x60,0x03,0x06,0x0}}, |
699 | {0x00, 0x7f, {0x03f,4224,100, 0,1,0x00,0x9c,0x31,0x65,0x16,0x07,0x0}} | 699 | {0x00, 0x7f, {0x03f,4224,100, 0,1,0x00,0x9c,0x31,0x65,0x16,0x07,0x0}} |
700 | }; | 700 | }; |
701 | static const opl4_region_t regions_5e[] = { /* Halo Pad */ | 701 | static const struct opl4_region regions_5e[] = { /* Halo Pad */ |
702 | {0x00, 0x7f, {0x124,4038,100, 0,2,0x00,0xa6,0x1a,0x85,0x23,0x08,0x0}}, | 702 | {0x00, 0x7f, {0x124,4038,100, 0,2,0x00,0xa6,0x1a,0x85,0x23,0x08,0x0}}, |
703 | {0x15, 0x6c, {0x02a,3471,100, 0,3,0x00,0xc0,0x1b,0xc0,0x05,0x06,0x0}} | 703 | {0x15, 0x6c, {0x02a,3471,100, 0,3,0x00,0xc0,0x1b,0xc0,0x05,0x06,0x0}} |
704 | }; | 704 | }; |
705 | static const opl4_region_t regions_5f[] = { /* Sweep Pad */ | 705 | static const struct opl4_region regions_5f[] = { /* Sweep Pad */ |
706 | {0x01, 0x27, {0x0d3,9100,100, 0,1,0x00,0xce,0x19,0x13,0x11,0x06,0x0}}, | 706 | {0x01, 0x27, {0x0d3,9100,100, 0,1,0x00,0xce,0x19,0x13,0x11,0x06,0x0}}, |
707 | {0x28, 0x2d, {0x0da,8341,100, 0,1,0x00,0xce,0x19,0x13,0x11,0x06,0x0}}, | 707 | {0x28, 0x2d, {0x0da,8341,100, 0,1,0x00,0xce,0x19,0x13,0x11,0x06,0x0}}, |
708 | {0x2e, 0x33, {0x0d4,7564,100, 0,1,0x00,0xce,0x19,0x13,0x11,0x06,0x0}}, | 708 | {0x2e, 0x33, {0x0d4,7564,100, 0,1,0x00,0xce,0x19,0x13,0x11,0x06,0x0}}, |
@@ -728,21 +728,21 @@ static const opl4_region_t regions_5f[] = { /* Sweep Pad */ | |||
728 | {0x5e, 0x63, {0x0d8,1415,100, 0,0,0x00,0xce,0x18,0x13,0x11,0x06,0x0}}, | 728 | {0x5e, 0x63, {0x0d8,1415,100, 0,0,0x00,0xce,0x18,0x13,0x11,0x06,0x0}}, |
729 | {0x64, 0x7f, {0x0d9,-121,100, 0,0,0x00,0xce,0x18,0x13,0x11,0x06,0x0}} | 729 | {0x64, 0x7f, {0x0d9,-121,100, 0,0,0x00,0xce,0x18,0x13,0x11,0x06,0x0}} |
730 | }; | 730 | }; |
731 | static const opl4_region_t regions_60[] = { /* Ice Rain */ | 731 | static const struct opl4_region regions_60[] = { /* Ice Rain */ |
732 | {0x01, 0x7f, {0x04e,9345,100, 0,2,0x00,0xcc,0x22,0xa3,0x63,0x17,0x0}}, | 732 | {0x01, 0x7f, {0x04e,9345,100, 0,2,0x00,0xcc,0x22,0xa3,0x63,0x17,0x0}}, |
733 | {0x00, 0x7f, {0x143,5586, 20, 0,2,0x00,0x6e,0x2a,0xf0,0x05,0x05,0x0}} | 733 | {0x00, 0x7f, {0x143,5586, 20, 0,2,0x00,0x6e,0x2a,0xf0,0x05,0x05,0x0}} |
734 | }; | 734 | }; |
735 | static const opl4_region_t regions_61[] = { /* Soundtrack */ | 735 | static const struct opl4_region regions_61[] = { /* Soundtrack */ |
736 | {0x15, 0x6c, {0x002,4501,100, 0,2,0x00,0xb6,0x2a,0x60,0x01,0x05,0x0}}, | 736 | {0x15, 0x6c, {0x002,4501,100, 0,2,0x00,0xb6,0x2a,0x60,0x01,0x05,0x0}}, |
737 | {0x15, 0x6c, {0x0f3,1160,100, 0,5,0x00,0xa8,0x2d,0x52,0x14,0x06,0x2}} | 737 | {0x15, 0x6c, {0x0f3,1160,100, 0,5,0x00,0xa8,0x2d,0x52,0x14,0x06,0x2}} |
738 | }; | 738 | }; |
739 | static const opl4_region_t regions_62[] = { /* Crystal */ | 739 | static const struct opl4_region regions_62[] = { /* Crystal */ |
740 | {0x15, 0x6c, {0x0f3,1826,100, 0,3,0x00,0xb8,0x33,0xf6,0x25,0x25,0x0}}, | 740 | {0x15, 0x6c, {0x0f3,1826,100, 0,3,0x00,0xb8,0x33,0xf6,0x25,0x25,0x0}}, |
741 | {0x15, 0x2c, {0x06d,7454,100, 0,3,0x00,0xac,0x3b,0x85,0x24,0x06,0x0}}, | 741 | {0x15, 0x2c, {0x06d,7454,100, 0,3,0x00,0xac,0x3b,0x85,0x24,0x06,0x0}}, |
742 | {0x2d, 0x36, {0x06e,5925,100, 0,3,0x00,0xac,0x3b,0x85,0x24,0x06,0x0}}, | 742 | {0x2d, 0x36, {0x06e,5925,100, 0,3,0x00,0xac,0x3b,0x85,0x24,0x06,0x0}}, |
743 | {0x37, 0x6c, {0x06f,4403,100, 0,3,0x09,0xac,0x3b,0x85,0x24,0x06,0x0}} | 743 | {0x37, 0x6c, {0x06f,4403,100, 0,3,0x09,0xac,0x3b,0x85,0x24,0x06,0x0}} |
744 | }; | 744 | }; |
745 | static const opl4_region_t regions_63[] = { /* Atmosphere */ | 745 | static const struct opl4_region regions_63[] = { /* Atmosphere */ |
746 | {0x05, 0x71, {0x002,4509,100, 0,2,0x00,0xc8,0x32,0x73,0x22,0x06,0x1}}, | 746 | {0x05, 0x71, {0x002,4509,100, 0,2,0x00,0xc8,0x32,0x73,0x22,0x06,0x1}}, |
747 | {0x15, 0x2f, {0x0b3,6964,100, 0,2,0x05,0xc2,0x32,0xf5,0x34,0x07,0x2}}, | 747 | {0x15, 0x2f, {0x0b3,6964,100, 0,2,0x05,0xc2,0x32,0xf5,0x34,0x07,0x2}}, |
748 | {0x30, 0x36, {0x0b7,5567,100, 0,2,0x0c,0xc2,0x32,0xf5,0x34,0x07,0x2}}, | 748 | {0x30, 0x36, {0x0b7,5567,100, 0,2,0x0c,0xc2,0x32,0xf5,0x34,0x07,0x2}}, |
@@ -750,29 +750,29 @@ static const opl4_region_t regions_63[] = { /* Atmosphere */ | |||
750 | {0x3d, 0x43, {0x0b4,3892,100, 0,2,0x00,0xc2,0x32,0xf6,0x35,0x07,0x2}}, | 750 | {0x3d, 0x43, {0x0b4,3892,100, 0,2,0x00,0xc2,0x32,0xf6,0x35,0x07,0x2}}, |
751 | {0x44, 0x60, {0x0b6,2723,100, 0,2,0x00,0xc2,0x32,0xf6,0x35,0x17,0x2}} | 751 | {0x44, 0x60, {0x0b6,2723,100, 0,2,0x00,0xc2,0x32,0xf6,0x35,0x17,0x2}} |
752 | }; | 752 | }; |
753 | static const opl4_region_t regions_64[] = { /* Brightness */ | 753 | static const struct opl4_region regions_64[] = { /* Brightness */ |
754 | {0x00, 0x7f, {0x137,5285,100, 0,2,0x00,0xbe,0x2a,0xa5,0x18,0x08,0x0}}, | 754 | {0x00, 0x7f, {0x137,5285,100, 0,2,0x00,0xbe,0x2a,0xa5,0x18,0x08,0x0}}, |
755 | {0x15, 0x6c, {0x02a,3481,100, 0,1,0x00,0xc8,0x29,0x80,0x05,0x05,0x0}} | 755 | {0x15, 0x6c, {0x02a,3481,100, 0,1,0x00,0xc8,0x29,0x80,0x05,0x05,0x0}} |
756 | }; | 756 | }; |
757 | static const opl4_region_t regions_65[] = { /* Goblins */ | 757 | static const struct opl4_region regions_65[] = { /* Goblins */ |
758 | {0x15, 0x6c, {0x002,4501,100,-1,2,0x00,0xca,0x2a,0x40,0x01,0x05,0x0}}, | 758 | {0x15, 0x6c, {0x002,4501,100,-1,2,0x00,0xca,0x2a,0x40,0x01,0x05,0x0}}, |
759 | {0x15, 0x6c, {0x009,9679, 20, 1,4,0x00,0x3c,0x0c,0x22,0x11,0x06,0x0}} | 759 | {0x15, 0x6c, {0x009,9679, 20, 1,4,0x00,0x3c,0x0c,0x22,0x11,0x06,0x0}} |
760 | }; | 760 | }; |
761 | static const opl4_region_t regions_66[] = { /* Echoes */ | 761 | static const struct opl4_region regions_66[] = { /* Echoes */ |
762 | {0x15, 0x6c, {0x02a,3487,100, 0,3,0x00,0xae,0x2b,0xf5,0x21,0x06,0x0}}, | 762 | {0x15, 0x6c, {0x02a,3487,100, 0,3,0x00,0xae,0x2b,0xf5,0x21,0x06,0x0}}, |
763 | {0x00, 0x7f, {0x124,4027,100, 0,3,0x00,0xae,0x2b,0x85,0x23,0x07,0x0}} | 763 | {0x00, 0x7f, {0x124,4027,100, 0,3,0x00,0xae,0x2b,0x85,0x23,0x07,0x0}} |
764 | }; | 764 | }; |
765 | static const opl4_region_t regions_67[] = { /* Sci-Fi */ | 765 | static const struct opl4_region regions_67[] = { /* Sci-Fi */ |
766 | {0x15, 0x31, {0x00c,6940,100, 0,3,0x00,0xc8,0x2b,0x90,0x05,0x06,0x3}}, | 766 | {0x15, 0x31, {0x00c,6940,100, 0,3,0x00,0xc8,0x2b,0x90,0x05,0x06,0x3}}, |
767 | {0x32, 0x38, {0x00d,5413,100, 0,3,0x00,0xc8,0x2b,0x90,0x05,0x06,0x3}}, | 767 | {0x32, 0x38, {0x00d,5413,100, 0,3,0x00,0xc8,0x2b,0x90,0x05,0x06,0x3}}, |
768 | {0x39, 0x47, {0x00e,4382,100, 0,3,0x00,0xc8,0x2b,0x90,0x05,0x06,0x3}}, | 768 | {0x39, 0x47, {0x00e,4382,100, 0,3,0x00,0xc8,0x2b,0x90,0x05,0x06,0x3}}, |
769 | {0x48, 0x6c, {0x00f,2846,100, 0,3,0x00,0xc8,0x2b,0x90,0x05,0x06,0x3}}, | 769 | {0x48, 0x6c, {0x00f,2846,100, 0,3,0x00,0xc8,0x2b,0x90,0x05,0x06,0x3}}, |
770 | {0x15, 0x6c, {0x002,4498,100, 0,2,0x00,0xd4,0x22,0x80,0x01,0x05,0x0}} | 770 | {0x15, 0x6c, {0x002,4498,100, 0,2,0x00,0xd4,0x22,0x80,0x01,0x05,0x0}} |
771 | }; | 771 | }; |
772 | static const opl4_region_t regions_68[] = { /* Sitar */ | 772 | static const struct opl4_region regions_68[] = { /* Sitar */ |
773 | {0x00, 0x7f, {0x10f,4408,100, 0,2,0x00,0xc4,0x32,0xf4,0x15,0x16,0x1}} | 773 | {0x00, 0x7f, {0x10f,4408,100, 0,2,0x00,0xc4,0x32,0xf4,0x15,0x16,0x1}} |
774 | }; | 774 | }; |
775 | static const opl4_region_t regions_69[] = { /* Banjo */ | 775 | static const struct opl4_region regions_69[] = { /* Banjo */ |
776 | {0x15, 0x34, {0x013,5685,100, 0,0,0x00,0xdc,0x38,0xf6,0x15,0x09,0x0}}, | 776 | {0x15, 0x34, {0x013,5685,100, 0,0,0x00,0xdc,0x38,0xf6,0x15,0x09,0x0}}, |
777 | {0x35, 0x38, {0x014,5009,100, 0,0,0x00,0xdc,0x38,0xf6,0x15,0x09,0x0}}, | 777 | {0x35, 0x38, {0x014,5009,100, 0,0,0x00,0xdc,0x38,0xf6,0x15,0x09,0x0}}, |
778 | {0x39, 0x3c, {0x012,4520,100, 0,0,0x00,0xdc,0x38,0xf6,0x15,0x09,0x0}}, | 778 | {0x39, 0x3c, {0x012,4520,100, 0,0,0x00,0xdc,0x38,0xf6,0x15,0x09,0x0}}, |
@@ -780,21 +780,21 @@ static const opl4_region_t regions_69[] = { /* Banjo */ | |||
780 | {0x45, 0x4c, {0x017,2661,100, 0,0,0x00,0xdc,0x38,0xf6,0x15,0x09,0x0}}, | 780 | {0x45, 0x4c, {0x017,2661,100, 0,0,0x00,0xdc,0x38,0xf6,0x15,0x09,0x0}}, |
781 | {0x4d, 0x6d, {0x016,1632,100, 0,0,0x00,0xdc,0x38,0xf6,0x15,0x09,0x0}} | 781 | {0x4d, 0x6d, {0x016,1632,100, 0,0,0x00,0xdc,0x38,0xf6,0x15,0x09,0x0}} |
782 | }; | 782 | }; |
783 | static const opl4_region_t regions_6a[] = { /* Shamisen */ | 783 | static const struct opl4_region regions_6a[] = { /* Shamisen */ |
784 | {0x15, 0x6c, {0x10e,3273,100, 0,0,0x00,0xc0,0x28,0xf7,0x76,0x08,0x0}} | 784 | {0x15, 0x6c, {0x10e,3273,100, 0,0,0x00,0xc0,0x28,0xf7,0x76,0x08,0x0}} |
785 | }; | 785 | }; |
786 | static const opl4_region_t regions_6b[] = { /* Koto */ | 786 | static const struct opl4_region regions_6b[] = { /* Koto */ |
787 | {0x00, 0x7f, {0x0a9,4033,100, 0,0,0x00,0xc6,0x20,0xf0,0x06,0x07,0x0}} | 787 | {0x00, 0x7f, {0x0a9,4033,100, 0,0,0x00,0xc6,0x20,0xf0,0x06,0x07,0x0}} |
788 | }; | 788 | }; |
789 | static const opl4_region_t regions_6c[] = { /* Kalimba */ | 789 | static const struct opl4_region regions_6c[] = { /* Kalimba */ |
790 | {0x00, 0x7f, {0x137,3749,100, 0,0,0x00,0xce,0x38,0xf5,0x18,0x08,0x0}} | 790 | {0x00, 0x7f, {0x137,3749,100, 0,0,0x00,0xce,0x38,0xf5,0x18,0x08,0x0}} |
791 | }; | 791 | }; |
792 | static const opl4_region_t regions_6d[] = { /* Bagpipe */ | 792 | static const struct opl4_region regions_6d[] = { /* Bagpipe */ |
793 | {0x15, 0x39, {0x0a4,7683,100, 0,4,0x00,0xc0,0x1c,0xf0,0x00,0x09,0x0}}, | 793 | {0x15, 0x39, {0x0a4,7683,100, 0,4,0x00,0xc0,0x1c,0xf0,0x00,0x09,0x0}}, |
794 | {0x15, 0x39, {0x0a7,7680,100, 0,1,0x00,0xaa,0x19,0xf0,0x00,0x09,0x0}}, | 794 | {0x15, 0x39, {0x0a7,7680,100, 0,1,0x00,0xaa,0x19,0xf0,0x00,0x09,0x0}}, |
795 | {0x3a, 0x6c, {0x0a8,3697,100, 0,1,0x00,0xaa,0x19,0xf0,0x00,0x09,0x0}} | 795 | {0x3a, 0x6c, {0x0a8,3697,100, 0,1,0x00,0xaa,0x19,0xf0,0x00,0x09,0x0}} |
796 | }; | 796 | }; |
797 | static const opl4_region_t regions_6e[] = { /* Fiddle */ | 797 | static const struct opl4_region regions_6e[] = { /* Fiddle */ |
798 | {0x15, 0x3a, {0x105,5158,100, 0,1,0x00,0xca,0x31,0xf3,0x20,0x09,0x0}}, | 798 | {0x15, 0x3a, {0x105,5158,100, 0,1,0x00,0xca,0x31,0xf3,0x20,0x09,0x0}}, |
799 | {0x3b, 0x3f, {0x102,4754,100, 0,1,0x00,0xca,0x31,0xf3,0x20,0x09,0x0}}, | 799 | {0x3b, 0x3f, {0x102,4754,100, 0,1,0x00,0xca,0x31,0xf3,0x20,0x09,0x0}}, |
800 | {0x40, 0x41, {0x106,4132,100, 0,1,0x00,0xca,0x31,0xf3,0x20,0x09,0x0}}, | 800 | {0x40, 0x41, {0x106,4132,100, 0,1,0x00,0xca,0x31,0xf3,0x20,0x09,0x0}}, |
@@ -806,64 +806,64 @@ static const opl4_region_t regions_6e[] = { /* Fiddle */ | |||
806 | {0x4f, 0x51, {0x10d,2166,100, 0,1,0x00,0xca,0x31,0xf3,0x20,0x09,0x0}}, | 806 | {0x4f, 0x51, {0x10d,2166,100, 0,1,0x00,0xca,0x31,0xf3,0x20,0x09,0x0}}, |
807 | {0x52, 0x6c, {0x109,1825,100, 0,1,0x00,0xca,0x31,0xf3,0x20,0x09,0x0}} | 807 | {0x52, 0x6c, {0x109,1825,100, 0,1,0x00,0xca,0x31,0xf3,0x20,0x09,0x0}} |
808 | }; | 808 | }; |
809 | static const opl4_region_t regions_6f[] = { /* Shanai */ | 809 | static const struct opl4_region regions_6f[] = { /* Shanai */ |
810 | {0x15, 0x6c, {0x041,6946,100, 0,1,0x00,0xc4,0x31,0x95,0x20,0x09,0x0}} | 810 | {0x15, 0x6c, {0x041,6946,100, 0,1,0x00,0xc4,0x31,0x95,0x20,0x09,0x0}} |
811 | }; | 811 | }; |
812 | static const opl4_region_t regions_70[] = { /* Tinkle Bell */ | 812 | static const struct opl4_region regions_70[] = { /* Tinkle Bell */ |
813 | {0x15, 0x73, {0x0f3,1821,100, 0,3,0x00,0xc8,0x3b,0xd6,0x25,0x25,0x0}}, | 813 | {0x15, 0x73, {0x0f3,1821,100, 0,3,0x00,0xc8,0x3b,0xd6,0x25,0x25,0x0}}, |
814 | {0x00, 0x7f, {0x137,5669,100, 0,3,0x00,0x66,0x3b,0xf5,0x18,0x08,0x0}} | 814 | {0x00, 0x7f, {0x137,5669,100, 0,3,0x00,0x66,0x3b,0xf5,0x18,0x08,0x0}} |
815 | }; | 815 | }; |
816 | static const opl4_region_t regions_71[] = { /* Agogo */ | 816 | static const struct opl4_region regions_71[] = { /* Agogo */ |
817 | {0x15, 0x74, {0x00b,2474,100, 0,0,0x00,0xd2,0x38,0xf0,0x00,0x09,0x0}} | 817 | {0x15, 0x74, {0x00b,2474,100, 0,0,0x00,0xd2,0x38,0xf0,0x00,0x09,0x0}} |
818 | }; | 818 | }; |
819 | static const opl4_region_t regions_72[] = { /* Steel Drums */ | 819 | static const struct opl4_region regions_72[] = { /* Steel Drums */ |
820 | {0x01, 0x7f, {0x0fe,3670,100, 0,0,0x00,0xca,0x38,0xf3,0x06,0x17,0x1}}, | 820 | {0x01, 0x7f, {0x0fe,3670,100, 0,0,0x00,0xca,0x38,0xf3,0x06,0x17,0x1}}, |
821 | {0x15, 0x6c, {0x100,9602,100, 0,0,0x00,0x54,0x38,0xb0,0x05,0x16,0x1}} | 821 | {0x15, 0x6c, {0x100,9602,100, 0,0,0x00,0x54,0x38,0xb0,0x05,0x16,0x1}} |
822 | }; | 822 | }; |
823 | static const opl4_region_t regions_73[] = { /* Woodblock */ | 823 | static const struct opl4_region regions_73[] = { /* Woodblock */ |
824 | {0x15, 0x6c, {0x02c,2963, 50, 0,0,0x07,0xd4,0x00,0xf0,0x00,0x09,0x0}} | 824 | {0x15, 0x6c, {0x02c,2963, 50, 0,0,0x07,0xd4,0x00,0xf0,0x00,0x09,0x0}} |
825 | }; | 825 | }; |
826 | static const opl4_region_t regions_74[] = { /* Taiko Drum */ | 826 | static const struct opl4_region regions_74[] = { /* Taiko Drum */ |
827 | {0x13, 0x6c, {0x03e,1194, 50, 0,0,0x00,0xaa,0x38,0xf0,0x04,0x04,0x0}} | 827 | {0x13, 0x6c, {0x03e,1194, 50, 0,0,0x00,0xaa,0x38,0xf0,0x04,0x04,0x0}} |
828 | }; | 828 | }; |
829 | static const opl4_region_t regions_75[] = { /* Melodic Tom */ | 829 | static const struct opl4_region regions_75[] = { /* Melodic Tom */ |
830 | {0x15, 0x6c, {0x0c7,6418, 50, 0,0,0x00,0xe4,0x38,0xf0,0x05,0x01,0x0}} | 830 | {0x15, 0x6c, {0x0c7,6418, 50, 0,0,0x00,0xe4,0x38,0xf0,0x05,0x01,0x0}} |
831 | }; | 831 | }; |
832 | static const opl4_region_t regions_76[] = { /* Synth Drum */ | 832 | static const struct opl4_region regions_76[] = { /* Synth Drum */ |
833 | {0x15, 0x6c, {0x026,3898, 50, 0,0,0x00,0xd0,0x38,0xf0,0x04,0x04,0x0}} | 833 | {0x15, 0x6c, {0x026,3898, 50, 0,0,0x00,0xd0,0x38,0xf0,0x04,0x04,0x0}} |
834 | }; | 834 | }; |
835 | static const opl4_region_t regions_77[] = { /* Reverse Cymbal */ | 835 | static const struct opl4_region regions_77[] = { /* Reverse Cymbal */ |
836 | {0x15, 0x6c, {0x031,4138, 50, 0,0,0x00,0xfe,0x38,0x3a,0xf0,0x09,0x0}} | 836 | {0x15, 0x6c, {0x031,4138, 50, 0,0,0x00,0xfe,0x38,0x3a,0xf0,0x09,0x0}} |
837 | }; | 837 | }; |
838 | static const opl4_region_t regions_78[] = { /* Guitar Fret Noise */ | 838 | static const struct opl4_region regions_78[] = { /* Guitar Fret Noise */ |
839 | {0x15, 0x6c, {0x138,5266,100, 0,0,0x00,0xa0,0x38,0xf0,0x00,0x09,0x0}} | 839 | {0x15, 0x6c, {0x138,5266,100, 0,0,0x00,0xa0,0x38,0xf0,0x00,0x09,0x0}} |
840 | }; | 840 | }; |
841 | static const opl4_region_t regions_79[] = { /* Breath Noise */ | 841 | static const struct opl4_region regions_79[] = { /* Breath Noise */ |
842 | {0x01, 0x7f, {0x125,4269,100, 0,0,0x1e,0xd0,0x38,0xf0,0x00,0x09,0x0}} | 842 | {0x01, 0x7f, {0x125,4269,100, 0,0,0x1e,0xd0,0x38,0xf0,0x00,0x09,0x0}} |
843 | }; | 843 | }; |
844 | static const opl4_region_t regions_7a[] = { /* Seashore */ | 844 | static const struct opl4_region regions_7a[] = { /* Seashore */ |
845 | {0x15, 0x6c, {0x008,2965, 20,-2,0,0x00,0xfe,0x00,0x20,0x03,0x04,0x0}}, | 845 | {0x15, 0x6c, {0x008,2965, 20,-2,0,0x00,0xfe,0x00,0x20,0x03,0x04,0x0}}, |
846 | {0x01, 0x7f, {0x037,4394, 20, 2,0,0x14,0xfe,0x00,0x20,0x04,0x05,0x0}} | 846 | {0x01, 0x7f, {0x037,4394, 20, 2,0,0x14,0xfe,0x00,0x20,0x04,0x05,0x0}} |
847 | }; | 847 | }; |
848 | static const opl4_region_t regions_7b[] = { /* Bird Tweet */ | 848 | static const struct opl4_region regions_7b[] = { /* Bird Tweet */ |
849 | {0x15, 0x6c, {0x009,8078, 5,-4,7,0x00,0xc2,0x0f,0x22,0x12,0x07,0x0}}, | 849 | {0x15, 0x6c, {0x009,8078, 5,-4,7,0x00,0xc2,0x0f,0x22,0x12,0x07,0x0}}, |
850 | {0x15, 0x6c, {0x009,3583, 5, 4,5,0x00,0xae,0x15,0x72,0x12,0x07,0x0}} | 850 | {0x15, 0x6c, {0x009,3583, 5, 4,5,0x00,0xae,0x15,0x72,0x12,0x07,0x0}} |
851 | }; | 851 | }; |
852 | static const opl4_region_t regions_7c[] = { /* Telephone Ring */ | 852 | static const struct opl4_region regions_7c[] = { /* Telephone Ring */ |
853 | {0x15, 0x6c, {0x003,3602, 10, 0,0,0x00,0xce,0x00,0xf0,0x00,0x0f,0x0}} | 853 | {0x15, 0x6c, {0x003,3602, 10, 0,0,0x00,0xce,0x00,0xf0,0x00,0x0f,0x0}} |
854 | }; | 854 | }; |
855 | static const opl4_region_t regions_7d[] = { /* Helicopter */ | 855 | static const struct opl4_region regions_7d[] = { /* Helicopter */ |
856 | {0x0c, 0x7f, {0x001,2965, 10,-2,0,0x00,0xe0,0x08,0x30,0x01,0x07,0x0}}, | 856 | {0x0c, 0x7f, {0x001,2965, 10,-2,0,0x00,0xe0,0x08,0x30,0x01,0x07,0x0}}, |
857 | {0x01, 0x7f, {0x037,4394, 10, 2,0,0x44,0x76,0x00,0x30,0x01,0x07,0x0}} | 857 | {0x01, 0x7f, {0x037,4394, 10, 2,0,0x44,0x76,0x00,0x30,0x01,0x07,0x0}} |
858 | }; | 858 | }; |
859 | static const opl4_region_t regions_7e[] = { /* Applause */ | 859 | static const struct opl4_region regions_7e[] = { /* Applause */ |
860 | {0x15, 0x6c, {0x036,8273, 20,-6,7,0x00,0xc4,0x0f,0x70,0x01,0x05,0x0}}, | 860 | {0x15, 0x6c, {0x036,8273, 20,-6,7,0x00,0xc4,0x0f,0x70,0x01,0x05,0x0}}, |
861 | {0x15, 0x6c, {0x036,8115, 5, 6,7,0x00,0xc6,0x07,0x70,0x01,0x05,0x0}} | 861 | {0x15, 0x6c, {0x036,8115, 5, 6,7,0x00,0xc6,0x07,0x70,0x01,0x05,0x0}} |
862 | }; | 862 | }; |
863 | static const opl4_region_t regions_7f[] = { /* Gun Shot */ | 863 | static const struct opl4_region regions_7f[] = { /* Gun Shot */ |
864 | {0x15, 0x6c, {0x139,2858, 20, 0,0,0x00,0xbe,0x38,0xf0,0x03,0x00,0x0}} | 864 | {0x15, 0x6c, {0x139,2858, 20, 0,0,0x00,0xbe,0x38,0xf0,0x03,0x00,0x0}} |
865 | }; | 865 | }; |
866 | static const opl4_region_t regions_drums[] = { | 866 | static const struct opl4_region regions_drums[] = { |
867 | {0x18, 0x18, {0x0cb,6397,100, 3,0,0x00,0xf4,0x38,0xc9,0x1c,0x0c,0x0}}, | 867 | {0x18, 0x18, {0x0cb,6397,100, 3,0,0x00,0xf4,0x38,0xc9,0x1c,0x0c,0x0}}, |
868 | {0x19, 0x19, {0x0c4,3714,100, 0,0,0x00,0xe0,0x00,0x97,0x19,0x09,0x0}}, | 868 | {0x19, 0x19, {0x0c4,3714,100, 0,0,0x00,0xe0,0x00,0x97,0x19,0x09,0x0}}, |
869 | {0x1a, 0x1a, {0x0c4,3519,100, 0,0,0x00,0xea,0x00,0x61,0x01,0x07,0x0}}, | 869 | {0x1a, 0x1a, {0x0c4,3519,100, 0,0,0x00,0xea,0x00,0x61,0x01,0x07,0x0}}, |
@@ -924,7 +924,7 @@ static const opl4_region_t regions_drums[] = { | |||
924 | }; | 924 | }; |
925 | 925 | ||
926 | #define REGION(num) { ARRAY_SIZE(regions ## num), regions ## num } | 926 | #define REGION(num) { ARRAY_SIZE(regions ## num), regions ## num } |
927 | const opl4_region_ptr_t snd_yrw801_regions[0x81] = { | 927 | const struct opl4_region_ptr snd_yrw801_regions[0x81] = { |
928 | REGION(_00), REGION(_01), REGION(_02), REGION(_03), | 928 | REGION(_00), REGION(_01), REGION(_02), REGION(_03), |
929 | REGION(_04), REGION(_05), REGION(_06), REGION(_07), | 929 | REGION(_04), REGION(_05), REGION(_06), REGION(_07), |
930 | REGION(_08), REGION(_09), REGION(_0a), REGION(_0b), | 930 | REGION(_08), REGION(_09), REGION(_0a), REGION(_0b), |