Change Atem Audio routing in macro

Questions about ATEM Switchers, Camera Converter and everything live!
  • Author
  • Message
Offline
User avatar

Roman Pytkin Pekarek

  • Posts: 2672
  • Joined: Tue Oct 30, 2012 1:11 pm
  • Location: SVK

Change Atem Audio routing in macro

PostFri Oct 04, 2024 7:55 pm

Does anyboty tested to change audio output with macro ?

Atem can mix only one main audio output (thats really crazy with 128 audio channels :) ) ..
I need another switched output (audio + video) .. So im thinking to make 2 macros , to change output to AUX 24 with cam1 + audio 1/2 from cam1 ,.. And second macro , to change AUX 24 with cam2 + audio 1/2 from cam2 .. Somebody tested it ?
http://audioatem.com
http://tally.pytkin.sk
http://www.stonepp.tv
http://www.media-planet.sk
Offline

Gary Adams

Blackmagic Design

  • Posts: 1518
  • Joined: Sat Aug 25, 2012 6:14 am

Re: Change Atem Audio routing in macro

PostFri Oct 04, 2024 10:12 pm

Hello Roman. Our specialty. Yes macros do support any of the audio routing functions. The way to do it is make a small xml file with only the change(s) you want in the macro. As an example, to route SDI input 5 1/2 to Aux 2 1/2, I made this macro using the input/output IDs from the available list. If you wanted multiple changes simply make additional lines like the <Output id= and add them to the list. Note this is not a macro xml but the general mapping part of the xml. Once you do this, you could see how it looks in the actual Macro part of the xml and edit those directly.

Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<Profile majorVersion="2" minorVersion="1" product="ATEM 4 M/E Constellation 4K">
    <AudioMapping>
        <AudioOutputs>
            <Output id="131203072" sourceId="327680" name="Aux2 1/2"/>
        </AudioOutputs>
    </AudioMapping>
</Profile>


Then record the macro of interest and simply restore this file. Stop the macro recording. Now when the macro is run, this or these changes will be made. Obviously not user friendly but doable. I hope this helps.

Gary
Gary Adams
Blackmagic Design
Offline
User avatar

Roman Pytkin Pekarek

  • Posts: 2672
  • Joined: Tue Oct 30, 2012 1:11 pm
  • Location: SVK

Re: Change Atem Audio routing in macro

PostSun Oct 06, 2024 6:24 pm

Ohh Garry You are king !

So i can record macro and in recording i can load any setup ?
All loaded settings will be included in this macro ?
wow .. Thats great .. Im going to test it just right now ..
http://audioatem.com
http://tally.pytkin.sk
http://www.stonepp.tv
http://www.media-planet.sk
Offline

Gary Adams

Blackmagic Design

  • Posts: 1518
  • Joined: Sat Aug 25, 2012 6:14 am

Re: Change Atem Audio routing in macro

PostSun Oct 06, 2024 7:23 pm

Loading an XML basically touches everything listed in the file. Macros will record anything touched. Opens up other possibilities as well.

Gary
Gary Adams
Blackmagic Design
Offline
User avatar

Roman Pytkin Pekarek

  • Posts: 2672
  • Joined: Tue Oct 30, 2012 1:11 pm
  • Location: SVK

Re: Change Atem Audio routing in macro

PostSun Oct 06, 2024 10:38 pm

