robbert-vdh / nih-plug

Rust VST3 and CLAP plugin framework and plugins - because everything is better when you do it yourself
ISC License
1.78k stars 152 forks source link

Crisp, Diopser and Spectral Compressor Win7 GUI problems #61

Open eisbaer23 opened 1 year ago

eisbaer23 commented 1 year ago

Hi!

I'm having a problem running these plugins, they give these errors while being scanned : Crisp - SetProcessDpiAwarenessContext missing in user32.dll Diopser - GetDpiForWindow missing in user32.dll Spectral Compressor - GetDpiForWindow missing in user32.dll Both VST3 and CLAP variants.

If impossible to add Win7 support, would it be possible to have GUI-less variants of them?

nih-plugs-15c859a-windows - Windows 7 64bit - REAPER 64bit

robbert-vdh commented 1 year ago

(pasting my reply from https://bedroomproducersblog.com/2023/03/14/nih-plug/#comment-316749)

Baseview, the underlying windowing library, could be modified to query these functions at runtime and to just not be DPI-aware on Windows 7, but since Windows 7 (or 8, and 8.1) are EOL I don’t think this will make its way into baseview.

eisbaer23 commented 1 year ago

Yes, I see, the code is even commented "Only works on Windows 10 unfortunately". I guess it's somewhat trivial to fix, but tedious... Nevermind.

So, even a GUI-less version would not be possible (easily), since it uses the same library for at least some functions, right?

robbert-vdh commented 1 year ago

It's simple to work around but it does add additional complexity. And since noone will be testing on Windows 7 anyways, it may silently break again over time. With Windows 7 (and also Windows Vista and Windows XP, current baseview won't work there either) being EOL, it's difficult to justify adding support now.

LarsMS97 commented 1 year ago

I don't know if I should post this in baseline instead, but I can't open any of these GUIs on Windows 10 in Bitwig (version 3.3.11, so I'm using vst3 because this version doesn't support CLAP yet). The plugins run fine, I can control them through the exposed parameters, but crash when I try to open the GUI.

Is there any setup that I need to run through that I've missed? Or do you know if I can view error-logs somewhere that I could post here?

Off-Topic Also these plugins are amazing and if I ever get into rust and dsp programming (which is on my bucket-list) i will definitively get involved with this project. I laughed out loud when I switched from "Very Broken" to "Also Very Broken" Mode on the Puberty Simulator (which is great for dubstep btw) or read the description of the Loudness War Winner. Love the humor!