MIDI pbind directly starts playing using proxyspace

In a project I want to send midinotes/messages to ableton live with pbinds. I want to use proxyspace just because it is more dynamic to work with in an live coding situation.

p=ProxySpace.push(s);

(
~test = Pbind(
\dur, 1,
\degree, 1
);
)
~test.play;
~test.stop;

this works correctly and you can use play and stop to start and stop the pbind.

(
~low = Pbind(
\type, \midi,
\midicmd, \noteOn,
\midiout, m[b[\low2]],
\chan, c[\low2],
\degree, 1,
\dur, 1,
\amp, 1,
);
)
~low.stop;

But in this situation the Pbind starts automatically and stop doesn’t work. Why is this?

Is it because proxyspace is a server thingy?

ProxySpace converts everything you out into it into a NodeProxy - the stop and play are referring to the NodeProxy, and effectively just mute or unmute playback (but don’t actually stop playback). Basically: ProxySpace is meant for audio signals above all, so it’s especially wierd to stick a MIDI pattern into it (though strictly speaking it works). You can get the same behavior and it should work fine WITHOUT a ProxySpace - the only thing a ProxySpace gets you is an implicit conversion to someyhing that isn’t useful - try the same code without pushing a ProxySpace and I think it should work just fine?

Also, I think @dkmayer’s quark has some ProxySpace-like functions for patterns that may be useful for more sophisticated things? But I’ll let him field that one, I don’t know it well enough :slight_smile:

Thanks. Very useful. I’m will definitely look into Daniel Mayer’s Quark