Use a joystick axis or a POV hat in Ardour 5

Hey, i’m pretty new to Ardour but I think it’s great so far, but iv’e looked and there appears to be no way to bind anything like joystick buttons to stuff like master volume control or timeline scrubbing. Just wondering if there is an option like that or if that can be in an update.

You have 3 options:

  1. translate incoming data from the controller to MIDI, then use existing Ardour infrastructure as if it was an actual MIDI controler
  2. translate incoming data into OSC, then use existing Ardour infrastructure as if it was an actual OSC controller
  3. use Ardour’s unlimited customizability (because the whole thing is open source) to add a new control surface module to the program

If you’re looking for a scripting language technique, it doesn’t exist. Proprietary programs need those because they cannot/will not expose their entire internals to 3rd parties. In Ardour’s case, you can do whatever you want without using a scripting language as a proxy layer for control.

“2) translate incoming data into OSC, then use existing Ardour infrastructure as if it was an actual OSC controller”

Here is an application to do just that, for Mac and Linux at least:

https://github.com/danomatika/joyosc.

Forgive my complete ignorance, but how can I translate sender OSC message to Ardour message? For example “/joyosc/devices/js0/button 0 1” to “/ardour/transport_play”. Is there some dedicated program for Linux (like OSControl) or just an .xml file? I’ve been searching the internet looking for answers for hours without much success. Any link to site with some examples or explanations would be much appreciated.

Thank you!

vasakq, joyosc accepts a config file (or so the link you gave says) that allows you to set what OSC messages are sent for which control presses or movements. The messages to send are documented in:
http://manual.ardour.org/using-control-surfaces/controlling-ardour-with-osc/
So no translation should be needed just proper setup of joyosc. In the OSC world it seems to be pretty much standard that the controller configures itself to match what it is controlling which is opposite to the way MIDI works.

@lenovens, thank you for your replay. I thought too that outcoming messages should be somehow determined in the configuration file, but that doesn’t appear to be the case. I tried to tweak all possible parameters but did not get any message, other than the default, dumped to dump_osc. Joyosc is probably an application written for specific project with Pure Data with a narrow set of features. It could probably be expanded to work with Ardour with some simple Python script, but I am not a programmer and doing that would take me too much time.
On the other hand we are talking about controlling Ardour with a 10-button-$4 toy. Not much functionality can be controlled with such a device… transport functions for sure, maybe putting marks or some other simple functions which are keyboard bound anyway. So the answer to the thread question for me was to install some simple program that binds joystick events to keyboard keys (qjoypad on Debian, in my case) . It took me some 15 min to bind the keys last night and I am pleased with the result. Now I can listen (long, classical…) recordings and make marks for future editing lying on the couch just as if I am playing a game :slight_smile: