Hey,

On Mon, 27 May 2013 03:14:50 -0400
RJ Ryan <russelljryan-re5jqeeqqe8avxtiumw...@public.gmane.org> wrote:
> 1) It's valuable to have a structured representation of the mappings. Code
> is a black box and Mixxx has no visibility into it. This means that
> mappings expressed purely in code are not manipulatable by Mixxx. It
> doesn't matter what the declarative format is (JSON, YAML, XML, etc.)

So if this declarative table (which is obviously needed to standardize the glue 
interface) was returned from script itself that'd be ok right? After all Mixxx 
doesn't need it to be a disk file as long as it can retrieve a standard data 
structure. In that case driver writers could choose whatever storage they want 
if they're allergic to one file format or another.

Switching to such an architecture just needs a standard Javascript function 
that loads existing XMLs.

> but a
> practical consideration is that breaking compatibility with the extensive
> set of controller scripts in the wild would be an extremely sub-optimal
> outcome.

Agreed, it's a problem for many reasons.

> If you care about performance, you should instead be coming up with a
> standard, non-script way to implement scratching. Compared to executing
> code in a VM, the current XML bindings are orders of magnitude more
> efficient (It's a hash-map lookup to figure out which control to dispatch
> a message to).

I only know how my own CDJ scratch works, it's a continuous stream of absolute 
timestamps. Post-processing the position deltas to detect 
play/pause/rew/ff/loop could probably be done in script.

Are there other critical latency cases like resuming a cue to do a Roger 
Sanchez style needle-drop mix? (good luck:)

> 5) Controller scripts are a mechanism for advanced script authors to get
> full control and customization. Throwing out the mappings eliminates all
> possibility for non-advanced users to customize their controller without
> writing code.

Does it make sense to separate/layer 'low-level driver' from higher-level 
customization, which could use a UI?

cheers,

-- p

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