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

How Bitwig Determines win32-hdpi #57

Open
baconpaul opened this issue Oct 19, 2023 · 1 comment
Open

How Bitwig Determines win32-hdpi #57

baconpaul opened this issue Oct 19, 2023 · 1 comment
Assignees
Labels
bitwig Bitwig Studio related gui

Comments

@baconpaul
Copy link
Collaborator

Right now, bitwig determines if a CLAP supports win32 hdpi by looking for the feature win32-hdpi-aware in the features list, even though we removed that feature from the features list around CLAP 0.23. It needs to do this because it makes a scan time decision about which hosting program to use, and the hosting program is all-or-nothing HDPI.

Ideally bitwig would instead call guiSetScale and if it returns false, assume no HDPI support, but that is "too late" in that it requires the plugin started.

We finally (finally)fixed HDPI in the clap-juce-extensions (thanks to @jatinchowdhury18) but now are faced with a question about whether we add this feature to each and every JUCE extension. I sort of hate splatting the features space with this feature in such a widely used way to make CLAP plugins.

So I propose that Bitwig flip its default. that is, it assumes CLAPs support HDPI unless the no-hdpi-support feature is set, and we add that feature to the features list.

Alternate proposals from the group include

  1. bitwig re-engineering its hosting process so it can do per-window dpi and then use guiSetScale false (this is geil's suggestion)
  2. remove guiSetScale from the API and have plugins just ask the OS directly (this is timo's suggestion)
  3. add a marker factory extension so you can query the factory without creating the api (since plugin time is too late)
  4. leave it as it is and add this to the feature list for all the juce plugins

But before we did 4 wanted to make sure we want to do 4.

@abique abique self-assigned this Oct 19, 2023
@abique abique added bitwig Bitwig Studio related gui labels Oct 19, 2023
@abique
Copy link
Contributor

abique commented Apr 8, 2024

Hi @baconpaul,

We've tried 1. and we don't feel confident about that solution because it requires to keep track of the hidpi state based on which window is processing events, and it feels like a mess that can easily get out of control.

win32-hdpi-aware we currently don't use it. Bitwig in 5.1 just assumes all clap plugins are dpi aware. I've searched CLAP's git repository and didn't find that string.

The plugin knows at compile time if it is hidpi aware, isn't it?

Having a feature to indicate ahead of time if the plugins is dpi-aware makes sense to me, but I'm not sure if it is necessary.
If we were to add what about dpi-aware:true and dpi-aware:false?

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

No branches or pull requests

2 participants