I load all the samples on a different thread, so that this doesn’t happen. That’s how sfz player changes sfz files. All the sfz parsing, wave loading, flac decoding, etc. happens on a worker thread so there are no hiccups. Doing disk I/O on the audio process thread is a not great thing to do.
Ok, I’ll revisit this strategy. I agree that if the samples can load in another thread, it would be vastly superior.
yep, will be much better. And of course do all memory allocation and deallocation in that other thread. Ppl seem to like this old paper I wrote a couple of years ago. It mentions that issue. Demo/efficient-plugins.md at main · squinkylabs/Demo · GitHub
Thanks for the demotivation of this exquisite Groovebox, haha. I get your points and most can also be done in a DAW. But having one machine that does everything fast and extremely well, there is no denying it is all worth the effort, especially when it’s so close.
I have some good news! Two new improvements are rolling out soon:
First: Ratchet selection display when modifying the ratchet parameter
Second: Sample start/end indicator when adjusting those parameters:
I’m going to work on one more feature before submitting a new version to the library. Thanks!!
this is just … great
Great stuff, Bret, well done on getting all the changes done! Looking forward to messing with this one.
I haven’t been that active here lately (sorry), but just wanting to comment on the sample start/end thing: in my opinion suggesting it to be done in an actual separate wav editor is missing the point of musical uses in electronic music where you want to change those parameters on the fly. In a groovebox like this, parameters of that sort totally feel like they “belong”, instead of being some superfluous “you might as well prepare the samples somewhere else” feature creep.
I’m just re-quoting this to keep it top-of-mind. This is the next thing for me to do.
Hello everyone! I have an update (2.17.0) in the queue to be reviewed by VCV Rack and hopefully available within the next few days. Here’s what’s new:
- Added a change log file that can be accessed by right clicking on any module and selecting “Info/Changelog”
- Fixed a bug which could crash VCV when loading larger samples
- When loading samples, the last accessed directory should now be the default
- Added new parameter lock: Sample End
- Added visualizer that appears when adjust sample start or sample end positions
- Added visualizer that appears when selecting a ratchet pattern
- Reorganized parameter lock positions on the front panel and color coded them
- Added ability to shift tracks forwards and back by holding SHIFT while dragging a step button left or right
- Same as above, but when holding SHIFT+CONTROL, shifts all tracks
- Fixed issue where playback wasn’t ending when unsoloing a muted track in the Groovebox Expander
- Improved how the Groovebox uses data from the expander, which avoids a lot of edge cases.
Also noteworthy, my amazing Patreon page, which is currently a bit lonely: Voxglitch is creating VCV Rack Modules & Audio | Patreon
Optimus Maximus again!