Yes .. It really works !

Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<Profile majorVersion="2" minorVersion="1" product="ATEM 1 M/E Constellation HD">
    <MacroPool>
        <Macro index="0" name="test" description="">
            <Op id="AudioRoutingChanged" id="131137536" sourceId="150798336"/>
            <Op id="AudioRoutingOutputName" id="131137536" name="Aux1 1/2"/>
            <Op id="AudioRoutingChanged" id="131137537" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131137537" name="Aux1 3/4"/>
            <Op id="AudioRoutingChanged" id="131137538" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131137538" name="Aux1 5/6"/>
            <Op id="AudioRoutingChanged" id="131137539" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131137539" name="Aux1 7/8"/>
            <Op id="AudioRoutingChanged" id="131137540" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131137540" name="Aux1 9/10"/>
            <Op id="AudioRoutingChanged" id="131137541" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131137541" name="Aux1 11/12"/>
            <Op id="AudioRoutingChanged" id="131137542" sourceId="137756672"/>
            <Op id="AudioRoutingOutputName" id="131137542" name="Aux1 13/14"/>
            <Op id="AudioRoutingChanged" id="131137543" sourceId="137691136"/>
            <Op id="AudioRoutingOutputName" id="131137543" name="Aux1 15/16"/>
            <Op id="AudioRoutingChanged" id="131203072" sourceId="150798336"/>
            <Op id="AudioRoutingOutputName" id="131203072" name="Aux2 1/2"/>
            <Op id="AudioRoutingChanged" id="131203073" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131203073" name="Aux2 3/4"/>
            <Op id="AudioRoutingChanged" id="131203074" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131203074" name="Aux2 5/6"/>
            <Op id="AudioRoutingChanged" id="131203075" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131203075" name="Aux2 7/8"/>
            <Op id="AudioRoutingChanged" id="131203076" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131203076" name="Aux2 9/10"/>
            <Op id="AudioRoutingChanged" id="131203077" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131203077" name="Aux2 11/12"/>
            <Op id="AudioRoutingChanged" id="131203078" sourceId="137756672"/>
            <Op id="AudioRoutingOutputName" id="131203078" name="Aux2 13/14"/>
            <Op id="AudioRoutingChanged" id="131203079" sourceId="137691136"/>
            <Op id="AudioRoutingOutputName" id="131203079" name="Aux2 15/16"/>
            <Op id="AudioRoutingChanged" id="131268608" sourceId="150798336"/>
            <Op id="AudioRoutingOutputName" id="131268608" name="Aux3 1/2"/>
            <Op id="AudioRoutingChanged" id="131268609" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131268609" name="Aux3 3/4"/>
            <Op id="AudioRoutingChanged" id="131268610" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131268610" name="Aux3 5/6"/>
            <Op id="AudioRoutingChanged" id="131268611" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131268611" name="Aux3 7/8"/>
            <Op id="AudioRoutingChanged" id="131268612" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131268612" name="Aux3 9/10"/>
            <Op id="AudioRoutingChanged" id="131268613" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131268613" name="Aux3 11/12"/>
            <Op id="AudioRoutingChanged" id="131268614" sourceId="137756672"/>
            <Op id="AudioRoutingOutputName" id="131268614" name="Aux3 13/14"/>
            <Op id="AudioRoutingChanged" id="131268615" sourceId="137691136"/>
            <Op id="AudioRoutingOutputName" id="131268615" name="Aux3 15/16"/>
            <Op id="AudioRoutingChanged" id="131334144" sourceId="150798336"/>
            <Op id="AudioRoutingOutputName" id="131334144" name="Aux4 1/2"/>
            <Op id="AudioRoutingChanged" id="131334145" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131334145" name="Aux4 3/4"/>
            <Op id="AudioRoutingChanged" id="131334146" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131334146" name="Aux4 5/6"/>
            <Op id="AudioRoutingChanged" id="131334147" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131334147" name="Aux4 7/8"/>
            <Op id="AudioRoutingChanged" id="131334148" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131334148" name="Aux4 9/10"/>
            <Op id="AudioRoutingChanged" id="131334149" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131334149" name="Aux4 11/12"/>
            <Op id="AudioRoutingChanged" id="131334150" sourceId="137756672"/>
            <Op id="AudioRoutingOutputName" id="131334150" name="Aux4 13/14"/>
            <Op id="AudioRoutingChanged" id="131334151" sourceId="137691136"/>
            <Op id="AudioRoutingOutputName" id="131334151" name="Aux4 15/16"/>
            <Op id="AudioRoutingChanged" id="131399680" sourceId="150798336"/>
            <Op id="AudioRoutingOutputName" id="131399680" name="Aux5 1/2"/>
            <Op id="AudioRoutingChanged" id="131399681" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131399681" name="Aux5 3/4"/>
            <Op id="AudioRoutingChanged" id="131399682" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131399682" name="Aux5 5/6"/>
            <Op id="AudioRoutingChanged" id="131399683" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131399683" name="Aux5 7/8"/>
            <Op id="AudioRoutingChanged" id="131399684" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131399684" name="Aux5 9/10"/>
            <Op id="AudioRoutingChanged" id="131399685" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131399685" name="Aux5 11/12"/>
            <Op id="AudioRoutingChanged" id="131399686" sourceId="137756672"/>
            <Op id="AudioRoutingOutputName" id="131399686" name="Aux5 13/14"/>
            <Op id="AudioRoutingChanged" id="131399687" sourceId="137691136"/>
            <Op id="AudioRoutingOutputName" id="131399687" name="Aux5 15/16"/>
            <Op id="AudioRoutingChanged" id="131465216" sourceId="150798336"/>
            <Op id="AudioRoutingOutputName" id="131465216" name="Aux6 1/2"/>
            <Op id="AudioRoutingChanged" id="131465217" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131465217" name="Aux6 3/4"/>
            <Op id="AudioRoutingChanged" id="131465218" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131465218" name="Aux6 5/6"/>
            <Op id="AudioRoutingChanged" id="131465219" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131465219" name="Aux6 7/8"/>
            <Op id="AudioRoutingChanged" id="131465220" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131465220" name="Aux6 9/10"/>
            <Op id="AudioRoutingChanged" id="131465221" sourceId="0"/>
            <Op id="AudioRoutingOutputName" id="131465221" name="Aux6 11/12"/>
            <Op id="AudioRoutingChanged" id="131465222" sourceId="137756672"/>
            <Op id="AudioRoutingOutputName" id="131465222" name="Aux6 13/14"/>
            <Op id="AudioRoutingChanged" id="131465223" sourceId="137691136"/>
            <Op id="AudioRoutingOutputName" id="131465223" name="Aux6 15/16"/>
            <Op id="AudioRoutingSourceName" id="0" name="No Audio"/>
            <Op id="AudioRoutingSourceName" id="65536" name="Input 1 1/2"/>
            <Op id="AudioRoutingSourceName" id="65537" name="Input 1 3/4"/>
            <Op id="AudioRoutingSourceName" id="131072" name="Input 2 1/2"/>
            <Op id="AudioRoutingSourceName" id="131073" name="Input 2 3/4"/>
            <Op id="AudioRoutingSourceName" id="196608" name="Input 3 1/2"/>
            <Op id="AudioRoutingSourceName" id="196609" name="Input 3 3/4"/>
            <Op id="AudioRoutingSourceName" id="262144" name="Input 4 1/2"/>
            <Op id="AudioRoutingSourceName" id="262145" name="Input 4 3/4"/>
            <Op id="AudioRoutingSourceName" id="327680" name="Input 5 1/2"/>
            <Op id="AudioRoutingSourceName" id="327681" name="Input 5 3/4"/>
            <Op id="AudioRoutingSourceName" id="393216" name="Input 6 1/2"/>
            <Op id="AudioRoutingSourceName" id="393217" name="Input 6 3/4"/>
            <Op id="AudioRoutingSourceName" id="458752" name="Input 7 1/2"/>
            <Op id="AudioRoutingSourceName" id="458753" name="Input 7 3/4"/>
            <Op id="AudioRoutingSourceName" id="524288" name="Input 8 1/2"/>
            <Op id="AudioRoutingSourceName" id="524289" name="Input 8 3/4"/>
            <Op id="AudioRoutingSourceName" id="589824" name="Input 9 1/2"/>
            <Op id="AudioRoutingSourceName" id="589825" name="Input 9 3/4"/>
            <Op id="AudioRoutingSourceName" id="655360" name="Input 10 1/2"/>
            <Op id="AudioRoutingSourceName" id="655361" name="Input 10 3/4"/>
            <Op id="AudioRoutingSourceName" id="85262336" name="Microphone"/>
            <Op id="AudioRoutingSourceName" id="91815936" name="TRS"/>
            <Op id="AudioRoutingSourceName" id="131137536" name="Media Player 1"/>
            <Op id="AudioRoutingSourceName" id="131203072" name="Media Player 2"/>
            <Op id="AudioRoutingSourceName" id="137691136" name="Production Talkback"/>
            <Op id="AudioRoutingSourceName" id="137756672" name="Engineering Talkback"/>
            <Op id="AudioRoutingSourceName" id="150798336" name="Program 1/2"/>
            <Op id="AudioRoutingSourceName" id="183566336" name="Aux 1 Mix"/>
            <Op id="AudioRoutingSourceName" id="183631872" name="Aux 2 Mix"/>
            <Op id="AudioRoutingSourceName" id="183697408" name="Aux 3 Mix"/>
            <Op id="AudioRoutingSourceName" id="183762944" name="Aux 4 Mix"/>
            <Op id="AudioRoutingSourceName" id="183828480" name="Aux 5 Mix"/>
            <Op id="AudioRoutingSourceName" id="183894016" name="Aux 6 Mix"/>
        </Macro>
    </MacroPool>
    <MacroControl loop="False"/>
