diff options
-rw-r--r-- | gtk2_ardour/bundle_env_cocoa.cc | 5 | ||||
-rw-r--r-- | gtk2_ardour/cocoacarbon.mm | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/gtk2_ardour/bundle_env_cocoa.cc b/gtk2_ardour/bundle_env_cocoa.cc index d63057408e..12d7aae2d6 100644 --- a/gtk2_ardour/bundle_env_cocoa.cc +++ b/gtk2_ardour/bundle_env_cocoa.cc @@ -50,6 +50,7 @@ using namespace ARDOUR; using namespace std; extern void set_language_preference (); // cocoacarbon.mm +extern void no_app_nap (); // cocoacarbon.mm static void setup_logging(void) @@ -81,6 +82,10 @@ setup_logging(void) void fixup_bundle_environment (int argc, char* argv[], string & localedir) { + /* do this even for non-bundle runtimes */ + + no_app_nap (); + if (!g_getenv ("ARDOUR_BUNDLED")) { return; } diff --git a/gtk2_ardour/cocoacarbon.mm b/gtk2_ardour/cocoacarbon.mm index 592a55d09d..2376756b03 100644 --- a/gtk2_ardour/cocoacarbon.mm +++ b/gtk2_ardour/cocoacarbon.mm @@ -106,3 +106,14 @@ set_language_preference () setenv ("LANG", [nslocale UTF8String], 0); CFRelease (cflocale); } + + /* Prevent "App Nap" */ + +void +no_app_nap () +{ + if ( [ [ NSProcessInfo processInfo ] respondsToSelector:@selector(beginActivityWithOptions:reason:) ] ) { + cout << "Disabling MacOS AppNap\n"; + [ [ NSProcessInfo processInfo] beginActivityWithOptions:NSActivityLatencyCritical reason:@"realtime audio" ]; + } +} |