mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-06 14:54:56 +01:00
Add preference to configure VST3 Knob mode
This commit is contained in:
parent
6d53b42022
commit
d8ea090902
4 changed files with 50 additions and 10 deletions
|
|
@ -4164,6 +4164,35 @@ These settings will only take effect after %1 is restarted.\n\
|
|||
add_option (_("Plugins/GUI"), _plugin_prefer_inline);
|
||||
#endif
|
||||
|
||||
#ifdef VST3_SUPPORT
|
||||
add_option (_("Plugins/GUI"), new OptionEditorHeading (_("VST3 UI")));
|
||||
|
||||
add_option (_("Plugins/GUI"),
|
||||
new BoolOption (
|
||||
"show-vst3-micro-edit-inline",
|
||||
_("Automatically show 'Micro Edit' tagged controls on the mixer-strip"),
|
||||
sigc::mem_fun (*_rc_config, &RCConfiguration::get_show_vst3_micro_edit_inline),
|
||||
sigc::mem_fun (*_rc_config, &RCConfiguration::set_show_vst3_micro_edit_inline)
|
||||
));
|
||||
|
||||
ComboOption<VST3KnobMode>* v3km = new ComboOption<VST3KnobMode> (
|
||||
"vst3-knob-mode",
|
||||
_("VST3 Knob Mode"),
|
||||
sigc::mem_fun (*_rc_config, &RCConfiguration::get_vst3_knob_mode),
|
||||
sigc::mem_fun (*_rc_config, &RCConfiguration::set_vst3_knob_mode)
|
||||
);
|
||||
|
||||
v3km->add (VST3KnobPluginDefault, _("Plugin Default"));
|
||||
v3km->add (VST3KnobCircularMode, _("Circular with jump to clicked position (discouraged)"));
|
||||
v3km->add (VST3KnobRelativCircularMode, _("Circular without jump to clicked position"));
|
||||
v3km->add (VST3KnobLinearMode, _("Linear: depending on vertical movement"));
|
||||
|
||||
v3km->set_note (_("These settings apply to new VST3 plugin instances only.\nAlready loaded plugins retain the previous setting."));
|
||||
|
||||
add_option (_("Plugins/GUI"), v3km);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#if (defined WINDOWS_VST_SUPPORT || defined MACVST_SUPPORT || defined LXVST_SUPPORT || defined VST3_SUPPORT)
|
||||
add_option (_("Plugins/VST"), new OptionEditorHeading (_("VST")));
|
||||
|
|
@ -4296,15 +4325,6 @@ These settings will only take effect after %1 is restarted.\n\
|
|||
"are always searched, and need not be explicitly set."));
|
||||
add_option (_("Plugins/VST"), vst3_path);
|
||||
|
||||
// -> Appearance/Mixer ?
|
||||
add_option (_("Plugins/VST"),
|
||||
new BoolOption (
|
||||
"show-vst3-micro-edit-inline",
|
||||
_("Automatically show 'Micro Edit' tagged controls on the mixer-strip"),
|
||||
sigc::mem_fun (*_rc_config, &RCConfiguration::get_show_vst3_micro_edit_inline),
|
||||
sigc::mem_fun (*_rc_config, &RCConfiguration::set_show_vst3_micro_edit_inline)
|
||||
));
|
||||
|
||||
#if (defined WINDOWS_VST_SUPPORT || defined MACVST_SUPPORT || defined LXVST_SUPPORT)
|
||||
add_option (_("Plugins/VST"), new OptionEditorHeading (_("VST2/VST3")));
|
||||
add_option (_("Plugins/VST"),
|
||||
|
|
|
|||
|
|
@ -259,6 +259,7 @@ CONFIG_VARIABLE (bool, setup_sidechain, "setup-sidechain", false)
|
|||
CONFIG_VARIABLE (uint32_t, plugin_scan_timeout, "plugin-scan-timeout", 150) /* deci-seconds */
|
||||
CONFIG_VARIABLE (uint32_t, limit_n_automatables, "limit-n-automatables", 512)
|
||||
CONFIG_VARIABLE (uint32_t, plugin_cache_version, "plugin-cache-version", 0)
|
||||
CONFIG_VARIABLE (VST3KnobMode, vst3_knob_mode, "vst3-knob-mode", VST3KnobLinearMode)
|
||||
|
||||
CONFIG_VARIABLE (float, tail_duration_sec, "tail-duration-sec", 2.0)
|
||||
CONFIG_VARIABLE (uint32_t, max_tail_samples, "max-tail-samples", 0xffffffff) // aka kInfiniteTail
|
||||
|
|
|
|||
|
|
@ -2927,6 +2927,13 @@ LuaBindings::common (lua_State* L)
|
|||
.addConst ("NameAfterDriver", ARDOUR::TracksAutoNamingRule(NameAfterDriver))
|
||||
.endNamespace ()
|
||||
|
||||
.beginNamespace ("VST3KnobMode")
|
||||
.addConst ("VST3KnobPluginDefault", ARDOUR::VST3KnobMode(VST3KnobPluginDefault))
|
||||
.addConst ("VST3KnobCircularMode", ARDOUR::VST3KnobMode(VST3KnobCircularMode))
|
||||
.addConst ("VST3KnobRelativCircularMode", ARDOUR::VST3KnobMode(VST3KnobRelativCircularMode))
|
||||
.addConst ("VST3KnobLinearMode", ARDOUR::VST3KnobMode(VST3KnobLinearMode))
|
||||
.endNamespace ()
|
||||
|
||||
.endNamespace (); // end ARDOUR
|
||||
|
||||
luabridge::getGlobalNamespace (L)
|
||||
|
|
|
|||
|
|
@ -1322,7 +1322,19 @@ VST3PI::VST3PI (std::shared_ptr<ARDOUR::VST3PluginModule> m, std::string unique_
|
|||
|
||||
FUnknownPtr<Vst::IEditController2> controller2 (_controller);
|
||||
if (controller2) {
|
||||
controller2->setKnobMode (Vst::kLinearMode);
|
||||
switch (Config->get_vst3_knob_mode ()) {
|
||||
case VST3KnobLinearMode:
|
||||
controller2->setKnobMode (Vst::kLinearMode);
|
||||
break;
|
||||
case VST3KnobCircularMode:
|
||||
controller2->setKnobMode (Vst::kCircularMode);
|
||||
break;
|
||||
case VST3KnobRelativCircularMode:
|
||||
controller2->setKnobMode (Vst::kRelativCircularMode);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
int32 n_params = _controller->getParameterCount ();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue