Hi Daniel,

Thanks a lot for the well-thought feedback!  In the meantime, I have 
ported all the code to "Literate CoffeeScript".  The purpose of this is 
to remove yet-another-extra-file-to-maintain (the script code *is* the 
documentation of how the buttons are mapped) and to encourage users to 
customize their scripts removing the artist/coder dichotomy!  Here is 
the output of the documentation so far:

     http://sinusoid.es/mixco/

Let me answer your feedback below:

> * I am not in favor of a high end mapping GUI, because the controllers
> are to different to set up a universal GUI solution

I agree!  There is no GUI in this project, the intent is just to have a 
framework such that the mapping code is concise and readable.

> * we should iron out the work flow from the mixxx GUI to the Scripts to
> have a low threshold for new users.

That is a cool idea.

> * I am not familiar with CoffeeScript and so I am not sure if it is a
> great benefit for Mixxx, because:
> ** It "just" a new Script syntax.
> ** we have still to deal with Java and XML
> ** Longer stack = more code to maintain
> ** CoffeeScript toolchain required
> ** JavaScript is verry popular these days, so it is likely you find a
> lot of people familiar with JS, How about CoffeeScript?

Well, CoffeeScript is becoming very popular, because of many reasons, 
including that it "removes" the bad parts of JavaScript and the syntax 
reads nice and encourages nice programming patterns.

It has very big projects supporting it, GitHub and Dropbox are porting 
all their JavaScript code to it, and it is growing fast, I believe it is 
a future-proof investment.  Also the learning curve is quite low if you 
already know JavaScript.

Anyway, a CoffeeScript API can be used directly in JavaScript in "the 
normal way", so it should not be a problem for people willing to stay 
with JS.

> Lets work on a JS based and on a XML free scripting engine, with new
> convenient functions to make  scripts easy clean and powerful.
>
> This is of course a long way, so your approach might be a good
> intermediate solution.

I agree with the idea that "the right thing" is to improve the mapping 
core of Mixxx.  However I need something now because there are some 
mappings that I want to be using in some gigs soon with Mixxx 1.11 :)  I 
hope that the explorations of this framework can still help in inspiring 
the features of the future scripting engine.

We'll see were it all ends :)

JP


------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
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