Thread: WDL-OL
View Single Post
Old 11-20-2011, 02:59 PM   #1
Human being with feelings
olilarkin's Avatar
Join Date: Apr 2009
Location: UK
Posts: 1,163
Default WDL-OL

I have just uploaded my version of WDL/IPlug to github, which includes support for building RTAS, VST3, Standalone and IOS, plus numerous enhancements. Nearly all the features that I desired for WDL-CE are implemented. I will no longer be working on WDL-CE because progress was too slow. If anyone else wants to bring these changes into WDL-CE, be my guest.

The projects are set up how I like them, using the IDEs/OSs that I use. There is an entire build-chain for plugin projects that will make installers including all the various binaries/manual etc and a duplicate script which rapidly speeds up development time. You may well need to tweak certain paths etc to build on your system.

There are 13 example projects. Some of which still need to be finished. Parts of the code are based on other people's work which is credited (I hope) and has a similar license to the rest of WDL. The RTAS wrapper has been approved by AVID and does not breach their NDA. You will need to be a registered AVID developer with access to their SDK if you wish to build RTAS plugins.

It's all somewhat a work in progress - see the todo.txt, but has been tested with my Endless Series Plugin. There are some missing features that I haven't added simply because I didn't need them yet.

To get started you'll want to read the file IPlugExamples/examples.rtf



p.s please don't complain if the commits aren't organised enough for you to cherry-pick changes into your WDL. I'm careful when committing anything to WDL code other than IPlug (e.g. SWELL, LICE), because I know Cockos are actively developing them but as far as IPlug is concerned I just make commits with enough info for myself. Also I've been learning git as I go and made a couple of mistakes at some places which meant some commits were lost.

list of features/differences from stock IPlug...

- Win/OSX VST3
- Win/OSX Standalone app
- IOS 4.3 wrapper (gui handled by apple ui libraries, not IPlug's gui stuff)
- Win/OSX 64 bit support out of the box
- Better xcode/msvc projects using .xconfig/property sheets
- One-click build scripts to build all targets and installer including binaries/license/manual etc.
- Update version script (updates all version numbers based on value in resource.h)
- Easy project duplicator script
- Better example projects - lots of them
- Improved text rendering (multiple font colours, styles, font sizes)
- Text entry support on OSX
- Text entry doesn't flicker on windows
- Text entry character filtering
- Win/OSX Keyboard input handling
- Popup menus
- Simple bitmap monospace font renderer
- IGraphicsLice merged into IGraphics -> less passthrough code
- Fixed cocoa class name conflicts
- VST2 fxp/fxb saving/loading
- OSX file selector
- Better state saving (& chunks)
- Save Preset as bin64 blob for specifying presets in chunks based plugins
- Sidechain support for AU/RTAS/ *VST3*todo
- Complex installer scripts (iceberg and innosetup)
- Less compiler warnings
- ITimeInfo struct for ppq/tempo etc
- Fixes IPlugAU.cpp memory leaks
- Debugging setups in example projects for common hosts
- validate_audiounit script


- IControl text entry prompts are not enabled by default‚ set IControl::mDisablePrompt to false to enable
- IControl takes an IRect, not an address of an IRect (&IRECT) in constructor, keeps gcc happy
- IText default sizes may be different to stock IPlug
- Not tested to build for osx 10.4sdk or ppc‚ might work though
- JPEG resources are disabled by default
VirtualCZ | pMix | Endless Series | iPlug2 | Linkedin | Facebook
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)

Last edited by olilarkin; 04-10-2012 at 10:34 AM.
olilarkin is offline   Reply With Quote