MixEffect Documentation

MixEffect

MixEffect Newsletter

MixEffect Community

OSC

Control MixEffect using devices capable of sending OSC messages, such as an Elgato Stream Deck running Companion.


Getting Started with OSC in MixEffect

Activating OSC support is a three-step process.

  1. Enable OSC support in MixEffect.
  2. Configuring the OSC server for each switcher you have created in MixEffect.
  3. Setting up your OSC-capable device to communicate with MixEffect.

Enable OSC Support

This turns on OSC support throughout all of MixEffect.

  1. Tap Settings (gear icon) from the MixEffect Home.
  2. Tap Automations.
  3. Tap Enable OSC.

Enable OSC Server and Port for a Switcher

Each switcher connection can have its own OSC server. For instance, if you use MixEffect with an ATEM Mini Pro and an ATEM Extreme, you can have both respond to OSC calls when running MixEffect in Split View on an iPad.

IMPORTANT: If you plan to run MixEffect with multiple switchers at the same time, it is recommended to specify a unique port number for each switcher.

  1. From the MixEffect Home, tap on a switcher.
  2. Tap Edit.
  3. Change the OSC Port number. Choose a number over 40000 and less than 65535 to ensure no conflicts with other ports. The default is 49990.
  4. Tap Save.
  5. Tap Enable OSC Server to start the server.

The OSC server is now configured and active for your switcher.

Enabling OSC


Determining your iOS Device’s IP address

Next, you will get your iOS device’s IP address, do the following:

  1. Go to the Home screen.
  2. Tap Settings.
  3. Tap either Wi-Fi or Ethernet, depending on which network your device and the ATEM switcher are connected to.
  4. Tap the i button.
  5. Copy the IP Address and enter it into your OSC client like Companion.

iOS IP Address

OSC commands will be interpreted only when MixEffect is in the foreground of your iOS device.

MixEffect OSC server listens on the port you specified for your switcher. Make sure you have configured your OSC clients to send commands to MixEffect on the correct port.

NOTE: If the OSC server does not appear to respond, try disabling and enabling the server from the Switcher Detail page.


Configuring Companion

If you plan to use MixEffect with a Stream Deck, you’ll want to download the free Companion application from Bitfocus.io.

Next, configure the Companion app to communicate with MixEffect. There are currently two ways to control MixEffect from Companion:


Native Companion Module

A native Companion module is actively being developed for MixEffect. Watch the announce video and interview with the developer.

The MixEffect module has been added to the experimental builds for Companion.


Generic OSC Module

  1. Open the web admin interface to Companion Running on your computer.
  2. Tap Instances.
  3. Enter OSC generic in the search field to add a new module.
  4. Tap Add.
  5. Give your module a name like MixEffect Extreme or Extreme (MixEffect).
  6. Set the port number to the correct port you entered for your switcher in MixEffect.
  7. Tap Apply Changes.

Generic OSC

Setting up the generic OSC instance in Companion


Sample Companion Configuration Files

Download these sample MixEffect Companion configuration files that work with the generic OSC module:

Sample MixEffect Presets Companion Config File


Adding a Button

This section covers adding a button to Companion. It assumes that you are familiar with how Companion works.

  1. Tap the Buttons tab.
  2. Navigate to the page where you want to add a MixEffect button.
  3. Click on a button.
  4. Set the button type to Regular button.
  5. Enter the name for your button.
  6. Click Add key down/on action.
  7. In the list that appears, choose the appropriate action from the list below:

    • MixEffect Extreme: Send message without arguments
    • MixEffect Extreme: Send integer
    • MixEffect Extreme: Send float
    • MixEffect Extreme: Send string
    • MixEffect Extreme: Send message with multiple arguments

Which option you choose depends on the message you are planning to send. Review the next section to determine what kind of message to use.

  1. Enter the OSC Path corresponding to the message you want to send. For instance: /mixeffect/ssrc/preset will instruct MixEffect to run a SuperSource preset.
  2. Enter the name of the preset in the Value field. For instance: Four Grid.
  3. Tap Test actions to see MixEffect run the preset.

If nothing happens, check the following:

  1. Enable OSC is enabled in MixEffect Settings.
  2. Enable OSC Server is enabled in your Switcher Detail page.
  3. The port number you specified for your switcher is the same one you entered in Companion.

Messages

The following messages are supported:

Mix Effect

Macros

Mix Effect Bus

Media Players

SuperSource


MixEffect

Connect

Closes the current switcher connection and tries to connect to the selected switcher.

