Blackmagic ATEM SOFTWARE OSC API コントロール
・SOFTWARE
OSCulator
https://osculator.net/download/
atemOSC
https://github.com/danielbuechele/atemOSC
ATEM Switcher Software
https://www.blackmagicdesign.com/support/family/atem-live-production-switchers
//
OSC API
A full overview of the actual OSC-addresses available for your switcher can be obtained from the help-menu inside the application.
Unless otherwise specified, send the value 1 along with the OSC address below. Sending any other value may result in the command not being processed.
Program and Preview Selection
Black /atem/program/0
Cam 1 /atem/program/1
Cam 2 /atem/program/2
Cam 3 /atem/program/3
Cam 4 /atem/program/4
Cam 5 /atem/program/5
Cam 6 /atem/program/6
and so on...
Color Bars /atem/program/1000
Color 1 /atem/program/2001
Color 2 /atem/program/2002
Media 1 /atem/program/3010
Media 2 /atem/program/3020
Key 1 Mask /atem/program/4010
DSK 1 Mask: /atem/program/5010
DSK 2 Mask: /atem/program/5020
Clean Feed 1 /atem/program/7001
Clean Feed 2 /atem/program/7002
Auxiliary 1 /atem/program/8001
and so on...
For preview selection /atem/preview/$i can be used.
Feedback: Enabled for all values
Note: The actual numbers vary greatly from device to device, be sure to check the in-app address menu
Note: You can fetch the names of each input by sending the /atem/send-status command (detailed later), this will return the short names of each input to /atem/input/$i/short-name and the long names to /atem/input/$i/long-name. After the initial fetch, you will also recieve updates when the short or long name is changed in ATEM Software Control.
Transition Control
T-bar /atem/transition/bar <0-1>
Cut /atem/transition/cut
Auto /atem/transition/auto
Fade to Black /atem/transition/ftb
Preview Transition /atem/transition/preview <0|1>
To set the transition type of the Auto transition:
Mix /atem/transition/set-type/mix
Dip /atem/transition/set-type/dip
Wipe /atem/transition/set-type/wipe
Stinger /atem/transition/set-type/sting
DVE /atem/transition/set-type/dve
Feedback: None
Auxiliary Source Selection
Set Aux $i source to $x /atem/aux/$i $x
Where $x is an integer value that is a valid program source, and can be 1-6 depending on the capability of your ATEM switcher. Check the Help Menu for the correct values.
e.g. /atem/aux/1 1 to set Aux 1 output to source 1 (Camera 1)
Feedback: None
Upstream Keyers
Set Tie BKGD /atem/usk/0/tie <0|1>
Send a value of 1 to enable tie, and 0 to disable
Toggle Tie BKGD /atem/usk/0/tie/toggle
Set On-Air Upstream Keyer $i /atem/usk/$i/on-air <0|1>
Send a value of 1 to cut the USK on-air, and a value of 0 to cut it off-air
Cut Toggle On-Air Upstream Keyer $i /atem/usk/$i/on-air/toggle
Set Tie Upstream Keyer $i /atem/usk/$i/tie <0|1>
Send a value of 1 to enable tie, and 0 to disable
Toggle Tie Upstream Keyer $i /atem/usk/$i/tie/toggle
Set Upstream Keyer $i for Next Scene /atem/usk/$i/tie/set-next <0|1>
Send a value of 1 to show the USK after next transition, and 0 if you don’t want to show the USK after next transition
e.g. If USK 1 is on air, /atem/usk/1/tie/set-next 1 will untie USK 1 so that it remains on, while /atem/usk/1/tie/set-next 0 will tie USK 1 so that it will go off air after the next transition.
Set Key type for Upstream Keyer $i /atem/usk/$i/type <luma|chroma|pattern|dve>
Also supports sending the type in the address instead of as a string value (e.g. /atem/usk/$i/type/luma)
USK Source
Set Fill Source for Upstream Keyer $i /atem/usk/$i/source/fill <int>
Int value should be the ID of the input to set as the source (from in-app help menu, under the Sources section)
Set Key (cut) Source for Upstream Keyer $i /atem/usk/$i/source/cut <int>
Int value should be the ID of the input to set as the source (from in-app help menu, under the Sources section)
USK Luma Parameters
Set Clip Luma Parameter for Upstream Keyer $i /atem/usk/$i/luma/clip <float>
Float value should be between 0.0 (for 0%) and 1.0 (for 100%)
Set Gain Luma Parameter for Upstream Keyer $i /atem/usk/$i/luma/gain <float>
Float value should be between 0.0 (for 0%) and 1.0 (for 100%)
Set Pre-Multiplied Luma Parameter for Upstream Keyer $i /atem/usk/$i/luma/pre-multiplied <bool>
Set Inverse Luma Parameter for Upstream Keyer $i /atem/usk/$i/luma/inverse <bool>
USK Chroma Parameters
Set Hue Chroma Parameter for Upstream Keyer $i /atem/usk/$i/chroma/hue <float>
Float value should be between 0.0 and 359.9
Set Gain Chroma Parameter for Upstream Keyer $i /atem/usk/$i/chroma/gain <float>
Float value should be between 0.0 (for 0%) and 1.0 (for 100%)
Set Y Suppress Chroma Parameter for Upstream Keyer $i /atem/usk/$i/chroma/y-suppress <float>
Float value should be between 0.0 (for 0%) and 1.0 (for 100%)
Set Lift Chroma Parameter for Upstream Keyer $i /atem/usk/$i/chroma/lift <float>
Float value should be between 0.0 (for 0%) and 1.0 (for 100%)
Set "Narrow Chroma Key Range" Parameter for Upstream Keyer $i /atem/usk/$i/chroma/narrow <bool>
Where $i can be 1, 2, 3, or 4 depending on the capability of your ATEM switcher
Feedback: Enabled for '/atem/usk/$i/on-air', '/atem/usk/$i/tie', '/atem/usk/$i/source/', '/atem/usk/$i/luma/', and '/atem/usk/$i/chroma/*'
Downstream Keyers
Set On-Air Downstreamkeyer $i /atem/dsk/$i/on-air <0|1>
Send a value of 1 to cut the DSK on-air, and a value of 0 to cut it off-air
Auto Toggle On-Air Downstreamkeyer $i /atem/dsk/$i/on-air/auto
Cut Toggle On-Air Downstreamkeyer $i /atem/dsk/$i/on-air/toggle
Set Tie Downstreamkeyer $i /atem/dsk/$i/tie <0|1>
Send a value of 1 to enable tie, and 0 to disable
Toggle Tie Downstreamkeyer $i /atem/dsk/$i/tie/toggle
Set Downstreamkeyer $i for Next Scene /atem/dsk/$i/tie/set-next <0|1>
Send a value of 1 to show the DSK after next transition, and 0 if you don’t want to show the DSK after next transition
e.g. If DSK1 is on air, /atem/dsk/1/tie/set-next 1 will untie DSK1 so that it remains on, while /atem/dsk/1/tie/set-next 0 will tie DSK1 so that it will go off air after the next transition.
Where $i can be 1, 2, 3, or 4 depending on the capability of your ATEM switcher
Feedback: Enabled for '/atem/dsk/$i/on-air' and '/atem/dsk/$i/tie'
Audio
Change Gain for Audio Input $i /atem/audio/input/$i/gain $x
Where $x is the gain in decibels (dB), ranging from -60 to 6
e.g. /atem/audio/input/2/gain -30.0
Change Balance for Audio Input $i /atem/audio/input/$i/balance $x
Where $x is the balance, -1.0 for full left up to 1.0 for full right
e.g. /atem/audio/input/2/balance 0.4
Change Gain for Audio Output (Mix) /atem/audio/output/gain $x
Where $x is the gain in decibels (dB), ranging from -60 to 6
e.g. /atem/audio/output/gain -30.0
Change Balance for Audio Output /atem/audio/output/balance $x
Where $x is the balance, -1.0 for full left up to 1.0 for full right
e.g. /atem/audio/output/balance 0.4
Feedback: Enabled for all values
Media Players
Set Media Player $i source to Clip $x /atem/mplayer/$i/clip/$x
Where $i can be 1 or 2, and $x can be 1 or 2 depending on the capability of your ATEM switcher
e.g. /atem/mplayer/2/clip/1
Set Media Player $i source to Still $x /atem/mplayer/$i/still/$x
Where $i can be 1 or 2, and $x can be 1-20 depending on the capability of your ATEM switcher
e.g. /atem/mplayer/1/still/5
Feedback: None
SuperSource (when available)
Toggle SuperSource Box $i enabled /atem/supersource/$i/enabled <0|1>
Send a value of 1 to enable, and 0 to disable
Set SuperSource Box $i source to input $x /atem/supersource/$i/source $x
Where $x is a valid program source. Check the Help Menu for the correct values.
Other options are available. Check the Help Menu in the app for the full list.
Feedback: None
Macros
Macros should be recorded within the ATEM Control Panel software.
Macros are stored within the ATEM in a 0-index array
This means that to access the first recorded Macro, you should use an index $i of 0, to access the second recorded Macro, you should use an index of 1 etc.
Get the Maximum Number of Macros: /atem/macros/max-number
Returns an int of the maximum number of Macros supported by your ATEM
Access to these Macros should be used via an index of n-1
Stop the currently active Macro (if any): /atem/macros/stop
Get the Name of a Macro: /atem/macros/$i/name
Returns a string with the name, or "" if the Macro is invalid
Get the Description of a Macro: /atem/macros/$i/description
Returns a string with the description, or "" if the Macro is invalid
Get whether the Macro at index $i is valid: /atem/macros/$i/is-valid
Returns an int of 0|1 to indicate whether the requested Macro is valid
Run the Macro at index $i: /atem/macros/$i/run
Returns an int of 0|1 to indicate whether the requested Macro was executed. A 0 will be returned if the Macro is invalid, or does not exist
Feedback: Enabled for /atem/macros/max-number, /atem/macros/$i/name, /atem/macros/$i/description, and /atem/macros/$i/is-valid. Also available On-Request (you can send the command to get the value in a return message)
Other
Request all feedback available /atem/send-status
This will query the switcher and send back the status for the program/preview, transition control, keyers, and macros
e.g. This can be used when a new OSC client device is brought online, so that it gets the current status of the system