I am making a video experience which plays 2 videos, in sync and allows the audience to control the effects of them.
I'm using OSC and iOS devices to control them.
My question is about ways to optimize performance.
I chose Prores LT 720p for the video format. Is there any other codec I should consider? I don't think that the hard drive will be a bottleneck for this format, so I plan to run them both from the same hard drive.
To toggle a video effect, currently I am using OSC to get a toggle value which returns a boolean True when on, False when off.
I want that toggle to enable the Posterize Image effect.
The only way I could think to do it is to send the Play Movie to both options of a Select Input. One passes through the effect first, one doesn't. I convert the boolean to integer with Scale, where True = 2 and False = 1. I use that to switch between the Select Input. It works, but is this the best way in terms of performance?
Here'a another take, where it takes the form of compact node.
I like this version more, because it means there could be a node for 'broadcast' and 'receive' (or 'listen') that makes it easier for new users to discover.
However, when attached, this becomes one of these compact nodes, which is neater. I'd propose making the compact Send/Receive show the right-click menu on regular click as well.
This functionality can also be made available on right-click of a port, where the user can select correctly-typed variables. This would be the faster way to access this functionality.
In the case this order of flow produces an error, then it would be nice for the UI to prompt to insert Spin Off node. Or at least offer that helpful tip.