tildearrow / Mixxx-Pioneer-DDJ-SX2

Pioneer DDJ-SX2 MIDI Mapping for Mixxx
MIT License
12 stars 4 forks source link

Lacking hotcue and hotcue loop handling for deck4 #1

Open ardje opened 5 years ago

ardje commented 5 years ago

Hi, I have an SX3, and now I discovered your SX2 controls that in some points are way better than the stock SX controllerscript in mixxx. During automation of the midi file, I noticed that you lack the hotcue button handling for deck4 in the xml file. I am currently busy generating an xml generator, because exploding a few lines of configuration into 300kB of xml is more easy than to edit 700 xml entities by hand ;-). I forked your repo, and my current work is here: https://github.com/ardje/Mixxx-Pioneer-DDJ-SX3/tree/master/bin the ddj-sx3.lua just outputs the xml. The end of the file contains the not already automated entries. But you can get a feel of the magic here, and also the reason why I discovered it here: https://github.com/ardje/Mixxx-Pioneer-DDJ-SX3/blob/master/bin/ddj-sx3.lua#L50-L51 There is no pull, just a heads up. If you want to use the generator script too, I will make it generic. There are some pesky buttons different on the SX3, especially FX assignment.

Regards, Ard van Breemen

tildearrow commented 5 years ago

Oops, thank you for the report! Fixed in 0d80b0c86d6daa21ad303904cced64fc531ae1bc.

The reason why I dropped the build system from the DDJ-SR code is because back in 2016, when I was working on the mapping, I felt the build system was bloated (and buggy) and began to work on the mapping directly (by using the Mixxx UI (which I felt was easier to use)).

The new build system idea you're proposing seems to be cool, but there's a minor problem: it's written in Lua. I don't have much experience with that language... (but that's OK; I can learn it)

I will think about merging your build system with this project soon.

ardje commented 5 years ago

\0/ Thanks! I mean, for not rejecting the idea. I will create a lua-readme to explain the basics of lua, which also explains the why. The only other language capable of such string handling is perl I guess. Anyway, a previous attempt for the hercules universal dj: https://github.com/ardje/mixxx-presets/blob/master/generator.lua#L111-L150 It's not concise, as it needs cue's and fx added. But most of the buttons are directly engine mapped, skipping javascript.

Anyway, I will continue to finish the script generating the SX2 configuration, and then add SX3. When I finish SX2, I will give you a pull.

BTW: did you capture the data yourself? I have an external usb analyzer, did not use it yet. But I should because the VU meters do not work. Or do you send audio to deck1..4 instead of master? I will need to do some more serato sniffing :-(

tildearrow commented 5 years ago

Will look at it when I come back home.

BTW: did you capture the data yourself?

For the Serato mode, slip flash, arbitrary needle position and red jog light commands: Yes, I did by using MIDI Monitor on Mac while having Serato open. Otherwise I just relied on the official MIDI messages documentation.