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:
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"))
{