After using Daslight 4 for about 3-4 months i realized that the main issue is how MIDI devices are handled, because i think that the majority is using some DJ software as primary software, having DMx software running in the background, so controlling with a Hardware is essential.
Here is what Daslight doesnt do well...
1. Hardware enumeration. Windows tend to identify MIDI devices with different driver names, mostly adding a number before the name if the device is connected to a different USB port. So one time you may get "AKAI APC MINI", the next day "2-AKAI APC MINI" and another "5-AKAI APC MINI". Due to this difference in names, Daslight thinks that its a new MIDI device and doesnt keep the previous setting where you had enabled or disabled this MIDI device.
2. Due to the fact that MIDI devices are handled as "Simple MIDI" devices without any safe and integrated (VID/PID) identification, the same MIDI message coming from different MIDI devices is still handled as the same MIDI message. This means that you are tied to use only one MIDI device, as the 2nd device may send similar MIDI messages, so you cant really expand your available controls
3. You are literally forced to use some MIDI Clock coming from your dj software or some Virtual MIDI driver, but we all know that its not accurate and safe. In this case, it would be best Daslight (and other DMX apps) to work closer with the developers of the main DJ software and come up with a more native solution. Needless to mention here how well SoundSwitch does the job (i hate when i am referred to the competition - sorry)
4. Most of us run our DJ software on our computer screen, with Daslight running in the background and a MIDI controller to trigger our scenes.
I personally use VirtualDJ, along with an AKAI APC Mini. Even though i am happy to control my show with the MIDI controller, i still get confused sometimes, because i cant remember what scene each button triggers, so sometimes i catch myself switching screens back n forth.
If all the above seem to you troubles the same way as me and want to improve your software, i would strongly recommend to consider implementing OS2L protocol http://os2l.org/, which at the moment is used only from VirtualDJ - probably the most popular for mobile DJs and self light Jockeys.
The benefits of such an integration..
A. DJ softwares have a great way to handle MIDI devices, they offer native support for nearly all the available MIDI controllers of the market, full control of all their features, proper enumeration etc, so Daslight will not have to worry about all the mentioned troubles.
B. Offers the ability to not only pass the BPM but also the beat-grid, meaning that Daslight could even offer a new scene trigger based on Beat Step and if the DJ moves the track back, to play the previous step of the scene. Another use could be to offer Step by Bar (4 beats) and anything that you may think of. As long as the DJ software can pass the entire Beat grid information, the possibilities are endless.
C. Offers the ability to add SHIFT and other modifiers, meaning that a single controller could double or triple its available trigger buttons, including memorized MIDI Out (e.g. have a led green, hold shift to get a different trigger, see a different color while Shift is held (secondary action status) and when released , go back to the green led (primary action status)
D. Offers the ability to use the controllers Performance Pads (most of them have in now days), and also view on his DJ software screen the names of the triggered scenes.
Well, i ll stop here as i mentioned the most basic ones, but if you need more information dont hesitate asking any questions.
@Daslight Developers: If you interested in implementing OS2L to your next version, i would be happy to introduce you to VirtualDJ Development Team and work closer.
Honestly I believe that this is the way for all DMX software, to work nicely together with DJ software, at least when it comes to serving DJs.