calf-studio-gear / calf

Developers repository of Calf Studio Gear. Expect some issues when using it for production.
http://calf-studio-gear.org
GNU Lesser General Public License v2.1
680 stars 96 forks source link

Calf plugins does not work well with Carla. #260

Open MaciejMalczyk opened 4 years ago

MaciejMalczyk commented 4 years ago

I discovered that some parameters are not well controllable in Carla plugin host via Carla's parameters tab. Problem is in very non linear (mostly logarythmic) way of controlling plugin parameters even if knob has linear behavior in plugin GUI.

I think this short video will clarify everything about problem: https://drive.google.com/file/d/1Mfj0_AU1eFmwse8R1ZmIgKFpxYCRunB7/view?usp=sharing

falkTX commented 4 years ago

This is likely an issue with Carla and not Calf.

MaciejMalczyk commented 4 years ago

Maybe but the same happens in Ardour when i try to change value with "Ardour slider". Does Carla/Ardour read raw values from plugins? I have one idea to overcome this - custom progression of sliders values. In LMMS for example you can choose knob behavior between logarithmic and linear. LMMS way in this case is of course not a grate solution because of low customization of values progression.

Anyway, I think it will be better to move Carla specific discussion to Carla's github.

falkTX commented 4 years ago

If Ardour also has the issue, it is likely that then it is on Calf side after all. LV2 plugins should expose a logarithmic property on the ports that behave that way, so the host knows to give it a log scale. I do not recall if Carla generic editor supports this, but Ardour is very likely to.

JohannesLorenz commented 8 months ago

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

JohannesLorenz commented 7 months ago

@wujekbrezniew Friendly reminder: Can you please check if your problem has been fixed in #342 ?

MaciejMalczyk commented 7 months ago

