Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No fine-control mode for sliders in VST3 plugin interface when Shift+dragging with mouse to change values #222

Closed
aviloff opened this issue Jan 5, 2021 · 14 comments
Assignees
Labels

Comments

@aviloff
Copy link
Contributor

aviloff commented Jan 5, 2021

Shift + drag on a slider in a Camomile plugin's interface does not switch it to high-accuracy fine adjustment mode, as it does in Pure Data (version 0-51-1).

This can be reproduced with the Bulgroz plugin, for example.

MacOS 10.15.7
Cockos Reaper 6.19
VST3 Plugin version

@pierreguillot
Copy link
Owner

This is fixed on dev/v1.0.8 and there is a beta version.

@jyg
Copy link

jyg commented Apr 22, 2021

Hi, there are still some differences between pd 0.51.4 and camomile v1.0,8. (linux 64 vst3 Camomile plugin)
For a h-slider (range 0-127, width 128), high-accuracy fine adjustment step is 0.1 in camomile instead of 0.01 in pd-vanilla.
Moreover, with normal mouse mode, mouse moves produce increments of 1 unit in pd-vanilla and of 0.97 in camomile. This can be problematic when the slider defines pitch with one unit = one semi-tone, as in midi note configuration (0-127), for example, in Automatonism patches.

Linux Lubuntu 18.04.5
Cockos Reaper 6.26
VST3 Plugin version

EDIT : in order to have integer steps with h-sliders in Camomile, I had to adjust the h-slider width to 125 (instead of 128 in pd-vanilla)

@pierreguillot pierreguillot reopened this Apr 22, 2021
@pierreguillot
Copy link
Owner

Just to be sure, I fix it right:

For a h-slider (range 0-127, width 128), high-accuracy fine adjustment step is 0.1 in camomile instead of 0.01 in pd-vanilla.

This doesn't depend on the width, or the range and this is also valid for vslider, isn't it?

Moreover, with normal mouse mode, mouse moves produce increments of 1 unit in pd-vanilla and of 0.97 in camomile.
EDIT : in order to have integer steps with h-sliders in Camomile, I had to adjust the h-slider width to 125 (instead of 128 in pd-vanilla)

I think the increment is based on the value range and slider size. So I should remove 3 to the size of the slider when used to compute the value, is that it?

@jyg
Copy link

jyg commented Apr 29, 2021

For a h-slider (range 0-127, width 128), high-accuracy fine adjustment step is 0.1 in camomile instead of 0.01 in pd-vanilla.

This doesn't depend on the width, or the range and this is also valid for vslider, isn't it?

Yes , it depends of the width (x_gui.x_w) and the range for vsl (same for vsl of course). For example :

  • hsl with width = 64 and range 0..126 produces increments 2 per pixel and 0.02 in fine-control mode
  • hsl with width = 255 and range 0..127 increments 0.5 per pixel and 0.005 in fine-control mode

Moreover, with normal mouse mode, mouse moves produce increments of 1 unit in pd-vanilla and of 0.97 in camomile.
EDIT : in order to have integer steps with h-sliders in Camomile, I had to adjust the h-slider width to 125 (instead of 128 in pd-vanilla)

I think the increment is based on the value range and slider size. So I should remove 3 to the size of the slider when used to compute the value, is that it?

I think so, but I cannot understand why. (the width of the drawn black rectangle for hslider is x_gui.x_w + 5)

@pierreguillot
Copy link
Owner

I looked at Pd code and there are left and right offsets that (I guess) give a total of 7 pixels so I used width - 7 and it seems to fix the issue. For the fine control mode, I was using 0.1 instead of 0.01, I also fixed it. The CI is running and in a few minutes, you should be able to download binaries (https://github.com/pierreguillot/Camomile/actions/runs/797107915) can you test and tell me if it works? Thank you!

@jyg
Copy link

jyg commented May 3, 2021

Hello, I just tried the Camomile-Linux64 artifact, but unfortunately Reaper cannot open it. I'll try on Windows asap.

@pierreguillot
Copy link
Owner

Do you have any error messages? I tried on Ubuntu 20.04 with Reaper 6.20 and it works.

@jyg
Copy link

jyg commented May 3, 2021

Maybe the fact that I'm on Ubuntu 18.04.5 ?
The error message delivered by Reaper is "the following plugin effect couldn't be loaded"
I have to further investigate.

@pierreguillot
Copy link
Owner

I'll try to add a Ubuntu 18.04 VM so.

@pierreguillot
Copy link
Owner

Can you try this one https://github.com/pierreguillot/Camomile/actions/runs/809307975? Thank you!

@jyg
Copy link

jyg commented May 4, 2021

Can you try this one https://github.com/pierreguillot/Camomile/actions/runs/809307975? Thank you!

Yes It works. And the range and increments for sliders work perfectly.
Many Thanks !
PS Does this mean that we may have to distribute 2 plugin versions, according to linux OS version ?

@pierreguillot
Copy link
Owner

PS Does this mean that we may have to distribute 2 plugin versions, according to linux OS version ?
Yes, because Ubuntu 20 and 18 are not compatible...

@jyg
Copy link

jyg commented May 4, 2021

Yes, because Ubuntu 20 and 18 are not compatible..

Strange, because so far I could use previous builds on ubuntu 18.04.5

@pierreguillot
Copy link
Owner

Because it was compiled on Travis with Ubuntu 16.04. I guess the binaries were not working on Ubuntu 20.04.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants