4k scaling not working EngineHelpers::showAudioDeviceSettings() when Tracktion is in a DLL

I currently have Tracktion running in a DLL. I have exposed EngineHelpers::showAudioDeviceSettings(), but when I open the window, the contents are not scaled properly. For comparison, the left window is from the DLL, and the right window is from Tracktion’s AudioRecording example.

I have a 4k monitor and am using 175% scaling in the “Advanced scaling settings” on Windows.
Any help would be appreciated!

I’m not really sure about this but I don’t think it’s a Tracktion Engine related problem, it’s more a JUCE thing.

Maybe the plugin version is taking the DPI of the host?
Do you need to wrap opening the window in a juce::ScopedDPIAwarenessDisabler perhaps?

I have tried the following:

DialogWindow* DialogWindow::LaunchOptions::launchAsync()
{
    auto localDpiDisabler = std::make_unique<ScopedDPIAwarenessDisabler>();
    auto* d = create();
    d->enterModalState (true, nullptr, true);
    return d;
}

But unfortunately that didn’t fix the problem.

IIRC there is also the JUCE_WIN_PER_MONITOR_DPI_AWARE preprocessor macro that plays a role in this. See if it changes anything in the behaviour of your DLL build