Custom Scripting for Yamaha MIDI Module

I’m wondering if there’s a way to write a custom script to call the MIDI module commands into the editor. My dream is to automatically load in my DCA planning spreadsheet and have it turn into cues in the editor. Notionally it would load in a CSV file, then for every line / cue it would:

  1. Assign all channels to the specified DCA (or none)
  2. Turn on any channel assigned to any DCA
  3. Name each DCA following the CSV file
  4. Save the scene following the CSV file

Certainly sounds doable.
Is this something so useful that it would be worth paying for?

I can’t speak for anyone else, but I work with local community theatre groups for fun and don’t take any money, so I also can’t justify investing any money into tools like this.

I do have a little extra time to tinker and would be interested in trying to make something work though. Are there enough hooks in Companion to enable it to be driven from an external program? Is there a clever way to use variables to command those actions from outside Companion?

Understood. No problem.
Well, you’d need some way of parsing your spreadsheet or CSV and then translating that information into commands to send to the console. If you’re not a programmer, that might be tricky, but maybe someone here has an idea…

I’m somewhat savvy with Python and can load in the CSV file and handle all the logic. My missing piece is how to control Companion. I see there’s a way to press buttons by calling specific URLs, but is there a way to programmatically change the parameters of buttons?

You can change values using custom variables in the RCP module.

I’m toying around with some things and can get some of what I’m looking to do with defining and mapping buttons to select channels, then additional buttons to add / remove the selected channel from DCAs. I can toggle those buttons using OSC from Python.

Do custom variables work with the MIDI module? I can’t seem to get the variable values to get pulled into the button actions. I’d love to be able to do this with the MIDI module so I can connect it to the editor.

I started supporting custom variables with the RCP module first as it was frankly easier and it’s probably the more popular module. I would like to add them to the MIDI module too when I get some time.

1 Like

I think I already know the answer, but can you confirm? Do actions that target the “selected channel” only work when connected to a console? I can set buttons on Companion to select channels in the editor but then none of the other functions are working? Obviously this would be easier to implement with the selected channel, otherwise it’ll need buttons for every permutation of channel, DCA, and channel enable.

The editor does not respond to feedback, not sure about selected channel, though.
Make sure you’ve set the settings in the editor to “sync selected channel” or whatever that setting is. (You’ll see it)

But, generally, the rule is to use a connected console to test things. The editor is not a replacement for an actual console. :slight_smile:

I do have it set to sync selected channel and I can select channels via Companion. I still can’t get any of the selected channel commands to work though.

I ended up with the brute force approach and made buttons for every function for every channel. It’s working well for everything I have implemented. Feel free to check it out if you like.

Is there a command to change the channel color of the DCAs?

And let me know if you implement custom variables in the MIDI module. It would be great to have this little program also change the DCA names and set the scene names.

Once again, using the editor will not work as expected. It’s really only useful for creating macros or testing things. Actual operation needs to be done with a console connected.

Find any command the same way as any other. Just use the macro recorder while changing the DCA color on the editor or console.

Will do. Why though do you need variables to change names?

I know the editor isn’t the intended operation here, but this Companion module is the only interface I know of to the editor. It’s incredibly helpful to get things programmed offline in the editor before walking into the theatre with the console.

I was able to get the macro to tell me the DCA color command. It did not work for setting the scene name though. Is that implemented? There are commands for SceneMuteGroupName/NameShort and SceneComment/Comment but they have a “Channel” parameter which can’t be changed to anything other than 0.

I’d like the ability to set any arbitrary string as the name for DCAs and scenes so I can load it from my CSV file and not need it pre-programmed as a button. My ideal flow is for my script to set the custom variable, then fire the button which references that variable to set the DCA and scene names.

Probably not.

Copy that.