Walkthrough: Setting up midi-relay on MacOS to control Chroma Q Vista 3 with a Stream Deck over the network

I have had a few people ask if I could post another walkthrough with more precision on setting up midi relay to control Chroma Q Vista (formerly owned by Jands) with their stream decks.

What you will need:

  • MacOS running Vista 3 (Vista 2 will also work)
  • Node.js installed, or you can download the MacOS binary release of midi-relay here: https://github.com/josephdadams/midi-relay/releases
  • Bitfocus Companion installed and running on a computer/device (it can be the same computer running Vista, or another computer on the network)

To set it all up:

  1. First, you will need to set up the loop-back MIDI port. Open Audio MIDI Setup. It’s in Applications > Utilities.
  2. In the Audio MIDI Setup window, choose Window from the top menu, then Show MIDI Studio.
  3. This opens the MIDI Studio window. You will see a few options here such as BluetoothIAC Driver, and Network. Depending on how you may have configured MIDI ports in the past, the number of devices here can vary.
  4. Double click the IAC Driver device. This will open the Properties window. The main thing you need to do is click the checkbox for “Device is online” (if not already checked). You may also want to change the device name to Vista.
  5. You can close out all of the Audio MIDI Setup windows now.
  6. Now you need to start midi-relay running. Open a Terminal window and change directory to where you put the executable file for midi-relay. I put mine in a subfolder within the Documents folder. It’s important that you run the executable while the Terminal window directory is the same folder the executable is in, or things may not work correctly. Once you’ve changed directory to the correct folder, you can drag the executable file from Finder to the Terminal window, or you can type in the executable name manually. Hit enter to run it.
  7. When midi-relay starts up, it will give you a read-out in the console of all the available MIDI in/out ports. You should now have one that says Vista Bus 1.
  8. Open Vista. Go to the User Preferences menu by selecting File > User Preferences.
  9. Go to the MIDI tab.
  10. Under the MIDI Show Control section, set the Device ID to 0 (zero).
  11. Under the External MIDI Ports section, check the box next to the Vista Bus 1 MIDI port.
  12. Click OK.
  13. In Vista, right click on the cue list you want to use with MIDI control, and choose Properties.
  14. Go to the MIDI tab.
  15. Now open the Companion Web GUI on the computer that is running Companion.
  16. Add a new instance by searching for Tech Ministry MIDI Relay.
  17. In the instance configuration, type in the IP address of the computer running Vista and midi-relay. If you’re running Companion on the same computer, you can use IP address
  18. Click Apply Changes.

To Send a MIDI Note On and advance a cuelist:

  1. Add a new button in Companion.
  2. Add a new action to that button, using the midi-relay action, Send Note On.
  3. Under the options for this action, choose the Vista Bus 1 for the MIDI port.
  4. By default, it will send channel 0, note A0 (21), with a velocity of 100. Vista does not look for a specific velocity value, only channel and note. Vista will listen to any channel by default, but if you set a specific channel in the Vista MIDI settings, you will need to make sure you send the correct channel from Companion.
  5. Go back to Vista and in the Cuelist PropertiesMIDI tab, click Learn next to the Play item. The Play command is what advances a cuelist. The Learn function will listen for incoming MIDI notes and makes setting the MIDI note slightly easier (and it proves that it works). You can also just set the note manually if you want.
  6. Go back to Companion and click Test Actions (or press the physical button on your stream deck if you are using one), and the Learn box in Vista will go away, and you’ll see that the note you sent from Companion is now populated in the Vista settings.
  7. Now every time you press that button in Companion, it will advance that cuelist. If you have multiple cuelists, you will need to use different MIDI note values.

To Send a MIDI Show Control message to go to a specific cue in a cuelist:

  1. Add a new button in Companion.
  2. Add a new action to that button, using the midi-relay action, Send MSC Command.
  3. Choose Vista Bus 1 for the MIDI port.
  4. The default Device ID is 0 (zero) but if you changed that in Vista, make sure it matches here.
  5. The Command Format should be Lighting – General and the Command should be Go.
  6. The Cue field should be the specific Cue Number in Vista of the Cuelist you want to control.
  7. The Cue List field should be the specific Cuelist Number in Vista.
  8. Now every time you press that button in Companion, it will go to that specific cue in that specific cuelist.

Here’s a walkthrough video of these steps:

I hope this is helpful! If you’re using MIDI relay, feel free to drop a comment and share how it is working for you!


  1. Hi, thanks for this! I am kind of lost at Step 6 (Change the directory)…? Can you explain a bit further?


  2. Hello! Thanks for this information. Do you know if I am trying to use this on a regular basis, will I have to run the terminal each time? Trying to get this set up so it can be used on a weekly basis. Thank you!


    1. Sure thing! Yes, you’ll need to have the program running any time you want it to be accessible. We do this on our production computers by adding it to the startup or login items. It varies by OS. On Win10, I made a shortcut to the app and put it in the startup folder. On MacOS, I created an AppleScript that launches it and I added that script to the login items of the user account. Hope this helps!


      1. Hey Jospeh! Thanks so much for the program and the walkthroughs! Is there any chance you’d be willing to share that AppleScript or do a post showing what commands need to be included to have it launch on startup? I’m in a little over my head trying to get that set up… Thanks!


      2. Hey Joseph! Thanks so much for the program and the walkthroughs. Is there any chance you’d be able/willing to share that AppleScript? Or write a post about what commands to use it set it up? I’d like to be able to add it to our login items, but I’m in a little over my head trying to get the Script written. Thank you!


  3. This is great! thanks for developing this! is there any way of adding a “skip back” to be sent over midi. Utilizing a single cuelist and if the operator jumps the Play early they can skip back to the previous cue.


    1. Yes, this is pretty easy to do. Just create a new cuelist in Vista with a single Cue that contains a skip back command targeted at the cuelist you actually want to control. Then just send a MIDI command that runs this new cue on this new cuelist. Works great for us.


  4. I keep receiving this error:
    “Version: 2.2.0
    MIDI Relay server started on: 4000
    Beginning MIDI Setup.
    MIDI Output Ports
    Apple DLS Synth
    Yamaha Bus 1
    MIDI Input Ports
    Yamaha Bus 1
    Loading stored Triggers from file…
    Triggers could not be loaded due to an error:
    The trigger file could not be found.”

    The trigger file is in the same folder.
    I have tried it on several machines of various MacOS versions of Big Sur and Monterey. I gave it all the permissions it asked for. What have I done wrong?


  5. Tried to setup tonight and could not get Vista to receive a midi signal. Running on a Mac. Downloaded latest companion software and binary version of midi relay 3.0.2. Companion sees Vista Bus 1. Is Vista/user preferences/midi, I see and checked Vista Bus 1. When I selected a CueList, open midi preferences, and select Learn, when I press the button in Companion, nothing happens in Vista. Any ideas?

    The only thing I know I’m doing different than your walkthrough is the binary version doesn’t seem to be launched through terminal.

    Thanks for any suggestions!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s