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

Reply via email to