Message Description Arguments
/mixeffect/connect Closes the current switcher connection and tries to connect to the selected switcher. String
Argument Type Description
Switcher Connection Name String The exact name for the switcher to connect to.

Configuring a connect to switcher button in Companion


Remote Webview

Toggles the Remote Webview window in MixEffect.

Message Description Arguments
/mixeffect/remote-webview Toggles the Remote Webview window in MixEffect. None

NOTE: Tap the ellipsis icon and tap Edit to configure the Remote Webview if nothing appears in the Remote Webview window.


Run Shortcut

Opens the Shortcuts app and runs the selected shortcut.

Message Description Arguments
/shortcut Opens the Shortcuts app and runs the selected shortcut. Multiple
Argument Type Description
Shortcut Name String The exact name of the shortcut to run
Input String Optional input to pass to the shortcut

Note: If the shortcut does not exist, Shortcuts will raise an error that you will have to dismiss manually.


Run Shortcut and Return

Opens the Shortcuts app, runs the selected shortcut, and tries to return back to MixEffect

Message Description Arguments
/shortcut/return Opens the Shortcuts app, runs the selected shortcut, and tries to return back to MixEffect Multiple
Argument Type Description
Shortcut Name String The exact name of the shortcut to run
Input String Optional input to pass to the shortcut

Configuring a shortcut button in Companion

In the screenshot above, we will be running the shortcut named “Speak Text” with the input parameter, “Hello, World”.

If the shortcut does not exist, Shortcuts will raise an error that you will have to dismiss manually.

After running, the shortcut will try to return back to MixEffect.


Switcher Page

Moves to the next or previous Switcher Page for the current switcher.

Message Description Arguments
/mixeffect/page Moves to the next or previous Switcher Page for the current switcher. String
Argument Type Description
Command or Name String The exact switcher page name or next for the next page or previous for the previous page.

MixEffect will cycle through your pages if you reach the end or beginning of your pages when using the next and previous commands.

The switcher page command is case-insensitive.

Configuring a Switcher Page button in Companion.


Switcher Section

Switches to the following section in MixEffect for the current switcher.

Message Description Arguments
/mixeffect/section Switches to the following section in MixEffect for the current switcher. String
Argument Type Description
Section String audio
auxiliary
camera-control
color-generators
downstream-keyers
hyperdecks
macros
media
output
settings
supersource
switcher
transitions
upstream-keyers
view-all

Video Follows Audio

Turns on, off, or toggles the Video Follows Audio feature. Automatically switches to the Audio section in MixEffect.

Message Description Arguments
/mixeffect/vfa Turns on, off, or toggles the Video Follows Audio feature. Automatically switches to the Audio section in MixEffect. Integer or String
Argument Type Description
VFA String 0 = Off
1 = On
2 = Toggle

off = Off
on = On
toggle = Toggle

Your switcher must support Fairlight Audio for Video Follows Audio to work.


View Only Mode

Turns on View Only Mode for the connected switcher.

Message Description Arguments
/mixeffect/vom Turns on View Only Mode for the connected switcher. None

Configuring a View Only Mode button in Companion.


Macros

Run Macro

Runs the specified macro.

Message Description Arguments
/mixeffect/macro Runs the specified macro. If the macro does not exist, nothing will happen. Integer
Argument Type Description
Macro Index Integer One-based index of the macro to run.

Mix Effects Bus

Auto

Performs an Auto transition on the selected Mix Effects Bus.

Message Description Arguments
/mixeffect/auto Performs an Auto transition on the selected Mix Effects Bus. Integer
Argument Type Description
M/E Integer One-based index of the Mix Effect Bus. Default is 1.

NOTE: This command is different from the SuperSource Auto command in that it always performs an Auto transition between the Preview and Program source, whereas the SuperSource Auto command performs as Auto transition between Program and SuperSource.


Cut

Performs a Cut transition on the selected Mix Effects Bus.

Message Description Arguments
/mixeffect/cut Performs a Cut transition on the selected Mix Effects Bus. Integer
Argument Type Description
M/E Integer One-based index of the Mix Effect Bus. Default is 1.

NOTE: This command is different from the SuperSource Cut command in that it always performs an Cut transition between the Preview and Program source, whereas the SuperSource Cut command performs as Cut transition between Program and SuperSource.


Media Players

Media Player Clip

Sets the clip for the desired media player.

Message Description Arguments
/mixeffect/mp/clip Sets the clip for the desired media player. Multiple
Argument Type Description
Clip Index Integer One-based index of the clip.
Media Player Integer One-based index of the Media Player. Default is 1.

NOTE: In versions of MixEffect prior to 1.2.0, the order of the arguments was reversed.


