mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-07 07:14: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);
|
add_option (_("Plugins/GUI"), _plugin_prefer_inline);
|
||||||
#endif
|
#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)
|
#if (defined WINDOWS_VST_SUPPORT || defined MACVST_SUPPORT || defined LXVST_SUPPORT || defined VST3_SUPPORT)
|
||||||
add_option (_("Plugins/VST"), new OptionEditorHeading (_("VST")));
|
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."));
|
"are always searched, and need not be explicitly set."));
|
||||||
add_option (_("Plugins/VST"), vst3_path);
|
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)
|
#if (defined WINDOWS_VST_SUPPORT || defined MACVST_SUPPORT || defined LXVST_SUPPORT)
|
||||||
add_option (_("Plugins/VST"), new OptionEditorHeading (_("VST2/VST3")));
|
add_option (_("Plugins/VST"), new OptionEditorHeading (_("VST2/VST3")));
|
||||||
add_option (_("Plugins/VST"),
|
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, plugin_scan_timeout, "plugin-scan-timeout", 150) /* deci-seconds */
|
||||||
CONFIG_VARIABLE (uint32_t, limit_n_automatables, "limit-n-automatables", 512)
|
CONFIG_VARIABLE (uint32_t, limit_n_automatables, "limit-n-automatables", 512)
|
||||||
CONFIG_VARIABLE (uint32_t, plugin_cache_version, "plugin-cache-version", 0)
|
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 (float, tail_duration_sec, "tail-duration-sec", 2.0)
|
||||||
CONFIG_VARIABLE (uint32_t, max_tail_samples, "max-tail-samples", 0xffffffff) // aka kInfiniteTail
|
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))
|
.addConst ("NameAfterDriver", ARDOUR::TracksAutoNamingRule(NameAfterDriver))
|
||||||
.endNamespace ()
|
.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
|
.endNamespace (); // end ARDOUR
|
||||||
|
|
||||||
luabridge::getGlobalNamespace (L)
|
luabridge::getGlobalNamespace (L)
|
||||||
|
|
|
||||||
|
|
@ -1322,7 +1322,19 @@ VST3PI::VST3PI (std::shared_ptr<ARDOUR::VST3PluginModule> m, std::string unique_
|
||||||
|
|
||||||
FUnknownPtr<Vst::IEditController2> controller2 (_controller);
|
FUnknownPtr<Vst::IEditController2> controller2 (_controller);
|
||||||
if (controller2) {
|
if (controller2) {
|
||||||
|
switch (Config->get_vst3_knob_mode ()) {
|
||||||
|
case VST3KnobLinearMode:
|
||||||
controller2->setKnobMode (Vst::kLinearMode);
|
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 ();
|
int32 n_params = _controller->getParameterCount ();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue