www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Announcing dplug, a toolkit for making audio plugins with D

reply "ponce" <contact gam3sfrommars.fr> writes:
dplug is a library for audio plugin development.

https://github.com/p0nce/dplug
http://code.dlang.org/packages/dplug

It's aim is to be a lean alternative to JUCE and IPlug, the most 
used C++ libraries in this space.

It is currently less useful since supporting only VST 2.x on 
Windows. The plan is to gradually add more formats and OS support 
(VST Mac and AudioUnit should be first).

Because of the particular need of audio plugins (lazy screen 
updates, message dispatch made by host, threading, child 
window...), dplug has its own windowing.
It then use a deffered software renderer to have a nice 
procedural UI and keep installer sizes low.
Jun 13 2015
next sibling parent reply "tired_eyes" <pastuhov85 gmail.com> writes:
On Saturday, 13 June 2015 at 14:18:31 UTC, ponce wrote:
 dplug is a library for audio plugin development.

 https://github.com/p0nce/dplug
 http://code.dlang.org/packages/dplug

 It's aim is to be a lean alternative to JUCE and IPlug, the 
 most used C++ libraries in this space.

 It is currently less useful since supporting only VST 2.x on 
 Windows. The plan is to gradually add more formats and OS 
 support (VST Mac and AudioUnit should be first).

 Because of the particular need of audio plugins (lazy screen 
 updates, message dispatch made by host, threading, child 
 window...), dplug has its own windowing.
 It then use a deffered software renderer to have a nice 
 procedural UI and keep installer sizes low.
No linux support? Linux VST, LV2?
Jun 13 2015
parent "ponce" <contact gam3sfrommars.fr> writes:
On Saturday, 13 June 2015 at 15:28:09 UTC, tired_eyes wrote:
 On Saturday, 13 June 2015 at 14:18:31 UTC, ponce wrote:
 dplug is a library for audio plugin development.

 https://github.com/p0nce/dplug
 http://code.dlang.org/packages/dplug

 It's aim is to be a lean alternative to JUCE and IPlug, the 
 most used C++ libraries in this space.

 It is currently less useful since supporting only VST 2.x on 
 Windows. The plan is to gradually add more formats and OS 
 support (VST Mac and AudioUnit should be first).

 Because of the particular need of audio plugins (lazy screen 
 updates, message dispatch made by host, threading, child 
 window...), dplug has its own windowing.
 It then use a deffered software renderer to have a nice 
 procedural UI and keep installer sizes low.
No linux support? Linux VST, LV2?
Not yet but no reason it couldn't fit. To have Linux support the only thing to do is implement: https://github.com/p0nce/dplug/blob/master/gui/dplug/gui/window.d Windows support is about 500 lines, I guess Linux would be approx. the same.
Jun 13 2015
prev sibling next sibling parent "nhk8" <nhk8 sdfsdf.pl> writes:
On Saturday, 13 June 2015 at 14:18:31 UTC, ponce wrote:
 dplug is a library for audio plugin development.

 https://github.com/p0nce/dplug
 http://code.dlang.org/packages/dplug

 It's aim is to be a lean alternative to JUCE and IPlug, the 
 most used C++ libraries in this space.

 It is currently less useful since supporting only VST 2.x on 
 Windows. The plan is to gradually add more formats and OS 
 support (VST Mac and AudioUnit should be first).

 Because of the particular need of audio plugins (lazy screen 
 updates, message dispatch made by host, threading, child 
 window...), dplug has its own windowing.
 It then use a deffered software renderer to have a nice 
 procedural UI and keep installer sizes low.
Nice, however you could announce it on Kvr because audio DSP is such a 'niche' that i doubt anyone will be interested here.
Jun 13 2015
prev sibling next sibling parent reply "nhk8" <nhk8 sdfsdf.pl> writes:
On Saturday, 13 June 2015 at 14:18:31 UTC, ponce wrote:
 dplug is a library for audio plugin development.

 https://github.com/p0nce/dplug
 http://code.dlang.org/packages/dplug

 It's aim is to be a lean alternative to JUCE and IPlug, the 
 most used C++ libraries in this space.

 It is currently less useful since supporting only VST 2.x on 
 Windows. The plan is to gradually add more formats and OS 
 support (VST Mac and AudioUnit should be first).

 Because of the particular need of audio plugins (lazy screen 
 updates, message dispatch made by host, threading, child 
 window...), dplug has its own windowing.
 It then use a deffered software renderer to have a nice 
 procedural UI and keep installer sizes low.
