-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sequence X dual mode proposal #94
Comments
Sounds like a interesting idea. I already implemented some Hemisphere applets, but I haven't yet looked into syncing two applets, some maybe @djphazer can give me give hint where to start. I love the idea and would start working on it. |
You could look at the ASR applet and its I'm discouraged from propagating the pattern of singleton classes because it feels like an unnecessarily complicated abstraction. Perhaps it's beneficial for threaded server applications or something, but in our firmware context, two applets are not actually separate threads; they are simply processed in sequence - left side first, then right side, once every tick. To "link" them together is merely a matter of shared global state. In fact, I've already converted the HS::RingBufferManager to a simpler, static struct object... but, it still seems buggy. (The DMAMEM allocation makes it start out with random data; maybe that's why) Anyway, @zerbian hopefully that gives you some insight! Maybe there are simpler solutions out there; maybe not. Perhaps it could be helpful if an applet could directly talk to its neighbor without a mediator. ;) |
Thank you for your insight and starting point. I will look into these applets! |
@pyerbass How would you imagine the navigation and controls will work? I think the easiest solution will be: each half only controls its 8 steps, and only the playheads "cross" the different applets. |
Hi! what if, when both applets are set on sequenceX, the app becomes a single 16 step sequencer, still with two outputs and two clock inputs, like two playheads moving along the same sequence at their own pace.
Gate in A: CH1 clk
Gate in B: CH2 reset
Gate in C: CH2 clk
Gate in D: CH2 reset
CV in A: transpose steps (or transpose CH1)
CV in B: randomize steps
CV in C: transpose selected step (or transpose CH2)
CV in D: randomize selected step
OUT A: CH1 v/oct out
OUT B: CH1 step1
OUT C: CH2 v/oct out
OUT D: CH2 step1
The text was updated successfully, but these errors were encountered: