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