Login / Register  0 items | $0.00 New What is KVR? Submit News Advertise

Wdl-ol

Keith99
KVRian
 
1145 posts since 15 Mar, 2007, from Yorkshire, England

Postby Keith99; Wed Feb 22, 2012 8:21 am Wdl-ol

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
Keith99
KVRian
 
1145 posts since 15 Mar, 2007, from Yorkshire, England

Postby Keith99; Wed Feb 22, 2012 8:53 am

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.
hibrasil
KVRian
 
700 posts since 23 Jun, 2002, from York, UK

Postby hibrasil; Wed Feb 22, 2012 1:32 pm

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
VirtualCZ | pMix | Endless Series | WDL-OL |Linkedin

Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
Keith99
KVRian
 
1145 posts since 15 Mar, 2007, from Yorkshire, England

Postby Keith99; Wed Feb 22, 2012 2:29 pm

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.
Keith99
KVRian
 
1145 posts since 15 Mar, 2007, from Yorkshire, England

Postby Keith99; Thu Feb 23, 2012 9:39 am

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.
hibrasil
KVRian
 
700 posts since 23 Jun, 2002, from York, UK

Postby hibrasil; Sat Feb 25, 2012 6:08 am

thanks will see if I can integrate this into the projects
VirtualCZ | pMix | Endless Series | WDL-OL |Linkedin

Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
User avatar
xhunaudio
KVRist
 
337 posts since 17 Feb, 2010

Postby xhunaudio; Tue Jun 23, 2015 2:37 am Re: Wdl-ol

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
hibrasil
KVRian
 
700 posts since 23 Jun, 2002, from York, UK

Postby hibrasil; Tue Jun 23, 2015 2:42 am Re: Wdl-ol

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
VirtualCZ | pMix | Endless Series | WDL-OL |Linkedin

Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
User avatar
xhunaudio
KVRist
 
337 posts since 17 Feb, 2010

Postby xhunaudio; Tue Jun 23, 2015 6:51 am Re: Wdl-ol

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 ?
hibrasil
KVRian
 
700 posts since 23 Jun, 2002, from York, UK

Postby hibrasil; Wed Jun 24, 2015 11:12 am Re: Wdl-ol

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.
VirtualCZ | pMix | Endless Series | WDL-OL |Linkedin

Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
User avatar
xhunaudio
KVRist
 
337 posts since 17 Feb, 2010

Postby xhunaudio; Wed Jun 24, 2015 11:47 pm Re: Wdl-ol

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.
hibrasil
KVRian
 
700 posts since 23 Jun, 2002, from York, UK

Postby hibrasil; Sat Jun 27, 2015 2:02 pm Re: Wdl-ol

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
VirtualCZ | pMix | Endless Series | WDL-OL |Linkedin

Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
User avatar
xhunaudio
KVRist
 
337 posts since 17 Feb, 2010

Postby xhunaudio; Sun Jun 28, 2015 11:41 pm Re: Wdl-ol

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...
User avatar
xhunaudio
KVRist
 
337 posts since 17 Feb, 2010

Postby xhunaudio; Wed Jul 01, 2015 9:24 am Re: Wdl-ol

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.
hibrasil
KVRian
 
700 posts since 23 Jun, 2002, from York, UK

Postby hibrasil; Wed Jul 01, 2015 10:13 am Re: Wdl-ol

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

oli
VirtualCZ | pMix | Endless Series | WDL-OL |Linkedin

Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
Next

Moderator: hibrasil

Return to Oli Larkin Plugins