Skip to content
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

plugins: Linen checks for prehistoric release message #1255

Merged
merged 4 commits into from
Dec 25, 2014

Conversation

telephon
Copy link
Member

This small change should fix the numerous and long-standing issues with synth release messages that arrive in the same block as the synth, such as #1063, and #1246.

@LFSaw
Copy link
Member

LFSaw commented Nov 16, 2014

Does it make sense to test the branch? How do I do that? Any test cases available?

When setting the source of a NodeProxy repeatedly and very quickly, the gate = 0 would arrive before the synth was actually running. Now this can be avoided by sending a release time (< -1.0). This fixes #1246.
@LFSaw
Copy link
Member

LFSaw commented Nov 16, 2014

tested branch, currently it does not fix the issue described in #1246.

s.boot;

// hanging notes
n = NodeProxy.audio(s, 2);

(
n.put(2, \default);
n.put(2, \default);
)

s.queryAllNodes;
n.release
s.queryAllNodes;

(
n.put(2, \default);
n.put(2, \default);
)
s.queryAllNodes;

@telephon
Copy link
Member Author

Now it does!

@LFSaw
Copy link
Member

LFSaw commented Nov 16, 2014

I'll try :)

@LFSaw
Copy link
Member

LFSaw commented Nov 16, 2014

works, tested also for NPVoicer.

Julian Rohrhuber added 2 commits November 16, 2014 19:53
This is the only potentially intrusive fix in this branch - EnvGate could, since it had the Impulse.ar(0) added to the gate input, be released with gate = 0 even in the same block the synth was created. This was added a while ago to avoid hanging synths in node proxy. Now it needs to be released with a gate <= -1 in the first block, and the node proxy does this.

On the other hand, it can now be started with gate = 0 and started later.
This commit undoes the call of check_gate in EnvGen_Ctor, as it is called in next_k anyway.
@telephon
Copy link
Member Author

The whole thing turned out to be even simpler, it is only Linen that needed a change.
I've also undone an old "solution", that was more a hack - this does change behaviour of EnvGate:

This is the only potentially intrusive fix in this branch - EnvGate could, since it had the Impulse.ar(0) added to the gate input, be released with gate = 0 even in the same block the synth was created. This was added a while ago to avoid hanging synths in node proxy. Now it needs to be released with a gate <= -1 in the first block, and the node proxy does this.

On the other hand, it can now be started with gate = 0 and started later.

@telephon telephon changed the title plugins: EnvGen and Linen check for prehistoric release message plugins: Linen checks for prehistoric release message Nov 16, 2014
LFSaw added a commit that referenced this pull request Dec 25, 2014
…ease

plugins: Linen checks for prehistoric release message
@LFSaw LFSaw merged commit f4624bd into master Dec 25, 2014
@telephon telephon deleted the topic/prehistoric-env-release branch March 15, 2015 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants