Lines Matching full:voice
6 * Routines for control of EMU10K1 chips - voice manager
8 * Rewrote voice allocator for multichannel support - rlrevell 12/2004
22 /* Previously the voice allocator started at 0 every time. The new voice
23 * allocator uses a round robin scheme. The next free voice is tracked in
26 * boundary. For multichannel voice allocation we ensure than the block of
27 * voices does not cross the 32 voice boundary. This simplifies the
37 struct snd_emu10k1_voice *voice; in voice_alloc() local
57 voice = &emu->voices[(i+k) % NUM_G]; in voice_alloc()
58 if (voice->use) { in voice_alloc()
64 /* dev_dbg(emu->card->dev, "allocated voice %d\n", i); */ in voice_alloc()
76 voice = &emu->voices[(first_voice + i) % NUM_G]; in voice_alloc()
78 dev_dbg(emu->card->dev, "voice alloc - %i, %i of %i\n", in voice_alloc()
79 voice->number, idx-first_voice+1, number); in voice_alloc()
81 voice->use = 1; in voice_alloc()
84 voice->pcm = 1; in voice_alloc()
87 voice->synth = 1; in voice_alloc()
90 voice->midi = 1; in voice_alloc()
93 voice->efx = 1; in voice_alloc()
118 /* free a voice from synth */ in snd_emu10k1_voice_alloc()