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

independent global effects #75

Closed
telephon opened this issue Feb 14, 2018 · 5 comments
Closed

independent global effects #75

telephon opened this issue Feb 14, 2018 · 5 comments

Comments

@telephon
Copy link
Contributor

@bgold-cosmos wrote a draft for a different layout of the global effects. We should think together how this should look like.

@telephon
Copy link
Contributor Author

telephon commented Feb 14, 2018

Here is a copy of the comment (from #74):

I am working on a change to the global effects so that messages don't stomp on each other quite so much. It makes it much easier to have multiple things going on in a single orbit.
https://github.com/bgold-cosmos/SuperDirt/tree/global-send
Still in progess, and the solution I came up with is kind of ugly, but it seems to be working so far. I'll have another update to that branch in a few days implementing it for all the global effects.

@bgold-cosmos
Copy link
Contributor

I've cleaned up some of the ugliest stuff, but it's still not easily extensible. Would it be easier to discuss if I submitted a PR?

@bgold-cosmos
Copy link
Contributor

OK, so now I'm looking at 1.0-dev. I really like that things have moved to separate files and it's actually possible to livecode global effects now! Nice!

But I don't think delaySend is completely doing what I imagined it would do. This works fine, in the sense that the snare echoes don't get clobbered

d1 $ s "sn:2" # delay 1 # delaySend 1 # delayt 0.125 # delayfb 0.9

d2 $ s "~ cp" # delay 1 # delaySend 0 # delayt 0.125 # delayfb 0.9

However, since the delaySend parameter is used in the (global) delay SynthDef, sounds don't really have an individual send. It's instead a parameter that controls how much the delay reads from the dryBus, which contains all sounds. So the following causes unpredictable behavior, since it's ambiguous which delaySend happens first

d1 $ s "sn:2" # delay 1 # delaySend 1 # delayt 0.125 # delayfb 0.9

d2 $ s "cp" # delay 1 # delaySend 0 # delayt 0.125 # delayfb 0.9

Side note: delay seems redundant here, since I don't see that it does anything that delaySend doesn't also do. Or am I just using this entirely wrong?

@telephon
Copy link
Contributor Author

telephon commented Apr 22, 2018

However, since the delaySend parameter is used in the (global) delay SynthDef, sounds don't really have an individual send. It's instead a parameter that controls how much the delay reads from the dryBus, which contains all sounds.

Ah yes, of course. We could selectively send to the dry bus, but that would mean one global send parameter for all effects.

So as it turns out, we do not need an extra bus for each effect because of its output, but because of its input.

This might only be needed for effects that are meant to have an event based input.

Side note: delay seems redundant here

I am not sure, I have to look into the tidal synonyms.

@telephon
Copy link
Contributor Author

telephon commented Jun 8, 2020

I think this has been solved, feel free to reopen

@telephon telephon closed this as completed Jun 8, 2020
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

No branches or pull requests

2 participants