I’ve decided to implement most of what I need as a device driver… I have monitoring working for SL and been refining the Iight positioning and colors for the apc25, very happy with it, I’ll be sharing soon
I updated the template for mixer and uploaded it to github.
The bottom buttons will turn on the chain control screen on Zynthian UI.
Use the template named mixer_zynthian_oram.json, I added this name to the startup example.
Thank you for this work - I have a Pi4 V5 device and can’t really afford to upgrade right now, but I do own a Pi5 and a couple of Hifiberry cards, so Hopefully with this I can get that extra power integrated into my mobile stage rig in a usable way. :>
Edit: So how badly broken are the other panels, would you say, vis-a-vis Oram? Is it a bunch of reformatting that needs to be done, or more of a fundamental break with the old ways that needs a whole new rewrite? Might have a go at some fixing. As it stands I just got the mixer working and I am extremely pleased.
Hi to all Zynthianist,
I have redesigned the templates for controlling Zynthian. In this form, they are now much more usable. I can now control Zynthian from my mobile device.
The comprehensive template consists of four sections:
- Panel – Simulates control using the buttons of the Zynthian V5 version. It is not a 1:1 replica. The ALT button does not provide the option to trigger help, but it allows me to change command assignments. The top buttons work only in a mode where a short click triggers the upper option, while holding the button (bold) triggers the lower option. For the CTRL / PRESET combination, switching with the ALT button provides an alternative CTRL / BANK, allowing access to either the preset screen or the preset bank. With /CUIA/PROGRAM_CHANGE, I send a number, but I have not verified its functionality.
- Mixer – Hopefully, I have now debugged all the issues that were present.
-
Program Change Template and Control Change Template – These are new additions.
-
Control Change Template – Select a MIDI channel and CC number. The value is sent by moving the fader.
- Program Change Template – Select a MIDI channel and program number. The command is sent by pressing a button.
Information on how to run the templates can be found at GitHub - ToFFmashines/Zynthian-OSC: Templates for Open Stage Control with controll of Zynthian synth.
I have deleted my previous academic attempts. If something doesn’t work, let me know.
You are legitimately my hero right now.
I appreciate that! Let me know if you need anything else, and if any issue or bug comes up, I’ll do my best to fix it!
Hi, this looks terrific, I’d like to use it but not sure what I’m doing! I’m new to OSC but have put together my own basic CUIA template in Touch OSC, which is working ok, communicating directly with the Zynthian. Do you know if this can be transferred over to TouchOSC?
My Code Copilot says:
Summary: Converting Open Stage Control Templates to TouchOSC
There is no automatic converter between Open Stage Control (OSC) and TouchOSC, as both use different template formats and UI structures. However, there are three main ways to convert an Open Stage Control template to TouchOSC:
1. Manual Conversion
- Open Stage Control** uses JSON format for interface templates.
- TouchOSC** (newer versions) also support JSON, but older versions use binary
.tosc
files. - Steps for manual conversion:
- Open the Open Stage Control JSON file
- Manually recreate elements in TouchOSC.
- Set correct OSC addresses in TouchOSC
2. Semi-Automatic Conversion Using a Script
If the template is large, you can write a Python or JavaScript script to convert Open Stage Control JSON to TouchOSC format.
I’m skipping the script he suggested, I’m not sure if it would work properly. I can send it via private messages.
3. Using TouchOSC Editor
- The latest TouchOSC (2021+) allows JSON imports and manual editing.
- You can manually copy UI elements from Open Stage Control and paste them into TouchOSC Editor.
Maybe the following will help:
For Zynthian Panel I used these commands: Zynthian-OSC/source/Panel/switch.json at main · ToFFmashines/Zynthian-OSC · GitHub
For Zynthian mixer, you must send a command like send(‘zynthian.local’,‘1370’,‘/mixer/heartbeat’,{ type: ‘s’, value: ‘’ }) at least every 120 seconds; Zynthian will then send back the values.
The CUIA commands are (where XX is 0 to 15 for 16 processors and for main is XX equal to 16)
For setting of Zynthian (and also return)
/mixer/soloXX
/mixer/muteXX
/mixer/balanceXX
/mixer/faderXX
Feedback from Zynthian showing signal magnitude (for processors)
/mixer/dpmXXa
/mixer/dpmXXb
/mixer/holdXXa
/mixer/holdXXb
Feedback from Zynthian showing signal magnitude (for main channel)
/mixer/dpmA",
/mixer/dpmB",
/mixer/holdA"
/mixer/holdB"
EDIT: I forgot to say that I have never used TouchOSC in my life
Thanks a lot for the details, having digested all that, I guess it’s not straightforward so I figured I’d dive into OSC using your templates. I’ve set up OSC running on a Mac and I managed to get the mixer and panel working. I’ve edited this reply from an earlier message where I was having problems because after figuring out my user error it’s working great now, so thanks for sharing this too!
I can’t get the Midi and Program Change working because I can’t see those layouts - are there json files for those? They don’t appear in the Zynthian layout either.
I caught the original message on my mobile, but I was already tired of answering. I know where your conversion to touchOSC failed. The button that worked for you had CUIA commands directly to Zynthian. The ones that didn’t work send the /switch24 message, which is intercepted by the external panel.js module and converted into the corresponding command for Zynthian based on the button length push and number of botton. It’s more complicated because a timer is started to determine whether it’s a short, bold or long press. Plus, the ALT key comes into play
Look on github for the ALL directory, it contains the complete template zynthian.json including CC and PROGRAM layouts.
When you are going to set up a midi connection with Zynthian, first enable RTP-MIDI on it. in UI go to Admin / MIDI Input Device / and select RTP-MIDI. It is turned off by default. Then you should see Zynthian on your Mac. The last step is to connect the midi output from the Open Stage Control Server to Zynthian. CC and Program layout use midi for communication and not OSC.
In the meantime, I also noticed that Open Stage Server can work with computer names, so the IP address can be replaced with zynthian.local. This also has the advantage of dynamically changing IP addresses, which started happening to me on my home network.
I did have a poke around in the script and noted that pattern - nice work it’s very useful.
And thanks, I’ve also picked up the right Zynthian layout now, I can see the cc and program layouts too. RTP MIDI kept throwing up errors when I tried to enable it on the Mac although it could see the enabled Zynthian rtp service. But I’ll have another go at it.
This is interesting and disturbing at the same time. RTP-Midi should be part of the Mac operating system and therefore without any bugs.
It is important to note that rtp-midi on Zynthian is in listen(er)
mode. You must have command equivalent rtpmidi call zynthian.local:5004
on your mac. I can run rtpmidi in Win, Linux, Raspberry and connect to Zynthian (and not just one ), but I have no experience with Mac.