// SPDX-License-Identifier: GPLv3-or-later WITH Appstore-exception // Copyright (C) 2020 Jesse Chappell #include "CrossPlatformUtils.h" //#include "../JuceLibraryCode/JuceHeader.h" #define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 #include #if JUCE_MAC //#import #import void getSafeAreaInsets(void * component, float & top, float & bottom, float & left, float & right, int & notchPos) { top = bottom = left = right = 0; notchPos = 0; } void disableAppNap() { // Does the App Nap API even exist on this Mac? if ([[NSProcessInfo processInfo] respondsToSelector:@selector(beginActivityWithOptions:reason:)]) { // If the API exists, then disable App Nap... // From NSProcessInfo.h: // NSActivityIdleSystemSleepDisabled = (1ULL << 20), // NSActivityUserInitiated = (0x00FFFFFFULL | NSActivityIdleSystemSleepDisabled), // NSActivityLatencyCritical = 0xFF00000000ULL uint64_t options = (0x00FFFFFFULL | (1ULL << 20)) | 0xFF00000000ULL; // NSActivityLatencyCritical | NSActivityUserInitiated [[NSProcessInfo processInfo] beginActivityWithOptions:options reason:@"avoiding audio hiccups and reducing latency"]; } } #endif