</Profile>
http://audioatem.com
http://tally.pytkin.sk
http://www.stonepp.tv
http://www.media-planet.sk
Offline
User avatar

Roman Pytkin Pekarek

  • Posts: 2672
  • Joined: Tue Oct 30, 2012 1:11 pm
  • Location: SVK

Re: Change Atem Audio routing in macro

PostSun Oct 06, 2024 10:41 pm

So U can now create "another M/E" with Audio Follow Video .. U must can with macros .. But it will work ..
http://audioatem.com
http://tally.pytkin.sk
http://www.stonepp.tv
http://www.media-planet.sk
Offline
User avatar

Roman Pytkin Pekarek

  • Posts: 2672
  • Joined: Tue Oct 30, 2012 1:11 pm
  • Location: SVK

Re: Change Atem Audio routing in macro

PostSun Oct 06, 2024 10:49 pm

Garry : How about recursion ?
When I record in macro loading new macros .. And Run it ? Actual macro will be terminated , if it will be rewrited ? Or it can be called recursively ?
http://audioatem.com
http://tally.pytkin.sk
http://www.stonepp.tv
http://www.media-planet.sk
Offline

Gary Adams

Blackmagic Design

  • Posts: 1518
  • Joined: Sat Aug 25, 2012 6:14 am

