…it’s not a good idea to propose (like the real hardware does) up to 32 user waveforms…
![]()
Really, who need 32 user waveforms?
Of course I’m nearly sure they’re no event handler when saving as preset, like onPresetSave().
…it’s not a good idea to propose (like the real hardware does) up to 32 user waveforms…
![]()
Really, who need 32 user waveforms?
Of course I’m nearly sure they’re no event handler when saving as preset, like onPresetSave().
No, preset saving uses the same path as patch saving. But nothing prevents you from writing your own, which augments dataToJson() with some additional fields.
About the user waveforms: maybe it makes more sense to store them as plugin settings instead of per module instance. So 32 user waveforms, which are shared.
Yep I’ve considered this possibility, as shared instead per plugin instance !
EDIT: cancelled! unfortunately I can’t consider “32 shared” waveforms, because on using shared patch(es) or by using another patch(es), they’re possible conflicts between different waveforms but on the same “slot” (in this scenario, previous waveform(s) is/are lost and replaced by the new ones).
By this way, I’ve kept the Save waveforms with “Preset” toggle in context menu. Also, I’ve added a large red LED at the bottom of module, will fast blink (8 times per second!) to warn the user in case he’d like to create a preset, if at least 4 user waveforms are already loaded AND if the option is unchecked from the context menu.
The large LED:
4 user waveforms (or less) are always serialized in json (Preset warning LED stays unlit).
Perhaps I’ll must consider a loseless compression format, like FLAC, in order to be serialized with less data volume in json file…
Hello,
Definitely bad news, the user waveforms will not be embedded in json by using “Save waveforms with presets”, as suggested by Ben (stoermelder - thanks anyway to him), it’s not reliable! Sometimes (it’s random) from dataFromJson() method, some waveform(s) are missing! Definitively I hate json!!!
By this way, VCV presets can’t embed waveforms (as long as a patch storage isn’t implemented in VCV Rack’s API for presets who are using important amount of datas, or a way to differentiate a regular patch file/autosave vs. a preset file).
Saving only 4 user waveforms (as uncompressed PCM) reaches the 100 kilobytes limit for json serialization, as indicated in VCV Rack manual.
I was go back, I’ve removed the large LED concept (at the bottom of module) as I described in previous post. The idea was good (IMHO), but not viable.
User waveform files are handled by onSave() / onAdd() methods only.
Too bad!
Hello!
Today they’re good news (to change from the bad ones, recently
):
Program is like a synthesizer preset.
Each oscillator (A, B, C, D) can be modulated by FM input (TZFM or PM), or by any LFO (1 or 2).
This is the final version of VX expander, now it can output both LFO 1 and LFO 2 “curves” (always into -5V/+5V voltage range).
Following example, OSC A is modulated by LFO 1:
…but can be modulated by LFO 2, or by FM input jack (TZFM or PM, depending the FM setting from 3rd page of PROGRAM), or… not modulated.
.
By default, each oscillator’s MOD. SOURCE is set to NONE (not modulated).
Few development today, but the Vektor User’s Manual is under construction: ![]()
https://github.com/DomiKamu/OhmerPrems/blob/v2/docs/modules/Vektor/Manual.md
Unlike FranKe, I’d like to provide a full (completed) user’s manual for this future module!