Steinberg Discontinuing VST2 Support in its products

Audio Plugin Hosts and other audio software applications discussion
Post Reply New Topic
RELATED
PRODUCTS

Post

jamcat wrote: Fri Jan 21, 2022 12:20 am Can you give an example?
I'll revisit the documentation, and point to excepts, if and only if there's a paycheck involved. I want six figures. Eight if you pay in yen.

Barring that, I'll just summarize from memory. The way they write C++ is characteristic of the days when everyone could agree that Objects Are The Future™ and we could all have flying cars if only we could orient our objects hard enough. Every single thing I found objectionable was an idiom I've seen in other codebases, though maybe not all at the same time. In other words, this was all normal once. Just like bloodletting.

There are a whole bunch of custom classes that wrap C++ primitives. For example, there are several variants of "UString" for wrapping C strings. I didn't look up what exactly this is, but my guess is that the "U" stands for "Unicode" and that the encoding they use is the same obsolete UCS-2 preferred by Windows. Alternatively, maybe it's just a reference-counting thing, since this seems to be C++98 and they didn't yet have basic tools such as fire.

(Actually I might have just convinced myself it isn't for reference counting. It looked like several of the variants were fixed-size buffers, which implies stack allocation. Don't correct me. I don't care.)

There is a preprocessor macro (or perhaps a constructor) to convert C string literals to UString objects. It gets used a lot, because all the functions and methods that take string arguments actually take UString arguments, because I guess some of the property lookups might be dynamic and everything has to be an object anyway.

There are also preprocessor macros for other things. Now, the LV2 format is sometimes criticized for the way it exposes plugin metadata tables. I think the way they do it is fine, actually, at least compared to this. There is an entire preprocessor macro DSL for declaring your plugin's interface. It looks like it builds the metadata table and also generates a bunch of code that will actually be compiled into methods of your class. I didn't stop to check whether it's used only for the main plugin class, or for every host-facing class you create. The syntax of this DSL reminded me a little of the source code for the original Bourne shell, and also GObject. But in an uncanny way. Like maybe they went through a teleporter together and came out merged into one body with too many limbs, and now they're wearing a trenchcoat and trying to convince you they're just two kids standing on each other's shoulders. At any rate it's definitely something I didn't want to run into today.

I'm pretty sure I also saw some "annotation-only" keywords, #DEFINEs that the preprocessor just removes during compilation, because they only exist for the sake of IDE tooling. You see those a lot in old Windows code and stuff that has to interface with Pascal. I don't hate these per se. They're just kind of annoying, a reminder of how deeply the codebase is married to all this macro mayhem.

I am pissed off by how many raw pointers I saw in random bits of example code. Do the method definitions even describe the ownership implications of whatever's being passed around? Why go to the trouble of writing all these wrapper classes for everything and then expose raw pointers? Come on.

The part that broke me was a page that starts with a blurb about freeing us from the tyranny of MIDI (or something grandiose like that) and then immediately drops a bunch of example code that's obviously mostly ceremony. You have to do so much setup to call into the part of the API you're actually trying to talk to. Again, something I've seen a million times. Remember Java? But at the end of these piles of code, there was a comment saying something like "See? It's that simple!" And that's when I genuinely started to suspect that at the end of the day, this whole VST3 thing is just an out-of-control prank.
I hate signatures too.

Post

Is that all? :)

So seriously, most of what you describe (Steinberg's coding style) ALSO applies to VST2.

VST2/3 both use raw pointers to audio streams and other realtime data. It needs to be immediate, after all.

The MIDI setup complaints, though, are pretty valid. They sort of torched the village to save it on that one. But it's still usable (if you even need MIDI) and they have been somewhat responsive finally to developers on some "legacy" MIDI handling.
THIS MUSIC HAS BEEN MIXED TO BE PLAYED LOUD SO TURN IT UP

Post

jamcat wrote: Fri Jan 21, 2022 2:07 am Is that all? :)
My asking price? Well, sure, it'd get me started.

