Repository navigation
worklet: a stop or a new run lets go of stamped keys - #393
Merged
Merged
Conversation
A quantised or ahead key's release is a TW_NOTE stamped with a transport time. When a Stop is stamped between a key's press and its release, the stop halts the transport at its own time and the release sits in scheduled_ for a later time the stopped transport never reaches, until the next load drops it. The synth's voices are silenced by the halt, but the off is never applied: the key stays in keyRoutes_ and its off is never recorded, so the keyboard shows it lit. A Play over a running run is worse: the load and the begin drop the release and beginDue cleared keyRoutes_ without letting go, so a key on a plain channel keeps sounding into the new run. Both stops (stamped and frame-stamped) and every begin now release each key still in keyRoutes_ the way its on went. KEY_HEARD keys and direct keys are their player's to let go and are untouched, so a key held across a Stop on the local keyboard behaves as before. protocoltest holds free.gen's seat and a plain channel to having nothing left sounding after a Stop or a Play that falls between a stamped press and its stamped release.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A quantised or ahead key's release is a TW_NOTE stamped with a transport
time. When a Stop is stamped between a key's press and its release, the
stop halts the transport at its own time and the release sits in
scheduled_ for a later time the stopped transport never reaches, until
the next load drops it. The synth's voices are silenced by the halt, but
the off is never applied: the key stays in keyRoutes_ and its off is
never recorded, so the keyboard shows it lit. A Play over a running run is
worse: the load and the begin drop the release and beginDue cleared
keyRoutes_ without letting go, so a key on a plain channel keeps
sounding into the new run.
Both stops (stamped and frame-stamped) and every begin now release each
key still in keyRoutes_ the way its on went. KEY_HEARD keys and direct
keys are their player's to let go and are untouched, so a key held
across a Stop on the local keyboard behaves as before.
protocoltest holds free.gen's seat and a plain channel to having nothing
left sounding after a Stop or a Play that falls between a stamped press
and its stamped release.