COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :
Old 04-12-2014, 09:59 AM   #1
fabulousfab
Human being with feelings
 
Join Date: Dec 2013
Posts: 29
Default WDL-FAB (IPlug fork from wdl-ol)

Hi folks,

I submitted a fork of wdl-ol that may be worth of your interest:
http://github.com/fab672000/wdl-fab

This branch mainly focuses for now on code cleanup and re-usability.

Provides a Cmake build alternative, which makes a new project creation (i.e. in the examples folder) a 2-liner.

It provides a lot of code decoupling and re-factoring/cleanup (i.e. less files to duplicate for each new project, audio preferences dialog integrated inton the iPlug library hence can evolve rapidly with no code duplication).

It makes unsafe depracted api safe (like string manipulation operations), hence enhancing debuggability and also provides minor enhancements in that regard(i.e. logging).

It also provides fixes and enhancements in terms of features compleneteness like the std dialogs api. Much more to come on hopefully improved fundations can be expected after this first phase.

It provides other code refactoring benefits and is still a work in progress in terms of code cleanup (will probability never end :-)

Also provides extra work and custom html pages autodocumentation with doxygen (lots of todo's here).

The win32 branch should be able to autogenerate including all examples ...
the osx branch is fully building the libs and working in terms of framework but the cmake has to be completed for the examples and is still wip (can only build & run the IplugControl example executable for now)

The multiples area of improvements from scratch make this project a bit challenging to continue alone so if burning heads could volunteer to help that would be greatly appreciated.

I only work on my spare time on it, so if you want faster updates please contribute !

This is really only the beginning, I have a lot of ideas I'd like to implement so any help will be a great time saver.

Thanks in advance for having a look and provide feedback,

-Fab

Last edited by fabulousfab; 04-12-2014 at 11:15 AM.
fabulousfab is offline   Reply With Quote
Old 07-17-2014, 12:42 AM   #2
fabulousfab
Human being with feelings
 
Join Date: Dec 2013
Posts: 29
Default Quick Update

Significant enhancements to the cmake file have been achieved, now building windows and mac osx plugins in vst and standalone formats.

AU builds cannot be completely automated now as I don't know yet how I am going to generate a rsrc file out of the .r resource needed to include to the audiounit plugin.

This phase is not handled by cmake atm, so probably a custom post build must be implemented.

Other plugin format builds are not tested yet (VST3, AAX, RTAS) but should be easier to finish implementing provided that I don't need too many custom phases to implement (in the common IPlugProject.inc include file).

Did not update the documentation yet but in short, creating new projects into the IplugProjects optional directory is as simple as copy and paste of the CMakefile.txt in the IPlugExamples folder and then specifying your own custom project subfolders instead of the example subfolders ...

Also, I just tested the new contrib libs incorporation to my custom current wip projects and it works fine so far, so it's pretty useable already.
fabulousfab is offline   Reply With Quote
Old 07-17-2014, 11:08 AM   #3
fabulousfab
Human being with feelings
 
Join Date: Dec 2013
Posts: 29
Default New HOWTO and out of source full WDL build !

A. How to build the distribution ?
-----------------------------------
0. Install cmake (2.8+) if not installed yet, available from:
http://www.cmake.org/cmake/resources/software.html
Also populate all your VST/VST3/AU/AAX//RTAS SDKs folders as instructed in their respectives README's
1. Go to the build directory and run the script of your choice for your target toolchain
(Advanced: or run cmake manually and customize the generation to any
cmake supported toolchain ...)
2. Now a win or osx subdirectory appears, open it and select the Project solution
3. Enjoy a fully automatically generated build !

B. How to quickly create my own iPlug Projects ?
------------------------------------------------
1. Go to the IPlugProjects directory
2. Copy an example or existing iPlug Project folder of your choice here (i.e. MyNewProjA)
3. Inside MyNewProjA, update or create if not exist the file named CMakeLists.txt
and populate your sources files.
(resources can also be customized very easily see the example projects CMakeLists.txt files)
4. Run the cmake automatic project generation again incrementally until you're satisfied
with your new added builds.

Note that you dont even need to tell what new project you copied as the script
dynamic subfolder iteration autodetects any subfolder under IPlugProjects
and adds it for you into the main build project !

Last edited by fabulousfab; 07-17-2014 at 11:26 AM.
fabulousfab is offline   Reply With Quote
Old 07-17-2014, 11:50 PM   #4
fabulousfab
Human being with feelings
 
Join Date: Dec 2013
Posts: 29
Default VST3 Activated for Windows and Mac

Now cmake can build Standalone, VST, VST3 plugins for both platforms ...
AU is generated on OSX but has to be manually edited as it does not compile & embed the IPlugAU.r resource yet.

see http://github.com/fab672000/wdl-fab for more details.
fabulousfab is offline   Reply With Quote
Old 07-19-2014, 03:36 PM   #5
fabulousfab
Human being with feelings
 
Join Date: Dec 2013
Posts: 29
Default automatic cmake AAX build added!

Yup, in both Win+OSX.

so now only RTAS needs to be implemented (coming soon), and .r resource custom builds must be add to both AU and RTAS to finish with cmake automatic builds of plugins.

A lot of warnings have been adressed on both OSX and Windows (instead of being disabled) including the (very old)
_recursiveDisplayRectIfNeededIgnoringOpacity warning appearing in all OSX plugin builds ...

EDIT: WDL also merged with latest commits from Justin branch that week (cool enhancements/fixes/new test api) ...
fabulousfab is offline   Reply With Quote
Old 07-19-2014, 03:45 PM   #6
fabulousfab
Human being with feelings
 
Join Date: Dec 2013
Posts: 29
Default Zero configuration of 3rd party SDKs!

Now, any SDK that is found in the distrib (so that you added following the asio,vst,vst3,au, aax &rtas instructions) will be automatically enabled and plugin projects of that format will be automatically added!

Last edited by fabulousfab; 07-19-2014 at 03:53 PM.
fabulousfab is offline   Reply With Quote
Old 04-22-2015, 10:27 AM   #7
MT__
Human being with feelings
 
Join Date: Apr 2015
Posts: 1
Default Thank you!

I have been looking for a CMake version to use with JetBrains CLion. I am going to build when I get home and finally get started on this project!
MT__ is offline   Reply With Quote
Old 04-23-2015, 01:28 PM   #8
fabulousfab
Human being with feelings
 
Join Date: Dec 2013
Posts: 29
Default

Quote:
Originally Posted by MT__ View Post
I have been looking for a CMake version to use with JetBrains CLion. I am going to build when I get home and finally get started on this project!
You're welcome, glad to see these refactoring efforts to be used by others, but please bear in mind that there is still few build targets i could not finalize to generate automatically (mostly protools former RTAS targets).
In case you really need these targets (documented in the TODO list), you may want to keep using the Oli version I forked from.
fabulousfab is offline   Reply With Quote
Old 12-19-2017, 02:57 PM   #9
izmael
Human being with feelings
 
Join Date: Jul 2016
Posts: 6
Default wdl-fab AU

Hi, has anyone been able to produce a working AU with wdl-fab's branch?

I've spent all day and I can't even get auval -a to notice the .component. It has the following:

/Contents/Info.plist
/Contents/MacOS/VMPCWDL
/Contents/PkgInfo
/Contents/Resources/*.png
/Contents/Resources/VMPCWDL.rsrc

Seems fairly complete to me but auval won't budge. Any suggestions what to check?
izmael is offline   Reply With Quote
Old 12-19-2017, 08:02 PM   #10
fabulousfab
Human being with feelings
 
Join Date: Dec 2013
Posts: 29
Default

Hi, sorry to hear you spent time on this, I am not updating this branch since a while. I was the only one to contribute to it and sadly got no time for it anymore. I think oli branch is still active and you should probably look at this one instead, you may also have a look at JUCE (free to use until you make a lot, lot of money with it).
fabulousfab is offline   Reply With Quote
Old 12-20-2017, 01:43 AM   #11
JonOsterman
Human being with feelings
 
Join Date: Aug 2017
Posts: 50
Default

Hi, I'm currently using your branch with on macOS 10.12 and VST SDK 3.6.7. I had to do some minor changes but it still works, thanks a lot for your work
JonOsterman is offline   Reply With Quote
Old 12-20-2017, 06:18 AM   #12
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: Huddersfield, UK
Posts: 1,066
Default

it's my intention to bring cmake support into wdl-ol, will look at fabs' work.
__________________
VirtualCZ | pMix | Endless Series | WDL-OL | Linkedin | Facebook
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is offline   Reply With Quote
Old 12-22-2017, 12:05 PM   #13
izmael
Human being with feelings
 
Join Date: Jul 2016
Posts: 6
Default

Strangely the AU component started working, without me changing anything I'm aware of. I'd already rebooted OSX several times. Something must 've been caching somewhere but I don't know what. It wasn't $HOME/Library/Application Support/AU Lab/com.apple.audio.aulab_componentcache.plist or $HOME/Library/Caches/com.apple.audiounits.cache because I've been running a post-build script that removes those all the time.
izmael is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 09:04 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.