ManuelM Posted May 13, 2022 Report Share Posted May 13, 2022 There is a command to give inputs a value but... Is there any other to get the current value of an input? Or maybe a way for the setInput command to send back the value after the applied modification? 0 Quote Link to comment Share on other sites More sharing options...
Member Eddy Yanto Posted May 24, 2022 Member Report Share Posted May 24, 2022 Getter method or function that return the value of an existing input doesn't exist in the published external control protocol. What you can do is to use or create a proxy or intermediary application that sit between the setter device (the device that set the input value) and WATCHOUT. This proxy or intermediary application will have member variables with all the input values. Whenever you set an input value, the proxy will set its member variable matching the name and remember that value internally. As well as forward that input value to WATCHOUT. I did a similar thing a while back for exactly this — basically I needed to know what is the current value of a specific input before I send the subsequent command. This was done by having the proxy/intermediary application storing and remembering the input. Please see this programming sketch : https://github.com/eddyyanto/watchout-proxy Eddy 0 Quote Link to comment Share on other sites More sharing options...
ManuelM Posted May 25, 2022 Author Report Share Posted May 25, 2022 I though that one solution could be creating a variable that starts with the same value as the input and stores the changes at the same time they are modified, but that could be problematic if Watchout restarts for some reason, right? 0 Quote Link to comment Share on other sites More sharing options...
Member Eddy Yanto Posted May 27, 2022 Member Report Share Posted May 27, 2022 If WatchOut restarted in an unintended manner, that meant something is wrong. In this case, you'll need to plan how do you want your inputs to be when WatchOut comes back online. There are 2 ways of doing it depending on your show design and how do you want your users to see: 1. Send the last saved input values back into WatchOut. Eg: setInput xPosition 1000 500 2. Send the default input values into WatchOut. Eg: setInput xPosition 0 500 If you share your overall setup and design, we can probably give you some suggestions. 0 Quote Link to comment Share on other sites More sharing options...
Member matkeane Posted May 29, 2022 Member Report Share Posted May 29, 2022 A while back when I was toying with the idea of writing an app similar to Eddy's to filter and manipulate values before sending them to Watchout Inputs, a colleague introduced me to an app called Chataigne - https://benjamin.kuperberg.fr/chataigne/en It's kind a Swiss-army knife for live performance / show control or whatever you care to use it for. It can take in Midi, OSC, etc values, manipulate them, perform conditional actions, and then spit them back out in different protocols. On a recent opera project, my colleague built a whole show-control UI using it, monitoring the status of Watchout players, fibre transmitters and projectors, as well as UI controls for video matrix main/spare switching and shutter commands for the projectors. For an upcoming project in the autumn, I think we will probably add scenery tracking data in there and use Chataigne to map and smooth the data before transmitting the values to Watchout. It's maybe not the most intuitive UI the first time you open the app, but it's very powerful once you start exploring the possibilities. The developer, Benjamin Kuperberg, has some other useful utilities on his github: https://github.com/benkuper?tab=repositories 0 Quote Link to comment Share on other sites More sharing options...
Member Eddy Yanto Posted May 31, 2022 Member Report Share Posted May 31, 2022 Thanks for sharing, Matt! It's a really useful piece of software. I just tried it, the way the modules are structured is quite intuitive — the protocol, hardware, software, etc. I am barely scratching the surface but I think it can fulfill what Manuel is trying to achieve with his input values getter/setter. 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.