Media Player Clip Cycle

Cycles through clips in the desired media player.

Message Description Arguments
/mixeffect/mp/clip/cycle Cycles through clips in the desired media player. Integer
Argument Type Description
Media Player Integer One-based index of the Media Player. Default is 1.

Media Player Clip Cycle Reverse

Cycles through clips in the desired media player in reverse order.

Message Description Arguments
/mixeffect/mp/clip/cycle-reverse Cycles through clips in the desired media player in reverse order. Integer
Argument Type Description
Media Player Integer One-based index of the Media Player. Default is 1.

Media Player Still

Sets the still for the desired media player.

Message Description Arguments
/mixeffect/mp/still Sets the still for the desired media player. Multiple
Argument Type Description
Still Index Integer One-based index of the still.
Media Player Integer One-based index of the Media Player. Default is 1.

NOTE: In versions of MixEffect prior to 1.2.0, the order of the arguments was reversed.


Media Player Still Cycle

Cycles through stills in the desired media player.

Message Description Arguments
/mixeffect/mp/still/cycle Cycles through stills in the desired media player. Integer
Argument Type Description
Media Player Integer One-based index of the Media Player. Default is 1.

Media Player Still Cycle Reverse

Cycles through stills in the desired media player in reverse order.

Message Description Arguments
/mixeffect/mp/still/cycle-reverse Cycles through stills in the desired media player in reverse order. Integer
Argument Type Description
Media Player Integer One-based index of the Media Player. Default is 1.

SuperSource

SuperSource Animation Speed

Sets the animation speed for SuperSource transitions.

Message Description Arguments
/mixeffect/ssrc/box/speed Sets the animation speed for SuperSource transitions. Multiple
Argument Type Description
Speed Integer 0 = Instant
1 = Extra Fast
2 = Fast
3 = Normal
4 = Slow
5 = Extra Slow
SuperSource ID Integer One-based index SuperSource ID. Default is 1

SuperSource Animation Style

Sets the mathematical function used to generate the transition animation.

Message Description Arguments
/mixeffect/ssrc/box/style Sets the mathematical function used to generate the transition animation. Integer
Argument Type Description
Style Integer 0 = Cosine
1 = Cubed
2 = Inverse Cubed
3 = Inverse Squared
4 = Linear
5 = Sine
6 = Smooth Step
7 = Smoother Step
8 = Squared

SuperSource Auto

Performs an Auto transition. If SuperSource is not on preview, this function will first set Preview to SuperSource before performing the Auto operation.

Message Description Arguments
/mixeffect/ssrc/auto Performs an Auto transition. If SuperSource is not on preview, this function will first set Preview to SuperSource before performing the Auto operation. Multiple
Argument Type Description
SuperSource ID Integer One-based index of the SuperSource ID. If left blank, it will use the currently selected SuperSource.
M/E Integer One-based index of the Mix Effect Bus. If left blank, it will use the currently selected Mix Effects Bus respectively.

SuperSource Box Crop

Set the crop value of a specific box or adjust the crop by a certain amount.

Message Description Arguments
/mixeffect/ssrc/box/crop Set the crop value of a specific box or adjust the crop by a certain amount. Multiple
Argument Type Description
Box ID Integer 1 = Box 1
2 = Box 2
3 = Box 3
4 = Box 4
Crop Type String top
bottom
left
right
Crop Value String “-X” to move the box reduce the crop by a certain amount, “+Y” to increase the crop by a certain amount, or “Z” to set the crop to a certain value.
SuperSource ID Integer One-based index SuperSource ID. Default is 1

For instance, to adjust the vertical crop of Box 1 by 0.01 each time you press a button, you would enter: 1 top "+0.01".

To set Box 2 crop left to be at 7.5, you would enter, 2 7.5 or 0 "7.5".

Valid crop top and bottom positions range between -0 and 18. Valid Y positions range between 0 and 32.


SuperSource Box Position

Set the X or Y position of a specific box or move the box in the X or Y position by a certain amount.

Message Description Arguments
/mixeffect/ssrc/box/position Set the X or Y position of a specific box or move the box in the X or Y position by a certain amount. Multiple
Argument Type Description
Box ID Integer 1 = Box 1
2 = Box 2
3 = Box 3
4 = Box 4
Movement Type String x
y
Movement Value String “-X” to move the box down/left by a certain amount. “+Y” to move the box up/right the box by a certain amount or “Z” to set the box position at a certain spot.
SuperSource ID Integer One-based index SuperSource ID. Default is 1

For instance, to move Box 1 up by 0.01 each time you press a button, you would enter: 1 y "+0.01".

