SteffeyDev / atemOSC

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

Auto timing/duration osc float #164

Closed high-solutions closed 4 years ago

high-solutions commented 4 years ago

hi,

I'm looking how to change the auto transition timing, so not using the "bar" but just say something like: /atem/transition/set-type/mix /atem/transition/time 8 Or: /atem/transition/auto 8 Or: /atem/transition/ftb 8

so the timing should/could be 8 seconds in these examples i hope i made my self clear, is this possible?

My main goal is to define a auto transition time per cue in Qlab sending osc

sneat commented 4 years ago

You could record macros setting different transition timings and then have atemOSC trigger the appropriate macro when you need?

high-solutions commented 4 years ago

Hi! Thanks for the response. I could do that but that's really bad for the workflow, in the theater performances with mostly light, video and audio combined i sometimes need to adjust the video fade to be in sync with the afterglow of lamps for example. It would be much faster to change a value in the osc command instead of recording hundreds individual macros for individual cue's.

I am now trying to make a work around with the bar. I can "fade" the bar and adjust the time of how long this wil take in qlab but this is not working right yet because the bar works as an a/b fader (so sometimes the zero value is preview and the 1,0 value is program and sometimes it's the other way around) whats great if you have an actual fader but the way qlab thinks how a transition wil be is from 0 to 1 and the next time als from 0 to 1 instead of 1 to 0. I can make this work but it's complicated and sometimes if the bar is a little bit off at the start it cuts hard to the previewed cam and then makes the transition back to the previous camera.

There are a lot of work arounds but they are not great and take a lot of time.

SteffeyDev commented 4 years ago

Should be a pretty basic feature, I might be able to knock it out real fast today.

SteffeyDev commented 4 years ago

@high-solutions, please try https://github.com/danielbuechele/atemOSC/releases/download/v3.1.4/atemOSC_3.1.4.dmg

I'm unable to test, so let me know if it allows you to set the rate using /atem/transition/rate <float>

high-solutions commented 4 years ago

You sir, are my hero!

For me this works like a charm, noted that it only works on the mix transition. Atem software use different rates for different transitions (also in their own macro system, you can't make a macro to change the rate to "3" and use it in what ever transition style you have selected. If you made the macro in the mix-transition and then select dip or wipe and use the macro it wil still change the mix rate in the background).

I don't mind very much because i will mostly use the mix transition with this osc command but maybe it could be linked to the selected transition style. IBMDSwitcherTransitionMixParameters changed to IBMDSwitcherTransitionDip/Wipe/DVEParameters respectively, but i don't know if it can work like that...

maybe it would be great to implement more rate values for example the: USK & DSK Rates (weird enough the USK rate is one rate for luma/chroma/pattern and DVE)

But maybe i'm asking to much right now ;) for me it's fine like it is! It's a shame i don't know any C++

SteffeyDev commented 4 years ago

Challenge accepted: https://github.com/danielbuechele/atemOSC/releases/download/v3.1.5/atemOSC_3.1.5.dmg

Use /atem/transition/rate <float> to set for current type, or you can use /atem/transition/mix/rate to set for mix specifically. Same for wipe, dve, and dip. Also added /atem/dsk/#/rate <float>. Couldn't find a parameter for USK except for Fly Rate, which I don't understand enough to implement.

SteffeyDev commented 4 years ago

Once you verify it works, I can switch that to a public release (it's pre-release right now)

high-solutions commented 4 years ago

Strange. switching works for mix, dip and DVE but not for the wipe transition. great work tough. The DSK rate works nice.

And you are right about the USK rate, in my way of thinking i could use it to transition the USK but it is indeed a function of the flying key so thats an other topic.

high-solutions commented 4 years ago

https://github.com/danielbuechele/atemOSC/commit/75b6757e57c95f89256f7009c3106323aa913b1d#diff-523cb9e3407ad911a5c675b7350a27b5 in line 214 of atemOSC/OSCReceiver.mm there is a copy paste typo, it should be wipe instead of dip:

if (SUCCEEDED([appDel mMixEffectBlock]->QueryInterface(IID_IBMDSwitcherTransitionDipParameters, (void**)&mTransitionWipeParameters)))

SteffeyDev commented 4 years ago

Ah good catch. Does /atem/transition/rate work for switching the currently selected type?

high-solutions commented 4 years ago

Yes, it works like a charm (except for the wipe :p)

SteffeyDev commented 4 years ago

Ok, just released 3.1.6, which should have everything working now