DawDreamer
DawDreamer copied to clipboard
Segmentation Fault when calling plugin.load_vst3_preset()
Hi!
I tried to load a VST3 Preset from a file for a plugin using the load_vst3_preset() method but calling the method results in a crash of my program. The file path should be correct because if I enter an invalid path an according error message is printed instead of the SEGFAULT. I tried it with Arturia Piano V2 (.piax - File), Arturia Stage 73 (.stax - File) and TAL NoiseMaker (.noisemakerpreset - File).
Am I using the function wrong or did I find a bug? Here's my code if it helps: https://github.com/JonathanDotExe/midi-cube-tools/blob/main/SampleTool/main.py
Thanks in advance, Jonathan
Hi, thanks for trying and reporting. My current understanding is that it's not a bug. That VST3 preset loading function is meant for .vstpreset
files. I'll try to clarify that in the docs soon. However, I do see that there's an update to this function that could be included in DawDreamer https://forum.juce.com/t/loading-vstpresets-in-vst3-plugins-do-not-load-correctly/47111/2
Also, a segment fault is very non-graceful, so we should at least check that the file extension is correct...
Hi!
Thanks for the quick response and the infor about the .vstpreset format. I will try your loading update as soon as it's published on PyPi.
I managed to save my TAL NoiseMaker preset as .fxp now and it works fine using load_preset(). But it seems the .dll- Versions of the Arturia Plugins don't support loading/saving presets in .fxp or .vstpreset and DawDreamer can't load the .vst3 ones. Anyway, this is not a problem with your software but with Arturias so I'll try to find a fix myself.
Is there any other way to manipulate the current settings of a plugin like opening the GUI or instructing it to select one of it's factory patches by their name?
Thanks in advance, Jonathan
Edit: To clarify what I mean with the Arturia Plugins not supporting .fxp/.vstpreset is that the "Save Preset" Button in my host is greyed out when using the .dll and if I try to load preset created using the .vst3 version in DawDreamer both loader methods throw SegFaults.
Hi, sorry for the delay. There are some improvements in 0.6.0 on pypi. This new version will throw errors if the preset is missing and hopefully also if it's invalid. I decided that this was better than returning False and checking it with an assert.
Can you try the .vstpreset
files again?
Still no progress on the GUI stuff, but you can subscribe to notifications here https://github.com/DBraun/DawDreamer/issues/24
Hi and thanks for your reply! I will try it as soon as possible :)
Pinging you because 0.6.2 now has open_editor()
, load_state(filepath: str)
, and save_state(filepath: str)
for Plugin Processor. See tests/test_plugins.py
This is great thank you :). I'm having a bit of a stressful time because of school right now, but I will try it in a couple of months for sure. Thanks for making this awesome library.