In order to move forward here, I think we should agree on a set of use-cases for the new grid operators. Then I will go through a process of tweaking the new ops until they have the right recipe to create all the example patches without too much clutter. This is the same philosophy behind grains - I set out to create something that can become sampler, FM processor, pitch-shifter, chorus/flange, echo effect without glitching too hard as it morphs between those things.
Then you can refer to those example patches to answer these ‘how do I?’ type of questions. Otherwise we get bogged down in these existential discussions about which is the ‘right’ way for each object to behave. I aim to design a highly orthogonal set of operators which can be combined efficiently to do many, many jobs. Once the ops work for all the jobs I can currently think of they’re ‘finished’…
Here’s my list of music-things that should be build-able from grid ops (then hack-able because they’re built as a patch!):
- grains patch matrix manipulation & display using grid (would also like the textual display on aleph screen for patch-matrix signal sources)
- monophonic step sequencer based on mem1D (one light-per-column step-sequencer)
- percussion step sequencer based on mem2D (any grid light can be on/off)
- generative step sequencer using life op (like a percussion sequencer but it reads from a life op not mem2D - life can have a different clock)
Pretty sure the new grid ops as they stand can already be combined to build these things without dumb stuff like 8 change operators (try playing with the write/read functionality of the mem ops). I already went through a round of revisions tweaking the new ops till until my example patches became possible! Assuming arbitrary op deletion is now working correctly (let me know - I’m at work right now), we can move forward with this exciting developmental work on bees ops!
Can you explain very clearly and simply any desired use-cases not covered by those examples above? Grid-manipulation of grains-patch-matrix was your idea originally and inspired me to create the new ops as first project with my new grid toy. Will also revisit my example to ensure I am correct in saying that my own wishlist is already fulfilled (and obviously share the patches)…
NOTE:
Consider this an open invitation to any aleph grid users to describe any straightforward music-control-thing they would like to build as a bees patch but doesn’t seem to be possible with the current set of operators. I’m not talking about highly integrated intricate objects such as WW, life or meadowphysics (that level of complexity probably best managed as a C program) but things around the same level of complexity as a step-sequencer…
EDIT:
Chucking these two ideas on the pile (not sure how musically useful but these kind of simple geometric operations should be possible with any respectable patching language)
- ‘line’ you hold down two grid buttons - it draws a line between the two buttons
- ‘zone’ you hold down two grid buttons it draws a square with corners at the two presses
Crazy idea - because we have the host serial functionality now, I think it will be possible to distribute my example patches in the form of a program (which runs on host) that inserts the example patch into an existing bees patch. I think common lisp is too fiddly to set up for most people, but a host picolisp program could almost certainly be wrapped up and made to look like regular command-line app. (I could just use python but many benefits to using a language for host app coding that can also run on the device - besides I am a crazy lisp fanatic why fight it…)