Singular and Elgato Streamdeck Using Bitfocus Companion

Bitfocus Companion enables the Elgato Streamdeck to be a professional shotbox surface for an increasing amount of different presentation switchers, video playback software and broadcast equipment. 

Companion version 2.1.1 includes a module to trigger Singular animations, set control nodes, trigger buttons, and change checkbox states.. Companion allows assigning multiple actions to one button, e.g., switch the scene in OBS and show a specific Subcomposition / layer in Singular. 

1 - Download Companion Build 2.1.1

Streamdeck_1.jpg

You can download the Companion here (Make sure to download the latest build!): https://bitfocus.io/user/downloads

If you are interested, you can check out the code on GitHub here: https://github.com/bitfocus/companion-module-singularlive-studio

2 - Login

Add your login username and password.

Start Stream Deck by selecting "Launch GUI"

If users are interested, they can check out the code on GitHub here: https://github.com/bitfocus/companion-module-singularlive-studio

3 - Create “Singular.live Studio” Instance

Head over to the “Instances” tab and search for Singular. Add the appearing “Singular.live Studio” option.

Streamdeck_2.jpg

Note if you cannot find “Singular.live Studio” check the app UI to see if there is a notice to update your app version. If there is, update it.

4 - Configuration

Streamdeck_3.jpg

Custom label

Add in your custom label.

API URL

Open the “Tools Menu” in your control app and select “Manage Access”

Streamdeck_4.jpg

“Generate” shared URLs, copy the API URL, modify it to work with Singular's APIv1, and paste it into the companion configuration.

IMPORTANT! Do not skip this step: The Companion plugin only works with Singular AP1 Version 1. Modify your API URL to use APIv1. Replace /apiv2/ with /apiv1/ .

Streamdeck_5.jpg

To finish, hit the red “Apply changes” button in Companion.

5 - Confirm Status

Check the status of your connection by going to the “Instances” tab and making sure the Status box says OK.

Streamdeck_6.jpg

You should also check the Log and see if any warnings have popped up. Typically at this time you’ll see a warning related to the control app not being found. If this is the case, double check that you entered the correct Control App ID.

Streamdeck_7.jpg

6 -  Create IN button

Streamdeck_8.jpg

Select a blank button

Select a blank button in the BUTTON LAYOUT panel.

Streamdeck_12.jpg

Add key down/on action

Now shift your attention to the “Edit button” panel. Inside the KEY DOWN/ON ACTIONS space, hit “+ Add key down/on action” and choose “singular: Animate In”.

Streamdeck_10.jpg

Then select the Composition you want to control. In this example, we have chosen “Panel Left - Image”

Streamdeck_11.jpg

Skip the KEY UP/OFF ACTIONS and the INSTANCE FEEDBACK fields. These are currently unnecessary.

7 - Create OUT button

Select a blank button

Streamdeck_9.jpg

Select a new blank button in the BUTTON LAYOUT panel. 

Add key down/on action

Now shift your attention to the “Edit button” panel. Inside the KEY DOWN/ON ACTIONS space, hit “+ Add key down/on action” and choose “singular: Animate Out”.

Streamdeck_13.jpg

Then select the Composition you want to control. In this example, we have again chosen “Panel Left - Image”

Streamdeck_14.jpg

Skip the KEY UP/OFF ACTIONS and the INSTANCE FEEDBACK fields. These are currently unnecessary.

8 - Test

Pull up either the web buttons or the mobile buttons to test your buttons. In this example we have pulled up the web buttons.

Streamdeck_15.jpg

If you click your IN button, your overlay should animate on in your output. Similarly, if you click your OUT button, the overlay should animate out in your output.

If something isn’t working, refresh your Companion app browser window and try again. Sometimes this will resolve the issue. If refreshing doesn’t work, try changing the Composition selection of each button to another Composition and back to the one you previously chose.

Limitations Notes: 

  • You will also have to update the contents of your ovelays inside of the Composition and not the Control App as this plugin reads the Composition.
  • The plugin doesn't evaluate the current animation states of Subcompositions in the same logic layer.
  • In the future, the plugin should read the animation states of the Subcomposition in the app instance and update the status of buttons accordingly.
Was this article helpful?
3 out of 3 found this helpful

Comments

4 comments

  • We recently started using Companion in our Workflow and love it and the integration with Singular. First, I have a bit of an issue. It seems like the "Activate Button" control does not work.

    Also, I concur with the above. We use a number of Google Sheet data sources and have found that we need to put these elements into program once before we call them from companion. Otherwise it pulls the default data from the comp, Lastly, I noticed that there is a new companion beta out but no plugin for Singular. Will there be one?

    Thanks

    0
  • Hi jbenton1,

    Please submit a ticket to the support portal, including the following details:

    • Which "Activate Button" do you refer to?
    • App instance URL
    • Composition URL

    Updating the Singular plugin for Companion v3 is on the R&D to-do list. We haven't yet specified a release date. Please follow our newsletter for updates.

    tm

    0
  • It would be ideal for the Subcomposition field in Stream Deck to target Overlay Name instead of Subcomposition. We have a few Overlays of the same Template, and we can only trigger the first one added to the project unless we duplicate Subcompositions.

    0
  • Hi Daniel,
    Thank you very much for your comment!
    I assume that with "overlay name," you refer to items in the Studio app playlist.
    The Stream Deck Companion Module and the Stream Deck Plugin use the Singular REST API (https://api.singular.live/) to control the Singular output directly. The REST API provides endpoints to send data to your composition and trigger animations.
    The Singular Studio App does not have a REST API and cannot be controlled with Stream Deck today.
    We've received some requests to control Studio Playlists with Stream Deck. We are discussing this pretty complex topic.

    0

Please sign in to leave a comment.