SteffeyDev / atemOSC

Control ATEM video switchers over the network with OSC messages
http://www.atemosc.com
202 stars 32 forks source link

Hyperdeck Control (via TCP) #58

Closed iamjohnbarker closed 11 months ago

iamjohnbarker commented 6 years ago

I've been wondering if it's possible to add hyperdeck control to atemOSC?

I figure that the Studio/Studio mini being controllable over ethernet would make this possible, but perhaps I am wrong.

Would be great to connect to a Hyperdeck and then send it commands from a midi keyboard!

randallpacker commented 4 years ago

More testing and now I have clip-time working. String is 00:01:20 (hours:minutes:seconds). Doesn't seem to respond to frames. Timeline-time is responding but I am not sure what it means. Bravo Peter! The Hyperdeck is now a random access video repository!!

randallpacker commented 4 years ago

One more thing. I have three Hyperdecks: two Hyperdeck Studios and 1 Hyperdeck Mini. Everything is working perfectly on all three.

SteffeyDev commented 4 years ago

Thanks for all the testing! Glad you figured out the time format. I'm not too familiar with hyperdeck still so not sure the difference between clip and timeline time, just sent the values straight through. The BlackMagic docs say that Jog takes an int value, which is the number of frames to jog (so 0-infinity), and shuttle takes an int value that is the percentage (so I assume 0 - 200 for stopped to 200%, can probably go higher than 200 of course). The docs also say that the timeline time is "the current elapsed time within the Hyperdeck's entire timeline", if that means anything to you.

randallpacker commented 4 years ago

I have a hunch that timeline time might mean the total duration of all the clips in the deck. I noticed that when you use a time point greater than the duration of the clip, it goes to the next clip or even the clip after that. But I think it is doing that with both clip time and timeline time, so I need to experiment some more. It seems though that you can treat all your clips as one giant clip and use times that can jump around the whole set of clips. Pretty amazing! Thanks, Randall

SteffeyDev commented 4 years ago

I think to use the clip time for a later clip, you first have to set the clip with /atem/hyperdeck/<id>/clip/<id>, then the clip time will be the time within that clip

SteffeyDev commented 4 years ago

Version 2.5.7 released basic hyperdeck control via switcher SDK, now documented as of 3.0.0. I'll keep this open as a feature-request for TCP support, which is not supported yet.

StrellaCo commented 3 years ago

Thank you so much for doing all of this! I am about to dig in on my own testing and am grateful for the extensive research! Wish I was around to lend a hand earlier!

SteffeyDev commented 11 months ago

I've released a new major version that includes connecting to HyperDecks over TCP, and provides a new interface and set of commands for interacting with HyperDecks. You'll have to connect the HyperDecks to atemOSC instead of ATEM Software Control, since they only support one connection at a time, but I've re-implemented much of the same HyperDeck functionality from ATEM Software Control into atemOSC, so it shouldn't be much of a trade-off. Open a support request at www.atemosc.com/support if there are any issues or further features desired on this front.