On 03/28/2014 11:06 AM, Raine M. Ekman wrote:
> Citerar Vesa <[email protected]>:
>> Ok, due to some unexpected difficulties (The note release system working
>> differently than I thought it did), I'm going to abandon the idea of a
>> sustain-loop mode, which doesn't seem feasible in the current LMMS
>> architecture, at least not the way I'd want to implement it.
> OK, what's lacking in the note release system? Probably nothing unfixable.
>
> I guess you tried checking for release from  
> NotePlayHandle::isReleased() and it doesn't help?
>

isReleased() is fine, nothing wrong with that. Problem lies elsewhere...

To properly implement a release phase for a sustain loop, the length of
note release would need to be dependent on the note frequency, but I
don't currently see a way to do this. There's desiredReleaseFrames()
which is meant to return the desired frame amount, but it doesn't take a
note handle as an argument so can't be informed of the frequency of the
note...

Regular loop is probably sufficient for 99% of cases anyway, as release
can easily be done with envelopes. I think implementing ping-pong loop
is probably a much more useful improvement.

------------------------------------------------------------------------------
_______________________________________________
LMMS-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lmms-devel

Reply via email to