how to work around midi in VST3?

DSP, Plug-in and Host development discussion.
User avatar
KVRian
852 posts since 31 Dec, 2008

Post Sun Jan 31, 2021 12:41 am

EvilDragon wrote:
Sat Jan 30, 2021 1:14 pm
S0lo wrote:
Fri Jan 29, 2021 1:14 am
I would also add that some one important has to talk to all those DAW makers and convince them about it. Some one who is neutral, well known and who all DAW makers would seriously listen to.
Sounds like Godot to me. :)
Yeah, such a person probably doesn't exist :). Though some one could at least bring them together in one room to discus it. Albeit a virtual room ;).

May be NAMM organizers are good for that.
Last edited by S0lo on Sun Jan 31, 2021 4:49 am, edited 1 time in total.

KVRAF
6252 posts since 12 Feb, 2006 from Helsinki, Finland

Post Sun Jan 31, 2021 4:43 am

syntonica wrote:
Sat Jan 30, 2021 12:12 pm
I think just adding a few features to support e.g. side chaining would bring it up to date.
VST2 side-chaining has quite literally worked just fine in almost every host except Steinberg's even before VST3 was released. There were tons of VST2 plugins offering side-chains long before VST3 was released. I've done it myself too. All you have to do is have two inputs (well, 2x2 for stereo obviously; you might want to implement the getInputProperties or whatever it is to let the host properly know that you have two stereo pairs, but even that might not be necessary in some hosts) and it works fine, the only thing missing is a simple flag in input properties to indicate that the host should offer this as a side-chain input in the GUI (so you wouldn't have to route manually).
Preferred pronouns would be "it/it" because according to this country, I'm a piece of human trash.

User avatar
KVRian
742 posts since 25 Sep, 2014 from Specific Northwest

Post Sun Jan 31, 2021 9:01 pm

I'm sure there's a feature or two that somebody out there could want. Side-chaining just seemed to be the most obvious one to me to mention since it's a roll your own affair.

I find both AU and VST 3 to both be severely over-engineered in that "everything's gotta be a class" way that seems to be creeping in from the Java world. VST 2 is unnecessarily obfuscated--I have no clue why they felt the need to create "x" versions of the header files rather than just update the originals and add /* actually useful comments */.

Anyway, I'm probably preaching to the choir here.:lol:

User avatar
wrl
KVRist
50 posts since 12 Aug, 2011

Post Tue Feb 02, 2021 12:28 am

syntonica wrote:
Sun Jan 31, 2021 9:01 pm
I find both AU and VST 3 to both be severely over-engineered in that "everything's gotta be a class" way that seems to be creeping in from the Java world.
AU also has a "pluginterfaces"-like C ABI sitting underneath the rat's nest of "helper" C++ classes. Apple would really prefer you didn't develop against that ABI, but it works well, and, as always, the code ends up being simpler in the end anyway.
owner/operator LHI Audio

KVRAF
6252 posts since 12 Feb, 2006 from Helsinki, Finland

Post Tue Feb 02, 2021 2:36 am

wrl wrote:
Tue Feb 02, 2021 12:28 am
syntonica wrote:
Sun Jan 31, 2021 9:01 pm
I find both AU and VST 3 to both be severely over-engineered in that "everything's gotta be a class" way that seems to be creeping in from the Java world.
AU also has a "pluginterfaces"-like C ABI sitting underneath the rat's nest of "helper" C++ classes. Apple would really prefer you didn't develop against that ABI, but it works well, and, as always, the code ends up being simpler in the end anyway.
Oh yeah.. at least with AUv2 the C-ABI is actually kinda easier to use than the C++ stuff, which is frankly rather weird.
Preferred pronouns would be "it/it" because according to this country, I'm a piece of human trash.

User avatar
KVRian
852 posts since 31 Dec, 2008

Post Sun Feb 07, 2021 1:00 am

This one is a really good read for every programmer. Stienberg included.

https://huseyinpolatyuruk.com/fundament ... r-mindset/

Edit: while I don't necessarily agree with each and every point there, it is mostly good advice.

User avatar
KVRer
15 posts since 3 Jan, 2021

Post Fri Feb 12, 2021 3:38 am

S0lo wrote:
Thu Jan 28, 2021 8:22 pm
If any new standard would hope to work out and spread and takeover. It has to be very easily portable to, from existing VST plugin code. Otherwise, I frankly don't see hope. But I hope I'm wrong.
Considering over 90% of plugins these days use JUCE, just take https://github.com/DISTRHO/JUCE and you can build LV2 plugins. Done.

LV2 is made to be extensible, so if anyone wants to add (optional) features to it this is quite easy to do.
It's also very permissively licensed, so no need for any signed agreements with BigCorp™ to sell your binaries.

User avatar
KVRAF
5465 posts since 6 Jan, 2017 from Outer Space

Post Mon Mar 01, 2021 7:24 am

Most commercial developers don’t want to share their code though... Any copy protection would be eliminated in minutes... GPLv3 is not that permissive and ISC would make any crack legal...

KVRist
270 posts since 22 Oct, 2004 from Neuss, Germany

Post Thu Mar 11, 2021 8:42 am

I observed something "interesting" yesterday: VSTHost (a Windows host that I use for testing) sends MIDI CCs to my VST3 plugin as "data" event of type kMidiSysEx. Anyone else noticed that in other hosts? I didn't find that in the spec, especially because the type of event is SysEx.

I added a workaround now to support it.
https://k1v.nilsschneider.de - Kawai K1 emulated as VSTi/AU
https://heatvst.com - Android Synthesizer with full VST integration
https://gpuimpulsereverb.de - Use your GPU as reverberation DSP

Return to “DSP and Plug-in Development”