SteffeyDev / atemOSC

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

Hyperdeck Clip-Time & Timeline-Time Acting the Same #231

Closed randallpacker closed 2 years ago

randallpacker commented 2 years ago

Greetings: I just began experimenting with timeline-time, and it seems to act identical to clip-time. Assuming you're using the same messaging: 00:00:00 (hours-minutes-seconds) I only get timepoints within the current clip, unless the timepoint is greater than the current clip, and then it will jump to a longer clip that has that time. But it doesn't treat the timeline as one continuous timecode.

Is there a refinement I am missing?

SteffeyDev commented 2 years ago

Does the clip time behave the same way: when you set the clip time to a time longer than the current clip, does it jump to another clip? Or what does it do?

randallpacker commented 2 years ago

It seems to do the following: -- if the timepoint exists within the duration of the current clip, it goes there. -- if the timepoint is greater than the duration of the current clip, it goes to another clip where that timepoint exists -- if the timepoint is greater than the duration of any single individual clip, it doesn't go anywhere

This appears to be the same behavior is clip time, except that it jumps to another clip if it has the timepoint.

My understanding is that time-line is supposed to treat all of the clips as one long duration, and jump to that point. I wonder if the timecode of the individual clips need to be continuous?

Your thoughts?

SteffeyDev commented 2 years ago

Ok. I did check locally, and I am calling the correct underlying method (SetCurrentTimelineTime and not SetCurrentClipTime), so that means the issue is with the SDK itself, or the switcher. I'll need to test it myself, and if I can reproduce I'll report the issue to BlackMagic

randallpacker commented 2 years ago

Thanks Peter. I'll check it again and see if there is any chance I made an error, though I'm pretty sure I am using the right messaging. Randall

SteffeyDev commented 2 years ago

@randallpacker I just got a Hyperdeck setup for testing, and I am unable to reproduce this issue. I recorded two short clips, one 6 seconds followed by an 11 second clip. When I set the timeline time to 00:00:08, it jumps to the second clip, 2 seconds in. If I then set the clip time to 00:00:04, it stays in the second clip, but moves to 4 seconds in. I tested this both while playing and while stopped.

I wonder if the timecode of the individual clips need to be continuous?

Is there a way for individual clips to be not continuous on the timeline? I'm newer to HyperDecks, so maybe there's an edge case that you use frequently and I have not tested?

It is possible that this was a bug with the ATEM software itself, which was fixed in the 8.6.4 version, or some version between what you are running and 8.6.4

randallpacker commented 2 years ago

Thanks Peter. Which version of atemOSC did you run your test with? I'll match that version up with ATEM 8.6.4 and see if it works for me.

SteffeyDev commented 2 years ago

I was testing with the latest version (technically unreleased, but I haven't made any changes to the hyperdeck functionality since the last release)

randallpacker commented 2 years ago

I finally had a chance to test the timeline-time issue again. You are right, it looks like the problem is that the timecode on my clips are not continuous. Each clip begins at 00:00:00:00. That is because I create the clips in Premiere and then upload, they are not recorded on the hyperdeck. So I guess if I want to use this feature, I need to figure a solution for recording a series of clips, each of which begins at a timecode where the previous left clip left off, that is, continuous. I'm sure there are a number of ways of approaching this, but do you have any suggestions if you are exporting clips out of Premiere?

Since the clips are ordered alphabetically in the hyperdeck, it seems like an extra step to make sure the timecode of the clips are ordered alphabetically as well, otherwise, it would be hard to figure out which clip you are going to trigger.

Perhaps it's best just to edit a bunch of clips as one long clip and use clip-time.

Not sure how this got so complicated!!

Thanks, Randall

SteffeyDev commented 2 years ago

Ah, there's the edge case. Unfortunately I've never used Premiere or attempted to import clips to the hyperdeck, but editing them as one long clip might be a good solution. I haven't seen the import process, maybe there's a way to import them so that the hyperdeck fixes the timecodes as they come in? I'm not necessarily expecting that functionality, but it would be cool.

Im going to close this, as it's not an issue with atemOSC, but we can continue discussions after it's closed.

randallpacker commented 2 years ago

Thanks Peter!! I have a very cool thing working in Max, where I am using clip-time $1 and send it random values within the duration of the clip, so I can randomly trigger frames. Not sure how fast I can do this but it is a great way to reshuffle a video. Cheers and happy holidays!!