Re: Change Atem Audio routing in macro

PostSun Oct 06, 2024 11:17 pm

You can record a macro running multiple macros. Each macro would run to completion before you start the next. The end result macro would be made up of the element all the macros and not the macros themselves. So yes to multiple macros.

Gary
Gary Adams
Blackmagic Design
Offline
User avatar

Roman Pytkin Pekarek

  • Posts: 2672
  • Joined: Tue Oct 30, 2012 1:11 pm
  • Location: SVK

Re: Change Atem Audio routing in macro

PostMon Oct 07, 2024 12:40 pm

Gary : Yes .. But if macro loading source code for the same macro ? It will be changed after end of executing of macro ?
http://audioatem.com
http://tally.pytkin.sk
http://www.stonepp.tv
http://www.media-planet.sk
Offline

Gary Adams

Blackmagic Design

  • Posts: 1518
  • Joined: Sat Aug 25, 2012 6:14 am

Re: Change Atem Audio routing in macro

PostMon Oct 07, 2024 2:20 pm

Macros do not load code or files. When recording a macro you can load a file which actually touches or perform the changes to the ATEM. These changes are recorded in the macro. When running the macro no files are loaded. Just the changes made by loading the file are made. I hope that helps.

Gary
Gary Adams
Blackmagic Design
Offline
User avatar

