Hi,

> add_note_playing(playing_notes_t *playing, int note)
>                /* Returns 0 or a note to suspend */
> {
[...]

> BTW - I haven't been able to look over all of the midi code, but that 
> function looks kinda intense. Do you have to do the memcpy stuff in there? 
> Again I am not sure exactly what is going on or is required to play the 
> midi...but aren't you manually shifting almost each and every note around in 
> memory throughout the song?

This is the ugly part that tracks each note that is being played (and yes,
keeping it in a ring buffer would remove the need for the memcpys). The
idea was to send note-offs implicitly if we're running out of
channels/voices/timbres/whatever they're called. It doesn't help at all,
so it'd make sense to remove this stuff for the time being until someone
comes up with something more clever.


llap,
 Christoph


Reply via email to