I mean, I have had worse jobs. At least I could do this one from a building that isn't sinking.
jamcat wrote: Fri Jan 21, 2022 2:07 am So seriously, most of what you describe (Steinberg's coding style) ALSO applies to VST2.
Y'know what? Maybe they're right to kill it off. Maybe they can kill off VST3 while they're at it.
jamcat wrote: Fri Jan 21, 2022 2:07 am VST2/3 both use pointers to audio streams and other realtime data. It needs to be immediate, after all.
I would prefer slice objects, or references, but I'm sure there's some reason why any or all of them can be null and they couldn't think of another way to express that.
jamcat wrote: Fri Jan 21, 2022 2:07 am The MIDI setup complaints, though, are pretty valid. They sort of torched the village to save it on that one. But it's still usable (if you even need MIDI) and they have been somewhat responsive finally to developers on some "legacy" MIDI handling.
This is where you lose me. Their MIDI compatibility efforts have the same energy as that BBC guy who was covering the Olympics and didn't want to say "Gundam." It's clearly broken. They get to say they added it, but it's still incapable of expressing the control schemes developers wanted to use it for in the first place, so they still have to work with Steinberg's special control protocol that doesn't translate to any other plugin format.
I hate signatures too.

Post

jamcat wrote: Fri Jan 21, 2022 12:35 am
whyterabbyt wrote: Thu Jan 20, 2022 10:04 pm
jamcat wrote: Thu Jan 20, 2022 9:59 pm If you really want to find someone to blame for the slow adoption of VST3, you might want to start by looking at Ableton.
blame? they deserve a round of f**king applause.
How many developers/plugins ceased while Ableton was playing chicken with Steinberg?
Prove that any developers/plugins ceased because Ableton hadnt implemented VST3.


Plugins which otherwise would have been ported to VST3 at the time if it weren't for Ableton, but now never will be?

What is there to applaud in unnecessary casualties? Plugins you use may very well be among the body count. Yay? :clap:
You're reaching. What utter histrionic bullshit.

But since we're on the subject, how many developers/plugins ceased while Steinberg were playing chicken with VST2 development?
Plugins which otherwise have continued as VST2 at the time if it weren't for Steinberg, but now never will be?

Point to one developer ever naming Ableton as their reason for issues wrt moving plugins from VST2 to VST3, versus the many that have pointed at Steinberg.

Pathetically weak blame shift.
my other modular synth is a bugbrand

Post

whyterabbyt wrote: Fri Jan 21, 2022 9:40 am Prove that any developers/plugins ceased because Ableton hadnt implemented VST3.
That’s not what I said. I said they waited on VST3 support because not all DAWs were supporting it yet, Ableton Live being chief among them. The various plugins people are most concerned about are the ones from developers who aren’t still around to make VST3 versions now. A lot of them were around 5 or 10 years ago, and could have left us with VST3 versions had more of Steinberg’s competitors—Ableton in particular—gotten on board sooner. You may not be aware, but Live has probably the largest userbase of any DAW and has enormous influence over the market.

It’s been noted by many people that VST3 adoption has finally picked up considerably over the past year or two. It’s no coincidence that it follows immediately after Ableton finally gave in.

It’s an undeniable fact we would be in a much better position today with a lot less grief had that happened years ago.
THIS MUSIC HAS BEEN MIXED TO BE PLAYED LOUD SO TURN IT UP

Post

jamcat wrote: Fri Jan 21, 2022 10:04 am
whyterabbyt wrote: Fri Jan 21, 2022 9:40 am Prove that any developers/plugins ceased because Ableton hadnt implemented VST3.
That’s not what I said.
Yeah, thought so. Very quick to raise a ridiculous claim, but faster still in avoiding backing it up.
my other modular synth is a bugbrand

Post

We'd also have a lot less grief if a new plugin standard which doesn't give many (if any) practical benefits over it's predecessor to the user, but much hassle for the developers, wasn't forced on “us“
I mean: no problems if a new standards makes things better, but since it's dawn 10+ years ago, i never read much praise, but mostly complaints.
I mean something new can easily give headaches at first, but these are still present 10+ years later.
And the features VST3 gets praised for, pretty much all of them also work on VST2 with no probs at all.
So: what's so great about VST3 that VST2 should be gotten rid off?
The GAS is always greener on the other side!

Post

FapFilter wrote: Fri Jan 21, 2022 10:18 am So: what's so great about VST3 that VST2 should be gotten rid off?
Nothing, unless you have your tongue up Steiny's arse.
my other modular synth is a bugbrand

Post

jamcat wrote: Fri Jan 21, 2022 2:07 am So seriously, most of what you describe (Steinberg's coding style) ALSO applies to VST2.
Not to the slightest amount. Just have a look at the class hierarchy in VST3 and see how deep it goes: https://steinbergmedia.github.io/vst3_doc/

It is what we call "Over Engineered".

And thats not even counting in VSTGUI. Which is a whole chunk on it's own that is also different than VSTGUI in VST2.

When I see all this and compare it to the mild simplicity in VST2. I'd expect VST3 to be at least 5 times better for the most common uses. (If not ten times). But is it?

For someone just starting. Yes, I'd spend the time on VST3. But for someone who has heaps of legacy VST2 code. I will have to think more than twice and see if the outcome is worth the effort. As it might as well be simpler just to switch to JUCE. At least a paid solution may hopefully offer some guarantees for future compatibility.

To be fare though. I have to say that Stienberg has been improving the documentation for the last two years or so: https://developer.steinberg.help/displa ... umentation

It used to be much scarcer.
www.solostuff.net
Advice is heavy. So don’t send it like a mountain.

Post

jamcat wrote: Thu Jan 20, 2022 9:59 pm I find it odd that so many people who don’t even use Cubase are so incensed by Steinberg’s decision to stop supporting VST2 plugins in Cubase. IT DOESN’T AFFECT YOU.
After all your recent posts, I find it even more odd that you defend VST3 so vehemently, while completely ignoring brought up ongoing issues from devs, software testers and normal users in here.

Sorry to burst your bubble - but this affects all of us. Especially if more companies than Steinberg are like "okay... that's it". But so far, (thankfully) those seas are still calm. Question is... for how long.


And no, Ableton Live is not to blame for this mess... in fact, I praise them for standing their ground and taking the brunt of the force of (now unadjusted) criticism. Great finger-pointing though.

If any company needs to adapt to the modern age, it's actually Steinberg. And I can bring up endless reasons for why this is the case (yes, I keep using their software because of a myriad of reasons -- no, they are not leading the field with "innovations", in fact they often lack behind by several years). But if I do that, then this spawns certain individuals in here (shifting the narrative for their personal amusement), and the thread will be even more dead than it already technically is.



S0lo wrote: Fri Jan 21, 2022 10:44 am To be fare though. I have to say that Stienberg has been improving the documentation for the last two years or so: <span class="skimlinks-unlinked">https://developer.steinberg.help/displa ... tion</span>

It used to be much scarcer.
And it also only happened after a crap-ton of backlash.
[ Mix Challenge ] | [ Studio Page / Twitter ] | [ KVRmarks (see: metering tools) ]

Post

jamcat wrote: Thu Jan 20, 2022 12:45 pm
whyterabbyt wrote: Thu Jan 20, 2022 12:39 pm And CLAP is being developed with the intention of being a viable professional format. One that isnt subject to the whims of a single company.
That’s not true. It’s just subject to the whims of u-he instead of Steinberg.

Meet the new boss. Same as the old boss.
U-he is adopting the technology. U-he is not "the new boss".
C/R, dongles & other intrusive copy protection equals less-control & more-hassle for consumers. Company gone-can’t authorize. Limit to # of auths. Instability-ie PACE. Forced internet auths. THE HONEST ARE HASSLED, NOT THE PIRATES.

Post

jamcat wrote: Thu Jan 20, 2022 1:05 pm So is u-he and Tone2 dropping support for VST?
No. VST3 is still being supported. VST2, on the other hand, is not--and that's because of Steinberg.
C/R, dongles & other intrusive copy protection equals less-control & more-hassle for consumers. Company gone-can’t authorize. Limit to # of auths. Instability-ie PACE. Forced internet auths. THE HONEST ARE HASSLED, NOT THE PIRATES.

Post

jamcat wrote: Thu Jan 20, 2022 9:59 pm
So then Bitwig and u-he and Tone2 will have to drop VST support completely to try to force the industry to adopt CLAP in an “us or them” move (that’s why I asked if they are going to.) But that’s a power play that only Steinberg or Apple can afford to make. So in the end, the CLAP ends up becoming yet another proprietary plugin format, and VST3 remains the one and only universal format.
I think your misconception is that you believe they will support CLAP only. That is not the case. They will support CLAP and VST3. Why do you think they would drop VST3 altogether?
C/R, dongles & other intrusive copy protection equals less-control & more-hassle for consumers. Company gone-can’t authorize. Limit to # of auths. Instability-ie PACE. Forced internet auths. THE HONEST ARE HASSLED, NOT THE PIRATES.

Post

All I can think of, being a non-native English speaker, is what a disaster of a new format name ... CLAP :clap:

https://www.dictionary.com/e/slang/the-clap/ :dog:
AMD Ryzen 3900X & RX 5700XT, 128GB RAM, Windows 11 Pro 64-bit
Waldorf Blofeld & Pulse 2, Akai MAX49 & MPD226, Steinberg UR44 & CMC controllers
Cubase Pro 13, Nuendo 13, Wavelab Pro 12, Dorico Pro 5, Rapid Composer v5, FL Studio 21

Post

jamcat wrote: Fri Jan 21, 2022 10:04 am It’s been noted by many people that VST3 adoption has finally picked up considerably over the past year or two. It’s no coincidence that it follows immediately after Ableton finally gave in.
It's been noted by many people that VST3 has finally picked up considerably, but it following so close to Ableton supporting VST3 is indeed more of a coincidence, in the whole landscape. Instead, the mandate from Steinberg that people cannot build VST2 plugins anymore (since October 2018), without a pre-existing VST2 license, is the big change in atmosphere, which effected new teams/projects quite a bit, and they are now VST3 only, as a result. In comparison with the actual brute force change this instills, a single DAW company supporting VST3 late in the transition is quite secondary.

Post Reply

Return to “Hosts & Applications (Sequencers, DAWs, Audio Editors, etc.)”