Wdl-ol

Official support for: olilarkin.co.uk
RELATED
PRODUCTS

Post

Hi, I installed this framework and followed the video setup and have some things working well but I have some problems:

The VST3 build appears to work ok and the Steinberg test app is loaded correctly but the plugin is not visible. I tried this with 64 bit and 32 bit builds. With the 32 bit one a copy of the dll appears in my Steinberg VST3 directory, with the 64 bit one it does not appear (I copied the settings from the 32 bit one as they were not set by default). The VST 2.4 build for 32 bit and 64 bit work fine as does the standalone app version.

I also tried the OpenGL sample but it appears to use mac-only OpenGL API extensions? I am not too bothered about this as the sample shows how to set up a new panel with a graphics API which is the main thing I was interested in.

Anyway apart from these minor things the system looks really really good. I love the python scripts and ease of getting going. Thanks.

Keith

Post

Another thing I noticed is that the project includes a name_controls.h file but it does not exist on disk. This is true for the template projects and when a new one is created.

Post

hi keith,
The VST3 build appears to work ok and the Steinberg test app is loaded correctly but the plugin is not visible. I tried this with 64 bit and 32 bit builds. With the 32 bit one a copy of the dll appears in my Steinberg VST3 directory, with the 64 bit one it does not appear (I copied the settings from the 32 bit one as they were not set by default). The VST 2.4 build for 32 bit and 64 bit work fine as does the standalone app version.
The projects work ok on my machine which is winXP 32bit. Can you tell me what OS you are using and if it is VC++ Express?
I also tried the OpenGL sample but it appears to use mac-only OpenGL API extensions? I am not too bothered about this as the sample shows how to set up a new panel with a graphics API which is the main thing I was interested in.
yes the OpenGL example is only implemented for Mac at the moment, see todo.txt
Another thing I noticed is that the project includes a name_controls.h file but it does not exist on disk. This is true for the template projects and when a new one is created.
yeah I recently noticed this and have fixed it for the next version, which also includes lots of VST3 and RTAS improvements.

oli

Post

Hi, thanks for getting back to me. I am using Windows 7 and the full version of Visual Studio 2010.

By the way I just followed your OpenGL control example and created a Direct3D control version. Just got it working now. Of course that would be limited to PC targets only.

Post

I solved the steinberg host problem. It was due to the fact that steinberg puts the 32 bit version in program files(x64)/ and the other in program files (there are two apps, it appears the 64 bit one will not load 32 bit dlls).

The vst3HostPath macro only points to the 64 bit dir.

C:\Program Files (x86)\Steinberg\VST3PluginTestHost\VST3PluginTestHost.exe, for 32 bit
C:\Program Files\Steinberg\VST3PluginTestHost\VST3PluginTestHost.exe for 64 bit

For placing the vst3 files themselves I used

$(CommonProgramFiles)\VST3\MyNewPlugin.vst3 for 32 bit and
$(CommonProgramW6432)\VST3\MyNewPlugin.vst3 for 64 bit

this seems to work.

Post

thanks will see if I can integrate this into the projects

Post

Hello Oli,

in the passed days I started looking at WDL-OL and I'm very impressed :) My congrats for all your huge work !

In a post on KvrAudio you wrote that you're finding a way to integrate WDL-OL with JUCE GUI visual editor.
So you can create a GUI on Juce (visually) and then use the automatically written .cpp and .h files (the PluginEditor) in WDL-OL.

Is this feature already available on current wdl-ol version or it is planned for the future?
Is/will be an IPlugExample available to show how it works?

All the best,
bruno
bruno @ Xhun Audio || www.xhun-audio.com || Twitter || Instagram
Image

Post

Hi,

It's on a new version which is not yet public. I am not sure when I will make it public because there are some annoying issues with the steinberg vst3->au wrapper (which is used) that I have not yet had time to resolve in a nice way.

oli

Post

hibrasil wrote:Hi,

It's on a new version which is not yet public. I am not sure when I will make it public because there are some annoying issues with the steinberg vst3->au wrapper (which is used) that I have not yet had time to resolve in a nice way.

oli
Thank you Oli for the quick reply... :)

So, if I understood fine, AU exporting/compiling in WDL-OL is based on the Steinberg run-time VST3->AU wrapper (the same found in the VST3 SDK).

Is this the approach used in both "current" and "further" WDL-OL versions ?
bruno @ Xhun Audio || www.xhun-audio.com || Twitter || Instagram
Image

Post

the version of WDL-OL/IPlug on github does not use the Steinberg VST3->AU wrapper. The basic class inheritance is like this:

YourPluginClass -> IPlugAU/IPlugVST/IPlugVST3/IPlugETC (chosen by preprocessor macros) -> IPlugBase

http://olilarkin.co.uk/html/class_i_plug_base.html

My unreleased IPlug2 is based on the VST3 SDK and separates GUI and DSP, so it goes a bit like this

YourPluginController -> IPlugController/IGraphicsController (chosen by preprocessor macros) -> Steinberg::Vst::EditControllerEx1
YourPluginProcessor -> IPlugProcessor -> Steinberg::Vst::AudioEffect

The VST2, AU, AAX and APP targets are all VST3 plugin hosts.

if you use IGraphicsController you can use the same IPlug GUI functionality as in IPlug1, otherwise you can stick a new GUI on the VST3 plugin using JUCE or VSTGUI etc. In that case the only real reason to use IPlug underneath is because it is a bit more concise than writing a VST3 plugin directly.

Post

hibrasil wrote:the version of WDL-OL/IPlug on github does not use the Steinberg VST3->AU wrapper. The basic class inheritance is like this:

YourPluginClass -> IPlugAU/IPlugVST/IPlugVST3/IPlugETC (chosen by preprocessor macros) -> IPlugBase

http://olilarkin.co.uk/html/class_i_plug_base.html

My unreleased IPlug2 is based on the VST3 SDK and separates GUI and DSP, so it goes a bit like this

YourPluginController -> IPlugController/IGraphicsController (chosen by preprocessor macros) -> Steinberg::Vst::EditControllerEx1
YourPluginProcessor -> IPlugProcessor -> Steinberg::Vst::AudioEffect

The VST2, AU, AAX and APP targets are all VST3 plugin hosts.

if you use IGraphicsController you can use the same IPlug GUI functionality as in IPlug1, otherwise you can stick a new GUI on the VST3 plugin using JUCE or VSTGUI etc. In that case the only real reason to use IPlug underneath is because it is a bit more concise than writing a VST3 plugin directly.
Wow..., I started studying Wdl-ol/iplug in the passed weeks and it seems that it is growing and getting really amazing. And quite clear and easy to use, very important from my viewpoint, as I'm not a C++ guru :)
So, if I got the point, the new IGraphicsController embeds all the Iplug1 IControl class in order to re-use Iplug1 GUI code, but since Iplug2 IPlugController resides in separate .h and .cpp files, it would be simple to "swap it" with the one generated from Juce or RackAfx or others...
hibrasil wrote:The VST2, AU, AAX and APP targets are all VST3 plugin hosts.
Let me understand fine (before I will start dancing for joy), so this means that (using wdl-ol iplug2) it would be relatively simple to build a VST2, AU, AAX and APP wrappers from a pre-compiled VST3 plugin (also if the VST3 has been created/pre-compiled with a different framework)? It would be a 'killer' feature, the ideal choise to port my existing VST3 plugins to other formats (since it would be physically very hard for me to re-write all my previous plugins WHILE make new ones)... Please let me know about this :)

Again, thank you a lot for your precious contribution in the music/dev industry Oli.
bruno @ Xhun Audio || www.xhun-audio.com || Twitter || Instagram
Image

Post

xhunaudio wrote: Wow..., I started studying Wdl-ol/iplug in the passed weeks and it seems that it is growing and getting really amazing. And quite clear and easy to use, very important from my viewpoint, as I'm not a C++ guru :)
So, if I got the point, the new IGraphicsController embeds all the Iplug1 IControl class in order to re-use Iplug1 GUI code, but since Iplug2 IPlugController resides in separate .h and .cpp files, it would be simple to "swap it" with the one generated from Juce or RackAfx or others...
sort of. you implement EditController::createView() in your controller and return a Steinberg::Vst::IPlugView. For instance you can do this with the VSTGUI UIDescription stuff.
xhunaudio wrote: Let me understand fine (before I will start dancing for joy), so this means that (using wdl-ol iplug2) it would be relatively simple to build a VST2, AU, AAX and APP wrappers from a pre-compiled VST3 plugin (also if the VST3 has been created/pre-compiled with a different framework)? It would be a 'killer' feature, the ideal choise to port my existing VST3 plugins to other formats (since it would be physically very hard for me to re-write all my previous plugins WHILE make new ones)... Please let me know about this :)
don't get too excited! I said they are vst3 hosts but only the steinberg vst3->au wrapper is actually a bundle that you put your .vst3 inside. However the wrappers do work without any IPlug code, so an existing vst3 project's code should be able to be brought into the WDL-OL IPlug project structure and work with all the formats.

email me if you'd like to get beta access to IPlug2

Post

hibrasil wrote:don't get too excited!
Ahah, okOLI, thanks for your clarification, the word 'HOSTS' fooled me... :)

I also took a deep look at IPlugGen, it seems something definitely very powerful. I will start playing with it in a couple of days... I'll make my testings, but anyway I would ask : since it is an abstraction layer for Iplug / gen , is it complete, so can 'host' ANY 'gen' project exported to c++ or it is missing some features? I would just know if it is stable enough and usable for professional audio app/plugins purposes...
And : will it be compatible with iplug2 ?

I tried to find some papers about IPlugGen (similar to your M4_u presentation) but url links seem to be broken...
bruno @ Xhun Audio || www.xhun-audio.com || Twitter || Instagram
Image

Post

Hello Oli,

I spent a few hours on WDL-OL (obviously the IPlug1 version, downloaded from Github).

I would report 2 notes, I hope it will help you for further improvements, or if I did something wrong, I hope you can help me :

- IplugGen works fine, I had only to adjust the .sln file, instead of linking to "base_vs10.vcxproj" I changed to "base.vcxproj" . This let the VST3 to compile in VS 2013.
Using "base_vs10.vcxproj" produced error 1181 and didn't compile, maybe you want to update the github project.

- I'm having a problem with WDL-OL : when I compile ANY of the default IPlugExamples to STANDALONE APP, it basically works fine but when the Reset() method is executed (e.g.: changing the sampling rate from the APP Menu 'Properties') the standalone APP itself crashes.
If the app is compiled as VST3 and/or VST2, it works fine also when changing the sample rate from the host.
So I think it is not an issue of the Reset() method, but something related to its interaction with RTAudio drivers. Did you ever had an issue like this?

If needed I can provide additional infos, just let me know Oli.
If you prefer, I can contact you privately by email for this kind of things.
bruno @ Xhun Audio || www.xhun-audio.com || Twitter || Instagram
Image

Post

yes best to contact me by email about it. Please let me know which audio interface and which version of windows is crashing.

oli

Post Reply

Return to “Oli Larkin Plugins”