I am pretty well versed in Traktor and I can tell you with confidence that Deckadance could easily become the next big thing once a (very) few issues have been taken care of. Today I will only talk about the one that's most important to me.
My plan is to use 3 x Launchpad S and 1 x BCR2000 to control Deckadance. Using a single MIDI controller is very straightforward, but using more than one poses a few challenges. Here is why:
Deckadance is able to tell which MIDI device a message came from:
Code: Select all
if(name == "Launchpad S")
but there does not seem to be any way to tell Deckadance which controller to send data to!
One way to work around this limitation is to use a different MIDI channel for each device. However, the Launchpad S is hard-wired to communicate on Channel 1 and that cannot be changed, therefore if you connect two Launchpads, the LEDs on both of them will look exactly the same. I was able to work around this by using a translation table in MIDI-OX, but this solution is far from ideal as it involves three bits of software running instead of just one! Furthermore, this solution only works for Note and CC messages: when SysEx messages are sent, all connected devices may respond as SysEx messages are sent globally.
The 2.30 update allows users to MIDI Ins and Outs separately in Preferences > MIDI Scripting. Let me tell you that THIS is the only reason why I bought Deckadance today, because before this update a workaround would have been even more tedious.
I am hoping the developers would consider re-writing the following API functions to also allow users to specify the target MIDI device:
Code: Select all
void sendMidiMessage (int status, int data, int value);
void sendSysExMessage (const std::string &str);
Thanks for reading my boring long post!