[scale:log] breaks plugins

Issue #7 resolved
magnetophon created an issue

I tripple-checked this, as I don't want to become the boy who cried wolf!

When I build an lv2 with -gui that has sliders with [scale:log], two things happen:

  • The DSP get's passed the wrong values (too big), so the sound is not in accordance to what the knobs say.
  • The state is not properly restored: the affected parameters are set to their default value audibly, and visually below that.

The generic controls work as expected, ignoring log.

When I compile for jack with either qt or gtk, it works as expected: - qt has nice log knobs - gtk ignores the log hint, but the sound matches the knobs.

When I compile for lv2 without -gui, all is well too: log get's ignored.

Some sample code to test:

import("effect.lib");

process = osc(freq)*0.01;

freq = vslider("freq [scale:log]", 440, 110, 1760, 1);

Compiled with faust2lv2 -gui test.dsp faust1 git 2016-05-01 (latest).

Comments (13)

  1. Albert Graef repo owner

    Yeah, I noticed this too in Qtractor, IIRC. Not sure what exactly is going on there, will have to look into it.

  2. magnetophon reporter

    Any news on this? This bug makes me not use the wonderful log feature anywhere, cause it breaks recall of the plugin.

  3. Albert Graef repo owner

    Sorry, I'm snowed under (academic) work right now, so this will take time (like the other issues you reported). Meanwhile, if you figure out how to fix it, I'll gladly accept your pull request. :)

  4. magnetophon reporter

    Hi, it seems you don't have much time available to look into this.

    As a temporary workaround, would it be possible to put a simple 'sed' based hack in the script, that just takes out [scale:log] and replaces tabs with hgroups? (after making a backup, of course) Something like this before the compile: find . -name '*.lib' -or -name '*.dsp' | xargs -n 1 -P 10 -I {} bash -c ' sed -i.bak "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "{}" ' And in the cleanup: find . -name "*.bak" -exec sh -c 'mv -f $0 ${0%.bak}' {} \;

  5. Albert Graef repo owner

    Hi magnetophone, sorry for being so unresponsive, I haven't forgotten about the issues you reported. I've just been terribly busy so that I've not been able to work on my Faust projects at all for quite some time. And now it's the beginning of the semester over here, so I'll still be busy for the next 1-2 weeks. But getting my Faust projects fixed is my top priority after that.

  6. Albert Graef repo owner

    I'm not sure how to properly implement non-linear scaling in faust-lv2, so this meta data now just gets ignored, as you suggested.

  7. magnetophon reporter

    Thanks for the workaround. For now this is OK, but it would be nice if eventually this gets a proper implementation. Would it be helpful if I open a new issue for that, just so you don't forget?

  8. Albert Graef repo owner

    Sure, please do! And sorry for the long delay, I'm usually not that slow, but I really had a lot of other stuff to do in the past few months.

  9. Log in to comment