Barry,
Instead of thinking about finding out the current state, think about the desired end state. I am also very new but after trolling the net I found that the following approach works as long as you can accept the limitations or assumptions listed below:
ASSUMPTIONS- You have to remember what each of the MACRO button on your switcher is going to do i.e. it is fixed to get you to a desired state without relying upon knowing the current state.
- If you do not learn the order in which you have to execute your MACROS your desired end state will not be achieved
- Trying to perform any effects which require knowing the current state cannot be achieved without additional software and hardware
I use Canon 5D Mk III as my main video camera which is connected to Input 1 on the ATEM Mini Extreme switcher. It has a known issue due to international regulations to turn itself off after 29 mins and 59 seconds. When it turns itself off, I have a macro that will show a static picture from my media pool. This macro is assigned to Macro 1 button on the switcher. Then I have to turn my camera Off and then ON again physically. Once the camera feed is on, I press my Macro 2 button to bring my video UP followed by automatically adding in the lower third overlay which is another static image from the media pool. When this overlay is shown, a fade transition is also set so that it comes in nicely. For this simply setup I DO NOT set things to preview and then press the AUTO button because once I have learned my Macro sequence order, the AUTO is also written in my Macro. Here is my Macro that may help you do what you are trying to achieve and not even rely upon the pressing of AUTO button as well.
Also note that I have some green screen setup for my main camera 1 on input 1. I am also making sure my green screen is setup correctly and I pick the correct background static image from a different media pool. In other words I am using both my media pools. One pool has the background image and the second pool has my lower third overlay.
- Code: Select all
<Macro index="0" name="5D-OFF" description="When 5D goes off, switch to Still # 2 in MediaPlayer 2">
<Op id="ProgramInput" mixEffectBlockIndex="0" input="Black"/>
<Op id="DownstreamKeyAuto" keyIndex="0"/>
<Op id="MediaPlayerSourceStillIndex" mediaPlayer="1" index="1"/>
<Op id="MediaPlayerSourceStill" mediaPlayer="1"/>
<Op id="KeyOnAir" mixEffectBlockIndex="0" keyIndex="0" onAir="False"/>
<Op id="TransitionSource" mixEffectBlockIndex="0" source="Background"/>
<Op id="PreviewInput" mixEffectBlockIndex="0" input="MediaPlayer2"/>
<Op id="AutoTransition" mixEffectBlockIndex="0"/>
</Macro>
<Macro index="1" name="5D-ON" description="Switch to 5D after it has been turned on again">
<Op id="TransitionSource" mixEffectBlockIndex="0" source="Background, Key1"/>
<Op id="MediaPlayerSourceStillIndex" mediaPlayer="0" index="2"/>
<Op id="MediaPlayerSourceStill" mediaPlayer="0"/>
<Op id="PreviewInput" mixEffectBlockIndex="0" input="MediaPlayer1"/>
<Op id="KeyType" mixEffectBlockIndex="0" keyIndex="0" type="Chroma"/>
<Op id="KeyFillInput" mixEffectBlockIndex="0" keyIndex="0" input="Camera1"/>
<Op id="AdvancedChromaKeyForegroundLevel" mixEffectBlockIndex="0" keyIndex="0" foregroundLevel="0.04"/>
<Op id="AdvancedChromaKeyBackgroundLevel" mixEffectBlockIndex="0" keyIndex="0" backgroundLevel="1"/>
<Op id="AdvancedChromaKeyKeyEdge" mixEffectBlockIndex="0" keyIndex="0" keyEdge="0.8"/>
<Op id="AdvancedChromaKeySpillSuppress" mixEffectBlockIndex="0" keyIndex="0" spillSuppress="0"/>
<Op id="AdvancedChromaKeyFlareSuppress" mixEffectBlockIndex="0" keyIndex="0" flareSuppress="0"/>
<Op id="AdvancedChromaKeyForegroundBrightness" mixEffectBlockIndex="0" keyIndex="0" foregroundBrightness="0"/>
<Op id="AdvancedChromaKeyForegroundContrast" mixEffectBlockIndex="0" keyIndex="0" foregroundContrast="0"/>
<Op id="AdvancedChromaKeyForegroundColour" mixEffectBlockIndex="0" keyIndex="0" foregroundColour="1"/>
<Op id="AdvancedChromaKeyForegroundRed" mixEffectBlockIndex="0" keyIndex="0" foregroundRed="0"/>
<Op id="AdvancedChromaKeyForegroundGreen" mixEffectBlockIndex="0" keyIndex="0" foregroundGreen="0"/>
<Op id="AdvancedChromaKeyForegroundBlue" mixEffectBlockIndex="0" keyIndex="0" foregroundBlue="0"/>
<Op id="KeyMaskEnable" mixEffectBlockIndex="0" keyIndex="0" enable="False"/>
<Op id="KeyFlyEnable" mixEffectBlockIndex="0" keyIndex="0" enable="False"/>
<Op id="AdvancedChromaKeyCursorSize" mixEffectBlockIndex="0" keyIndex="0" size="0.5"/>
<Op id="AdvancedChromaKeyCursorXPosition" mixEffectBlockIndex="0" keyIndex="0" xPosition="9"/>
<Op id="AdvancedChromaKeyCursorYPosition" mixEffectBlockIndex="0" keyIndex="0" yPosition="3"/>
<Op id="AdvancedChromaKeyPreviewEnabled" mixEffectBlockIndex="0" keyIndex="0" enabled="False"/>
<Op id="AdvancedChromaKeySamplingModeEnabled" mixEffectBlockIndex="0" keyIndex="0" enabled="False"/>
<Op id="AutoTransition" mixEffectBlockIndex="0"/>
<Op id="MacroSleep" frames="45"/>
<Op id="MediaPlayerSourceStillIndex" mediaPlayer="1" index="2"/>
<Op id="MediaPlayerSourceStill" mediaPlayer="1"/>
<Op id="ProgramInput" mixEffectBlockIndex="0" input="MediaPlayer2"/>
<Op id="MediaPlayerSourceStillIndex" mediaPlayer="0" index="0"/>
<Op id="MediaPlayerSourceStill" mediaPlayer="0"/>
<Op id="DownstreamKeyAuto" keyIndex="0"/>
</Macro>
I hope this helps you think creatively / differently to solve your specific problem. It took me sometime to not think terms of IF..THIS..THEN..THAT style of solving the problem because the hardware and software combination currently does not support it without getting into external software and hardware which I am at the moment not interested in investing.
-Amit