@porres said:
@ddw_music I hear a lot about what SC can do that Pd can't, but that was not the discussion...
Sure, I was hijacking a bit.
I don't care for live coding, for instance. I never needed scripting in Pd as well. Having said that, I'd love to be challenged in offering a "pd solution" to some of its things.
It's not that Pd can't necessarily -- it's rather that the weight is heavier: anArray.do { |item| ... some operations... }
vs
A concrete weakness of patching is when you have a stateful object that needs to be accessed in multiple places. In a text language, this object lives in a variable, and you can use the variable anywhere in its scope. The best I can figure out for Pd is:
It's "ok" but with a bit more effort. And this effort is kind of the point -- if enough things are just a little bit more difficult, then the "it's not worth it" threshold is lower. Like, I've got a function in SC that takes an array of intervals, a root scale degree and a top-note scale degree, and it does a recursive tree search to find the most consonant (relative to the root) arrangement of those intervals coming down from the top note. In SC I get recursion and scale-degree mapping for free, making it a lot more approachable to implement (where in Pd, I'd have to implement my own recursion stack and at least search for an external for scale degrees).
You know, I stole a lot from SuperCollider into ELSE, I'm interested.
I saw that -- [resonant~] vs Ringz.ar is what tipped me off.
In Pd, loading a big audio file can glitch the audio so you need a workflow where everything is laid out in advance and that's just what you're working with
This can be solved with an external, and [else/sfload] can load big files without choking Pd by having a multi-thread mechanism.
Feature request for sfload: provide file statistics (sample rate, number of frames etc.) upon completion. If the file read is asynchronous, currently you have no way to know when it's done and no way to get access to these properties.
More serious for Pd, though, is that adding signal processors causes the entire graph to be re-sorted, and this can glitch. So if I add a poly instrument with 15 copies of a big synth, I wouldn't trust doing that on the fly.
let me try, I wanna have a better idea of what you mean
Maybe in a different thread... more than I can write up just at the moment.
Did you really run that test though?
and well, not sure if I know what you mean, because if it's what I think, it this seems like a pretty basic lesson for Pd. It's on the control examples...
Of course I haven't... sure, I could be wrong. But it does come up from time to time on the forum, without referring to the control examples.
hjh