iffyloop / EasyVst

Easy-to-use VST3 wrapper for hosting VST3 plugins without JUCE or other frameworks
Other
57 stars 6 forks source link

Can this host 2 or more instances of an existing vst3 in a new vst3? #4

Closed probonopd closed 1 year ago

probonopd commented 1 year ago

Hi, I'd like to make a vst3 that hosts 2 or more instances of an existing vst3, and plays them simultaneously with a few parameters different between the instances of the vst3.

Additionally, what if I'd like to stereo shift (pan) each of the hosted instances?

Would making such a vst be possible with EasyVst, and how hard would it be? Where would one begin?

Thank you very much.

iffyloop commented 1 year ago

EasyVst won't handle packaging the VST plugin for you (for that you should use a framework like iPlug2 or JUCE), but it will help you host the external VST instances inside your plugin. What you'll want to do is create an instance of the EasyVst class for each external VST you want to have hosted in your plugin and use that class to apply plugin processing. After all individual plugins have processed, you can pan and mix them yourself. Hope this helps! Let me know if this works for you or if you need anything else.

probonopd commented 1 year ago

Thanks @iffyloop. You don't happen to have some example code to share, do you?

I had tried to make this with JUCE but I can't get sound out of it.

syntaro commented 1 year ago

Hello probonopd. and iffyloop.

I made Customed EasyVSTCustom.cpp

CustomEasyVst.cpp

And MXVSTOperator.cpp

manages resources. this is important. only 1 thread can ownership of VST.

Sorry this is not GitHub website.

Binary Released(https://osdn.net/projects/midimixer/releases) But mine Is Processing Congstruction.

And, excuse me, Iffyloop, I have a question.

Do you mind If I make customed EasyVST on my OSS. GPL3? or another license.

Thank you. Steinberg Forum said, OSS with VST sdk all GPL3?

syntaro commented 1 year ago

But I m thinking. Base EasyVST is very kind for us. Customize is easy. and little excited. I felt. Best reference code.

Educational use, Its perfectly.

Maybe it is joy. Thank you. And, I wish my Customize code can help probonopd's wish multi vst hosting with custom EasyVST

iffyloop commented 1 year ago

@probonopd I don't have any examples other than this, sorry. The code syntaro shared looks promising but appears to contain portions which are specific to the Win32 API (not cross-platform).

@syntaro Thanks for the kind words! EasyVst is public-domain software, so you're free to do whatever you want with it! However, you are correct that the Steinberg VST3 SDK is dual-licensed under GPL or proprietary terms. If you choose to link your product with the VST3 SDK, then the GPL license will carry over to your product unless you agree to Steinberg's other terms (which are more friendly to commercial usage). IIRC the Steinberg license is free but you just have to get in contact with them and send them a document. More details: https://www.steinberg.net/developers/ Disclaimer: I am not a lawyer and this is not legal advice.

syntaro commented 1 year ago

@iffyloop Thank you. I agree GPL3, Ill try it. and @probonopd good luck, you too.