Nice, however you could announce it too on Kvr because audio DSP is such a 'niche' that i doubt anyone will be interested here.
Jun 13 2015
parent "ponce" <contact gam3sfrommars.fr> writes:
On Saturday, 13 June 2015 at 21:49:18 UTC, nhk8 wrote:
 Nice, however you could announce it too on Kvr because audio 
 DSP is such a 'niche' that i doubt anyone will be interested 
 here.
I will when there is a bit more features.
Jun 14 2015
prev sibling next sibling parent reply Jim Hewes <jimhewes gmail.com> writes:
On 6/13/2015 7:18 AM, ponce wrote:
 dplug is a library for audio plugin development.

 https://github.com/p0nce/dplug
 http://code.dlang.org/packages/dplug

 It's aim is to be a lean alternative to JUCE and IPlug, the most used
 C++ libraries in this space.

 It is currently less useful since supporting only VST 2.x on Windows.
 The plan is to gradually add more formats and OS support (VST Mac and
 AudioUnit should be first).

 Because of the particular need of audio plugins (lazy screen updates,
 message dispatch made by host, threading, child window...), dplug has
 its own windowing.
 It then use a deffered software renderer to have a nice procedural UI
 and keep installer sizes low.
This is a nice announcement to me since I'm a user of JUCE. Is this meant to by only for creating plug-ins or can the audio interface be used outside of a plug-in? A cross-platform MIDI library would also be a cool thing. Pardon my ignorance if there already is one for D I wasn't aware of.
Jun 14 2015
parent "ponce" <contact gam3sfrommars.fr> writes:
On Sunday, 14 June 2015 at 18:57:38 UTC, Jim Hewes wrote:
 This is a nice announcement to me since I'm a user of JUCE. Is 
 this meant to by only for creating plug-ins or can the audio 
 interface be used outside of a plug-in?
Thanks. It is meant only for creating plug-ins. Actually dplug doesn't offer an audio interface.
 A cross-platform MIDI library would also be a cool thing. 
 Pardon my ignorance if there already is one for D I wasn't 
 aware of.
I don't think there is one.
Jun 14 2015
prev sibling next sibling parent reply "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Saturday, 13 June 2015 at 14:18:31 UTC, ponce wrote:
 The plan is to gradually add more formats and OS support (VST 
 Mac and AudioUnit should be first).
Nice! Looking forward to AudioUnit support! I think AudioUnits also allow you to use the host GUI (more boring, but often more practical). Not sure how Audacity plugins are written (on OSX it can use AudioUnits also I believe), but might be worth looking into. Might attract some GNU/Linux people.
Jun 14 2015
parent reply "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Sunday, 14 June 2015 at 21:20:36 UTC, Ola Fosheim Grøstad 
wrote:
 Not sure how Audacity plugins are written (on OSX it can use 
 AudioUnits also I believe), but might be worth looking into. 
 Might attract some GNU/Linux people.
The wiki said that Audacity ships with Vamp: http://www.vamp-plugins.org/develop.html
Jun 14 2015
parent reply "ponce" <contact gam3sfrommars.fr> writes:
On Sunday, 14 June 2015 at 21:37:14 UTC, Ola Fosheim Grøstad 
wrote:
 On Sunday, 14 June 2015 at 21:20:36 UTC, Ola Fosheim Grøstad 
 wrote:
 Not sure how Audacity plugins are written (on OSX it can use 
 AudioUnits also I believe), but might be worth looking into. 
 Might attract some GNU/Linux people.
The wiki said that Audacity ships with Vamp: http://www.vamp-plugins.org/develop.html
I was under the impression that LV2 was the Linux standard. But since Bitwig Studio has been released for Linux, VST is the most serious contender in this space.
Jun 15 2015
next sibling parent "tired_eyes" <pastuhov85 gmail.com> writes:
On Monday, 15 June 2015 at 09:30:11 UTC, ponce wrote:
 On Sunday, 14 June 2015 at 21:37:14 UTC, Ola Fosheim Grøstad 
 wrote:
 On Sunday, 14 June 2015 at 21:20:36 UTC, Ola Fosheim Grøstad 
 wrote:
 Not sure how Audacity plugins are written (on OSX it can use 
 AudioUnits also I believe), but might be worth looking into. 
 Might attract some GNU/Linux people.
