From c2ff0c5d8a9284e838913470ae2ddb76ba50fdb2 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 19 Aug 2022 00:39:50 +0100 Subject: [PATCH] Show alert window on macOS when standalone fails to start --- distrho/src/DistrhoPluginJACK.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/distrho/src/DistrhoPluginJACK.cpp b/distrho/src/DistrhoPluginJACK.cpp index 35701827..f5ef2336 100644 --- 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 +# undef Point +#endif + #ifndef DISTRHO_OS_WINDOWS # include # include @@ -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")) {