Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

aeffect.h and aeffectx.h in VST3 SDK? #11

Closed
Drachenkaetzchen opened this issue Nov 10, 2018 · 11 comments
Closed

aeffect.h and aeffectx.h in VST3 SDK? #11

Drachenkaetzchen opened this issue Nov 10, 2018 · 11 comments

Comments

@Drachenkaetzchen
Copy link
Contributor

Drachenkaetzchen commented Nov 10, 2018

Hi,

in https://github.com/Drachenkaetzchen/vst.net/blob/doc/doc/Building_the_Source_Code.md it is said that aeffect.h and aeffectx.h are also in the VST3 SDK - however, the current version from Steinberg does not include them. On the other hand, they have audioeffect.h as well as audioeffectx.h which both try to include the files from the VST2 SDK.

Is that statement wrong or do I miss something?

@obiwanjacobi
Copy link
Owner

I haven't seen the latest VST3 download but if these files are there (in the VST2 folder?) you should use those. Something like: ....\VST_SDK\VST2_SDK\pluginterfaces\vst2.x ??
I had to remove the files from the project for 'license reasons'...

@Drachenkaetzchen
Copy link
Contributor Author

No, they're definitely not there. Just downloaded the most recent SDK3 , not included. I do have a copy of the V2 SDK, so I'm good, but I'm wondering about others.

I'm currently working on a small PowerShell script to make all required adjustments as per Building the Source Code, and that was the point when I was looking for the file locations in the V3 SDK.

Will send a PR for the PowerShell script once it's working

@obiwanjacobi
Copy link
Owner

Yeah, that was to be expected. Steinberg has been pushing VST3 ever since it came out.
Perhaps we should try again on implementing VST3...? :-)

@Drachenkaetzchen
Copy link
Contributor Author

Drachenkaetzchen commented Nov 11, 2018

@obiwanjacobi
Copy link
Owner

obiwanjacobi commented Nov 11, 2018

I downloaded the latest VST SDK and it looks like they forgot to include the plugininterfaces folder in VST2_SDK... Perhaps they will fix it in the next release...? In a download from march this year (i had floating around), the plugininterfaces folder was still there...
You could try their forums. https://sdk.steinberg.net/index.php

@josephmartin09
Copy link

I also noticed this. Steinberg Secretly archives their older VST SDK releases, in which I found one that has these files. This one (~2016) has the files still. I wouldn't recommend using this version for any of the VST3 functionality though as it may have changed.

https://www.steinberg.net/sdk_downloads/vstsdk366_27_06_2016_build_61.zip

@ValerianHavaux
Copy link

From October 2018 onward we are closing down the second version of VST for good. While the VST 2 SDK has been unavailable, and so have maintenance and technical support, the subset within the VST 3 SDK will also be omitted

Readmore at : https://www.steinberg.net/

If you want to publish your vst it is now impossible for you to do so in vst2. Migrate to vst3 except of course for vst homebrew for personal use. Also the @josephmartin09 links work perfectly.

@Drachenkaetzchen
Copy link
Contributor Author

From October 2018 onward we are closing down the second version of VST for good. While the VST 2 SDK has been unavailable, and so have maintenance and technical support, the subset within the VST 3 SDK will also be omitted

Readmore at : https://www.steinberg.net/

If you want to publish your vst it is now impossible for you to do so in vst2. Migrate to vst3 except of course for vst homebrew for personal use. Also the @josephmartin09 links work perfectly.

I do not develop a plugin, I do develop a host, so that it a bit problematic.

@Drachenkaetzchen
Copy link
Contributor Author

Also, the whole thing by Steinberg is extremely questionable. As I'm using vst.net, which does NOT include affect.h and aeffectx.h in it's source form, I can't see how Steinberg can possibly legally prevent that.

If I had these two files in a public repository, yes, they could take it down. But you cannot patent an API, you can only copyright it - but not in the EU.

The EU's highest court rejected these arguments. Computer code itself can be copyrighted, but functional characteristics—such as data formats and function names—cannot be. "To accept that the functionality of a computer program can be protected by copyright would amount to making it possible to monopolise ideas, to the detriment of technological progress and industrial development," the court stated.

Source: https://arstechnica.com/tech-policy/2012/05/eus-top-court-apis-cant-be-copyrighted-would-monopolise-ideas/

Also, the latest vst.net release is from 2014. Which implies that it (should) (most likely) use the aeffect.h and aeffectx.h headers from 2006, which were distributed under the license which said: "is not time limited."

I believe that using the AudioEffect and AudioEffectX classes would most likely be problematic, but using header files from 2006 (if you clicked them at that time) to compile software clearly aren't. I also don't see how Steinberg can prevent people from distributing compiled versions implementing VST2.

After all, the VST2 interface can be described as:
// VST2 interface uint8_t data[192];

To my knowledge there wasn't a case where a plugin or host was pulled from distribution because it implemented the VST2 interface. Note I do use the term "interface", because I believe it is not an API. An API is defined as:

a set of functions and procedures allowing the creation of applications that access the features or data of an operating system, application, or other service.

As (almost) everything in the VST2 interface goes via opcodes and not named functions, it is much more like a file format than an API. And - in the EU, this is legal if the purpose is interoperability.

I'm not sure if @obiwanjacobi did sign an agreement with Steinberg, but again - I see no legal possibility that they can force people from distributing VST2 plugins in binary format or using binary libraries which provide interfacing to VST2. In fact, I see the opposite: Steinberg being sued by many people because they use their market ownership to harm the market.

@obiwanjacobi
Copy link
Owner

I accepted the license when downloading the VST SDK. From what I remember you cannot redistribute the source and that's why they hunted all loose VST 2.x files down last year and made me (everybody) remove them from the repository.

I think if you make you own header file with some different wording you wont be spotted.
Not sure if that is legal though...

@farvardin
Copy link

I also noticed this. Steinberg Secretly archives their older VST SDK releases, in which I found one that has these files. This one (~2016) has the files still. I wouldn't recommend using this version for any of the VST3 functionality though as it may have changed.

https://www.steinberg.net/sdk_downloads/vstsdk366_27_06_2016_build_61.zip

unfortunately steinberg removed this version :(

you can still get the SDK from other non legitimate sources...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants