I've now well Traktor mapping system. It wouldn't be that bad (provided we
have scripting anyway) if:

1-Execution order of sentences could be determined.
2-Modifiers could have an arbitrary value (double, text, etc...) instead of
just 0,..7.
3-More than two conditionals could be defined for a sentence.
4-The number of modifiers wasn't limited to 8.
5-Modifiers could have a name.

2015-08-11 19:14 GMT+02:00 Be <b...@gmx.com>:

> I actually played around with Traktor's mapping system last night and it
> isn't that great. Complex mappings quickly get messy. We can do better. :)
>
> On 08/10/2015 04:29 PM, Be wrote:
> >
> >
> > On 07/07/2015 10:14 AM, raskolni...@es.gnu.org wrote:
> >>
> >> On the OP topic: I think your proposed sintaxes look good and could be
> >> useful, it's nice that you open this discussion!
> >>
> >> On the other hand, I have the impression that what we really need is a
> >> two simple functions `map[Output,Input]Control(channel, value, group,
> >> name, options)` that allows to define a MIDI mapping at run-time.  This
> >> would be the JS equivalent of the <control> tags.
> >>
> >> On top of this low-level API many richer high-level APIs can be
> >> explored, including your JSON-style formats, Mixco, and further.  But
> >> most importantly, it would be possible to write advanced controllers
> >> with JS mode switching, that are as performant as the pure XML scripts.
> >>    Right now, a important limitation in the framework is that it's all
> or
> >> nothing, either you bind a MIDI signal statically in the XML, or handle
> >> the MIDI events completely in JS -- an interesting approach is to be
> >> able to create direct binding for Mixxx controls from JS that then
> >> bypass the script for the individual events, providing better
> performance.
> >>
> >> Cheers!
> >>
> >> JP
> >>
> >>
> >
> > I think this is the most reasonable way forward from where Mixxx is.
> > This could facilitate a smooth phasing out of the XML format and a
> > transition to JSON. All the info contained in the header of XML files
> > could be defined in JSON with a metadata object.
> >
> > Looking into other programs' mapping systems, it looks like Traktor and
> > possibly Ableton are the only ones that have mapping systems worth
> > taking ideas from. Serato's system is primitive (at least the
> > user-definable part; no one knows the secrets of how official,
> > unmodifiable Serato certified mappings work). VirtualDJ has its own
> > clunky mini-scripting language. Ableton allows scripting with Python but
> > at first glace I don't see much documentation for it and I've heard
> > there is no debugging output. Traktor's mapping system is flexible but
> > tries to do so much in GUI that it ends up being cumbersome. I think it
> > would be awesome to implement a GUI interface similar to Traktor's but
> > allow direct input of JavaScript snippets from the GUI. For example,
> > instead of selecting [Channel1] as the group for a mapping in the GUI, a
> > user could type in a JS variable that could be toggled between
> > [Channel1] and [Channel3]. Also, custom JS functions could be typed into
> > the GUI. This could combine the best of a GUI interface and the
> > flexibility of JavaScript.
> >
> > I got another idea that I think would be both powerful and
> > straightforward: mappings could be built from layers, which would be JS
> > objects containing groups of input and output mappings. In the GUI,
> > layers would be presented as tabs at the top of the mapping editor.
> > Button presses (or whatever) would be mapped to switch between layers.
> > By default, activating a layer would overwrite active mappings that
> > overlap with the layer being activated. Mixxx could remember the
> > previously active mappings and revert to that when a layer is disabled,
> > which would make implementing shift button layers trivially easy. Would
> > it make more sense to implement layering functionality in C++ or as a
> > JavaScript library making use of a new mapping (dis)connection function?
> >
> >
> ------------------------------------------------------------------------------
> > _______________________________________________
> > 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
> >
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> 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
>
------------------------------------------------------------------------------
_______________________________________________
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