Hi all, I’m wondering if someone could share a Max patch that demonstrate how to read and manipulate Score’s internal parameters. There are two concrete things I’m interested in doing right now:
-Using a number box in Max to remotely control the speed of a given interval.
-Reading the boolean value of Score’s play state (/score/play, I believe) in Max and using it to control something else.
From the Add device menu in Score, I can see that Score is available as an OSCQuery device (at ws://[myMachine].local.:9999 by default), but I’m not quite sure how to read or write values from here in Max. I tried looking at the Ossia overview patcher - specifically at the example on getting an OSCQuery-formatted namespace as a dictionary - but Max reports that the maxurl object doesn’t support WebSocket addresses ("maxurl: Protocol “ws” not supported or disabled in libcurl). Any help is greatly appreciated!
Also, to see which values are available to read / write, add the “Local” device in score (it’s the special device that exposes score’s parameters to oscquery) ; you can also check http://127.0.0.1:9999 in a web browser (preferably firefox, it shows json prettily)
Another thing - when I open a patch that has an [ossia.remote running] object (which I’d like to use to monitor Score’s transport state) as well as an [ossia.client score], after a certain delay I get the following error message in the Max window:
ossia.client: oscquery_mirror_protocol::oscquery_mirror_protocol: Could not connect to ws://127.0.0.1:5678
This happens even when a “connect oscquery ws://127.0.0.1:9999” message has been sent to the ossia.client via a loadbang. Once this error message appears, the [ossia.remote running] no longer reports accurate values.
I know this is an open issue, but in the meantime is there any other way to send Score’s transport state to Max, e.g. to establish a direct OSC connection?
Edit: just tried with the latest release from the repo (1.0.0-b19), and now Max spontaneously crashes a few seconds after connecting to Score. Brief notes from the crash report:
ossia.client with no argument seems to work here too - thanks! Perhaps score-client.maxpat should be updated accordingly, at least until the underlying name-based connection issue you mention is sorted.
@jcelerier does local device only interact with OSCquery? can I also send plain old OSC to it? say controlling the play state from qlab? what would I put in websocket for that?