Hi Harry,
welcome to Mixxx.
That is awesome. :-)
A BIG thank you to make this real!
I have just skimmed over the linked resources and it looks like this
closes exactly the gap between Mixxx and HID controllers.
Currently Mix has HID controller support, but it requires scripting, and
a lot of bit mashing to make a controller work.
Unlike MIDI controllers, you cannot learn them via point and click GUI.
You need a lot of knowledge of the interns of the controller.
It is a great idea to put this knowledge in a single library and share
these info between all Linux Audio Projects.
Are you going to contribute to Mixxx an work towards an Ctlra interface?
Here are some links:
Our HID API js is described here:
https://www.mixxx.org/wiki/doku.php/hid_device_api
Which is used for example here:
https://github.com/mixxxdj/mixxx/blob/8d191bf7ce2d62d24c6e0ffac4b2afd7359afa8a/res/controllers/Nintendo-Wiimote.js
Here is a good introduction how we work in the Mixxx project:
https://www.mixxx.org/wiki/doku.php/bugfix_workflow
If I understand the Ctlra concept correct, it can finally replace all
our controller APIs on a long run. On a short run, it can be used
parallel to portmidi, right?
The portmidi implementation can be found here:
https://github.com/mixxxdj/mixxx/tree/master/src/controllers/midi
https://github.com/mixxxdj/mixxx/blob/2cf29ba14da099a9d19f435a71b2ee95b9f4815e/build/depends.py#L28
Can we roughly name the steps to do? :
* crate src/controllers/ctlra
* copy all files over
* adopt them for ctlra
Of cause there will be a lot more things to consider.
Do you see a chance to port this to Mac and Windows as well?
Kind regards,
Daniel
Am 06.07.2017 um 23:57 schrieb Harry van Haaren:
Hi All,
First of all - this is my first post to the Mixxx-devel list, so a brief
intro is in order;
I'm Harry van Haaren, developer of the OpenAV audio software, bit of a
music/tech/linux head :)
I've recently been working on improving controller support in Linux
audio land, in particular
what I call "modern USB HID" controller devices (think DJ controllers
like Akai/NI/Abletons range).
I've developed the Ctlra library as OpenAV, which provides access to
these hardware devices
on Linux. The library allows hotplug and various other "advanced"
features like accessing
screens on devices.
I'd like to integrate Ctlra into Mixxx - to provide access to hardware
currently not available
to Linux users, and also to provide hotplug support to those
controllers. I've created a blueprint
on Launchpad[1], and written an introduction on Ctlra and how I propose
to integrate it in Mixxx[2].
Finally, there is a documentation page on what Ctlra itself achieves
here[3], and the source is here[4].
If you have an interest in hotplug of controllers, controller support or
hardware on Linux,
do have a read of the wiki page and others, and I'd appreciate your
input on the ideas!
Thanks for all your efforts on Mixxx so far, onwards and upwards!
-Harry of OpenAV
[1] https://blueprints.launchpad.net/mixxx/+spec/ctlra-controller-support
[2] https://www.mixxx.org/wiki/doku.php/ctlra_support
[3] http://openavproductions.com/doc/ctlra.html
[4] https://github.com/openAVproductions/openAV-ctlra
--
http://www.openavproductions.com
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org
Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org
Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel