# Any VST-developers on V.I. Control?



## Peter Emanuel Roos (Jun 6, 2010)

I am curious if any of you have experience with developing VST plugins using the Steinberg SDKs - or maybe with the Nebula tools from Acustica Audio, that I will investigate for potentially new Samplicity presets/tools/plugins.

Ciao!

Peter


----------



## veetguitar (Jun 7, 2010)

Not a VST-developper here but I am a big fan of Nebula. Anything in the reverb department would be a nice addition to what Nebula already offers.


----------



## Peter Emanuel Roos (Jun 7, 2010)

Cool, thanks. I am waiting additional login/dev keys to get started with their tools. Also just installed MS Visual Studio with C++ and the Steinberg SDK and docs. The user interface framework for plugins looks really cool (GUI design has been my major work in the last 15 years).
Last year I wrote down a lot of notes on a concept for intrument placement using ERs - an idea for a poor man's MIR  
It would be really nice if I could pull off something with Nebula and/or VST development, because I seem to have come to an essential breaking point in my life (4 months without IT work, practically broke but with a lot of eagerness to finally start living my passions).
And for those who follow me on FaceBook: in the darkest moments miracles do happen: all of a sudden I have a relation with such a lovely lady <3

All tips, hints, pointers are very welcome!

Cheers!


----------



## Angel (Jun 7, 2010)

I think, VST-development with the steinberg-sdk is straightforward. GUI-handling is not that user-friendly though.
Tried to get wxwidgets to work within a vst but no success yet.
This nebula-thing looks very interesting. Didn't know anything about it


----------



## Peter Emanuel Roos (Jun 7, 2010)

Thanks Thorsten!

I haven't dived into the GUI anymore than reading, but I was pleased to see that there is at least a more high-level approach with XML setups files than the typical low level Wine32 API stuff that I am familiar with from my Delphi times (long ago).

I hope to have a short (but probably steep) learning time with C++ (I'm familiar with several OO languages luckily).


----------



## Angel (Jun 7, 2010)

If you are into OO-programming already, C++ will be easy to learn. Just watch out for memory-handling and pointer usage. These are the most dangerous parts in C++-coding.

I came from Delphi and changed to C++ too.


----------



## Nickie Fønshauge (Jun 11, 2010)

Have you thought about using http://www.rawmaterialsoftware.com/juce.php (Juce)? It's tailor-made for VST development. I don't have a lot of experience with it yet - learning Juce and C++ at the same time makes for a rather steep learning curve - but it does seem to be very easy to create a VST plugin. Plus it is platform independent.


----------



## Angel (Jun 12, 2010)

multi platform is a must nowadays and should be considered in the first stage I think.
Juce isn't that cheap when used in a commercial app if you don't know that you will sell a lot of copies.
But for developmentstage you can use the gpl-version to find out if it's worth to spend the license fee.
And the upgradepath from a singleapp license to a multiapp license is very nice!


----------



## Peter Emanuel Roos (Jun 12, 2010)

Cool info, thanks!


----------



## Stevie (Jun 22, 2010)

I'm a Nebula fan myself, but I see some latency issues. When using the Nebula reverb instance, 8192 samples of delay are added. This cannot be
"solved" unfortunately. That's actually not an issue, if you are applying reverb to a wavefile, but in a template with different tracks, it is very annoying :/


----------



## Peter Emanuel Roos (Jun 22, 2010)

Hi Stephan,

That's a bummer, 8912 samples latency... :-(

I'm still waiting for a dev "key", so I have not yet investigated the Nebula technology.


----------



## Stevie (Jun 22, 2010)

Ok! Yeah 8192 is really a shame. Maybe the guys can come up with something to solve this. 
Nebula's technology is very promising, especially for reverb.


----------



## Animus (Jun 24, 2010)

I really don't see the point for Nebula for reverb with all the insanely good Lexicon plugins coming out. Relab's LX480 sounds insanely fantastic as does the cleaner PCM plugs. Convolution techniques are dead in the water except for real spaces.


----------



## LiquidSonics (Jun 25, 2010)

Animus @ Thu Jun 24 said:


> Convolution techniques are dead in the water except for real spaces.


Not sure I totally agree, convolution's issues with sounding a little static can be improved (check out my Reverberate plugin and see if you agree) and the price of the Lex units may be pushing a lot of users out of that market. Convolution is still the best value approach to pro reverb IMHO.

Regarding the development side, Juce is pretty good. If I were starting over, I'd probably go that route though I have to say I don't find VST and VSTGUI as bad as a lot of people make out and is a very low cost way to get into development, especially with Visual Studio Express editions. I would suggest investing in Intel IPP fairly early on, it will really improve the speed of your code if you do anything vector based and has a lot of DSP stuff in there to help you on your way.


----------



## Peter Emanuel Roos (Jul 29, 2010)

Today I have been playing with Bidule and Reaper, but I get the impression that it's not really feasible to create lightweight IR-based plugins with these lego-approach apps.

Do you agree? I have also found HybridVerb2 and contacted the developer, but I am afraid the Open Source license will make it tricky to use his available source code.

Anyone aware of other efficient convo source code for VSTs? I would really love to develop some kind of stage positioner.

Maybe I should contact Aleksey from Voxengo if he is willing to license some source code, hehe, I guess not...


----------



## LiquidSonics (Jul 30, 2010)

There is http://freeverb3.sourceforge.net/ which is open source, but if you're planning to sell the plug-in the need to open source the code may be discouraging. You'll probably end up wanting to use something like Intel IPP to make it efficient as FFTW is also GPL, so there is licensing cost there. Regarding licensing a convolver, I have done this in the past when the price is right, the convolution reverb in FL is based on my convolver (although they use all their own graphics and have a different feature set to Reverberate).

How do you envisage implementing the positioning? Would it simply link left/right to panning and back/front to amplitude, pre-delay and filtering?


----------



## Peter Emanuel Roos (Jul 30, 2010)

I have some ideas for generating ERs for distinct orchestral groups on a common stage. And I'd also want to take directivity of instruments into account. I have experimented with a number of ER generators and have got some nice results telling me it's worthwhile to put more research and experimentation into it. 

Essentially it is about setting up a rather complicated mixer setup and then making short IRs from it. If I could develop a plugin, I want to have a preset approach, with IRs in external (and locked) banks. You could then select instrument group (position), stage size, warmth and some other parameters. The "engine" should then combine several IRs into a single "working" IR per plugin instance. CPU load should of course be very very low, as you'd need quite some instances.


----------



## SergeD (Jul 30, 2010)

Peter,

If Windows is your aimed target the .Net framework side could be something to consider http://vstnet.codeplex.com/

The guy seems to have a good knowledge about audio and plugins.

SergeD


----------



## Peter Emanuel Roos (Jul 30, 2010)

Mmm, I don't know, I think there are a lot of potentially interested people working with Macs... I think it would be very important to develop cross platform!


----------



## wst3 (Jul 30, 2010)

agreed, you want to work with a cross platform framework. There are a few, and I think you've mentioned most of them. You might want to check out Infinity from Sound Quest (squest.com). A convo reverb may be beyond the scope of the fundamental tools he provides, but the set is quite extensive, so it might not. And, you could add your own modules, but that puts you right back into the whole cross-platform quagmire.


----------



## Angel (Jul 30, 2010)

why do you want to use a framework at all? which part of the plugin should the framework cover?

c++ with vst-sdk and vstgui should work. Or do you plan to use a ready-to-use convo-algo for your project?


----------



## LiquidSonics (Jul 30, 2010)

Juce would be a good framework to use as it simplifies cross development, and also can target AU, VST and RTAS with little fuss. That said, providing a custom AU wrapper for a VST isn't a big deal either so VST2.4 and VSTGUI will get you a long way. VST3.1 comes with an AU and VST2.4 wrapper which could be a useful approach.


----------



## Peter Emanuel Roos (Jul 31, 2010)

Thanks! BTW, what is your real name? 

I will play with all the frameworks and tools in my spare time, but as I have not had any paying IT project for several months I have to put my main focus on recovering from my currently very bad financial situation. But I would really love to go through the learning curves and create a plugin based on my ideas for it.


----------



## LiquidSonics (Aug 1, 2010)

It's Matt. If you want to discuss any of this via email just contact me via the liquidsonics.com support page.


----------