Roman Pytkin Pekarek

  • Posts: 2672
  • Joined: Tue Oct 30, 2012 1:11 pm
  • Location: SVK

Re: Change Atem Audio routing in macro

PostMon Oct 07, 2024 4:00 pm

Gary : Ahh .. So in recording macro , when I load ATEM settings (with macros) , then this macros will not load into recording .. right ?
http://audioatem.com
http://tally.pytkin.sk
http://www.stonepp.tv
http://www.media-planet.sk
Offline

Gary Adams

Blackmagic Design

  • Posts: 1518
  • Joined: Sat Aug 25, 2012 6:14 am

Re: Change Atem Audio routing in macro

PostMon Oct 07, 2024 4:50 pm

Maybe i'm not clear on the workflow here. I don't want to assume anything wrong. Remember, the Restore capability will load anything saved using Save As. When the file is loaded, every setup and action saved will be sent to the switcher. This essentially "touches" the controls as they were saved. If you were to save the switcher setup and edit down everything you don't need leaving some simple steps like Take camera 2 on Program, then when you load this edited version the ATEM will take camera 2 just as if you pushed the button. So if you wanted to make this a macro. Start the Macro recording process, then load that same file into the ATEM. Stop the macro recording process. Now when you run that macro camera 2 will be selected on the program bus. This is a nice feature since you can do many separate things with this method assuming you can edit the file correctly. I want to point out it is not a good idea to record a macro and import the entire switcher setup. It will probably fail due to size of macro. So in the case of audio routing, you can make a small XML that has just that routing. You could also make several files, each with different routings. Record a macro, then restore each of those files one by one, and they will all be included in the macro when you run it. Or also note, when recording a macro, you can also select a different macro to be included. When a macro plays that was made up of imported XML files or selected macros, only the contents of those actions are recorded, not the act of importing the file or selecting a macro. Too many words, but I hope it helps.

Gary
Gary Adams
Blackmagic Design
Offline
User avatar

Roman Pytkin Pekarek

  • Posts: 2672
  • Joined: Tue Oct 30, 2012 1:11 pm
  • Location: SVK

Re: Change Atem Audio routing in macro

PostMon Oct 07, 2024 11:19 pm

Yes , i understand and agree :)
http://audioatem.com
http://tally.pytkin.sk
http://www.stonepp.tv
http://www.media-planet.sk
Offline
User avatar

Xtreemtec

  • Posts: 5454
  • Joined: Wed Jan 02, 2013 11:48 am
  • Location: The Netherlands

Re: Change Atem Audio routing in macro

PostTue Oct 08, 2024 7:49 am

Roman, Can you build a Macro edit tool?

How many people have been programming a macro and then find that they forgot a key or function, or need some adjustment to redo the whole macro.

Since you already created a tool to edit the XML. Would there be an option to do basic inline edit with hitting buttons for functions or select actions from a drop down menu.

Macro is a powerfull thing.. It's a shame there is no easy edit tool for those that do not know all the commands and want to direct edit into the XML files..

BMD Atem could be VERY VERY powerful tool when there would be a step by step editor for the macro's.
I feel GV and Ross have really worked on that bit by having a full user interface to create, edit, and change macro's on the fly.. Doing automation and all.

Sorry going off topic :oops: But the whole audio routing via Macro's is very cool.
Daniel Wittenaar .:: Xtreemtec Multicam Facilities ::. -= www.xtreemtec.nl =-
4K OBV Truck, Dual ATEM 8K, 120x120 Videohub, 12x Hyperdeck 4K Pro, Ursa Broadcast 4K G2, 4K fiber converters with Sony Control and seperate Tally on SMPTE
Offline

Julusian

  • Posts: 59
  • Joined: Mon Aug 03, 2020 9:36 pm
  • Real Name: Julian Waller

Re: Change Atem Audio routing in macro

PostTue Oct 08, 2024 9:00 am

Xtreemtec wrote:Roman, Can you build a Macro edit tool?


I was building a tool for this many years ago but never finished. I think I was working primarily in the macro xml, which made things a bit more painful than it could have been.
The challenge was figuring out all the operations and what options are valid. For reference, There were something in the region of 350 possible macro operations 6 years ago, which is before fairlight so it could be close to double that by now.

That said, I do still occasionally generate macros in code sometimes.
If anyone wants to look into writing this tool, I have some pointers on knowledge you can build off
Offline
User avatar

Roman Pytkin Pekarek

  • Posts: 2672
  • Joined: Tue Oct 30, 2012 1:11 pm
  • Location: SVK

Re: Change Atem Audio routing in macro

PostTue Oct 08, 2024 10:45 pm

Daniel : Yes .. Im thinking about it ..
http://audioatem.com
http://tally.pytkin.sk
http://www.stonepp.tv
http://www.media-planet.sk
Offline
User avatar

Xtreemtec

  • Posts: 5454
  • Joined: Wed Jan 02, 2013 11:48 am
  • Location: The Netherlands

Re: Change Atem Audio routing in macro

PostWed Oct 09, 2024 12:02 pm

@jullian, Yes i get the picture.. On the other hand.. A basic editor to start with with a list of parameters on the side so you can check there correct naming is already helpfull..

From that you can build out towards clickable parameters ( first only the most used ) and expand on that.. :) But yes i get what you are saying it is a bunch of work.

On the other hand.. Such a tool can be $30 bucks or something.. I think a lot of experienced Atem users will buy it instantly at that price if it works.
Daniel Wittenaar .:: Xtreemtec Multicam Facilities ::. -= www.xtreemtec.nl =-
4K OBV Truck, Dual ATEM 8K, 120x120 Videohub, 12x Hyperdeck 4K Pro, Ursa Broadcast 4K G2, 4K fiber converters with Sony Control and seperate Tally on SMPTE
Offline

greggbhill

  • Posts: 3
  • Joined: Sat Sep 28, 2024 9:15 pm
  • Real Name: Gregg Hill

Re: Change Atem Audio routing in macro

PostWed Nov 27, 2024 6:51 pm

FWIW: How I Maintain My ATEM Macros

