In midi.c at
void process_midi_event(gchar *buf)
there is the code
if(command==MIDI_NOTEON) store_midi_note(notenumber);
Which is dropping everything other than note on into the bin. This
code
is not used if MIDI in is diverted as in MIDI filters. What we could
do
is route all events to MIDI out as well (under the condition that
playback is happening, perhaps for mode==0 in any case) The user could
place the cursor in an empty staff (with instrument set up as
desired),
and if a rhythm or previous version were there the improvisation could
be overlaid. It would allow us to play along to an accompaniment,
and if
placed in a loop the notes could be revised at will. Interestingly,
the
MIDI could be stored as well, and on the stop the result could be
quantized and inserted into the score - the crudest route would be
smf_save, then importmidi.c code, but we could easily wire them
together.
None of this needs much new code at all - half-a-dozen lines should do
it!
Richard
_______________________________________________
Denemo-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/denemo-devel