From 6d53b420221f4299caa9a5a4e9c5d802bfe786ae Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 11 Nov 2025 00:57:57 +0100 Subject: [PATCH] Add enum to configure VST3 knob mode --- libs/ardour/ardour/types.h | 8 ++++++++ libs/ardour/ardour/types_convert.h | 1 + libs/ardour/enums.cc | 7 +++++++ 3 files changed, 16 insertions(+) diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h index 80169edc13..585ac9ab9d 100644 --- a/libs/ardour/ardour/types.h +++ b/libs/ardour/ardour/types.h @@ -1003,6 +1003,14 @@ enum RecordState { }; +/* compare to IEditController */ +enum VST3KnobMode { + VST3KnobPluginDefault = -1, + VST3KnobCircularMode = 0, + VST3KnobRelativCircularMode, + VST3KnobLinearMode +}; + } // namespace ARDOUR /* for now, break the rules and use "using" to make this "global" */ diff --git a/libs/ardour/ardour/types_convert.h b/libs/ardour/ardour/types_convert.h index 75f69c199f..131476b38a 100644 --- a/libs/ardour/ardour/types_convert.h +++ b/libs/ardour/ardour/types_convert.h @@ -91,6 +91,7 @@ DEFINE_ENUM_CONVERT(ARDOUR::MidiPortFlags) DEFINE_ENUM_CONVERT(ARDOUR::TransportRequestType) DEFINE_ENUM_CONVERT(ARDOUR::LoopFadeChoice) DEFINE_ENUM_CONVERT(ARDOUR::CueBehavior) +DEFINE_ENUM_CONVERT(ARDOUR::VST3KnobMode) DEFINE_ENUM_CONVERT(MusicalMode::Type) diff --git a/libs/ardour/enums.cc b/libs/ardour/enums.cc index 9e426177f8..f29e90900c 100644 --- a/libs/ardour/enums.cc +++ b/libs/ardour/enums.cc @@ -168,6 +168,7 @@ setup_enum_writer () FollowAction::Type _FollowAction; Trigger::StretchMode _TriggerStretchMode; CueBehavior _CueBehavior; + VST3KnobMode _VST3KnobMode; DSP::PerceptualAnalyzer::Speed _DSPAnalyzerSpeed; DSP::PerceptualAnalyzer::Warp _DSPAnalyzerWarp; @@ -958,6 +959,12 @@ setup_enum_writer () REGISTER_ENUM (ImplicitlyIgnoreCues); REGISTER_BITS (_CueBehavior); + REGISTER_ENUM (VST3KnobPluginDefault); + REGISTER_ENUM (VST3KnobCircularMode); + REGISTER_ENUM (VST3KnobRelativCircularMode); + REGISTER_ENUM (VST3KnobLinearMode); + REGISTER (_VST3KnobMode); + REGISTER_CLASS_ENUM (DSP::PerceptualAnalyzer, Rapid); REGISTER_CLASS_ENUM (DSP::PerceptualAnalyzer, Fast); REGISTER_CLASS_ENUM (DSP::PerceptualAnalyzer, Moderate);