Hi, Sorry for not responding for so long. I tested this PR (branch #320) and nothing changed. Video

@JohannesLorenz

JohannesLorenz commented 7 months ago

@wujekbrezniew Thanks for replying. Which parameter (in which plugin) behaves wrong with the #320 branch?

MaciejMalczyk commented 7 months ago

@JohannesLorenz I tested Calf Compressor. Attack, release, input, makeup gain. I put a link to video i today's response that shows a problem.

JohannesLorenz commented 7 months ago

Thanks again, @wujekbrezniew . Sorry, I oversaw the video link. What I see is that in the video, all these sliders move linear in the GUI, however, all have

@prefix epp: <http://lv2plug.in/ns/ext/port-props#>
lv2:portProperty epp:logarithmic ;

This is strange. I can only see 3 possible reasons for this:

MaciejMalczyk commented 7 months ago

@JohannesLorenz My Carla is built from this commit: https://github.com/falkTX/Carla/commit/68bbca2711626835157ef3a55938566f2ee3fe87 I will try to build latest one and find out if there is a problem.

I build calf by doing ./configure.sh, make -16, sudo make install. I removed calf-plugins packages from apt so i'm sure that i use compiled ones in Carla. I checked if your changes are in my local repo and they are. My lv2-dev package is 1.18.10 from kxstudio so i changed lv2 headers to: #include "lv2/core/lv2.h" from #include "lv2/lv2plug.in/ns/lv2core/lv2.h" and so on in other files to compile it against newest version on lib.

I checked also Ardour that i built from commit: https://github.com/Ardour/ardour/commit/ad51c7c2bad954dfd59f4771a1ba959cee5fc920 And it works properly. Video below. link

MaciejMalczyk commented 7 months ago

Tested Carla built from latest commit. Still the same problem.

JohannesLorenz commented 7 months ago

@wujekbrezniew Thanks! IIRC the problem occurs with Carla, but not with Ardour. That sounds like a bug in Carla, still strange, because Carla is very old software.

Can you please test if the CALF from our master works with Ardour? If the mentioned issue occurs there, too, then #342 fixed an issue here.

MaciejMalczyk commented 7 months ago

@JohannesLorenz Can confirm that in Ardour Calf compressor from master has an issue and from #320 branch works well. I was checking also Ratio knob - for me it is still hard to control but i dont know exactly what is responsible for that. Video below how it works: video

JohannesLorenz commented 7 months ago

@wujekbrezniew Thanks for the info. Considering that, I think we should file a bug report (including the ttl file of the compressor) to Carla. It might still be a bug on our side that Ardour just manages well, but in all cases, it should be reported. Do you want to do that, or should I?

About the Ratio knob: From the video, it looks like the UI displays this knob logarithmic, while the slider on the left is linear? Which means we should mark this slider as "logarithmic", too?

MaciejMalczyk commented 7 months ago

@JohannesLorenz I think i will be better if you file bug report to Carla, because you have more technical knowledge. You can mark the knob as logarythmic and then i will try to test that. Maybe i will try to test other plugins to find out if there are some other problems like this.

JohannesLorenz commented 7 months ago

@wujekbrezniew Pushed. This knob is a bit strange though, because it says that the slider should have a "fake infinity". Can you please check if the knob matches the GUI well, also for the upper values?

For submitting a report in Carla, I would need the lib/lv2/calf.lv2/Compressor.ttl from your install directory.

MaciejMalczyk commented 7 months ago

This is from build of #320 branch. Extension changed from ttl to txt. Compressor.txt

JohannesLorenz commented 7 months ago

This is from build of #320 branch. Extension changed from ttl to txt. Compressor.txt

Reported, thanks!

Can you please check if the knob matches the GUI well, also for the upper values?

Just as a friendly reminder, this is still open.

MaciejMalczyk commented 7 months ago

Can you please check if the knob matches the GUI well, also for the upper values?

You can check it on video. I'm not 100% shure if this is working well or not c: https://drive.google.com/file/d/1pMqyJF1RH1_BF-F2yEuvI60omquftms7/view?usp=sharing

If i remember exactly there are other plugins that have simmilar problem to compressor. I will try to find out those one's and theirs problematic params and post here (or maybe open new issue?).

JohannesLorenz commented 4 months ago

If i remember exactly there are other plugins that have simmilar problem to compressor. I will try to find out those one's and theirs problematic params and post here (or maybe open new issue?).

Hi @wujekbrezniew , do you still plan to do this (friendly reminder)?

JohannesLorenz commented 4 months ago

I'm not 100% shure if this is working well or not c:

I was also not sure but to me it looks OK now. It seems to slide steadily over a logarithmic scale.

MaciejMalczyk commented 4 months ago

Hi. I thought that this was closed c:

I will try to test other plugins in weekend and post here problems that i found.

MaciejMalczyk commented 4 months ago

I tested 4 plugins: Tape Simulator and 5, 8, and 30 Equalizers. Both in Ardour and in Carla (built from git). In all cases if plugin has some dial connected to gain or level, controlling it from host slider is impossible - linear movement make logarithmic change in value. Basically if something is in dB it has this bug.

For some reason in Carla frequency dial for filters also works logarithmic. Ardour does not have this problem.

JohannesLorenz commented 4 months ago

controlling it from host slider is impossible - linear movement make logarithmic change in value

Can you please make a video, so I understand better what the problem is? Thanks on advance.

MaciejMalczyk commented 4 months ago

https://github.com/calf-studio-gear/calf/assets/11708702/837b4a80-9550-456d-9925-1cc1ca44eb3c

https://github.com/calf-studio-gear/calf/assets/11708702/15d89245-02b9-463c-a6ff-ed21324050b4

JohannesLorenz commented 4 months ago

Is this only a visualization problem of the GUI, or does this even sound as wrong as it looks?

sven-frotscher commented 4 months ago

Carla does what you would expect from its knob/slider sweeping a linear range (i.e. unity gain is very far left) and probably disregards lv2:portProperty epp:logarithmic ; altogether. I'd say the Calf GUI is working just fine and Carla is missing the "logarithmic control" feature.

JohannesLorenz commented 3 months ago

I'd say the Calf GUI is working just fine and Carla is missing the "logarithmic control" feature.

Carla indeed has problems with logarithmic control, but that does not explain the issues with Ardour.

Is this only a visualization problem of the GUI, or does this even sound as wrong as it looks?

@MaciejMalczyk Friendly reminder that I could still need your input here, thanks!

JohannesLorenz commented 2 months ago

As this still requires response from the OP and the fix might be non-trivial, I move this to a new 0.90.5 milestone