Lines Matching refs:voice
56 static void snd_gf1_default_interrupt_handler_wave_and_volume(struct snd_gus_card * gus, struct snd_gus_voice * voice)
83 struct snd_gus_voice *voice;
85 voice = &gus->gf1.voices[what & 0xffff];
86 voice->handler_wave =
87 voice->handler_volume = snd_gf1_default_interrupt_handler_wave_and_volume;
88 voice->handler_effect = NULL;
89 voice->volume_change = NULL;
129 void snd_gf1_smart_stop_voice(struct snd_gus_card * gus, unsigned short voice)
134 snd_gf1_select_voice(gus, voice);
140 void snd_gf1_stop_voice(struct snd_gus_card * gus, unsigned short voice)
145 snd_gf1_select_voice(gus, voice);
164 snd_gf1_ctrl_stop(gus, SNDRV_GF1_VB_ADDRESS_CONTROL); /* Voice Control Register = voice stop */
167 snd_gf1_write8(gus, SNDRV_GF1_VB_MODE, gus->gf1.memory ? 0x02 : 0x82); /* Deactivate voice */
273 void snd_gf1_free_voice(struct snd_gus_card * gus, struct snd_gus_voice *voice)
276 void (*private_free)(struct snd_gus_voice *voice);
279 if (voice == NULL || !voice->use)
281 snd_gf1_set_default_handlers(gus, SNDRV_GF1_HANDLER_VOICE | voice->number);
282 snd_gf1_clear_voices(gus, voice->number, voice->number);
284 private_free = voice->private_free;
285 private_data = voice->private_data;
286 voice->private_free = NULL;
287 voice->private_data = NULL;
288 if (voice->pcm)
290 voice->use = voice->pcm = 0;
291 voice->sample_ops = NULL;
294 private_free(voice);