May 11, 2016
Context: dplug is a library for creating native audio plugins as simply as possible. You can target Windows Vista+ and OS X 10.7+


Audio Unit format has been implemented as of dplug version 3.


Changelog:

  v3.x.y (09/05/2016):
    - Audio Unit compatibility added, with both Cocoa and Carbon UI. What is still missing from AU: Audio Component API, sandboxing, v3. In other words it's on parity with IPlug but not JUCE.
    - The release tool is now much more friendly to use.
    - Special keys in dub.json are now expected in a plugin.json file next to dub.json. In the future it will be the place of autority for information about a plugin, for now this has to be duplicated in buildPluginInfo() override. An empty plugin.json is OK, defaults are in place.
    - The Wiki became a place to visit.


See_also: https://github.com/p0nce/dplug for more information.
May 12, 2016
On Wednesday, 11 May 2016 at 15:52:06 UTC, Guillaume Piolat wrote:
> Audio Unit format has been implemented as of dplug version 3.

A technical hurdle was to be able to pass Objective-C classes implementing an Objective-C @protocol. @protocols are a bit like D interfaces for which the compiler creates dispatch tables at compile-time.

The solution is to create a similarly named @protocol with same methods to simulate this work, using the ObjC runtime.
https://github.com/p0nce/dplug/blob/master/au/dplug/au/cocoaviewfactory.d#L81