If your not that good at Javascipt than you will love the updated script (v1.1) I attachted to the first post in this topic. I did a major cleanup of the code:
- Initialised all objects from the init section, which was on your 'to do' I noticed
- Build a procedure to add all buttons and controls to the decks without repeating all code twice. This reduces the script with 46 lines, and should make it easier to maintain.
Auto loops indeed require perfect BPM and accurate positions. I noticed Mixxx sometimes has an issue with determening the exact BPM, so this needs to be cleared first. (It might also be an issue with playback speed, which was discussed in another topic). I should first need to try the 1.10 beta version to be able to provide some input. I downloaded a prerelease this weekend but it doesn't start at all, It immediately crashes.
You are right that switching functions from the controller is tricky. Indeed the best solution would be to have a link from the scripts to the preferences dialogue.
In the mean time I don't know if it's a bad idea to have a multiple mapping preferences. The more extended the functionality of Mixxx becomes the more difficult it will be to design a preset that's good fore everyone. Even worse; a DJ might prefer different presets depending on the style of music he will be playing.
However the way I would implement multiple presets for one controller is to keep al code in one script and provide multiple mapping xml files pointing to it. The different mapping files can (partly) point to different functions in the script file. Such a script would also for a big part be ready for the link to the preferences dialogue in a future release.