Hey Andrew,
Haven't had time to look at your patch yet, so take this with salt:
Andrew Faraday wrote:
Hey all One of my workshop members recently challenged me about how to produce a keyboard-based control system to select and change parameters (in this example RGB) using the left and right arrows to select and the up and down to change. I've attached my attempt at it, however the logic involved is a bit cumbersome. Any more elegant solutions?
http://www.archive.org/details/ClaudiusMaximus_-_Live_At_LAC_2008-02-29_Inte...
(some glitches where recordmydesktop couldn't keep up, also not really watchable at anything other than the highest resolution MPEG (745MB))
everything keyboard controlled, using pdlua to process key events captured from gridflow (as i don't get on with pd's key/keyname), the logic is more easily expressed in a text language with proper data structures in my experience - pd patching for complicated state manipulations is a pain...
https://code.goto10.org/svn/maximus/2008/lac/key-handler.pd_lua
The patchery to implement that would be a total nightmare, so I didn't even try..
Full code here - probably won't work on any computer than mine as it was set up 2 years ago, which makes 0 computers in 2010 ;)
svn co https://code.goto10.org/svn/maximus/2008/lac
also this version shows a visualisation of the key presses http://www.archive.org/details/ClaudiusMaximus_-_Live_At_LAC_2008-02-19_Exte...
Anyway, what I realized when using this control system is: navigating with cursor keys is an utter pain when you want to change things in different places quickly, as you probably will want to do when playing live! Also, muscle memory means that it's better to have 1 key per section to jump to directly, instead of having to double-check which is currently selected.
Just some quick thoughts,
Claude