-
Notifications
You must be signed in to change notification settings - Fork 757
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
class library: make control set atomic #1687
Conversation
This tests if there are messages that could be canceled. This infers that messages were added by ‘addCancel’, and thus with the possible intention to be lazily evaluated. Thus, there is very little overhead for all other cases.
The branch breaks:
crashes the interpreter |
This commit includes two fixes concerning the way arguments are passed to the internal synth control objects. 1) the old synth is released now with the current fade time. 2) pass extra arguments on send as a thunk, and not recursively (this was an accidental in one earlier commit)
When setting synth controls (the internal objects of a node proxy) directly, convert the arguments to OSC explicitly so that objects can be passed also to those.
Protect also NodeProxy:spawn from wrong arguments due to an async operation. This makes the method less efficient, but safer.
OK, fixed. So please test it extensively! |
@crucialfelix – because e wrote the |
@@ -746,9 +745,9 @@ NodeProxy : BusPlug { | |||
|
|||
// bundle: apply the node map settings to the entire group | |||
sendAllToBundle { | bundle, extraArgs | | |||
extraArgs = nodeMap.asOSCArgArray ++ extraArgs.value.asOSCArgArray; | |||
var args = Thunk { nodeMap.asOSCArgArray ++ extraArgs.value.asOSCArgArray }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
better style IMO would be:
Thunk({ ... })
which makes it clear that you are creating a Thunk object.
seems okay. its always better not to complicate the core classes, but there is already a bunch of junk in OSCBundle |
class library: make control set atomic
this fix by @telephon fixes an annoying behaviour in NodeProxies:
Previous behaviour:
now, it does it different... (maybe ask @telephon for details..)
I use this branch extensively for a week now and think that it works perfectly.