Member matkeane Posted September 14, 2015 Member Report Share Posted September 14, 2015 Hi, I've been experimenting with external control of Watchout cues using setInput. Setting the tween time with the third parameter works fine, except that the movement is linear, with no easing, which looks a bit harsh. I don't suppose there's a hidden 4th parameter that enables ease-in-out? I have been playing with sending position data from an external app to try and achieve a smoother move with easing. First by trying to update the generic input used for position at 60fps. This works pretty well with one layer but, as predicted by Mike Fahl in this post - http://forum.dataton.com/topic/1262-interactive-inputs-are-freezing-up-watchout/ -once you start sending updates to a few more layers, things slow down and eventually crash. My next approach was to split the move into segments, and send setInput commands every few frames with a tween time, to try and approximate an easing curve while sending fewer network commands. This works a bit better, in that things don't lag as badly, but the change in speed between segments is noticeable. Even using this approach, and staggering the network commands, once I had 10 layers moving around, things got pretty slow again. So a couple of questions: Is the slow-down when moving multiple layers due to overhead in the network protocol? If I use a midi controller and link the sliders and knobs to Watchout cues, I don't notice the same slowdown. Rather than using a generic input, would I be able to achieve smooth changes without bogging down Watchout by sending Midi updates through a virtual midi interface? Thanks for any ideas... 0 Quote Link to comment Share on other sites More sharing options...
Mike Fahl Posted September 14, 2015 Report Share Posted September 14, 2015 This issue has been alleviated in WATCHOUT 6. There are two improvements here: 1. More commands are processed per frame, greatly increasing the number of setInput commands that can be handled. 2. A new setInputs command was added, which takes multiple name-input-slope triplets in one command, increasing the maximum number of inputs that can be managed significantly. This command will be documented in the upcoming WO6 User's Guide. So if you're using v6, you should not have any problem here. If you're at v5, the maximum rate is more constrained, as you say. Mike - http://fahl.se/ 0 Quote Link to comment Share on other sites More sharing options...
Member matkeane Posted September 16, 2015 Author Member Report Share Posted September 16, 2015 Hi Mike, I'm using Watchout 5 at the moment, but it's good to know that I would be able to pass in an array of values to Watchout 6. I'm curious about the difference in playback when animating cues on the timeline and using setInput - I can animate 20 cues simultaneously in the timeline and playback is fine; if I try and do the same thing using inputs, things start to lag and stutter pretty quickly. I was experimenting with using a force-directed graph to position text in a word cloud, with new layers pushing other layers out of the way to make room, before the 'cloud' settles down into a new layout. I guess I could use my external app to calculate the new layout positions and send a single command for each layer, but it would be nice to get a smooth moving with easing, which is why I was trying to send a stream of position data. Assuming I stick with v5 for the moment, would Midi be a better choice for low-latency position updates? Thanks, 0 Quote Link to comment Share on other sites More sharing options...
Mike Fahl Posted September 16, 2015 Report Share Posted September 16, 2015 Assuming I stick with v5 for the moment, would Midi be a better choice for low-latency position updates? Possibly. But keep in mind that MIDI controllers are limited to 14 bit resolution at best. Mike - http://fahl.se/ 0 Quote Link to comment Share on other sites More sharing options...
Member matkeane Posted September 24, 2015 Author Member Report Share Posted September 24, 2015 After reading this other discussion about real-time control of Watchout (http://forum.dataton.com/topic/1843-realtime-tracking-in-watchout/) I continued my experiments. The first thing I did was to switch to sending commands via UDP, rather than TCP, which should create less network overhead (and seems to be working successfully for the Spikemark software). So, I have 10 layers moving around in real-time (updating x,y,z and opacity information) and everything is nice and fluid. At least, it is as long as I run in Production mode and send the commands to the Producer machine. If I switch to Cluster mode, and send commands directly to the Display machine, everything starts stuttering and lagging again. So the very same player copes fine when controlled by a Producer, but staggers to a crawl when running as a standalone Display. Is this expected behaviour? Does using a Producer mean that the producer PC is dealing with the network overhead so that the Display machines don't have to? 0 Quote Link to comment Share on other sites More sharing options...
Mike Fahl Posted September 24, 2015 Report Share Posted September 24, 2015 Again, I this should work better in v6, since the display software bis better at handling larger amounts of input commands. Mike – http://fahl.se/ 0 Quote Link to comment Share on other sites More sharing options...
Member matkeane Posted September 25, 2015 Author Member Report Share Posted September 25, 2015 I will do some experiments with the new version of Watchout sometime when I can borrow a friend's v6 dongles. I was just surprised to see such a big difference in performance between production mode and a display cluster - animation of 10 layers was smooth as butter when talking to the production PC, but the Display machine started having trouble with only 2 layers. One last question - Are there any plans to add external control of compositions? I was trying to move two cues (an image and a drop shadow behind it) together by linking them both to the same inputs, but there was a little bit of wiggle between the two - maybe the position being rounded to whole pixels? 0 Quote Link to comment Share on other sites More sharing options...
Vollmers Posted September 29, 2015 Report Share Posted September 29, 2015 I run v6. What would be the correct string input syntax, if I want to change the ease in/out parameters? Cheers Christian 0 Quote Link to comment Share on other sites More sharing options...
Member matkeane Posted September 30, 2015 Author Member Report Share Posted September 30, 2015 Vollmers: Unfortunately there isn't an easing parameter for setInput (unless Dataton have something up their sleeves for an update). That's why I'm using an external app to calculate the acceleration/deceleration and send a series of updates to Watchout. The difference in v6 is apparently that it copes better with frequent updates - it's quite easy to swamp v5 with network messages, which causes playback to stutter. 0 Quote Link to comment Share on other sites More sharing options...
Mike Fahl Posted September 30, 2015 Report Share Posted September 30, 2015 Yes, matkeane is correct, there's no easing formula supported. Just linear interpolation. The syntax for the basic setInptu command is unchanged (but has improved performance in version 6), while a new setInputs (note trailing "s") improves bandwidth and synchronicity even more by allowing you to set multiple inputs with a single command. Full details will be in the version 6 user's guide, to be release any day now. 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.