[ANSWERED] AtemOSC get Program/Preview status

  • I have been using Daniel Büchele's excellent AtemOSC program together with my ATEM TV Studio for automating camera switching through Isadora for several years. Does anyone - who is using ATEM switchers together with AtemOSC -know of a way to extract the current Atem Program/Preview status which is sent from the ATEM switcher. This way I would be able to maybe program some smart buttons in my Isadora control panel which actually react to which buttons are active on the Atem. I can see the code sent from Atem in the Monitor window, whenever I hit a button on the Atem, but to me it's just very large amounts of confusing data. Ideally I would like to write an OSC address in the stream setup window (like /atem/get-program or /atem/get-preview) which could then return the actual input# when being called through an OSC listener actor. 

  • Good question. AtemOSC is excellent, I've used it quite a bit and extensively on one show earlier this year.

    I don't have an ATEM available to test with I'm afraid but happy to help if I can. Previously, I've only used it to send instructions to an ATEM not return it's status.

    If you send the 'Get Status' command from AtemOSC /atem/send-status what is returned? It might look like a large amount of confusing data but what you're looking for could be somewhere within it. If you post it up here we can have a look.

    It might be to get what you want as described above that information needs parsing outside Isadora so you can have the stream setup as you described. Or, if you can bring the data into Issy, it could be parsed inside a user actor in Isadora.

  • @jacob1970

    are you looking for this:

    I make it for an ATEM mini.

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

    a list and explanation are on:




  • @jfg That looks like just the thing to me!

    @Jacob1970 in the link in jfg's post there's a command I hadn't seen before that returns less information than the send-status request:

    • 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
    • Request only Program/Preview/Bar status /atem/send-status/mix-effect-block
      • This will query the switcher and send back the status for only program/preview, bar, and preview
    • 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

    Perhaps /atem/send-status/mix-effect-block will give you a much more concise reading with the info you want.

  • @jfg That made my day!! Thanks a lot - just what I needed. 


  • If only there was an equivalent to AtemOSC for the PC. I have to do quite a complicated workaround using MIDI in order to communicate between Isadora Windows and my ATEM Mini Pro.

  • @mark_m

    To control an ATEM from windows, you can use Companion, from Bitfocus :


    This is designed to be used with a streamdeck ( hardware controller ), but any button that you create in companion can be trigged with OSC.

    They support a lot of blackmagic hardware, and a lot from other manucturers.

    I'm using it quite a lot, and I'm very happy with it.


  • @keftaparty

    Hey Mehdi,

    That's great, thank you!
    I've spent a couple of hours trying to get my ATEM Mini Pro to work using Companion with OSC commands from Isadora without success. You don't happen to have a sample, working patch that I could look at do you? Thanks!


  • @mark_m

    Most of the config has to be done in Companion's settings.

    You've gotta add an Atem instance ( instances tab ), and configurate it ( IP, model, etc... )

    Then create a button with an action for your Atem.

    Once you're there you can use the "Test Action" button, to check connetion between Companion and your atem.

    At the top bottom of the configuration page of the button, you can see the osc port and adress that you have to use to trigger this Companion action with OSC.

    Of course you have to send this osc command to companion' IP ( localhost if isadora & companion are on the same machine ).

    Is there anything unclear or not working for you in this workflow ?



  • @keftaparty

    Yes, it's very odd: I can control the ATEM from Companion, no problem.

    And I can see the OSC port - 12321 - and address (for example/press/bank/1/2/ ) at the bottom of the Companion configuration page

    I can put these values into Isadora's OSC Transmit or OSC multi-transmit actors, but they don't seem to be successfully sent to the ATEM.

    Maybe I have entered the values wrong in the actor:

    For OSC Transmit I have:
    UDP Address: localhost
    port: 12321
    address: /press/bank/1/2
    use type: on