ErikMinekus / traktor-kontrol-screens

Display modifications for the Traktor Kontrol S8/S5/D2
102 stars 29 forks source link

Traktor Displays working with other Software? #17

Closed Moonscratcher closed 3 years ago

Moonscratcher commented 4 years ago

Hi,

I‘m searching for quite a bunch of time noe, but I just can‘t find anyone who is focussing on how to get Traktor S5/S8 and D2 Displays working with rekordbox or else.

Is there any idea by now ? Is there a chance to get this work, other then to „fake“ a HW Device, like done for the jogwheel issue ?

I‘m not sure, if this is the right way to contact you and ask this, but I did not find another way.

Pls let me know, what you think about that.

Thx

ErikMinekus commented 4 years ago

Unfortunately support for these controllers needs to be built into the software, which is unlikely to happen for Rekordbox or Serato. It may also require a complete rewrite of the QML files.

I did find Ctlra, a C library that already supports the D2. There's been some effort to add it to Mixxx, but currently it seems to be stalled.

Moonscratcher commented 4 years ago

Hi..

Well.. Seems as it is the time to build „two“ things :

First : a compiler for any programs Controller data output.

Second : a „Lego“ like system which lets any user build his personal Controller(s). With a high res touchscreen..( Knobs, Faders, Switches , which U can put on the surface of that touchscreen , for haptic reasons and maybe also to keep you from accidentally use sth...) along with a jogwheel module in a hardcase or whatever wanted..

Well.. whatever.. Hopefully I‘m not stealing your time..? If so.. just skip..

Anyone I was „talking“ to about that, was laughing, or said sth like „to much work for a little community..“ and „not enough users would buy that expensive stuff“..

I do not think that way, because U can modify your stuff with new modules, so no need to buy frequently completely new equipment (along with other reasons..) but I can‘t do it on my own..

The biggest problem (or better challenge) would be to write the code for the compiler..

By the way ..: It would be also completely legal, for there would be no interference with the existing code of whatever program..

And !!! People who use the stuff could build it the way it should be for THEM ...completely personalised..

I think that would be much better than modifying existing stuff within the limits of its intended use or design ( made by people who -obviously- don‘t use it..).

And it would stop a lot of business politics, no matter if the actor is pioneer, NI , Denon or whom else.

Ok.. enough..

Sorry for the long txt and I apologise for the time needed ro read it.. 😬

Maybe this idea isn‘t new, but its doable I think..

What’s your opinion, if I may ask ??

Have fun and stay clever..

Andreas

Am 18.05.2020 um 16:20 schrieb Erik Minekus notifications@github.com:

 Unfortunately support for these controllers needs to be built into the software, which is unlikely to happen for Rekordbox or Serato. It may also require a complete rewrite of the QML files.

I did find Ctlra, a C library that already supports the D2. There's been some effort to add it to Mixxx, but currently it seems to be stalled.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

ErikMinekus commented 4 years ago

People have figured out how to access the NI displays in https://github.com/shaduzlabs/cabl/issues/9. https://github.com/asutherland/ni-controllers-lib has a working Node.js library.

But either way, to be able to put detailed information on the display, like track title, artist, BPM or waveforms, the software needs to expose that via HID. MIDI is too limited.

The only HID protocol I can think of that is supported by most DJ software is the one for Pioneer CDJs. So it may be possible to write a small program that pretends to be a CDJ in HID mode, and then hopefully the software exposes its information and you can send it to a display.

But I don't have the time to figure out how to do that.

harryhaaren commented 3 years ago

Hey Folks, Author of the Ctlra library mentioned above here. Don't confuse writing themes (QML files, that Tractor then reads & draws, kinda like HTML/CSS), and writing raw pixels to devices.

The ctlra library allows raw access to the hardware's pixel buffers - via a USB protocol. The Ctlra library removes the need for developers to re-implement the USB protocol, and various handshake messages to get set up with controllers. It does not provide any fancy means of "drawing stuff" like QML.

Indeed the Mixxx/Ctlra integration was a side-project of mine, and the Mixxx community didn't seem to like the approach I was taking. Lacking motivations/enthusiasm eventually it stalled yes. I still belive it the right way to integrate these complex/powerful controllers in a way that is sustainable for an Open-Source eco-system.

ErikMinekus commented 3 years ago

Thanks for your response.

I kept this issue open because I thought it would be interesting to discuss how to possibly use these controllers with other software, with or without the existing QML files. I realize that using the existing QML files would mean rebuilding a lot of closed-source Qt components from scratch, which would be a big undertaking.

Regardless, this repository is about mods for Traktor's QML files, so I will close the issue. Anyone who finds the above interesting can perhaps contribute to the other repositories I mentioned.