Giter VIP home page Giter VIP logo

atemosc's Introduction

atemOSC v2.4.4

Changelog v2.4.4

  • updated to ATEM SDK v6.6
  • added support for running ATEM Macros

Changelog v2.4.3

  • updated to ATEM SDK v6.4

Changelog v2.4.2

  • updated to ATEM SDK v6.0
  • re-added Edit menu to allow for Copy/Paste
  • added Log window to show debug messages

Changelog v2.4.1

  • updated support for controlling DSKs

Changelog v2.4.0

  • added support for controlling SuperSource

Changelog v2.3.5

  • added support for setting Aux output source

Changelog v2.3.4

  • added support for specifying transition style
  • added more control over downstream keyer states

Changelog v2.3.3

  • added support for controlling Media Players
  • updated OSC-addresses help menu to display correct addresses for ATEM 2M/E and above switchers

Changelog v2.3.2

  • update to Blackmagic SDK 5.1

Changelog v2.3.1

  • prevent AppNap on Mavericks (thanks to @thetzel)

Changelog v2.3.0

  • bugfixes
  • using Blackmagic SDK 4.2
  • enhancements for Mac OS 10.9

Changelog v2.2.2

  • fixed numbering of upstream keyers
  • added toggle functionality for keyers

Changelog v2.2.1

  • support for Mac OS 10.7 (updated binary)

Changelog v2.2

  • added support for controlling Upstream Keyers
  • supports all available input-sources, depending on your switcher
  • added help-menu with all OSC-addresses available

Features

This is a Mac OS X application, providing an interface to control an ATEM video switcher via OSC. The code is based on the SwitcherPanel-Democode (Version 3.5) provided by Blackmagic. Additionally the control of a tally-light interface via Arduino is provided.

atemOSC

The current version is built for Mac OS 10.9 SDK (as of version 2.2.3). A compiled and runnable version of the atemOSC is included. Caution: The software lacks of many usability features (like input validation).

Program icon based heavily on the ATEM Software Control icon by Blackmagic Design.


Program and preview selection as well as transition control are exposed via following OSC addresses (addresses given below are for ATEM TVS model, actual values depend on your ATEM switcher and are shown in the help menu):

  • 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...

  • Black /atem/program/0

  • Bars /atem/program/7

  • Color 1 /atem/program/8

  • Color 2 /atem/program/9

  • Media 1 /atem/program/10

  • Media 2 /atem/program/12

For preview selection /atem/preview/$i can be used.

  • T-bar /atem/transition/bar
  • Cut /atem/transition/cut
  • auto /atem/transition/auto
  • fade-to-black /atem/transition/ftb

To set the transition style of the Auto transition:

  • Mix /atem/transition/set-style/mix
  • Dip /atem/transition/set-style/dip
  • Wipe /atem/transition/set-style/wipe
  • Stinger /atem/transition/set-style/sting
  • DVE /atem/transition/set-style/dve

Additional options.

  • Set Aux $i source to $x /atem/aux/$i $x
    • Where $x is a valid program source. Check the Help Menu for the correct values.
    • e.g. /atem/aux/1 1 to set Aux 1 output to source 1 (Camera 1)
    • (up to /atem/aux/6 $x, depends on your ATEM switcher)
  • Toggle Upstream Keyer 1 /atem/usk/1 (up to /atem/usk/4, depends on your ATEM switcher)
  • Prepare Upstream Keyer 1 /atem/nextusk/1 (up to /atem/nextusk/4, depends on your ATEM switcher)
  • Auto Toggle On Air Downstreamkeyer 1 /atem/dsk/1 (up to /atem/dsk/4, depends on your ATEM switcher)
  • Force On Air Downstreamkeyer 1 /atem/dsk/on-air/1 <0|1> (up to /atem/dsk/4, depends on your ATEM switcher)
    • Where <0|1> is an int-value of 0 (disabled) or 1 (enabled)
  • Toggle Tie Downstreamkeyer 1 /atem/dsk/tie/1 (up to /atem/dsk/tie/4, depends on your ATEM switcher)
  • Force Tie Downstreamkeyer 1 /atem/dsk/set-tie/1 <0|1> (up to /atem/dsk/4, depends on your ATEM switcher)
    • Where <0|1> is an int-value of 0 (disabled) or 1 (enabled)
  • Cut Toggle Downstreamkeyer 1 /atem/dsk/toggle/1 (up to /atem/dsk/toggle/4, depends on your ATEM switcher)
  • Set Media Player $i source to Clip $x /atem/mplayer/$i/clip/$x
    • e.g. /atem/mplayer/1/clip/1 (up to /atem/mplayer/1/clip/2, depends on your ATEM switcher)
    • e.g. /atem/mplayer/2/clip/1 (up to /atem/mplayer/2/clip/2, depends on your ATEM switcher)
  • Set Media Player $i source to Still $x /atem/mplayer/$i/still/$x
    • e.g. /atem/mplayer/1/still/1 (up to /atem/mplayer/1/still/20, depends on your ATEM switcher)
    • e.g. /atem/mplayer/2/still/1 (up to /atem/mplayer/2/still/20, depends on your ATEM switcher)
  • SuperSource (when available)
    • Toggle SuperSource Box $i enabled /atem/supersource/$i/enabled <0|1>
      • Where <0|1> is an int-value of 0 (disabled) or 1 (enabled)
    • 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 for the full list.
  • 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/get-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

All OSC-addresses expect float-values between 0.0 and 1.0 unless otherwise stated.

A full overview of all OSC-addresses available for your switcher can be obtained from the help-menu inside the application.


This software has been used successfuly with TouchOSC on the iPad. A TouchOSC-interface for the iPad can be found in the repository.

TouchOSC interface

This software has been used successfuly with ControllerMate and X-keys via sendOSC and iTerm 2. An example ActionScript for use within ControllerMate can be found in the repository.

atemosc's People

Contributors

danielbuechele avatar sneat avatar wilsonlmh avatar iamjohnbarker avatar jbhewitt avatar

Stargazers

Pedro Teixeira avatar Scott Stanfield (MSFT) avatar  avatar

Watchers

James Cloos avatar Sam Greenwood avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.