View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000586 | ardour | bugs | public | 2004-07-02 22:03 | 2004-12-20 14:45 |
| Reporter | v2 | Assigned To | taybin | ||
| Priority | urgent | Severity | minor | Reproducibility | sometimes |
| Status | closed | Resolution | fixed | ||
| Summary | 0000586: Strange values in plugin preset selectbox | ||||
| Description | I have a session where I see "Hall (Large)" in the preset selectbox of Steve Harris's AM pitchshifter. I have no "Hall (Large)" described in my ~/.ladspa/rdf/ardour-presets.n3 The "Hall (Large)" could be from the TAP Reverb, but I haven't used that plugin in this session or anywhere near the running ardour where I saw this behaviour. If I reload the session, the 'preset' is still there. Selecting it doesn't do anything. Ardour/GTK 0.521.0 running with libardour 0.821.0 | ||||
| Tags | No tags attached. | ||||
|
|
What version of lrdf are you running? I've committed a fix to ardour's CVS. Could you check if this has fixed it for you? |
|
|
0.3.7 (Debian version 0.3.7-1). The problem still exists, but I cannot be sure that I had your fix in the tarball I got. The cvs tarball I used is dated "17-Jul-2004 04:13" (tarball is 1534145 bytes), version: Ardour/GTK 0.524.0 running with libardour 0.823.0 |
|
|
I also see a similar (or at least related) problem, present in the 0.9beta19 release. It seems to me that the parsing of RDF files of plugins on startup does something wrong. It's related to Scale definitions of port value ranges, which causes the nice drop-down lists in the plugin windows. Haven't looked at the corresponding Ardour code, but when I open TAP DeEsser in Ardour, in the drop-down windows of the two scale'd inputs I see texts that should be seen in the Reverb Type combo box of TAP Reverberator. These two plugins have their RDF data in two files, tap-plugins.rdf and tap_reverb.rdf (because the latter is automatically generated by the reverb patch editor program). Now if I merge these two RDF files together, (not simple cat'ing since XML headers should be taken care of), then it works perfectly. No RDF code was changed, only splitting into two files causes a problem. May be a bug that causes multiple RDF file's data to "step on" each other? (Not incrementing/updating something when parsing new RDF files...?) This was the case until I recently installed the latest swh-plugins, which finally also comes with some Scale definitions in its RDF description. That completely messed these drop-down lists up; Steve's plugins' scale names (like "none", "sawtooth", "squarewave" etc) appear in the Reverb Type selector of my Reverb... ungood. Not 100% sure if it's Ardour, liblrdf, or the RDF files themselves... It seems that if everything is in *one* RDF file, it works OK. |
|
|
Forgot to say, I use liblrdf-0.3.7. The issue I described has been along for a while now; at least since beta17, and still (beta19) unchanged. I don't run the latest CVS yet, but i don't remember seeing any ladspa/lrdf-related commits on ardour-cvs. Glad to provide any more details and/or do some testing if I can. |
|
|
Could you try renaming the files so they load in the opposite order? edited on: 08-18-04 06:52 Actually, what version of libraptor do you have installed? edited on: 08-18-04 07:21 |
|
|
Reversing the names of the files (so they are in opposite order) doesn't seem to make any difference. libraptor: I installed raptor-0.9.12 from source way back when I started using Ardour. That version might be quite outdated, since now I just downloaded 1.3.2 (that's the latest). I will rebuild the whole thing with that now, but it will take some time. I will post my results when I'm done. |
|
|
OK, compiled raptor-1.3.2, upon that lrdf-0.3.7, upon that ardour 0.9beta19 (all from source). Not much difference, if any. I tried to arrange the rdf files by means of renaming them, in all sorts of ways, but that didn't ever make any difference, at least I haven't noticed. The only thing I saw was that before, with all SWH and TAP rdf loaded, my Reverb had all sorts of garbage in the Reverb Type combo. Now there appears the correct list, but unfortunately I can't select all of them. Approximately every second entry (not that systematically) selects one of the first two entries (Afterburn, Afterburn (Long)). Other entries let selecting them. It's very strange, certain items can always be selected, while others always jump back to the top of the list. The pattern of these (eg. exactly which does what) doesn't make any sense to me -- should I document it? |
|
|
As a follow-up, I wrote a tiny C program that uses liblrdf, parses all RDF files it can find, and lists some scale values of some plugin's ports. The output of this program is broken in the exact same way as the drop-down combos are in Ardour LADSPA windows, so I'm pretty sure this is a liblrdf bug, or something that it depends upon (eg. raptor). I know this has been pretty obvious to you, but the proggy may be useful to verify broken/fixed status of the library. |
|
2004-08-20 18:39
|
plugin.c (2,354 bytes)
/* Compile with:
* gcc -Wall -o plugin plugin.c -llrdf
*/
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <lrdf.h>
#define MAXLEN 1024
static int
rdf_filter(const struct dirent * de) {
if (de->d_type != DT_REG)
return 0;
if (de->d_name[0] == '.')
return 0;
return (((strlen(de->d_name) >= 4) && (strcmp(de->d_name + strlen(de->d_name) - 3, ".n3") == 0)) ||
((strlen(de->d_name) >= 5) && (strcmp(de->d_name + strlen(de->d_name) - 4, ".rdf") == 0)) ||
((strlen(de->d_name) >= 6) && (strcmp(de->d_name + strlen(de->d_name) - 5, ".rdfs") == 0)));
}
void
parse_lrdf_data(void) {
char * lrdf_path = NULL;
char rdf_path[MAXLEN];
char fileuri[MAXLEN];
int i, j = 0;
struct dirent ** de;
int n;
if (!(lrdf_path = getenv("LADSPA_RDF_PATH"))) {
lrdf_path = strdup("/usr/local/share/ladspa/rdf:/usr/share/ladspa/rdf");
}
printf("lrdf_path = %s\n", lrdf_path);
strcat(lrdf_path, ":");
for (i = 0; lrdf_path[i] != '\0'; i++) {
if (lrdf_path[i] == ':') {
rdf_path[j] = '\0';
j = 0;
printf("rdf_path = %s\n", rdf_path);
n = scandir(rdf_path, &de, rdf_filter, alphasort);
if (n >= 0) {
int c;
for (c = 0; c < n; ++c) {
snprintf(fileuri, MAXLEN-1, "file://%s/%s", rdf_path, de[c]->d_name);
if (lrdf_read_file(fileuri)) {
printf("warning: could not parse RDF file: %s\n", fileuri);
} else
printf("parsed RDF: %s\n", fileuri);
}
}
} else {
rdf_path[j++] = lrdf_path[i];
}
}
}
void
list_scale_info(int id, int port) {
int i;
lrdf_defaults * defs;
printf("\nPlugin ID: %d, port %d\n", id, port);
defs = lrdf_get_scale_values(id, port);
for (i = 0; defs && i < defs->count; i++) {
printf("%f = '%s'\n", defs->items[i].value, defs->items[i].label);
}
lrdf_free_setting_values(defs);
}
int main(int argc, char ** argv) {
lrdf_init();
parse_lrdf_data();
/* Reverb Types of TAP Reverberator */
list_scale_info(2142, 8);
/* Sidechain filter chooser of TAP DeEsser */
/* Should return {"Highpass", "Bandpass"} !!! */
list_scale_info(2147, 3);
/* Monitor chooser of TAP DeEsser */
/* Should return {"Audio", "Sidechain"} !!! */
list_scale_info(2147, 4);
/* SWH Diode processor */
/* Should return {"none", "half wave", "full wave"} !!! */
list_scale_info(1185, 0);
lrdf_cleanup();
return 0;
}
|
|
|
Is it broken in that it shows inappropriate values? Or does it show the selection bug you were mentioning? Steve has a fix for the first problem. libraptor changed some semantics that liblrdf was depending on. |
|
|
Shows inappropriate values (strings from other plugin's drop-down combos). |
|
|
Is this still a problem? |
|
|
Due to excessive RealLife involvements, I was not able to keep up with the most recent Ardour developments. If time permits, I will try to roll a new CVS version this weekend, and report what I see. |
|
|
While my issue is not identical, it was very very similiar, sympton wise, it still exists [At least with ardour 0.9beta19, swh-plugins 0.47, libraptor 1.3.3, and lrdf 0.3.7 - Are they still the latest, or do I need to go grab some updates and/or ask the debian maintainer nicely to upgrade the sid packages ?:)] (See the thread "Problem with Gate Plugin & Ardour" if anyone wants my exact symptons) I did see a note on the -devel list saying Steve Harris was working on it, a couple of weeks ago, so I was really just watching for any updates to the ardour, swh-plugins, libraptor, and lrdf, and monitoring mantis, but hadn't seen any up to now. edited on: 10-27-04 07:16 |
|
|
All the same, just tried with 0.9beta20. No suprise, since this is actually a liblrdf bug AFAIK. |
|
|
Just noticed debian/sid had, what claims to be librdf0 0.9.18 in it, so tried that with ardour 0.9beta19, and swh-plugins 0.4.7, still have exactly the same problem. Haven't tried beta20|21, or the very latest swh-plugins yet(0.4.11), as they aren't in debian/sid yet. |
|
|
Just tried beta21, with librdf 0.9.18. Same symptons. Still waiting for swh-plugins 0.4.11 to appear in debian sid. I might try to compile swh-plugins 0.4.11 myself this weekend if I get a chance, and its not in by then |
|
|
At some point the gui changed (I don't know, maybe before ardour beta19). Before that point such choices in ladspa plugins were presented as radio buttons and then it worked. After the switch to the drop down list the interface was mostly broken. Still broken in beta21. |
|
|
Look at the TAP Reverberator plugin. It has a long list of choices - every nth choice is correct (ambience, cathedral, gymnasium ...). |
|
|
Please try upgrading to the latest libraptor. (1.4.2 as of now) |
|
|
I have that version, but I don't know since when. Do I have to recompile ardour? |
|
|
I recompiled but without making clean - should work though if the dependencies are computed automatically which I suppose in a project the size of ardour ... I also saw that 0.9beta21 is in my distro - Debian Sarge. I tried it whith my build and with the Debian build, same result: The problem is still there (seemingly identical but I did not check option by option) BUT there is also another problem: editing plugin parameters does not work from the mixer anymore, it only works from the routing windows. The obvious difference is that the parameter preferences have to pop up their own window from the mixer but are embedded in the routing windows. |
|
|
Same here. I have liblrdf 0.37-3 and libraptor 1.4.2-1 (both debian testing). After upgrading to libraptor1 and libraptor1-dev to 1.4.2-1 , I recompiled ardour and alas, no change. At the moment I'm stuck with Ardour/GTK 0.536.0 running with libardour 0.837.0 |
|
|
Fixed with the latest lrdf-0.4.0, now available at http://sf.net/projects/lrdf/. |
|
|
Yes. The issue is fixed! |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2004-07-02 22:03 | v2 | New Issue | |
| 2004-07-07 13:29 | taybin | Status | new => assigned |
| 2004-07-07 13:29 | taybin | Assigned To | => taybin |
| 2004-07-16 19:56 | taybin | Note Added: 0001235 | |
| 2004-07-17 12:49 | v2 | Note Added: 0001242 | |
| 2004-08-17 19:11 | tszilagyi | Note Added: 0001413 | |
| 2004-08-17 19:15 | tszilagyi | Note Added: 0001414 | |
| 2004-08-18 13:03 | taybin | Note Added: 0001419 | |
| 2004-08-18 13:52 | taybin | Note Edited: 0001419 | |
| 2004-08-18 13:54 | taybin | Reproducibility | have not tried => sometimes |
| 2004-08-18 14:21 | taybin | Note Edited: 0001419 | |
| 2004-08-18 18:51 | tszilagyi | Note Added: 0001420 | |
| 2004-08-18 20:04 | tszilagyi | Note Added: 0001422 | |
| 2004-08-20 18:38 | tszilagyi | Note Added: 0001426 | |
| 2004-08-20 18:39 | tszilagyi | File Added: plugin.c | |
| 2004-08-20 18:41 | taybin | Note Added: 0001427 | |
| 2004-08-20 20:01 | tszilagyi | Note Added: 0001429 | |
| 2004-10-27 02:10 | taybin | Note Added: 0001540 | |
| 2004-10-27 13:00 | tszilagyi | Note Added: 0001541 | |
| 2004-10-27 14:15 | irp | Note Added: 0001542 | |
| 2004-10-27 14:16 | irp | Note Edited: 0001542 | |
| 2004-11-01 18:37 | tszilagyi | Note Added: 0001557 | |
| 2004-11-02 17:27 | irp | Note Added: 0001565 | |
| 2004-11-03 20:40 | irp | Note Added: 0001571 | |
| 2004-11-14 10:50 | schrotie | Note Added: 0001590 | |
| 2004-11-14 23:28 | schrotie | Note Added: 0001593 | |
| 2004-11-30 02:46 | taybin | Note Added: 0001653 | |
| 2004-12-01 16:50 | taybin | Relationship added | has duplicate 0000783 |
| 2004-12-02 21:23 | schrotie | Note Added: 0001666 | |
| 2004-12-03 20:04 | schrotie | Note Added: 0001670 | |
| 2004-12-06 21:44 | v2 | Note Added: 0001676 | |
| 2004-12-19 23:34 | taybin | Status | assigned => resolved |
| 2004-12-19 23:34 | taybin | Resolution | open => fixed |
| 2004-12-19 23:34 | taybin | Note Added: 0001745 | |
| 2004-12-20 03:01 | taybin | Note Edited: 0001745 | |
| 2004-12-20 14:45 | v2 | Status | resolved => closed |
| 2004-12-20 14:45 | v2 | Note Added: 0001753 |