Need Macro to control AUX1

9 posts / 0 new
Last post
Offline

Location

Santa Monica,
United States
Joined: 18/07/2016
Posts: 2
Need Macro to control AUX1

On a Blackmagic ME/1 switcher, I need AUX1 output to show black EXCEPT when Program is switched to CAM1.  In that case, AUX1 = CAM1.  I use this to show a lecturer their slides but show black otherwise so they are not staring at themselves.

Some kind person named Richard wrote a program for me that does exactly what I needed a year ago but it stopped working after I upgraded the Switcher to 6.5.1.

I don't have the source code. All he gave me was the .EXE and a bunch of .DLLs.

Can anyone help me?

I now have dev on staff that might be able to do this if someone can tell me how...

JohnBengston's picture
Offline

Location

London
United Kingdom
Joined: 14/01/2012
Posts: 2145
Download from this

Download from this link.

http://www.justmacros.tv/downloads/patches/JustMacros Aux follows TX.zip

Put the contents in a directory like C:\JustMacros

Run the EXE.

That's it, AUX1 will have BLACK unless Source 1 is on TX. Thus your presenter will only see the GFX Source when the GFX Source is on air.

If you want to know how it works, it is a single script.

So it is just 20 lines of code

  • Firstly it's a script that never ends
  • The first 4 lines simply ensure if you change the script and re-run it, it'll stop the previous version running.
  • It then enters a never ending loop
  • waits for one frame (in 50Hz land, change this to 30 if running at 59.94Hz)
  • Then asks the question is source 2 (external input 1) on ME1 TX output?
  • If it is, and AUX1 is not set to external input 1, then set it to external input 1
  • If Source 2 (external input 1) is NOT on ME1s TX output?
  • And AUX1 is not already black
  • Set it to BLACK (Source 1)

 

Offline

Location

Santa Monica,
United States
Joined: 18/07/2016
Posts: 2
Thank You John

This works great!!

JohnBengston's picture
Offline

Location

London
United Kingdom
Joined: 14/01/2012
Posts: 2145
zero problem mate. Just an

zero problem mate.

Just an observation, but if you want to do anything the BMD software doesn't allow you to do, post here rather than on BMDs forum. You'll get better responses!!

Offline

Location

Bentonville,
United States
Joined: 27/05/2016
Posts: 26
John,  What if I would like

John, 

What if I would like AUX 1 to follow program through a range of inputs, while avoiding a range of inputs. For ex. Confidence Monitor following multiple graphics computers, and playback, but not following to any camera souces (lets say 3 of them). It be great if it remained on the last source when program went to a camera. 

 

 

Offline

Location

Bentonville,
United States
Joined: 27/05/2016
Posts: 26
Well, Solved my own problem

Well, Solved my own problem here. I just copied the section of code that checks if the input is on program and repeated it over and over changing the input number. I also changed the else command to an elseif.  

 

if ATEMMixerMEGetProgramInput( 1, 1 ) == 4 then
         if ATEMMixerAUXGetInput( 1, 3 ) ~= 4 then
            ATEMMixerAUXSetInput( 1, 3, 4 );
         end;
      elseif ATEMMixerMEGetProgramInput (1, 1) == 5 then
         if ATEMMixerAUXGetInput( 1, 3 ) ~= 5 then
            ATEMMixerAUXSetInput( 1, 3, 5 );
         end;
 
and repeated that until I covered all the inputs I wanted. 
Is there a faster/shorter way of doing this? 

 

 

JohnBengston's picture
Offline

Location

London
United Kingdom
Joined: 14/01/2012
Posts: 2145
You'd use a > (greater than)

You'd use a > (greater than) and add a < (less than) clause instead of the == (equals) in the conditional, and you would remove the else part. then rather than just looking for source 2 (input 1), you put the whole if block in a for next loop 

Offline

Location

chicago,
United States
Joined: 02/11/2017
Posts: 1
Am I missing something?

Can't this be done with just the BM macros?

imorrish's picture
Offline

Location

Wellington
New Zealand
Joined: 05/01/2015
Posts: 93
Can't this be done with just the BM macros?

No, BMD macro's can not read/store any current state or do if then type processing. Only linear workflow with pause.