To set Box 2 to be at the y position of 0, you would enter, 2 0 or 0 "0".

Valid X positions range between -48.0 and 48.0. Valid Y positions range between -27.0 and 27.0.


SuperSource Box Size

Set the size of a specific box or grow or shrink the box by a certain amount.

Message Description Arguments
/mixeffect/ssrc/box/size Set the size of a specific box or grow or shrink the box by a certain amount. Multiple
Argument Type Description
Box ID Integer 1 = Box 1
2 = Box 2
3 = Box 3
4 = Box 4
Size Value String “-X” to shrink the size by a certain amount. “+Y” to enlarge the box by a certain amount or “Z” to set the box to be a certain size.
SuperSource ID Integer One-based index SuperSource ID. Default is 1

For instance, to enlarge Box 1 by 0.005 each time you press a button, you would enter: 1 "+0.005".

To set Box 2 to be 0.5 in size, you would enter, 2 0.5 or 0 "0.5".

Valid size values range between 0.07 and 1.0.


SuperSource Box Source

Set the video source for a SuperSource Box.

Message Description Arguments
/mixeffect/ssrc/box/source Set the video source for a SuperSource Box. Multiple
Argument Type Description
Box ID Integer 1 = Box 1
2 = Box 2
3 = Box 3
4 = Box 4
Video Source Integer Video Source ID
SuperSource ID Integer One-based index SuperSource ID. Default is 1

Possible Video Source IDs include:


SuperSource Cascade Presets

Sets the presets for the two SuperSources on ATEM Constellation 8K switchers.

Message Description Arguments
/mixeffect/ssrc/cascade/presets Sets the presets for the two SuperSources on ATEM Constellation 8K switchers. Multiple
Argument Type Description
Preset 1 String Name of preset for SuperSource 1
Preset 2 String Name of preset for SuperSource 2

Run this command to have the transitions for both SuperSources run in tandem rather than sequentially when using the SuperSource Preset command.


SuperSource Cascade

Sets the value for the SuperSource Cascade setting on ATEM Constellation switchers.

Message Description Arguments
/mixeffect/ssrc/cascade Sets the value for the SuperSource Cascade setting on ATEM Constellation switchers. Integer or String
Argument Type Description
Enable Cascade String 0 = Off
1 = On
2 = Toggle

off = Off
on = On
toggle = Toggle

SuperSource Cut

Performs a Cut transition. If SuperSource is not on preview, this function will first set Preview to SuperSource before performing the Cut operation.

Message Description Arguments
/mixeffect/ssrc/cut Performs a Cut transition. If SuperSource is not on preview, this function will first set Preview to SuperSource before performing the Cut operation. Multiple
Argument Type Description
SuperSource ID Integer One-based index of the SuperSource ID. If left blank, it will use the currently selected SuperSource.
M/E Integer One-based index of the Mix Effect Bus. If left blank, it will use the currently selected Mix Effects Bus respectively.

SuperSource Cycle Animation Speed

Cycles through the animation speeds.

Message Description Arguments
/mixeffect/ssrc/box/cycle-speed Cycles through the animation speeds. None

SuperSource Cycle Animation Style

Cycles through the various animation styles.

Message Description Arguments
/mixeffect/ssrc/cycle-style Cycles through the various animation styles. None


SuperSource Grow Highlighted Box By

Sets the value to increase the size of a box when highlighted.

Message Description Arguments
/mixeffect/ssrc/grow-by Sets the value to increase the size of a box when highlighted. Float
Argument Type Description
Grow Amount Float The number to increment the current grow value by. The minimum and maximum value the resulting grow value can be is 0 and 0.5.

SuperSource Grow Highlighted Box

Sets the value to increase the size of a box when highlighted.

Message Description Arguments
/mixeffect/ssrc/grow-to Sets the value to increase the size of a box when highlighted. Float
Argument Type Description
Grow Amount Float A number between 0 and 0.5.

SuperSource Highlight

Highlights a box for the currently selected SuperSource preset.

Message Description Arguments
/mixeffect/ssrc/highlight
/mixeffect/highlight
Highlights a box for the currently selected SuperSource preset. Multiple 
Argument Type Description
Box ID Integer 0 = Reset Preset Layout
1 = Box 1
2 = Box 2
3 = Box 3
4 = Box 4
SuperSource ID Integer One-based index SuperSource ID. Default is 1

A SuperSource preset must be set before you can highlight a box.

Configuring a SuperSource Highlight button in Companion.


SuperSource Next Preset

Sets the next SuperSource preset layout based on the current filtered list of presets in MixEffect.