What
- I maintain 1 master macro XML file that I always use to restore from.
- The master macro file includes spacing and comments so it is more readable and easier to maintain.
- When I create new macros, I capture them into a separate temporary macro file with the name of the feature -- E.G. start-recording.xml (these are temporary until I migrate the relevant code into the master file.
- As I migrate code from a temporary macro file into the master file, I test/edit/repeat until good. Then I move the temporary file into an archive folder in case I need to go back to see how things were captured. I can also re-capture (record) the temporary macro - especially if any config/hardware changes have happened since.
- Once a new version of the master file is good, I save a copy of it in several backup locations (separate Mac drives, cloud, etc.). This way I always have peace of mind that I won't have to "start over" :-)

Why
1. I prefer to have comments and spacing so it is easier to read (now that I have 70+ macros)
2. XML allows for comments (even though importing/exporting strips them out)
3. Backing up my single master file to alternate locations (separate Mac drives, cloud, etc.) allows me

How
- I use Visual Studio Code editor (free), but any decent text/code editor will do. Good ones will recognize an XML file structure and show comments in a different color (VSC shows them in green)
- Comments in XML start with <!-- and end with -->
- For Example:
Code: Select all
<!-- some comment here -->

- Comments can span multiple lines, and can have blank lines between like this:

Code: Select all
<!-- 
====================================
==  SUPER-SOURCE 1
====================================
-->

<Macro index="0" name="super-source-1" description="Super Source - option 1">

            <!-- Disable boxes -->
            <Op id="SuperSourceV2BoxEnable" superSource="0" boxIndex="0" enable="False"/>
            <Op id="SuperSourceV2BoxEnable" superSource="0" boxIndex="1" enable="False"/>
            <Op id="SuperSourceV2BoxEnable" superSource="0" boxIndex="2" enable="False"/>
            <Op id="SuperSourceV2BoxEnable" superSource="0" boxIndex="3" enable="False"/>

            <!-- Box 1 (Left) -->
            <Op id="SuperSourceV2BoxInput" superSource="0" boxIndex="0" input="Camera1"/>
            <Op id="SuperSourceV2BoxXPosition" superSource="0" boxIndex="0" xPosition="-12.70"/>
            <Op id="SuperSourceV2BoxYPosition" superSource="0" boxIndex="0" yPosition=".2"/>
            <Op id="SuperSourceV2BoxSize" superSource="0" boxIndex="0" size="0.45"/>
            <Op id="SuperSourceV2BoxMaskLeft" superSource="0" boxIndex="0" left="9.4"/>
            <Op id="SuperSourceV2BoxMaskTop" superSource="0" boxIndex="0" top="0"/>
            <Op id="SuperSourceV2BoxMaskRight" superSource="0" boxIndex="0" right="9.4"/>
            <Op id="SuperSourceV2BoxMaskBottom" superSource="0" boxIndex="0" bottom="0"/>

            <!-- Box 2 (Right) -->
            <Op id="SuperSourceV2BoxInput" superSource="0" boxIndex="1" input="MediaPlayer2"/>
            <Op id="SuperSourceV2BoxXPosition" superSource="0" boxIndex="1" xPosition="3.2"/>
            <Op id="SuperSourceV2BoxYPosition" superSource="0" boxIndex="1" yPosition=".5"/>
            <Op id="SuperSourceV2BoxSize" superSource="0" boxIndex="1" size="0.78"/>
            <Op id="SuperSourceV2BoxMaskLeft" superSource="0" boxIndex="1" left="0"/>
            <Op id="SuperSourceV2BoxMaskTop" superSource="0" boxIndex="1" top="0"/>
            <Op id="SuperSourceV2BoxMaskRight" superSource="0" boxIndex="1" right="0"/>
            <Op id="SuperSourceV2BoxMaskBottom" superSource="0" boxIndex="1" bottom="0"/>

            <!-- Background -->
            <Op id="SuperSourceV2ArtFillInput" superSource="0" input="Black"/>
            <Op id="SuperSourceV2BoxEnable" superSource="0" boxIndex="0" enable="True"/>
            <Op id="SuperSourceV2BoxEnable" superSource="0" boxIndex="1" enable="True"/>
            <Op id="SuperSourceV2BoxEnable" superSource="0" boxIndex="2" enable="False"/>
            <Op id="SuperSourceV2BoxEnable" superSource="0" boxIndex="3" enable="False"/>

            <!-- Transition Super-Source 1 -->
            <Op id="TransitionMixRate" mixEffectBlockIndex="0" rate="25"/>
            <Op id="TransitionStyle" mixEffectBlockIndex="0" style="Mix"/>
            <Op id="AutoTransition" mixEffectBlockIndex="0"/>

</Macro>

<!--
====================================
==  SUPER-SOURCE 2
====================================
-->

<Macro index="0" name="super-source-2" description="Super Source - option 2">
...
</Macro>


Caveats
- No guarantee that ATEM software will always "ignore" the comments when the XML file is restored.
- No guarantee that ATEM software will always work correctly if comments are in a file being restored -- currently version 9.6.2 works fine.
Offline

SMachoney

  • Posts: 78
  • Joined: Fri Dec 09, 2022 9:42 pm
  • Real Name: Steve Machoney

Re: Change Atem Audio routing in macro

PostSun Dec 01, 2024 7:06 am

I agree! People would pay if there was a tool that did this reliably.

Return to Live Production

Who is online

Users browsing this forum: HansKalldal and 55 guests