Lines Matching full:note
30 static void terminate_note1(struct snd_emux *emu, int note,
43 * Start a note.
46 snd_emux_note_on(void *p, int note, int vel, struct snd_midi_channel *chan)
62 key = note; /* remember the original note */
63 nvoices = get_zone(emu, port, ¬e, vel, chan, table);
67 /* exclusive note off */
75 /* Turn off the same note on the same channel. */
98 vp->note = note;
129 /* clear voice position for the next note on this channel */
140 * Release a note in response to a midi note off.
143 snd_emux_note_off(void *p, int note, int vel, struct snd_midi_channel *chan)
162 vp->chan == chan && vp->key == note) {
165 /* if note-off is sent too shortly after
166 * note-on, emuX engine cannot produce the sound
167 * correctly. so we'll release this note
176 /* ok now release the note */
185 * release the pending note-offs
216 snd_emux_key_press(void *p, int note, int vel, struct snd_midi_channel *chan)
235 vp->chan == chan && vp->key == note) {
349 * terminate note - if free flag is true, free the terminated voice
352 terminate_note1(struct snd_emux *emu, int note, struct snd_midi_channel *chan, int free)
361 vp->key == note)
368 * terminate note - exported for midi emulation
371 snd_emux_terminate_note(void *p, int note, struct snd_midi_channel *chan)
384 terminate_note1(emu, note, chan, 1);
800 offset = (vp->note - vp->reg.root) * 4096 / 12;
866 /* Look for the zones matching with the given note and velocity.