Lines Matching refs:voice
5 * Routines for control of EMU10K1 chips - voice manager
7 * Rewrote voice allocator for multichannel support - rlrevell 12/2004
36 /* Previously the voice allocator started at 0 every time. The new voice
37 * allocator uses a round robin scheme. The next free voice is tracked in
40 * boundary. For multichannel voice allocation we ensure than the block of
41 * voices does not cross the 32 voice boundary. This simplifies the
51 struct snd_emu10k1_voice *voice;
68 voice = &emu->voices[(i+k) % NUM_G];
69 if (voice->use) {
75 // printk("allocated voice %d\n", i);
87 voice = &emu->voices[(first_voice + i) % NUM_G];
88 // printk("voice alloc - %i, %i of %i\n", voice->number, idx-first_voice+1, number);
89 voice->use = 1;
92 voice->pcm = 1;
95 voice->synth = 1;
98 voice->midi = 1;
101 voice->efx = 1;
124 /* free a voice from synth */