From e6230bfd98ea1a32feb3b43534f4e1d8bcd4106d Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 20 Jan 2023 21:46:11 +0100 Subject: [PATCH] Add enum to configure Apple NSGLView mode --- libs/ardour/ardour/types.h | 6 ++++++ libs/ardour/ardour/types_convert.h | 1 + libs/ardour/enums.cc | 6 ++++++ libs/ardour/luabindings.cc | 6 ++++++ 4 files changed, 19 insertions(+) diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h index 5cc4f114f8..fa2ecf8696 100644 --- a/libs/ardour/ardour/types.h +++ b/libs/ardour/ardour/types.h @@ -685,6 +685,12 @@ enum PluginGUIBehavior { PluginGUIDestroyVST, }; +enum AppleNSGLViewMode { + NSGLAuto, // disable on Catalina and above + NSGLDisable, + NSGLEnable +}; + /** A struct used to describe changes to processors in a route. * This is useful because objects that respond to a change in processors * can optimise what work they do based on details of what has changed. diff --git a/libs/ardour/ardour/types_convert.h b/libs/ardour/ardour/types_convert.h index b2d75a1c21..c293b6c7a3 100644 --- a/libs/ardour/ardour/types_convert.h +++ b/libs/ardour/ardour/types_convert.h @@ -80,6 +80,7 @@ DEFINE_ENUM_CONVERT(ARDOUR::WaveformScale) DEFINE_ENUM_CONVERT(ARDOUR::WaveformShape) DEFINE_ENUM_CONVERT(ARDOUR::ScreenSaverMode) DEFINE_ENUM_CONVERT(ARDOUR::PluginGUIBehavior) +DEFINE_ENUM_CONVERT(ARDOUR::AppleNSGLViewMode) DEFINE_ENUM_CONVERT(ARDOUR::VUMeterStandard) DEFINE_ENUM_CONVERT(ARDOUR::MeterLineUp) DEFINE_ENUM_CONVERT(ARDOUR::InputMeterLayout) diff --git a/libs/ardour/enums.cc b/libs/ardour/enums.cc index 2919932195..4566d1d759 100644 --- a/libs/ardour/enums.cc +++ b/libs/ardour/enums.cc @@ -144,6 +144,7 @@ setup_enum_writer () WaveformShape _WaveformShape; ScreenSaverMode _ScreenSaverMode; PluginGUIBehavior _PluginGUIBehavior; + AppleNSGLViewMode _AppleNSGLViewMode; Session::PostTransportWork _Session_PostTransportWork; MTC_Status _MIDI_MTC_Status; BufferingPreset _BufferingPreset; @@ -761,6 +762,11 @@ setup_enum_writer () REGISTER_ENUM(PluginGUIDestroyVST); REGISTER(_PluginGUIBehavior); + REGISTER_ENUM(NSGLAuto); + REGISTER_ENUM(NSGLDisable); + REGISTER_ENUM(NSGLEnable); + REGISTER(_AppleNSGLViewMode); + REGISTER_ENUM (Small); REGISTER_ENUM (Medium); REGISTER_ENUM (Large); diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc index 233b14a1ff..60c40fb1e8 100644 --- a/libs/ardour/luabindings.cc +++ b/libs/ardour/luabindings.cc @@ -2581,6 +2581,12 @@ LuaBindings::common (lua_State* L) .addConst ("InhibitAlways", ARDOUR::ScreenSaverMode(InhibitAlways)) .endNamespace () + .beginNamespace ("AppleNSGLViewMode") + .addConst ("NSGLAuto", ARDOUR::AppleNSGLViewMode(NSGLAuto)) + .addConst ("NSGLDisable", ARDOUR::AppleNSGLViewMode(NSGLDisable)) + .addConst ("NSGLEnable", ARDOUR::AppleNSGLViewMode(NSGLEnable)) + .endNamespace () + .beginNamespace ("PluginGUIBehavior") .addConst ("PluginGUIHide", ARDOUR::PluginGUIBehavior(PluginGUIHide)) .addConst ("PluginGUIDestroyAny", ARDOUR::PluginGUIBehavior(PluginGUIDestroyAny))