Posted: 08 Aug 2013, 15:34
I'm working on a drum machine patch designed to easily facilitate driving drum VSTs such as Battery and others that lack a sequencing interface of their own. I envision something like Tattoo (which has step sequencers available for modulating almost all of its params). In this version of the patch I am using EXD-80 (a free and interesting drum machine VST) so that anyone can test.
Right now I've been working on getting the 'pattern store' aspect of the patch working. For this part I've written two new scripts, 'Pattern Store' and 'Pass on Change (Array)'.
The good news is that I've managed to add in the pattern recall feature!
The bad news is that I don't know how to make the patterns persist.
How can I store the values in the Pattarn Bank so that they are recalled on next load, rather than reset? (Right now I initialize all values to 0 during the init procedure, if I don't it doesn't work. How/where can I store a three dimensional array that I can then load it back during init?
edited: I should have tried the patch on a more powerful machine, because I don't get the timing issues on my desktop.
Still, I wonder which of the two new scripts, or what aspect of the routing, is causing such a hit (though I never expected much from it for music, it's a pretty low-spec CPU).
For reference, here were the problems I encountered:
- the BPM is reporting at 30 and 120, flashing back and forth between them
- selecting a new pattern does not trigger only on 0 (could be related to above? to replicate quickly be sure to select a new pattern number when steps are very low)
- position bars are not in sync with each other
Right now I've been working on getting the 'pattern store' aspect of the patch working. For this part I've written two new scripts, 'Pattern Store' and 'Pass on Change (Array)'.
The good news is that I've managed to add in the pattern recall feature!
The bad news is that I don't know how to make the patterns persist.
How can I store the values in the Pattarn Bank so that they are recalled on next load, rather than reset? (Right now I initialize all values to 0 during the init procedure, if I don't it doesn't work. How/where can I store a three dimensional array that I can then load it back during init?
edited: I should have tried the patch on a more powerful machine, because I don't get the timing issues on my desktop.
Still, I wonder which of the two new scripts, or what aspect of the routing, is causing such a hit (though I never expected much from it for music, it's a pretty low-spec CPU).
For reference, here were the problems I encountered:
- the BPM is reporting at 30 and 120, flashing back and forth between them
- selecting a new pattern does not trigger only on 0 (could be related to above? to replicate quickly be sure to select a new pattern number when steps are very low)
- position bars are not in sync with each other