Some more technical stuff that I have to write down for future reference...
Again about NotePlayHandles -> NoteHandles: we should probably change the way we deal with note length. We currently measure note length in frames, and this is a bit clunky because all notes are treated the same - even notes whose length is not known in advance, which constantly need to have their length increased on the fly to keep them playing indefinitely. This also requires the lengths to be adjusted every time the tempo changes. Instead I think we should represent note length in ticks, decrement the counter every tick and trigger note release when it hits zero. Notes that are not pre-determined length can ignore this completely and have the release triggered by the midi input. Speaking of midi input, that's another thing to be revised. I'm thinking of some kind of swapbuffer/queue system for incoming note events, so that we can do it locklessly... Also, instrument functions (note stacking, arpeggio) can be done much easier when we get rid of the NPH-rendering, as we can just take the array/list of notes and run instrument functions on it, this will probably help solve those long standing bugs with the sort mode arpeggio, among other things... ------------------------------------------------------------------------------ _______________________________________________ LMMS-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/lmms-devel
