[LAD] [ANN] lv2-c++-tools 1.0.0
Lars Luthman
lars.luthman at gmail.com
Thu Apr 17 11:26:08 UTC 2008
On Thu, 2008-04-17 at 13:08 +0200, Pau Arumí wrote:
> > So basically it's just a more descriptive way of referencing plugin
> > ports. You could just as well use the indices and the number of ports
> > directly and don't bother with lv2peg, but it's nice to have while
> > working on a plugin with lots of ports where you may remove and add
> > ports while hacking, or change ranges and default values (those things
> > are also included in the output of lv2peg). There is more info and some
> > examples at http://lv2plug.in/lv2pftci/
> >
>
> Now it all makes sense. Thanks.
>
> However I'd like to see the entire example (the link lv2pftci seems
> dead). If available, could you point to the generated gain.peg and the
> human written RDF? (Or an equivalent example)
Sorry, I got my addresses mixed up. The correct one is
http://ll-plugins.nongnu.org/lv2pftci .
For the example in the thread above the RDF would look something like
this:
@prefix lv2: <http://lv2plug.in/ns/lv2core#>.
@prefix doap: <http://usefulinc.com/ns/doap#>.
@prefix ll: <http://ll-plugins.nongnu.org/lv2/namespace#>.
<http://my.plugin/>
a lv2:Plugin;
lv2:binary <gain.so>;
doap:name "Gain";
doap:license <http://usefulinc.com/doap/licenses/gpl>;
ll:pegName "p";
lv2:port [
a lv2:AudioPort, lv2:InputPort;
lv2:index 0;
lv2:symbol "in";
lv2:name "Input";
],
[
a lv2:AudioPort, lv2:OutputPort;
lv2:index 1;
lv2:symbol "out";
lv2:name "Output";
],
[
a lv2:ControlPort, lv2:OutputPort;
lv2:index 2;
lv2:symbol "gain";
lv2:name "Gain";
].
...and lv2peg would output this:
#ifndef gain_peg
#define gain_peg
#ifndef PEG_STRUCT
#define PEG_STRUCT
typedef struct {
float min;
float max;
float default_value;
char toggled;
char integer;
char logarithmic;
} peg_data_t;
#endif
/* <http://my.plugin/> */
static const char p_uri[] = "http://my.plugin/";
enum p_port_enum {
p_in,
p_out,
p_gain,
p_n_ports
};
static const peg_data_t p_ports[] = {
{ -3.40282e+38, 3.40282e+38, -3.40282e+38, 0, 0, 0 },
{ -3.40282e+38, 3.40282e+38, -3.40282e+38, 0, 0, 0 },
{ -3.40282e+38, 3.40282e+38, -3.40282e+38, 0, 0, 0 },
};
#endif /* gain_peg */
Since no ranges or default values are given for the ports -FLT_MAX and
FLT_MAX are used, that's where the 3.40282e+38s come from.
--ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20080417/3d183317/attachment.pgp>
More information about the Linux-audio-dev
mailing list