The exact same thing doesn't exist in Isadora 3, but there is Output > Show Alignment Grid and for numerical adjustments, there's the Global Keystone actor.
I will also echo the "Shuffle" suggestion. (Importantly, you'll want to set the first input, 'auto' to 'on' if you want it to reshuffle the numbers if/when you get through your entire list.)
I'd also like to point you toward this file of mine where you can see it in action. https://troikatronix.com/add-ons/random-media-random-duration/
@quarterinchjack said:
I don't suppose you know of a way to package that up as a skeleton output that the decoder would recognise?
Unfortunately, it is not currently possible to programmatically create data with the special type "skeleton".
@dillthekraut said:
Mutable values (the ones with the green connectors) take the ranges from the actor values you connect them to
It sounds like this to me too. The Set and Get Global Values actors' 'value #' inputs/outputs start with a default range of "MIN" and "MAX". They can only have a set range if they're manually given one through a user setting a range via the Property Inspector or if they're connected to an input/output of another actor that has a set range. Perhaps a manual range was set for one instance of a Get Global Values actor that you were using for something, then you copied it and used it somewhere else.
It's worth saying that if you disconnect a mutable actor from the actors around it, right-click it, then select "Reset to Default Values" it'll set the ranges back to the default. Another tip I'll give is that you can select the links connected to your mutable actor and use Actors > Detach Link at Input and Actors > Detach Link at Output to just take the links connected to a mutable actor and "store" them temporarily by attaching them to a random Gate actor or something, then you can free up your mutable actor, reset its values to default, then re-instate its connections using Actors > Detach Link at Input and Actors > Detach Link at Output to take them back from the "storage" Gates.
Thanks for offering to share your workaround. It would be wonderful if you could post the file here for others to use if/when they run across this thread.
@wwachalovsky said:
additionally, when I am using the Send PJLink actor, Isadora stops being able to receive OSC commands
Yes, we've had other reports of this issue and are looking into it.
@jtsteph said:
I got it working using the persitent state of the Javascript output. I added an enter scene trigger that sends the output to a new input called stored JSON, then I trigger an initialize on a small delay, which builds the JSON from the last JSON state. A bit more complex, but not overly so.
You could also keep all your control actors in a background Scene that stays active so that you never leave the Scene that needs the info. You can send data to and receive data from the background Scene using either Broadcaster actors (only sends data when a value is pushed into it) and Listener actors (new data is not spit out unless data is pushed into the Broadcaster while the Listener is active in a Scene) or Set/Get Global Values actors (Set Global Values sends all its values to all relevant Get Global Values actors whenever any of its values has something pushed in and also upon entering the Scene and Get pushes all of its values out whenever it receives any new data from Set Global Values and upon entering a Scene).
This file isn't entirely about background Scenes, but explains how to always keep your "Control" Scene active: 2018-global-mapping-template.zip
- Go to the Scene Named "CONTROLS" and look inside the Macro named "Broadcast CONTROLS Scene # Macro" near the top center
- Go to the Scene named "SCENE Template" and look inside the User Actor named "Activate CONTROLS Scene"
@jtoenjes said:
this behavior seems to be particular to Oculus screen cast
There might not be anything we can do about it then, unfortunately 
@jtoenjes I had a nasty time capturing an Oculus out a few years ago. This may not be what you are looking for but I used a chromecast to get the stream and then plugged that into an hdmi splitter that happened to strip the HDCP protection. Then I could capture it via a capture card with an HDMI in. It was less intensive for the computer this way as well.
I got it working using the persitent state of the Javascript output. I added an enter scene trigger that sends the output to a new input called stored JSON, then I trigger an initialize on a small delay, which builds the JSON from the last JSON state. A bit more complex, but not overly so.
streamdeck-xl-video-player-track-buttons-json.izz