Message Description Arguments
/mixeffect/ssrc/next Sets the next SuperSource preset layout based on the current filtered list of presets in MixEffect. Integer
Argument Type Description
SuperSource ID Integer One-based index SuperSource ID. Default is 1

SuperSource Preset

Sets the SuperSource Preset for the current switcher.

Message Description Arguments
/mixeffect/ssrc/preset
/mixeffect/preset
Sets the SuperSource Preset for the current switcher. Multiple Arguments
Argument Type Description
Preset Name String The name of the preset in quotes.
SuperSource ID Integer One-based index SuperSource ID. Default is 1

Configuring a SuperSource preset button in Companion.

If you have multiple presets with the same name, the first matching preset will be selected.


SuperSource Previous Preset

Sets the previous SuperSource preset layout based on the current filtered list of presets in MixEffect.

Message Description Arguments
/mixeffect/ssrc/previous Sets the previous SuperSource preset layout based on the current filtered list of presets in MixEffect. Integer
Argument Type Description
SuperSource ID Integer One-based index SuperSource ID. Default is 1

SuperSource Shrink Other Boxes By

Sets the value to decrease the size of the other boxes when a box is highlighted.

Message Description Arguments
/mixeffect/ssrc/shrink-by Sets the value to decrease the size of the other boxes when a box is highlighted. Float
Argument Type Description
Shrink Amount Float The number to decrement the current shrink value. The minimum and maximum value the resulting shrink value must be 0 and 0.5.

SuperSource Shrink Other Boxes

Sets the value to shrink the non-highlighted boxes when a box is highlighted.

Message Description Arguments
/mixeffect/ssrc/shrink-to Sets the value to shrink the non-highlighted boxes when a box is highlighted. Float
Argument Type Description
Shrink Amount Float A number between 0 and 0.5.

SuperSource Swap Boxes

This function will swap the sources of the two boxes within a SuperSource.

Message Description Arguments
/mixeffect/ssrc/swap-boxes This function will swap the sources of the two boxes within a SuperSource. Multiple
Argument Type Description
Box A Integer 1 = Box 1
2 = Box 2
3 = Box 3
4 = Box 4
Box B Integer 1 = Box 1
2 = Box 2
3 = Box 3
4 = Box 4
SuperSource ID Integer One-based index of the SuperSource ID. Default is 1.

SuperSource Swap

If two boxes are visible in a preset layout, this function will swap the sources of the two boxes.

Message Description Arguments
/mixeffect/ssrc/swap If two boxes are visible in a preset layout, this function will swap the sources of the two boxes. Integer
Argument Type Description
SuperSource ID Integer One-based index of the SuperSource ID. Default is 1.

Note: If more than two boxes are visible in a preset, this function does nothing.


Saving Preset Icons for Companion

The most common use case for running MixEffect and Companion is to run SuperSource presets from a Stream Deck. MixEffect makes it easy to download a thumbnail of a preset that you can upload to Companion.

  1. From the MixEffect Home, tap SuperSource.
  2. Tap View All in the upper-right.
  3. Long-press on the desired preset.
  4. In the menu that appears, tap Save Preset Icon.
  5. Choose Companion (73x41).
  6. Repeat steps 3-5 for other presets.

If you are using this feature for the first time, a prompt from iOS will appear asking you for permission to access your Photos Library. If you décline permission, you must enable it in iOS Settings > MixEffect > Photos > Add Photos Only.

Exporting a single preset thumbnail

After a moment, the thumbnail will be saved to your Photos Library.

  1. Go to Photos.
  2. Select the preset thumbnail or thumbnails.
  3. Tap Share.
  4. Send the file to your computer running Companion. AirDrop works great.
  5. Add the thumbnail to your buttons in Companion.

You can also export multiple preset thumbnails at a time by going into List mode on the View All Presets page:

  1. Tap Edit.
  2. Select the presets you wish to export.
  3. Tap the photo icon in the export bar.
  4. Choose your export size.

After a few moments, your thumbnails will have been added to your Photo Library.

Exporting multiple preset thumbnails


Adding Your Thumbnails to Companion

Use AirDrop, Messages, Email, or another sharing option to transfer your thumbnails to your Companion computer. When editing a button, click Browse underneath the button icon. Select your thumbnail, and you will have an accurate representation of your SuperSource preset in Companion and on your Stream Deck!

Shortcut to Resize Icon from 72x41 to 72x58

Some versions of Companion do not allow uploading of icons that are not 72x58 in size. If this happens to you, use this shortcut to resize your 72x41 icons to 72x58: