None of those are an issue because Mixxx uses an actual programming 
language. :)

On 08/11/2015 11:12 PM, Ferran Pujol Camins wrote:
> 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 <mailto: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
>     <mailto: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
>     <mailto: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
>     <mailto: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