Creator Keygroup Layout - TheTechnobear/Eigenharp GitHub Wiki

Keygroup Layout, integrated into Creator 2.0

after discussion about layouts, i decided it would be nice to have something to automatically create musical mappings for us as to do so manually is tedious! so, ive created the layout creator, which ive added to 'creator' , as its useful for that as well... but remember you can use it on existing setups.

Ferdinand Strixner has done an excellent comparison of some possible alternatives, which is recommended reading, and can be found at: Layout examples by Ferdinand Strixner

Ive provided the command lines required to produce all of these (except the last one, which is a bit 'random'), these can be found in layouts/examples.txt. they can be used to create all these layouts and are also instructive on how to use create layout. (the examples also have other layouts and how to use splits etc)

to execute create layout, you will need to download my Eigenharp repo, I suggest you use a git client to do this, so that you get updates, by just syncing. https://github.com/TheTechnobear/Eigenharp/tree/master/creator

features supported:

  • vertical, horizontal, diagonal, block layouts
  • ascending and descending layouts aka reversed rows
  • reversed columns
  • custom increments e.g. increment in 3rd
  • splits
  • linear and non linear input mappings
  • physical mapping
  • any device - all layouts, all devices!

As this is now integrated into creator you can use in config files, or can call directly etc.

basic command line:

bin/creator.sh -C "keygroup:kgstartrow:kgendrow:kgrow:kgcol:blockrow:blockcol:courseoffset:increment:revrow:revcol:diagonal:linear:physical" 

example for original layout

bin/creator.sh -C "KeygroupLayout:keygroup 1:1:23:22:5:1:0:4.0:1:false:true:false:true:false"

the parameters in order are: keygroup - keygroup apply changes to, should be in quotes e.g. "keygroup 1"

kgstartrow - row that the incoming keygroup starts at, usually 1

kgendrow - row that the incoming keygroup ends on, for main group this will be length of keygroup (e.g. 9 for pico, 23 for alpha), for split it will be size of incoming plot

kgrow - number of rows in output keygroup, on main group this is often 1 less to that kgendrow, to allow for octave or row buttons (e.g. 8 for pico 22 for alpha)

kgcol - number of columns in output keygroup, usually number of columns on device, unless you are splitting horizontally!

blockrow - number of rows in block , IF 0 = horizontal layout
blockcol - number of cols in block, IF 0 = vertical layout These are important as they set the mode, there are 3 basic modes 1 0 - vertical layout, ie courses run vertically down device 0 1 - horizontal layout ie.. course run horizontally across device r c e.g. 3 2 - a block e.g 3 x 2 block, a block = a course

courseoffset = offset in semitones between courses

increment = note increment, the number of

revrow - rows are reversed, i.e. high notes at top, low notes at bottom (reversed from original)

revcol - columns are reversed, i.e. notes (or courses) from col 5 to 1 (reversed from original)

diagonal - determines whether columns go horizontal (false) or diagonal (true)

linear - true assumes in the incoming keygroup all keys are linear i.e. in one course e.g. alpha 1,1 - 1,120, pico 1,1-1,18 ... false assumes keys are already in courses. i.e. column 1 = 1,1-22 column 2=2,1-2,22 note: if linear is VERY important that kgendrow is correct, as this is how createlayout 'knows' the key for column 2 is 1+kgend e.g. for a pico 2,1 incoming is 1,10

physical - generator a physical mapping as well as musical, useful for creating new keygroups.