cool, what does ctrlra actually do/provide, seems to be a framework in C that you could code against for a few controllers - are there any more complete applications using it already? (I saw the small demo examples)
Ctlra is meant as a library to enable applications to have a pretty high level of integration with hardware. It contains mappings of hardware controllers and offers higher level “generic” events to the application (and the application can send stuff back as well of course) and within the application these events can then be mapped to whatever the application wnnts
I guess the best explanation is from the one who wrote it Most recent talk https://www.youtube.com/watch?v=qHt-AQHcBXg
Initially Ctlra only supported USB HID devices, but MIDI was added recently. The focus on USB HID was because there are more and more devices coming out that support this and it’s easier to get a higher level of integration than over MIDI.
For example the screens on the push2 or modern NI devices can be used to send whatever you want to, see for and example here https://www.youtube.com/watch?v=qHt-AQHcBXg&feature=youtu.be&t=50m21s
Currently there are a couple of test and demo apps that are shown in the video. One of the nice things is that you can use a virtual version of every device that’s supported as well. Both nice for developers and could be nice for users to see what a device would offer.
Harry (the guys who made it) is working on integrating Ctlra into https://www.mixxx.org as the first larger project to showcase how that integration would work.
Other open-source projects have been interested but we’ll have to see how many projects will adopt it. I’m trying to help to add hardware when I can so there’s more reason for projects to support it Technically it’s pretty nice and it could save a lot of duplicate work.
split this into a new topic as it seems worthy of further discussion