The wiki said that Audacity ships with Vamp: http://www.vamp-plugins.org/develop.html
I was under the impression that LV2 was the Linux standard. But since Bitwig Studio has been released for Linux, VST is the most serious contender in this space.
Actually, it is. There are not so much linux VSTs compared to LV2 plugins, and VST, ever native isn't a first class citizen in the Linux world.
Jun 15 2015
prev sibling parent reply "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Monday, 15 June 2015 at 09:30:11 UTC, ponce wrote:
 On Sunday, 14 June 2015 at 21:37:14 UTC, Ola Fosheim Grøstad 
 wrote:
 On Sunday, 14 June 2015 at 21:20:36 UTC, Ola Fosheim Grøstad 
 wrote:
 Not sure how Audacity plugins are written (on OSX it can use 
 AudioUnits also I believe), but might be worth looking into. 
 Might attract some GNU/Linux people.
The wiki said that Audacity ships with Vamp: http://www.vamp-plugins.org/develop.html
I was under the impression that LV2 was the Linux standard. But since Bitwig Studio has been released for Linux, VST is the most serious contender in this space.
http://www.vamp-plugins.org/rationale.html http://bugzilla.audacityteam.org/buglist.cgi?quicksearch=LV2 http://wiki.audacityteam.org/wiki/Plug-ins http://wiki.audacityteam.org/wiki/Creating_your_own_Plug-in
Jun 17 2015
parent "ponce" <contact gam3sfrommars.fr> writes:
On Wednesday, 17 June 2015 at 07:44:03 UTC, Ola Fosheim Grøstad 
wrote:
 On Monday, 15 June 2015 at 09:30:11 UTC, ponce wrote:
 On Sunday, 14 June 2015 at 21:37:14 UTC, Ola Fosheim Grøstad 
 wrote:
 On Sunday, 14 June 2015 at 21:20:36 UTC, Ola Fosheim Grøstad 
 wrote:
 Not sure how Audacity plugins are written (on OSX it can use 
 AudioUnits also I believe), but might be worth looking into. 
 Might attract some GNU/Linux people.
The wiki said that Audacity ships with Vamp: http://www.vamp-plugins.org/develop.html
I was under the impression that LV2 was the Linux standard. But since Bitwig Studio has been released for Linux, VST is the most serious contender in this space.
http://www.vamp-plugins.org/rationale.html http://bugzilla.audacityteam.org/buglist.cgi?quicksearch=LV2 http://wiki.audacityteam.org/wiki/Plug-ins http://wiki.audacityteam.org/wiki/Creating_your_own_Plug-in
VAMP does look like a very interesting format, however immediate goal is survival in the commercial space, where AAX, Mac and AudioUnit are much more important :) It isn't even sure I will continue with D but for now there is not much absolute blockers. Lack of OSX shared libraries could be one though. VAMP roughly fits dplug (apart from non-changing parameters), but then it would be a subset of possible VAMP plugins if implemented.
Jun 17 2015
prev sibling parent reply "ponce" <contact gam3sfrommars.fr> writes:
On Saturday, 13 June 2015 at 14:18:31 UTC, ponce wrote:
 dplug is a library for audio plugin development.

 https://github.com/p0nce/dplug
 http://code.dlang.org/packages/dplug

 It's aim is to be a lean alternative to JUCE and IPlug, the 
 most used C++ libraries in this space.

 It is currently less useful since supporting only VST 2.x on 
 Windows. The plan is to gradually add more formats and OS 
 support (VST Mac and AudioUnit should be first).
A bit of update about dplug: - Mac VST support for 64-bit is there, with the exception of a weird scanning bug in Reaper and Studio One (#62). The interface use Cocoa through DerelictCocoa. 32-bit plugins would require a Carbon UI and I don't think it's clever to focus time on it. I should do AudioUnit next but it requires inheriting from C++ classes so it's not sure it can work. - The GUI now use a simplified physically-based model for rendering, a bit over-the-top but always nice to use. - Linux windowing is started, but stalled A big surprise was that DMD can also make plugins on OS X, despite not supporting shared libraries theorically. I don't know why it works. Please note however that dplug does not respect SemVer yet and stuff will break without notice or insurance.
Sep 09 2015
parent ponce <contact gam3sfrommars.fr> writes:
On Wednesday, 9 September 2015 at 07:51:19 UTC, ponce wrote:
 - Mac VST support for 64-bit is there, with the exception of a 
 weird scanning bug in Reaper and Studio One (#62). The 
 interface use Cocoa through DerelictCocoa. 32-bit plugins would 
 require a Carbon UI and I don't think it's clever to focus time 
 on it.
More dplug news: 32-bit Mac OS X VST support is complete with the help of an ad-hoc, Derelict-style Carbon binding. Actually it was way easier than binding to Cocoa. Using DMD one can target as low as OS X 10.6, if ever needed ;) https://github.com/p0nce/dplug https://github.com/p0nce/DerelictCarbon
Oct 01 2015