On Sat, 26 Mar 2022 19:42:49 +0100
Ichthyostega <p...@ichthyostega.de> wrote:
Now this seems needlessly indirect.
- why do we always waste the allocation for a dormant Note-Instance?
- why is the "posb"-Note clone-copied two times?
- why even bother with a seamless switch from "pos" to "posb"?
Wouldn't it be much more natural if...
- when the next real legato NoteON happens....
+ a new Note is created at "posb" as usual, but this time using
the copy constructor, so most note prams are retained. This
new note instance then proceeds with legatoFadeIn()
+ the existing Note instance does not need to be reinitialised.
just invoke legatoFadeOut() and discard it, when it's mute.
Am 26.03.22 um 20:10 schrieb Will Godfrey:
I seem to remember there was something about a catchup system. I think the idea
was that when the actual switchover was made both would be at the same phase
angle (or something like that).
Yes indeed. There is code to ensure the new note continues with the same
phase angle. However, this is even more tricky to get right the way it's done
currently, with that switchover from "pos" to "posb", since that must be
absolutely seamless, otherwise we'd get a very audible click.
I've found both of these can go a bit strange, although I don't use either very
much.
Me neither. The mere fact that it can't be used in polyphony, and the rather
rigid legato fadeover length limits it's usefulness -- portamento can serve as
a nice effect sometimes though.
-- Hermann
_______________________________________________
Yoshimi-devel mailing list
Yoshimi-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/yoshimi-devel