Lines Matching refs:note
43 static void terminate_note1(struct snd_emux *emu, int note,
56 * Start a note.
59 snd_emux_note_on(void *p, int note, int vel, struct snd_midi_channel *chan)
76 key = note; /* remember the original note */
77 nvoices = get_zone(emu, port, ¬e, vel, chan, table);
81 /* exclusive note off */
108 vp->note = note;
140 /* clear voice position for the next note on this channel */
151 * Release a note in response to a midi note off.
154 snd_emux_note_off(void *p, int note, int vel, struct snd_midi_channel *chan)
174 vp->chan == chan && vp->key == note) {
177 /* if note-off is sent too shortly after
178 * note-on, emuX engine cannot produce the sound
179 * correctly. so we'll release this note
189 /* ok now release the note */
199 * release the pending note-offs
233 snd_emux_key_press(void *p, int note, int vel, struct snd_midi_channel *chan)
253 vp->chan == chan && vp->key == note) {
371 * terminate note - if free flag is true, free the terminated voice
374 terminate_note1(struct snd_emux *emu, int note, struct snd_midi_channel *chan, int free)
384 vp->key == note)
392 * terminate note - exported for midi emulation
395 snd_emux_terminate_note(void *p, int note, struct snd_midi_channel *chan)
408 terminate_note1(emu, note, chan, 1);
817 offset = (vp->note - vp->reg.root) * 4096 / 12;
882 /* Look for the zones matching with the given note and velocity.