View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004332 | ardour | bugs | public | 2011-09-23 18:18 | 2015-09-18 15:11 |
| Reporter | colinf | Assigned To | cth103 | ||
| Priority | normal | Severity | minor | Reproducibility | sometimes |
| Status | closed | Resolution | unable to reproduce | ||
| Target Version | 3.0-beta1 | ||||
| Summary | 0004332: LADSPA enumerated parameters don't display lists of names in A3 built from source on Ubuntu 10.04 | ||||
| Description | I'm not totally sure that this is really a bug in A3 itself, but it has me mystified, so I thought I should post it here, just in case anyone has any bright ideas. LAPSPA plugin parameters that used to display lists of values for enumerated parameters now only display the numbers. For example TAP Reverberator's 'Reverb Type', C* AmpVTS 'model', and so forth. This only happens when I build A3 from source: packaged versions show these plugin parameters correctly. I would conclude from this that it's an issue with a library or libraries on my distribution, but a number of things make me conclude that it's not quite that simple: * I've built liblrdf from source, and the same thing still happens in A3. * A2 works fine for me when built from source, and as far as I can see makes exactly the same sequence of calls into liblrdf. * copying both liblrdf.so.* and libraptor.so.* from the A3 bundle over the top of the installed versions on my system did not make it work in A3 built from source. So, I'm officially baffled. | ||||
| Additional Information | I'm running Ubuntu 10.04: this happens for me on both the machines where I've built A3 from source. | ||||
| Tags | No tags attached. | ||||
|
|
I'm seeing similar on two different Debian machines. It works on wheezy, but not on squeeze. It appears to be because lrdf_get_scale_values in LadspaPlugins::get_scale_values() returns different things. |
|
|
With a bit more digging, it looks to me like something rather odd is happening inside liblrdf. Firstly, to make sure that liblrdf is called with exactly the same rdf files between A2 and A3, I've done this: --- libs/ardour/audio_library.cc (revision 10123) +++ libs/ardour/audio_library.cc (working copy) @@ -55,9 +55,9 @@ // workaround for possible bug in raptor that crashes when saving to a // non-existant file. - touch_file(sfdb_file_path.to_string()); + touch_file("/home/colinf/.ardour2//sfdb"); - lrdf_read_file(src.c_str()); + lrdf_read_file("file:/home/colinf/.ardour2//sfdb"); } I've then added copious printf()s into liblrdf-0.4.0, and they show that lrdf_read_file_intl() is then called with exactly the same parameters in both A2 and A3. However, when it's called on the rdf files in my "/usr/local/share/ladspa/rdf/" (such as "file:///usr/local/share/ladspa/rdf/swh-plugins.rdf"), the oddness begins. lrdf_read_file_intl() does: raptor_set_statement_handler(parser, &source, lrdf_store); lrdf_store is a callback function for raptor. This function gets called back by the subsequent call to raptor_parse_file() for each "thing" (sorry, this is where my lack of understanding of rdf becomes very clear) in the rdf file. This happens under both A2 and A3, except that under A2, the parameters with which lrdf_store() gets called back appear to be sensible and correct, but under A3, the subject, predicate and object members of the statement parameter of lrdf_store() are all blank. I don't know if these observations are of any use: I guess the next thing to do might be to build libraptor from source and see what's going on in there, but I'm a little loath to do that just yet since uninstalling it from the package manager seems to want to remove half my system, and I don't know whether just installing from source over the top of the packaged version is such a bright idea... |
|
|
If I build libraptor-1.4.21 from source (without installing, just export LD_LIBRARY_PATH=~/src/raptor-1.4.21/src/.libs/) everything works as expected. Hmm... |
|
|
Well, bizarrely, this bug has mysteriously fixed itself for me. After I made A3 work once by pointing LD_LIBRARY_PATH to the libraptor build directory, it then continued to work even after I unset LD_LIBRARY_PATH. It's still working (several reboots later) with the Ubuntu 10.04 packaged versions of libraptor-1.4.21-1ubuntu1 and liblrdf-0.4.0-1.2. I very probably did something I thought was unrelated that made it work, but I have no idea what stupid or clever thing (it's a fine line) that was. I wonder if it'll break again if I do a ./waf clean? |
|
|
Even after ./waf clean, it still works for me now. Most mysterious... Should I mark this as 'resolved, unable to reproduce', or is it worth leaving it open in case it happens again (for me or anyone else)? |
|
|
I'll mark it as resolved; we can always re-open if this surfaces again. |
|
|
Closing old issues: these have long since been fixed. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2011-09-23 18:18 | colinf | New Issue | |
| 2011-09-23 18:46 | cth103 | cost | => 0.00 |
| 2011-09-23 18:46 | cth103 | Target Version | => 3.0-beta1 |
| 2011-09-25 14:03 | cth103 | Note Added: 0011566 | |
| 2011-09-26 11:05 | colinf | Note Added: 0011568 | |
| 2011-10-19 17:41 | colinf | Note Added: 0011714 | |
| 2011-11-02 11:42 | colinf | Note Added: 0011875 | |
| 2011-11-02 13:07 | colinf | Note Added: 0011878 | |
| 2011-11-14 14:13 | cth103 | Note Added: 0011999 | |
| 2011-11-14 14:13 | cth103 | Status | new => resolved |
| 2011-11-14 14:13 | cth103 | Resolution | open => unable to reproduce |
| 2011-11-14 14:13 | cth103 | Assigned To | => cth103 |
| 2015-09-18 15:11 | colinf | Note Added: 0017240 | |
| 2015-09-18 15:11 | colinf | Status | resolved => closed |