-- Press any grid key to light up that key.
-- Screen will show `x,y,z` coordinates for each grid key press. `z` is 1 for key-down, 0 for key-up.
-- Select grid device port or set grid rotation from parameters screen
-- Controls
--
-- K2 : 2 second press + release = all leds on
-- K2 : Short press + release = all leds off - or cancel pattern
--
-- K3 : Fire Test Pattern
--
-- E3 : Select Test Pattern
-- Fade - brightness fade up from left to right
-- Chase - all leds on level 1, bright led travels across each row in order
-- Diagonal - diagonal pattern from top left to bottom right, fading over 6 steps
-- Random - random pattern - 10 times
EDIT: Spoke too soon ;p? Seeing curious behavior with the “Rotation” setting. I can’t characterize it fully yet, but “Rotation 0” in settings displays “Rotation = 90” in the script’s display. The on-screen grid animates e.g. the diagonal pattern like ‘’, but on the connected grid it animates it as ‘’ - but only on the left half of the 128!
EDIT: Ah, and “Rotation 270” in settings displays “Rotation = 0” in the script’s display and works exactly as expected…
thanks for this handy script! i’m currently using it to help me map out colors on an old launchpad with midigrid. i just wonder if grid test was intended for use with the latest varibright grids only, or if it will work with 4-step or greyscale grids as well?
edit: hmm, don’t worry about it actually. i assume it works with all grids. further experimentation with midi grid has given the results i wanted. this script was super helpful in the process, thanks again!
Question about the rotation behavior… It seems to persist when I switch to other scripts (and then get reset the next time I open the Grid Test). Is there some other (permanent) way that I’m missing to to set the orientation on a system-wide level for all scripts? Thanks!
EDIT: after having a deeper look at grid-test.lua I was able to add a default rotation to mlr by adding the lline g:rotation(2) to the init() function (where g is defined as local g = grid.connect() at the top of the script. This seems to have worked w/o breaking anything, but I’ll have to do a bit more testing. In any case, I would still be interested in finding a defauly, system wide solution…
it’s not a top-level global param (ticket, ticket, ticket), but is being considered as part of some work that’s getting spec’d out as of this morning for a more universal lib includer
thanks guys, glad to hear that. in the meantime, the per script solution is easy to implement and seems to work well. and as always, thanks for all your work making this great platform and scripts!