Using VST3 plug-ins with OpenMPT development

Started by Schmitty2005, November 08, 2020, 00:28:54

Previous topic - Next topic

Saga Musix

» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Exhale

#31
would adding a direct download within ompt (probably in the f12 setup - a button to press) for the latest vst3shell download and instant install into modplug compromise ompt's license, or be against the shell creators desires for its implementation? Unless it is already in the build in such a way, or already directly installed with r21326 (OpenMPT 1.32.00.22).

Edit : if it is possible then I would suggest it could be a toggle on install of ompt too. that way vst3 implementation becomes as seamless as is possible with our presently proposed system.
___________________
No longer helping. Do not expect replies.

Saga Musix

Most likely there will be a note in the FAQ (and maybe even the main website's feature overview) about loading VST3 plugins that would mention vst3shell, but it's unlikely that a closed-source component that has known issues (some plugins will crash on uninitialization, as mentioned before) and that we cannot vet for security issues and the like will be part of the OpenMPT installation, optional or not. In particular I'm not going to put my code-signing certificate on such a component, and that would be required to make antivirus software complain less about "insecure" downloads. It should be everyone's individual decision whether they trust a third-party component. We've done the same in the past with recommending VST2MID in the FAQ before OpenMPT had a built-in MIDI plugin.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Squeak

Hello,

I just found this topic about VST3 support in OpenMPT. And I see there is now a recent development on this to allow to use the VST3Shell (found here : https://www.kvraudio.com/forum/viewtopic.php?t=565924).

I installed the latest development version of OpenMPT and put the content of that zip into C:\VST\VST3Shell. The VST is found in OpenMPT when I scan that folder. But I don't understand what to do now. The VST I would like to use is Surge, placed also in C:\VST\Surge (it's not found by OpenMPT as it's a VST3).

I was expecting the VST3Shell to have a GUI to chose the right VST3 but the button is grayed.

How do you use it and load your VST3 using this method?

Thanks to all

Saga Musix

VST3 plugins generally need to be installed into a standardized location, which is C:\Program Files\Common Files\VST3 for 64-bit plugins and C:\Program Files (x86)\Common Files\VST3 for 32-bit plugins.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Squeak

#35
Quote from: Saga Musix on August 15, 2024, 16:15:11VST3 plugins generally need to be installed into a standardized location, which is C:\Program Files\Common Files\VST3 for 64-bit plugins and C:\Program Files (x86)\Common Files\VST3 for 32-bit plugins.

Thank you, it works now. I installed the VST using its installer instead of the zip file (I try to avoid installers when possible to put everything in a folder, that may be shared between programs). The Surge XT appears in the list and I can put it in FX1.

It seems to work as expected but I noticed something strange : the very first note is not played. Maybe this is plugin-related and not OpenMPT, or there is something that is sent to the VST to initialize it. If I put the note on the second row in the pattern, it plays. I didn't test much of it, this plugin is advanced and has a lot of parameters and presets.

Now, I know this is a workaround to use VST3 and may not be fully compatible with some instruments. And another thing is that this little DLL is not open source and is probably not maintained by its developer. But it's still better than nothing.

Saga Musix

#36
I cannot tell for sure but it is entirely possible that this is a bug in Surge and not necessarily related to the VST3 shell. There are quite a few plugins which don't expect to receive note-on data on the very first processing call (especially in combination with the "all sounds off" / "all notes off" MIDI CCs OpenMPT sends when stopping playback), since what OpenMPT does is a bit unusual compared to other DAWs (they keep running the audio all the time, even when playback is stopped, so it is extremely unlikely there to run into this situation).
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Squeak

I found a way (don't understand why) : setting the effect to "Arpeggio continue" (J00) on the first note played by Surge. It has something to do with the mode (Poly, Mono...). The VST works successfully for me.

Saga Musix

That "works" because of a quirk of how the arpeggio effect is implemented: The arpeggio itself will not be doing anything, but on the first tick of the second row, OpenMPT will re-trigger the base note of the arpeggio. So essentially your workaround is exactly the same as simply playing the note on the second row instead of the first. If you need to be able to trigger a note on the first row, I would suggest to insert an empty 1-row pattern at the very start of your song and just not put any notes in it. Then start your track as usual on the second pattern.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Squeak

Quote from: Saga Musix on August 16, 2024, 16:33:27I would suggest to insert an empty 1-row pattern at the very start of your song and just not put any notes in it. Then start your track as usual on the second pattern.

That's also a possible workaround  :) Now, my use of OpenMPT is mainly as a hobby and because it has the feeling of legacy trackers, like OctaMED for Amiga which I used many years ago. So I don't care too much as long as it sounds the way I like.

Schmitty2005

I have noticed a minor detail when using the shell VST's.    When instruments from VST shells are shown in the plugin manager, they are given a speaker icon instead of an instrument icon.  This happens with all of the Waves instruments. 

Saga Musix

The logic that identifies instrument plugins works the same for shell plugins as it does for other plugins (at least one of these three conditions must apply: plugin must either report the "synthesizer" effect category, has no input channels or has the "effFlagsIsSynth" flag set).

If the Waves plugins should be registered as instruments but are not identified as such, then they might not be identifying themselves correctly as instrument plugins. All VST3 instruments that I have installed identify correctly as instruments, so this is not an OpenMPT bug.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Schmitty2005

Ok.   These are VST2 Wave Shells, if that makes a difference.  Maybe that is why they are not showing as instruments ?

I was able to test more today with the Wave's Plugins, and no issues!  Midi Learn worked as well.

Saga Musix

As said, the logic always works the same. For OpenMPT it does not matter if the shell plugin is a wrapper around VST3 plugins or if it's a "real" VST2 plugin, as long as the plugin correctly reports one of the three attributes I mentioned in my previous post, it will be considered to be an instrument. Two out of three of those conditions you can confirm yourself: Which plugin category (folder) do those plugins show up in? Probably "Unsorted", I guess? And once you load the plugin, what does OpenMPT report for "I/O type"? Probably "Stereo-In, Stereo-Out"?
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Schmitty2005

1.  OpenMPT shows an I/O type of No Input, Stereo Out for the Plugins when they are loaded

2.  They are listed under the "Instrument Plugins" in the plugin manager, just with a speaker icon vs a keyboard icon and they do function as they should.