Hi RJ,

Sorry for the late reply.

> One thing I noticed was that the mixxxVersion attribute in
> <MixxxControllerPreset> was not specifiable.

Good catch!  Just opened an issue for that.

> The compiled scripts should definitely be included! Please submit a PR
> for 1.12. You're already an author on the existing Xponent preset so
> that's essentially permission to update it :). 

Cool, I'll do so!

I should also review the latest 1.12 features, so I can update the
script to use the latest features (fx, master sync...)

> We will probably always need the JS/XML for the "plain" way of writing
> presets. The reason is that we want to keep a low barrier to entry to
> writing a controller script. Using mixco is easier and more ergonomic in
> the long run but includes a ramp-up cost that might exclude a variety of
> folks who are handy enough with HTML/JS and a text editor to get going
> with our basic stuff but not savvy enough to install Node/npm, use a
> terminal, and learn coffeescript.
> 
> Adding support for loading mixco files directly without compiling sounds
> like it would be useful. 
> 
> All you would have to do is create a class like
> MidiControllerPresetFileHandler that produces a MidiControllerPreset
> from the .mixco.coffee file.
> 
> Looking at the dependencies -- would we need to build and distribute
> these dependencies with Mixxx in order to compile a load a mixco file ?
> That may become unwieldy. 
> 
>     ...

These dependencies are managed by "npm", so they are easy to install
(these JavaScript world as gone crazy with the small libraries
philosophy :).

Anyways, I have been thinking about this and came to the conclusion that
probably it makes sense to keep Mixco separate, since it is a
development tool that is only useful for script writers.  Also it seems
like its packaging (which is now via NPM) and versioning makes sense to
have separate.  Instead, a feature like what you suggest (compiling
Mixco files from inside Mixxx) could be added finding the "mixco" build
script as run-time dependency, so it can be installed separate.

As you properly highlight, the current scripting system is quite useful
already and more friendly for users that don't understand "advanced"
JavaScript concepts like closures or inheritance... we could try to
improve its interfaces to more easily enable abstractions like Mixco.  A
feature that comes to mind is the ability to define "direct mappings" of
MIDI signals to Mixxx controls from JavaScript.

Thanks a lot for you feedback!

JP



Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
_______________________________________________
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