Yes, I completely agree. I think this must be a bug. I’ll get this fixed ASAP.
It might! I might consider it a work-around, but I’m hesitant to call it a “solution”. Ideally the module would contain special code to avoid those clicks and pops, but I’ve been hesitant to dive into that due to the complexity involved. When I’m in a particularly smart mood, I’ll give it a shot. Ha ha ha. Would you happen to have a good loop that illustrates the clicking sound that I can use for testing?
Sure! I can do this! I’ll get this done tonight. Please be patient as it takes a while for my updates to pass through VCV Rack’s build process. It should be available on version 2.17.0. (2.16.1 is currently being processed and will be released before it).
Absolutely. I have that feature in Digital Sequencer. Do you want the sequence and all parameter locks to shift with it? I would assume so, but thought I should ask.
This is fixed! Really nice catch!! It should be rolling out in the next major release.
=== UPDATE ===
I found some other weird edge cases and I need to make some thoughtful updates to my code to get them all correct. Stay tuned. I found that detaching and reattaching the expander module could resurface this issue, as can starting the module from scratch. I’ll keep on this.
Ok, this time for real it’s fixed. Thanks again for catching that bug. The new update should be a LOT more stable when it comes to correctly responding to mute and solo buttons.
That’s also what I meant by shifting the start position you shift the whole sequence, but by keeping the 16 steps. Now if the start position is moved one step forward, the sequence loop becomes 15 steps.
Alright! I have this done! I have to admit that my code isn’t 100% perfect. If you vigorously shift left and right, you’ll see that the mouse position doesn’t align perfectly with the pattern that you are dragging. However, it really doesn’t matter functionally, and everything shifts properly. I’ll get the math right eventually.
What I ended up doing is repurposing the shift key for this feature. Previously, you could hold the shift key while clicking on a blue step button to set the track length. However, since I’ve introduced the ability to change the playback window by dragging the track-length drag handles, that old user-experience has become somewhat unnecessary.
Instead – You’re now able to:
Hold the shift key
Click a blue step button
Drag left or right to shift all of the the steps to the left or right, including the parameter locks
This only affects the currently selected track. I could add a feature to shift ALL tracks left and right if you think it would be helpful. I would probably do that as a context menu option though. In your case, it sounds like this might be useful! Actually, I should probably do this. ** sigh ** OK, ok, I’ll get this done soon. Ha ha ha. It actually shouldn’t be too bad.
I’ll post a video of it soon. I have to make a new tutorial video soon and update all of the documentation anyhow.
Wow, you went further than I thought.
I was just thinking of a step-by-step shifter button.
But it’s great like this.
And I must admit shift the whole sequence make sense now, haha.
Bret - you could take a peep at the code in the Lomas sampler which has ‘start’ and ‘end’ as parameters.
While ‘release’ certainly helps if there is no ‘end’ control - having both should allow for much finer control, particularly on longer samples.
Having both should also help deal with any clicking issue, as having set an ‘end’, the release can essentially work as a fade out (as can ‘attack’ work as a fade in for ‘offset’).
Just brainstorming here, but what if I expanded the Attack/Release envelope to be a full blown ADSR envelope? Sustain would range from a few milliseconds to 4 seconds. If sustain and decay are set to 0, then it would act as a Attack/Release envelope (which is how it is behaving right now).