Hi! I have been long waiting to present the results of my Mixco project since there are some changes that I would like to still make, but maybe it is good enough already and those changes could benefit from public critizism. Here it is:
http://sinusoid.es/mixco/ I believe that the XML file gets in the way of the development of JavaScript-intensive controllers, since it is verbose and hard to maintain. So I have built this framework where one can express mappings in a highly declarative JavaScript which is as simple as XML for simple use-cases, but scales gradually to more complex specenarios. The script can be run in a Node.js environment to generate a XML mapping that is transparently optimized (i.e. uses direct mappings bypassing JS when possible). Also, the framework also promotes writing reusable behaviours, that can be shared in different controllers. Also, it promotes literative programming, interleaving the documentation about what the different buttons do with the code and generating nice-looking docs from it, encouraging DJs to hack the scripts, and helping in keeping the docs up to date with changes. Here are a couple of examples of scripts/docs and the XML generated for them: - Korg Nanokontrol 2: Mixco: http://sinusoid.es/mixco/script/korg_nanokontrol2.html Generated XML: https://gitorious.org/mixco/compiled/source/6be10f2098af1b64890bb60d4b9ca72a16fc0aee:korg_nanokontrol2.midi.xml - M-Audio Xponent: Mixco: http://sinusoid.es/mixco/script/maudio_xponent.html Genrated XML: https://gitorious.org/mixco/compiled/source/6be10f2098af1b64890bb60d4b9ca72a16fc0aee:maudio_xponent.midi.xml When I first mentioned these ideas in this list it was highly critizised that it is written in CoffeeScript, so while I kept its core in Coffee I have made sure it is easy to use in vanilla JavaScript, as in this script: - Novation Twitch: Mixco: http://sinusoid.es/mixco/script/novation_twitch.html What do you think? Should you consider this interesting to be integrated in Mixxx, I would be happy to book time again for the project and work on any necessary improvements. Also, there is no Twitch script in Mixxx right now, and this Xponent script is significatly better than the one currently in Mixxx (I know this because I was maintaining that one :) so in the worst case I suggest we distribute the pre-compiled JS and XML with the next version of Mixxx. JP ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://www.hpccsystems.com _______________________________________________ Get Mixxx, the #1 Free MP3 DJ Mixing software Today http://mixxx.org Mixxx-devel mailing list Mixxx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mixxx-devel