That's the plan.bootykowski wrote: do you mean, that you can "draw" the pattern via monome?
..and then, once things are more tactile, there's some more advanced functions we can add which don't make a lot of sense with just mouse and keyboard.
My original design was for a 256 (16x16 grid). The layout is as follows:Wow, a monome(or push) controlled device like that would be the killer app.
top row:
control pattern 1
Rows 2-5:
draw pattern 1
Row 6:
control pattern 2
Rows 7-10:
pattern 2
Row 11:
control pattern 3
Row 12-15:
pattern 3
bottom row:
something else
The "pattern" rows are very straightforward. Press to toggle a step on or off.
The "control pattern" rows would be more complex.
* one light moves across them, indicating which step is active.
* press and release one button to move the light and change where in the pattern we are. (beat juggling)
* hold one button and press the adjacent button to its left or right to move the light and change what direction it's moving in (determined by which order the buttons were pressed in)
* hold one button and press a non-adjacent button to move the beginning and end points of your loop to those steps. this would also set loop direction (established, again, by the order you pressed those buttons in)
* the bottom row would have some buttons dedicated to scrolling the display area (because you're otherwise limited to the 16 steps that can display at one time), but is mostly about saving and loading presets.
* and then, you probably have to do something like "hold one button in a Control Pattern row to set the loop start point. scroll the display area until your desired end point is accessible. Press that button to set the loop end point." if you wanted a longer pattern than 16 beats.
That last bit would make the design scalable down to 8x16, which is a much nicer form factor sitting next to the Push. Push + monome 256 is just obnoxiously huge.
Anyway...
That design doesn't scale well to some of the changes we're discussing. Add a 5th row to each pattern, and the monome falls two rows short.
Plus, the 16 row requirement excludes a lot of users. (and as such, that design won't translate at all to Push)
An 8x8 version would have to work as follows, I think:
Top row
control current pattern
Rows 2-6
draw current pattern (5 voices)
Row 7
page selectors
Row 8
scrolling and preset management
And then the pages might be...
1: edit pattern 1 pitch
2: edit pattern 1 velocity
3: edit pattern 2 pitch
4: edit pattern 2 velocity
5: edit pattern 3 pitch
6: edit pattern 3 velocity
7: beat juggling (all three patterns, three rows each. the scroll buttons might have to come into play here as well)
8: something else
...or something. I'm not sold on this arrangement.
I wish I could see your code to better understand what you're describing.For the rest, everything you say makes absolutely sense to me.
but one thing: yesterday, i stored 4 test presets with different grid lengths successfully, the grid length did not recall? (or do I misunderstand you? I have to translate a lot, my english is not the best ) the only thing i did not get work, is to save it in a .adv - in the original patch, it worked.
How are you grabbing the data to save as .adg? Are you linking a [patter] object to the individual [matrixctrl] objects, or something along those lines? Try doing the same with the loop length number boxes.
If that doesn't work, try replacing the loop length number boxes with [live.numbox] objects. They're currently [int], which doesn't have built-in controls for storage and automation like the [live.numbox] does.
That's not implemented in the version you have, but it's easy enough to hack in. Let me know if you need help.I did not try to control velocity via aftertouch on push, i definitely will try that.
To be honest, I'm mostly useless today, just sitting around wishing I had air conditioning. But you've got a good insight into my thinking, at least. (I'll actually move forward on this again soon, when I feel more confident about which direction "forward" is)I´m really curious about your next steps.