Hi
OK so I've been using these strange MONSTER plugins from agushardiman.tv. I say strange because I get the sense the developer uses some kind of abstract framework to create them which means there's no source code. Anyway, they're quite "good" from a "get up and running" perspective and I like working with them despite the fact they're shipped as windoze VST3s, In the past, I have always hosted my plugins through Carla and triggered them over MIDI busses with the audio being sent back to their corresponding audio busses. I'm done with that approach and have leaned to several work-flow changes for the purpose of doing everything through Qtractor itself.
So part of that is to get access to all the plugins I need. For the non-naitive VST and VST3s, I use yabridge which works nicely. Qtractor ends up using the .so files created by yabridge. The resulting plugin can be loaded and everything works as expected. That is, until I just tried to open a .qtr file using this particular MONSTER BASS plugin. Qtractor crashed (oh nos!). If I run it from a console, I can see the following immediately following the crash:
[1] 22420 IOT instruction qtractor InsertMix1.qtr
Fortunately, I do know how to recover with a work-around. I know I can open the .qtr file and change...
<plugin type="VST3">
<filename>/home/windowsrefund/.vst3/yabridge/MONSTER Bass v2-2022.08.vst3/Contents/x86_64-linux/MONSTER Bass v2-2022.08.so</filename>
<index>0</index>
<label>MONSTER_Bass_v2_2022_08</label>
<preset></preset>
<direct-access-param>-1</direct-access-param>
<activated>1</activated>
to
<plugin type="VST3">
<filename>/home/windowsrefund/.vst3/yabridge/MONSTER Bass v2-2022.08.vst3/Contents/x86_64-linux/MONSTER Bass v2-2022.08.so</filename>
<index>0</index>
<label>MONSTER_Bass_v2_2022_08</label>
<preset></preset>
<direct-access-param>-1</direct-access-param>
<activated>0</activated>
That will allow me to open and start working with the material again.
The .qtr file itself does have another yabridge-managed VST3 file enabled which is not causing a problem. That said, I can't imagine this is a problem with Qtractor itself and more likely these MONSTER plugins have some kind of bug. I figured it was worth a shot to explain what I'm seeing, share the error, and maybe get lucky?
I'll continue troubleshooting and looking for some answers on my end. I'll report anything of interest.
I have a problem with a particular VST3 plugin
Forums
A small update to mention I
A small update to mention I can reproduce the scenario with the Monster Drums plugin from the same developer. This would have me think these plugins share some trait exposing them to this scenario.
OK, so can I reproduce it with Carla? In order to find out, I loaded the same 2 plugins into Carla 2.5.8. Carla sees each of these VST3s as "native" since yabridge is workingi its magic. Both plugins loaded fine, were usable, and I was able to save the Carla session to /tmp/carla-test.carxp and use that file to reload both plugins after restarting Carla.
I did see something of interest in Carla's log though....
======= Starting engine =======
======= Engine started ========
Carla engine started, details:
Driver name: JACK
Sample rate: 44100
Process mode: Multi client
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] Initializing yabridge version 5.1.0
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] library: '/home/windowsrefund/.local/share/yabridge/libyabridge-vst3.so'
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] host: '/home/windowsrefund/.local/share/yabridge/yabridge-host.exe'
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] plugin: '/home/windowsrefund/.vst3/win/MONSTER Drum v3-2022.07.vst3'
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] plugin type: 'VST3'
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] realtime: 'yes'
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] sockets: '/run/user/1000/yabridge-MONSTER Drum v3-2022.07-0LWhkmvw'
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] wine prefix: '<default>'
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] wine version: '9.13 (Staging)'
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw]
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] config from: '<defaults>'
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] hosting mode: 'individually, 64-bit'
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] other options: '<none>'
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw]
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] Enabled features:
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] - bitbridge support
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] - CLAP support
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] - VST3 support
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw]
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] [Wine STDERR] 002c:fixme:winediag:loader_init wine-staging 9.13 is a testing version containing experimental patches.
23:08:16 [MONSTER Drum v3-2022.07-0LWhkmvw] [Wine STDERR] 002c:fixme:winediag:loader_init Please mention your exact version when filing bug reports on winehq.org.
23:08:18 [MONSTER Drum v3-2022.07-0LWhkmvw] [Wine STDERR] Initializing yabridge host version 5.1.0
23:08:18 [MONSTER Drum v3-2022.07-0LWhkmvw] [Wine STDERR] Preparing to load VST3 plugin at '/home/windowsrefund/.vst3/win/MONSTER Drum v3-2022.07.vst3'
23:08:18 [MONSTER Drum v3-2022.07-0LWhkmvw] [Wine STDERR] Finished initializing '/home/windowsrefund/.vst3/win/MONSTER Drum v3-2022.07.vst3'
JUCE Assertion failure in juce_VST3PluginFormat.cpp:3636
Honestly, I don't grok why Carla is reporting the file as being loaded from ~/.vst/win given the fact it is reported as "Native" so I'll chalk that down as some type of symlinkish thing I'm not going to worry about. So maybe Carla is handling JUCE raising some sort of exception where Qtractor isn't? I don't know.
Again, given what I think I know about these MONSTER plugins, I'd be willing to bet they're not entirely compliant with these vst standards? As such, I'm certainly not expecting much but I'm hoping to be pleasantly surprised if the underlying issue is something simple.
All the best
Going to recompile with this
Going to recompile with this update and will report back.
No change.
No change.
That said, I've also noticed another odd behavior with these plugins where the correct patch isn't being loaded despite the appropriate config node existing in the .qtr fiile. Is anyone interested in trying to reproduce any of this on their end? If so, I'd be more than happy to share the exact steps taken to get yabridge working with Qtractor.
I am really happy to report I
I am really happy to report I've discovered something in the sense of a root cause :)
On a hunch, I checked out and recompiled this commit. Now, this particular VST3 plugin's patch is persisted as I'd expect. Interestingly enough, some parameters do not persist (global volume) but others do. That curiosity aside, being able to persist patch selection is obviously fundamental so this is a win.
It does not solve the other
IOT instruction
crash I reported but I work around that by ensuring I disable the plugin before I save and exit Qtractor. I use automation to activate it before the part plays so this is fine.So basically, 55c7d1335c34d10ebd76733c679d248af567e860 is the commit that introduced the inability to persist patches from this author. The odd thing is, other VST3 plugins I have do not appear to be impacted in this fashion which is why I mentioned what I knew about these MONSTER plugins and how the author seems to develop them in what I deems as "a very strange way". In other words, they are clearly not "standard" in as much as that word actually means anything. I also have a suspicion the "developer" would have no idea as he says there is no source code.............. uhm, yea.
A small update:
Never mind. I thought I had made some progress but it does look like the previously mentioned commit is in play in terms of a root cause.
Rui,
Rui,
Any chance 55c7d1335c34d10ebd76733c679d248af567e860 can be reverted?
All the best
re. Any chance 55c7d13... can be reverted?
not so simple
commit 55c7d1335c34d10ebd76733c679d248af567e860 is not reversible anymore, it has been superseded since then.
sorry
Couldn't you cherry pick the
Couldn't you cherry pick the newer commits into a new release? Unless I'm wrong, VST3s are unable to persist their state now? Actually, that's not a fair statement as I've only been talking about these particular MONSTER plugins. That said, the commit in question may be impacting other plugins that I wouldn't know about.
re. Couldn't you cherry pick
nope
because the newer commits were indeed to fix some other native VST3 plugins--Dexed and Surge XT, to name a few popular ones--to save and restore their state properly (which weren't before).
byee
Let me try a different angle
Let me try a different angle then. Would you mind seeing if you could reproduce what I've reported against this plugin? It's the smallest of all the plugins by that developer and I'd be able to share any information about how to setup yabridge and/or wine if needed. (though I suspect you already know).
re. Let me try a different angle
sure you'll understand I don't have the time nor the will to deal with--let alone debugging--these non-linux-nor-free-open-source stuff...
moreover, it looks and are actually presented like toys: it baffles me why do you have this so special interest on them.
no hard feelings though
cheers
OK, I'm going to make a few
OK, I'm going to make a few points here.
Just out of curiosity, I went ahead and installed both dexed and surge on my system. Here's what I noticed:
So from what I've seen, the commit I've asked to be reverted doesn't fix anything but DOES break something.
So please revert it?
re. a few points here...
did you check whether surge, dexed or any other native vst3 plugins for that matter, actually saved and reloaded their state exactly before and after the so called broken commit ?
have you really checked if they actually sound as intended upon save and reload? and I'm talking about native GNU/Linux-VST3, not any of those wine-bridged stuff out there; and you're right in judging my stance about them, I don't care much about that sh*t; sorry again.
so please, do us a favor and focus on free/open-source VST3 plugins and only; and more importantly, grab the latest versions of both (the plugins and qtractor) always or forget about it.
cheers
ps. those commits are not going to be reverted anytime, the only way now is forward!
What an absolutely childish
What an absolutely childish attitude. That's fine Rui. I've already forked the project and fixed it by removing your broken commit.
re. forked the project
good luck then
be reminded your fork won't get any support from yours truly
cheers
You mean I won't be impacted
You mean I won't be impacted by experimental changes being shoved in with no regard for user impact? Sold!
windowsrefund/qtractor-not-broken
Add new comment