[LV2] LV2 C++ Tools Additions

Michael Fisher mfisher31 at gmail.com
Mon Sep 24 11:59:57 PDT 2012

On Mon, 2012-09-24 at 09:36 -0400, David Robillard wrote:
> On Fri, 2012-09-21 at 17:39 -0500, Michael Fisher wrote:
> > Thanks for the input
> > 
> > On Fri, 2012-09-21 at 16:22 -0400, David Robillard wrote:
> > 
> > > Speaking of names, the pkg-config name of this package has always caused
> > > a ton of user confusion.  It's really bad for third party libraries to
> > > be using the names lv2-plugin and lv2-gui!
> > 
> > I always found that a smidge confusing from a user's standpoint as well.
> > 
> > > 
> > > Given that AFAIK Lars is MIA and this package is unmaintained, maybe it
> > > would be a good idea for you to just fork the thing, give it a distinct
> > > name, which would make the ambiguity go away and hopefully let the
> > > community move to the active project and get away from these names and
> > > other problems?
> > 
> > I'm up for it.  Would something easy like lv2mm-* be inappropriate?  And
> > since we're basically talking overhauling this thing, might as well
> > build it with waf ;)
> I suppose since all of LV2 is in one tarball now there's no real
> potential for name clashes, so you're welcome to it as much as the next
> person :)

Thanks.  I decided to go with something a little less official sounding
for ya.

D.A.P.S - Digital Audio Plugins Streamlined


pkg-config names  are  daps-plugin-x.y and daps-gtkui-x.y .  sooner or
later an optional support lib will come around.  that will be plain
daps-x.y .

Over the weekend and throughout today, I've overhauled this thing to
where visually it is much cleaner and better organized.

 - Code shuffling and segmenting
 - Changed the code style (mine is similar to the stdc++ ) 
 - Public API continues to use camel cased class names 
 - Added a few MACROS that cleanup insane looking c++ templating

Fundamentally Complete: 
 - Worker - all function pointers connected
 - URID - all function pointers connected
 - Data Access - all function pointers connected
 - Headers present for all data-only exts

Fundamentals Partial:
 - State supports save and restore but not map and make path (yet). hpp

Not Quite Yet Supported:
 - Anything not part of the Official LV2 Specification
 - Extra Mixins segmented and mobbed into an "extras.hpp" header

Since Lars' original work was already stable... I'm staging up a 1.0.0
release on git hub until I get the time to make a little website. 
Folks using lv2-c++-tools shouldn't have to hard of a time switching to
this API if they want to.

And, as an extra-added bonus.  I whipped up the beginnings of an LV2 waf
bundler Tool (tools/waf/lv2.py)  .  This guy supports  so-renaming for a
plugin, and grabbing resources via an lv2_resources property.  If a
resource just so happens to have a "ttl.in" extension, it'll get
processed as a "subst" task.

> As long as the pkg-config name is the same as the actual project name,
> and it's searchable, it should be fine (don't use the namespace "lv2" or
> "LV2" though)
> Cheers,
> -dr

More information about the Devel mailing list