calf-studio-gear/calf

Logarithmic ports should be designated as log

Closed this issue · 6 comments

Hello. At least for LV2, it seems none of the logarithmic ports have any such log designation.
This is not good for host generic plugin UIs or controller automation graphs.
For example in the Calf Stereo Tools TTL file:

        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 5 ;
        lv2:symbol "level_in" ;
        lv2:name "Input Gain" ;
        lv2:default 1 ;
        lv2:minimum 0.0156250 ;
        lv2:maximum 64 ;

And

        a lv2:OutputPort ;
        a lv2:ControlPort ;
        lv2:index 7 ;
        lv2:symbol "meter_inL" ;
        lv2:name "Meter-InL" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:connectionOptional ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;

I hope it is not too big a task to fix someday.
This issue was reported already, but I thought I should poke it:
https://github.com/calf-studio-gear/calf/issues/260

Thanks.
Tim.
MusE Sequencer project.

This seems to only affect gain ports, right? Those should be fixed in PR #342 . Would be nice if you could test.

@terminator356 Friendly reminder: It would be nice if you could test #342 . It would help a lot!

Hi, still here. Saw the message before. Trying to find time to test, so busy at the moment...
Thanks.
T.

I installed branch 320.
So far so good!

Here is a picture of Calf Stereo Tools in a MusE effect rack.
A noise source precedes it in the rack.
The native UI is open as well as our generic UI.

Notice our logarithmic scales on our sliders.
I can report that operating the sliders correctly (linearly) operates the corresponding native UI controls,
and vice versa.

Some automation data for the Input Gain control is visible on the MusE canvas,
showing that the display range works correctly.
Screenshot_20240220_203826

For comparison, here is a picture of LSP Sampler showing what they put as LV2 Units.
We support LV2 Units, as you can see in the entry boxes.
Screenshot_20240220_205027

If anyone is wondering why our generic UI entry boxes do not say "dB" and do not display as dB:
It's a long story, I researched and wrote a post about it. I can try to find it.
But basically IIRC sadly it is impossible to have a control port that is in dB.
You will never see a port that is in actual dBs.
Logarithmic yes, but not true dB.
I was quite confused about all this at first.
But yeah, LSP plugins say 'G' (for gain), NOT dB, for reasons mentioned.
With VST (2) it was a different story. IIRC some parameters ARE in fact in dBs.

I'll buzz if anything goes wrong.
Thanks very much!
Tim.
MusE Sequencer project.

Cool, thanks a lot for the testing! I assume the PR is more or less OK now.
Edit: Still waiting for comments from #260

Yes it's fine for me. Worked great.
I suppose I'll close the issue now since it seems to be resolved, at least in the given branch.
Looking forward eventual merging.

Let me know if anything further.
Tim.