Don't know if anyone noticed... VST3

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

I would surmise that a lot of people that purchase FL Studio don't actually ever buy plugins. (This is also the case for many PT users.) As such, they're of little concern to me, obviously. Or this conversation.

From what I know (I don't do marketing, just reporting what I've been told), FL customers actually buy a lot of plugins.. of ours.
I remember that in the beginning, others at IL weren't much interested in releasing VST versions of FL plugins, because apparently VST's don't sell (they say, after discussion with other people in trade shows).

Personally I have always wanted VST versions of our plugins mainly for them to 'exist', be listed in databases, reviewed. And of course to be used in other hosts.
But I consider the VST versions inferior, because they are, technically (they don't have features that the VST SDK doesn't allow, obviously).



Now about plugin formats: I don't believe in a new one. IMHO any host should support the VST standard, and have its own, private, proprietary format. A proprietary format has some advantages:

-you can add features tightly linked to your host, and FL's plugin SDK is full of that

-it will work better because talking more directly to your host (and you will then wrap VST's)

-it's not public, so you can make changes & add stuff when you want while not having to deal with a crowd of angry programmers. And you don't have hundreds of shitty programmers abusing its undocumented sides.


Now, why I don't believe in a new format:

-everyone has different interests, & you can't please everyone. Either you listen to everyone and the result is a bag of all of the shitty requests, which no one will use. Or you don't listen and everyone leaves.
Someone, or a little group, has to decide of it. But it has to be people with experience in both host & plugin making, and it should be free of requests from new programmers & their 'great ideas'.
It should also be free of any MIDI-related crap, and I know I'm almost alone on this one, which is why I wouldn't want to take part in it, anyway.

-no one will want to support it, because you're not Steinberg. Well, if even Microsoft failed at it..
You have to know that I have a hard time convincing *our own developers* to support FL's plugin SDK. Usually programmers already made VST's, and don't really want to support a new SDK or new features, or don't agree with the differences in concept (and this is why some FL plugins work a bit differently than others). Only me & Fred know the FL plugin SDK in depth.



About VST3, to me it's welcome, and we (well, Fred [reflex]) will certainly support it.
It has 2 major features for us:
-the 'no process when not fed' thing, which exists in FL for ages under the name 'smart disable'. So it already works for VST2 in FL, but if it lets the plugin know when its processing has been skipped, it's even better.

-accurate automation of published params. This is huge. Here too it already works in FL with VST2, since it's processing in random-sized chunks, so automated params are processed at tick boundaries (no sample-accurate envelope, though).
It's huge because so far a lot of programmers never bothered publishing parameters, and made their plugin MIDI-automatable, for the simple reason that it worked better in Cubase. Now that both work, I expect those to finally forget that stupid MIDI protocol (which they never even supported properly anyway [talking about RPN's]).

There's also the fact you can resize plugins, that will probably make Fred's life easier. And porting our FL plugins to VST will probably be easier too.
DOLPH WILL PWNZ0R J00r LAWZ!!!!

Post

Hope this doesn't drift too much into OT -

Does anyone happen to know if the latest Cubase4 update makes it compatible to plugins built with the VST3 SDK ?

If Arne Scheffler is around or if anyone already got a reply on this - how are Midi CC, Pitchbend etc. to be treated in the new SDK ? Plain Midi data or of a specific type, or something else ? Or how for example would C4 expect CC values to be, if sent from a SDK3 plugin ?

Post

I found the reply to the first question on the VST mailing list (i.e. this _is_ the compatibility update), so maybe the second question will be more easy to answer now too, now having at least another debugging option.
Of course I'd prefer an "official solution".

Post

reflex wrote:The thing I hate about interfaces in Delphi is that Delphi takes care of AddRef and Release. I'd much rather call these myself, so I know exactly what's going on.

