I was quite frustrated because the Zynthian freezes quite often while using it…
So I wanted to be able to restart the Gui and services easily, without the need of an ssh client. Moreover, I intend to use the Zynthian for playing live so I need a quick way to get the box up and ready quickly !
I have just made an experiment with mididing and I am quite happy so far.
Mididing is available on the repo and based on Python and you can run shell commands upon a midi event.
So I made the following script:
All it does is ‘systemctl restart zynthian’ when the midi control 45 event is received.
To run the mididing service:
mididings -f my_midi_bash_script.py
Next, you have to connect the new mididing midi device to your midi controler:
I did it graphically using qjackctl to be quick but it would be better to use the aconnect command.
Sorry to hear about your freezing problems. Do you see encoder chatter? (An particular encoder changing rapidly between values and the knob becomes unresponsive…?) Perhaps could be cable seating inside the box?
I picture a big red button…
Not used mididings. Another tool in the box.
-1 for the import *
IIRC, @jofemodo decided to not use mididings in his midi filtering system, because it is not dynamic.
If you make changes and you have to reload everythinig.
Hence for a “real” solution, we might think of having system internal commands as destination in the midi filtering system.
Not only midi->midi, but midi->script or something like that.
It is actually freezing when I manipulate synths too much (like new layers, remove layers, open snapshots, etc)
One particular issue is that the zynthian got stuck because of a bad index on the GUI.
I faced other supposed bugs but I don’t know how to reproduce them exactly.
So I don’t think it is a wiring issue.
I understand the point about mididings beeing not dynamic.
Yes, a solution based on the existing midi filtering engine would be better but my point is just that mididings offers an easy way to execute system commands. I use it to restart services but it could also be useful for other things (power off, play file …)
The ssh method is best of course, as long as you have a ssh client available
I have never used the ‘main_out’ mini output.
Have you tried to specify the output first, and then the input ?
like this: /usr/bin/jack_connect ZynMidiRouter:main_out mididings:in_1
I normally use the channel outputs: /usr/bin/jack_connect "ZynMidiRouter:ch5_out" "mididings:in_1"
I use this snippet into a systemd script, for information.