DPF

DISTRHO Plugin Framework
Log | Files | Refs | Submodules | README | LICENSE

commit c2ff0c5d8a9284e838913470ae2ddb76ba50fdb2
parent bd92cf20616f59a6e55c6204b35a284e61e9bb12
Author: falkTX <falktx@falktx.com>
Date:   Fri, 19 Aug 2022 00:39:23 +0100

Show alert window on macOS when standalone fails to start

Diffstat:
Mdistrho/src/DistrhoPluginJACK.cpp | 18+++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/distrho/src/DistrhoPluginJACK.cpp b/distrho/src/DistrhoPluginJACK.cpp @@ -38,6 +38,12 @@ #include "jackbridge/JackBridge.cpp" #include "lv2/lv2.h" +#ifdef DISTRHO_OS_MAC +# define Point CocoaPoint +# include <CoreFoundation/CoreFoundation.h> +# undef Point +#endif + #ifndef DISTRHO_OS_WINDOWS # include <signal.h> # include <unistd.h> @@ -982,7 +988,17 @@ int main(int argc, char* argv[]) else d_stderr("Failed to create the JACK client, cannot continue!"); - #if defined(DISTRHO_OS_WINDOWS) && DISTRHO_PLUGIN_HAS_UI + #if defined(DISTRHO_OS_MAC) + CFStringRef errorTitleRef = CFStringCreateWithCString(nullptr, + DISTRHO_PLUGIN_NAME ": Error", kCFStringEncodingUTF8); + CFStringRef errorStringRef = CFStringCreateWithCString(nullptr, + String("Failed to create JACK client, reason was:\n" + errorString).buffer(), kCFStringEncodingUTF8); + + CFUserNotificationDisplayAlert(0, kCFUserNotificationCautionAlertLevel, + nullptr, nullptr, nullptr, + errorTitleRef, errorStringRef, + nullptr, nullptr, nullptr, nullptr); + #elif defined(DISTRHO_OS_WINDOWS) && DISTRHO_PLUGIN_HAS_UI // make sure message box is high-dpi aware if (const HMODULE user32 = LoadLibrary("user32.dll")) {