Optimize automation-event process splitting
[ardour.git] / gtk2_ardour / cocoacarbon.mm
index 592a55d09dc97a619c1c00f0d9e85ad8a653d398..f73488ea52e9fc9072aa9be515c341099e4c036f 100644 (file)
@@ -106,3 +106,19 @@ set_language_preference ()
         setenv ("LANG", [nslocale UTF8String], 0);
        CFRelease (cflocale);
 }
+
+       /* Prevent "App Nap" */
+
+void
+no_app_nap ()
+{
+
+#ifndef NSActivityLatencyCritical
+#define NSActivityLatencyCritical 0xFF00000000ULL
+#endif
+
+       if ( [ [ NSProcessInfo processInfo ] respondsToSelector:@selector(beginActivityWithOptions:reason:) ] ) {
+               cout << "Disabling MacOS AppNap\n";
+               [ [ NSProcessInfo processInfo] beginActivityWithOptions:NSActivityLatencyCritical reason:@"realtime audio" ];
+       }
+}