For DX support I had a lot of problems with this (all worked out in the end though). For VST3 I expect the same kind of problems. Nothing fatal, but annoying bugs.
Just be careful with the variable scopes and you're fine. Delphi is just makes the interfaces work like managed code.

Personally I'm not all that fan of the references counting. I don't really see much of the point there, the VST3 FUnknown is buggy already as it is (it's not properly multi CPU safe and can cause double deletion).

Usually when I implement own interfaces in Delphi (not talking about DX/VST3 now) I just redefine the AddRef/Release to dummy functions and do the object handling the old way and get the other advantages of the interfaces.
jouni - www.markvera.net - Stardrive Studio - Orionology

Post

I hope someday an open source instrument library will take hold and break the adherence to Steinberg formats..

Post

In the news today:

Steinberg updates VST SDK:
  • Steinberg has released an update to its VST3 SDK. The updated version is VST3.0.1 and is now available for download. The new version makes several additions to the initial release version of the VST3 SDK, as well as updated documentation.


    Changes:
    Add new interface Steinberg::Vst::IMidiMapping (allowing to support MIDI Controllers and Pitchbend).
    Add new restart flag: kMidiCCAssignmentChanged.
    Move RestartFlags from vstTypes.h to ivsteditcontroller.h.
    Add some new FAQs.
    Add Visual Studio 2008 solution.
    Restructured helper classes by adding new files vstbus.cpp and vstparameters.cpp.
    Add new helper class EditControllerEx1 (extend of EditController with Unit support).
    Add new helper class for single component effects (Steinberg::Vst::SingleComponentEffect).
    AGain example has been extended (supports IMidiMapping, Side-chain and Unit).
    Change the default refcount implementation of Steinberg::FUnknown (IMPLEMENT_REFCOUNT) to use atomic operations.
    Change InitModule/ExitModule to be called from host and not in DllMain (Cubase 4.2 needed).
    Rework Documentation.
    Rename Steinberg::Vst::IUnitData to Steinberg::Vst::IProgramListData and introduce new interface Steinberg::Vst::IUnitData.
I can't help but notice that no one is jumping on the bandwagon still.

I knew we in the "Steinberg shouldn't be in charge of our precious plug-in standards" camp were right on.

Post

runagate wrote:Add new interface Steinberg::Vst::IMidiMapping (allowing to support MIDI Controllers and Pitchbend).
Glad to see they've caught up to 1983.

Post

Well, if we'd all agree to go to OSC or beyond, we'd catch up to 1993!

There's so many heroes in the world of musical software, but it's hard not to get discouraged when so much of what we use in our art is so totally beyond our control. Every time I quote Dave Smith & friends on the limitations of MIDI (because they had to limit it, because of hardware limitations that no longer apply!) about the need to move beyond midi, as it was being proposed, I get some dumbass kid saying we just dno't understand midi.

Well, I'm sure there's a ton of coders who could whip up something vastly more advanced than VSTs/Midi, but will we bond together to adopt it and change the industry that supposedly supplies our needs?

Post

The issue you run in to is that any cross-platform developer is held to a lowest-common-denominator approach. The cute gee-gaws in AudioUnits are almost universally ignored because they're not present in VST2.4. So, the long and short of it is: make a fancy new format that blows AU out of the water and is instantly adopted by Ableton and Steinberg, and all of us cross-platform devs (which is pretty much all the commercial companies that do nothing else) will limit our fancy shit to whatever the stupidest format we have to support does; this is even more likely when there is an odd man out. Thinking that Logic will ever support a plugin format besides AU is an exercise in futility.

Or, to put it another way, you're dealing with Yamaha and Apple. It really doesn't matter what we agree on.

Post

I heard something about copperlan being adopted as a protocol. End game is that instead of audio buffers you'll have networked streams with no distinction about what they carry, control audio what ever, hopefully even at an internal dsp level in a plugin ie. an NI lfo in Katmandu could modulate a Zebra 2 filter in Ohio.

CopperLan from the company Klavis is a possible answer to
the limits of MIDI, which have been known for a number of
years. Using a communication protocol that is independent
of any dedicated hardware and therefore compatible with
almost everything (e.g. Ethernet, USB) defining the basis of
a possible future standard. CopperLan offers ten times the
capacities of MIDI and appears to solve numerous problems
that have been known since the 80s. The presentation of the
work carried out by Klavis will be a gage of the level of inte-
rest for this possible alternative to OSC and MIDI.
Copperlan is currently supported in the music industry by
Yamaha and Steinberg.

http://forumnet.ircam.fr/uploads/media/juin_05.pdf

Post

Glad to see they've caught up to 1983.
not glad to see programmers are still in 1983. Maybe it's time to retire for some of you?
DOLPH WILL PWNZ0R J00r LAWZ!!!!

Post

Crandall1 wrote:The issue you run in to is that any cross-platform developer is held to a lowest-common-denominator approach. The cute gee-gaws in AudioUnits are almost universally ignored because they're not present in VST2.4. So, the long and short of it is: make a fancy new format that blows AU out of the water and is instantly adopted by Ableton and Steinberg, and all of us cross-platform devs (which is pretty much all the commercial companies that do nothing else) will limit our fancy shit to whatever the stupidest format we have to support does; this is even more likely when there is an odd man out. Thinking that Logic will ever support a plugin format besides AU is an exercise in futility.

Or, to put it another way, you're dealing with Yamaha and Apple. It really doesn't matter what we agree on.
Of course it does. People have completely arbitrarily decided any number of things are good or bad and, en mass, acted on it. The thing that baffles me is that it's entirely possible to have VSTs and midi work within a DAW, as well as another standard at the same time. And being that I'm possibly the biggest fan of modularly-created freeware VSTs it's not as though I have much of a vested interest in switching. But every time I propose thinking about the future someone comes along to suggest not thinking, which I find disconcerting. And I couldn't care less what Logic supports. The number of plug-ins I have which Logic does not support gives overwhelmingly evidence of which side of that divide to be on.
fintain wrote:I heard something about copperlan being adopted as a protocol. End game is that instead of audio buffers you'll have networked streams with no distinction about what they carry, control audio what ever, hopefully even at an internal dsp level in a plugin ie. an NI lfo in Katmandu could modulate a Zebra 2 filter in Ohio.

CopperLan from the company Klavis is a possible answer to
the limits of MIDI, which have been known for a number of
years. Using a communication protocol that is independent
of any dedicated hardware and therefore compatible with
almost everything (e.g. Ethernet, USB) defining the basis of
a possible future standard. CopperLan offers ten times the
capacities of MIDI and appears to solve numerous problems
that have been known since the 80s. The presentation of the
work carried out by Klavis will be a gage of the level of inte-
rest for this possible alternative to OSC and MIDI.
Copperlan is currently supported in the music industry by
Yamaha and Steinberg.

http://forumnet.ircam.fr/uploads/media/juin_05.pdf
I wish I didn't have to go off to work right now, or I'd be devouring this article.

Of course, a plug-in standard and the data protocol sent between them and DAWs are different things, but it's certainly promising to hear of this since the only reason midi got adopted in the first place was such a meeting between companies, though I don't see Yamaha or Steinberg being quite the monopolies that the original 5 were back then.

Post

runagate wrote: I wish I didn't have to go off to work right now, or I'd be devouring this article.
unfortunately the pdf is just a collection of synopses, so there is no more information in there than was already posted, but i did find out about some max/msp externals i didnt have, so its not all bad. :)

Post

Just noticed, as it goes, that Fred Vanmol has put up a Delphi translation of VST3...

http://www.axiworld.be/vst.html

DSP
Image

Post

Out of curiosity, anyone know whats happening with the [plugindev] thing?

I dont know if it's dead, or if i've missed an email somewhere.

Post Reply

Return to “DSP and Plugin Development”