traverso-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Traverso-devel] Traverso LV2 Support


From: Stefano D'Angelo
Subject: Re: [Traverso-devel] Traverso LV2 Support
Date: Sun, 19 Dec 2010 10:38:54 +0100

Hi Jeremy,

Looking at the turtle files I see that there is no statement
concerning required and optional features, which means that LV2 hosts
are not capable of automatically understanding whether your plugin
would be supported or not.

In other words, Traverso probably doesn't support event and MIDI LV2
extensions (I'm neither a Traverso developer nor an user at the moment
so I can't be more specific) but it doesn't understand that your
plugin has MIDI ports from the turtle files.

The LV2 extension mechanism is well explained in the core
specification (look here: http://lv2plug.in/ns/lv2core/ - search for
lv2:Feature, lv2:optionalFeature, lv2:requiredFeature). Any time you
use an extension, you should check whether you have to make explicit
if your plugins use extra features, so that hosts that are not capable
of handling them either ignore them (required feature) or use them in
a degraded configuration (optional feature).

HTH,

Stefano

2010/12/18 Jeremy Salwen <address@hidden>:
> Hi,
> The patch provided stops it from crashing, but it still causes it to treat
> midi ports (both input and output) as input control ports with strange
> default values.  Anyway, thanks for the help!
> Jeremy
>
> On Fri, Dec 17, 2010 at 10:32 AM, Stefano D'Angelo <address@hidden>
> wrote:
>>
>> This seems to be an old bug that I submitted a patch to be fixed some
>> time ago. Attached to this mail is the patch I developed then, maybe
>> it can help.
>>
>> Even better, here
>>
>> (http://hg.atheme.org/users/daste/freeadsp/users/daste/freeadsp/file/69585319c900/src/lv2.c#l361)
>> is some code I wrote for handling ports in a LV2 host I never
>> released, and this handles value bounds quite nicely.
>>
>> BR,
>>
>> Stefano
>>
>> 2010/12/17 Jeremy Salwen <address@hidden>:
>> > Hello Traverso development team,
>> > I am trying to make sure that an LV2 plugin I'm working on
>> > (TalentedHack) is
>> > working in all the DAWs.  It causes a crash when I load it in Traverso.
>> >  Now, normally, I'd just expect that I was doing something wrong in my
>> > code,
>> > but it seems like the problem is not really related to the actual plugin
>> > execution.  It seems to be more of an issue parsing the metadata.  For
>> > example, here is the stack trace:
>> > #0  __assert_fail (assertion=0x689728 "slv2_value_is_float(value) ||
>> > slv2_value_is_int(value)", file=0x6896f0
>> > "/tmp/traverso-0.49.1/src/3rdparty/slv2/src/value.c", line=315,
>> > function=0x689830 "slv2_value_as_float") at assert.c:56
>> > #1  0x0000000000604dfe in slv2_value_as_float (value=<value optimized
>> > out>)
>> > at /tmp/traverso-0.49.1/src/3rdparty/slv2/src/value.c:315
>> > #2  0x00000000005e086c in LV2ControlPort::get_min_control_value
>> > (this=0x11e4ee0) at
>> > /tmp/traverso-0.49.1/src/plugins/LV2/LV2Plugin.cpp:397
>> > #3  0x00000000005e3f65 in PluginSlider::PluginSlider (this=0x124c430,
>> > port=0x11e4ee0) at /tmp/traverso-0.49.1/src/plugins/PluginSlider.cpp:34
>> > #4  0x00000000005dff44 in PluginPropertiesDialog::PluginPropertiesDialog
>> > (this=<value optimized out>, parent=<value optimized out>, plugin=<value
>> > optimized out>) at
>> > /tmp/traverso-0.49.1/src/plugins/PluginPropertiesDialog.cpp:76
>> > #5  0x000000000053806c in PluginView::edit_properties (this=0x1244c90)
>> > at
>> > /tmp/traverso-0.49.1/src/sheetcanvas/PluginView.cpp:109
>> > Just a note: the error is that it expects to get a float "slv2_value"
>> > which
>> > is the minimum value of some port, but instead it gets "null", so it
>> > throws
>> > an error.  Without debugging information, it just does a null pointer
>> > dereference.
>> > It seems to be an issue getting the minimum value of an input port.  I'm
>> > kind of confused, because I checked over the syntax of my ttl files, and
>> > they seem fine, and ardour2 lv2_jack_host, and lv2file all seem to be
>> > able
>> > to work fine with it.   I should note that all of them will output the
>> > line
>> > "librdf warning - Model does not support contexts" many times, although
>> > the
>> > developer of slv2 said that this is just a bug in librdf which has been
>> > fixed in later versions.  Traverso will output these lines also, but
>> > then at
>> > some point crashes.
>> > I'm not sure how stable Traverso's LV2 support is, so I don't know if
>> > this
>> > could be a bug, or definitely an error with my plugin.
>> > I've attached my two ttl files, if that might help anyone figure out
>> > what's
>> > wrong.
>> > Thanks for any light you could shed onto this issue.
>> > Jeremy Salwen
>> > _______________________________________________
>> > Traverso-devel mailing list
>> > address@hidden
>> > http://lists.nongnu.org/mailman/listinfo/traverso-devel
>> >
>> >
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]