Make plugin list lengths configuable

This commit is contained in:
Robin Gareus 2020-06-26 12:45:39 +02:00
parent 4f4ee4c652
commit 0518e1e88f
No known key found for this signature in database
GPG key ID: A090BCE02CF57F04
5 changed files with 35 additions and 3 deletions

View file

@ -3167,7 +3167,7 @@ Mixer_UI::refill_favorite_plugins ()
{
PluginChartsSorter cmp;
plugs.sort (cmp);
plugs.resize (std::min (plugs.size(), size_t(10)));
plugs.resize (std::min (plugs.size(), size_t(UIConfiguration::instance().get_max_plugin_chart())));
}
break;
case PLM_Recent:
@ -3175,6 +3175,7 @@ Mixer_UI::refill_favorite_plugins ()
PluginRecentSorter cmp;
plugs.sort (cmp);
plugs.resize (std::min (plugs.size(), size_t(10)));
plugs.resize (std::min (plugs.size(), size_t(UIConfiguration::instance().get_max_plugin_recent())));
}
break;
}

View file

@ -970,7 +970,7 @@ PluginSelector::build_plugin_menu ()
items.push_back (SeparatorElem ());
Menu* charts = create_charts_menu(all_plugs);
items.push_back (MenuElem (_("Top-10"), *manage (charts)));
items.push_back (MenuElem (_("By Popularity"), *manage (charts)));
Menu* by_creator = create_by_creator_menu(all_plugs);
items.push_back (MenuElem (_("By Creator"), *manage (by_creator)));
@ -1048,7 +1048,7 @@ PluginSelector::create_charts_menu (PluginInfoList& all_plugs)
}
PluginChartsSorter cmp;
plugs.sort (cmp);
plugs.resize (std::min (plugs.size(), size_t(10)));
plugs.resize (std::min (plugs.size(), size_t(UIConfiguration::instance().get_max_plugin_chart())));
PluginABCSorter abc;
plugs.sort (abc);

View file

@ -3767,6 +3767,30 @@ RCOptionEditor::RCOptionEditor ()
_("<b>When enabled</b> show a dialog to select instrument channel configuration before adding a multichannel plugin."));
#endif
add_option (_("Plugins"), new OptionEditorHeading (_("Statistics")));
add_option (_("Plugins"),
new RcActionButton (_("Reset Statistics"),
sigc::mem_fun (*this, &RCOptionEditor::plugin_reset_stats)));
add_option (_("Plugins"),
new SpinOption<int32_t> (
"max-plugin-chart",
_("Plugin chart (use-count) length"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_max_plugin_chart),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_max_plugin_chart),
10, 25, 1, 5
));
add_option (_("Plugins"),
new SpinOption<int32_t> (
"max-plugin-recent",
_("Plugin recent list length"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_max_plugin_recent),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_max_plugin_recent),
10, 50, 1, 5
));
add_option (_("Plugins"), new OptionEditorBlank ());
/* INTERFACE */
@ -4296,6 +4320,10 @@ void RCOptionEditor::plugin_scan_refresh () {
psd.start ();
}
void RCOptionEditor::plugin_reset_stats () {
PluginManager::instance().reset_stats();
}
void RCOptionEditor::clear_vst_cache () {
PluginManager::instance().clear_vst_cache();
}

View file

@ -65,6 +65,7 @@ private:
/* plugin actions */
void plugin_scan_refresh ();
void plugin_reset_stats ();
void clear_vst_cache ();
void clear_vst_blacklist ();
void clear_au_cache ();

View file

@ -103,6 +103,8 @@ UI_CONFIG_VARIABLE (bool, save_export_analysis_image, "save-export-analysis-imag
UI_CONFIG_VARIABLE (bool, save_export_mixer_screenshot, "save-export-mixer-screenshot", false)
UI_CONFIG_VARIABLE (bool, open_gui_after_adding_plugin, "open-gui-after-adding-plugin", true)
UI_CONFIG_VARIABLE (bool, show_inline_display_by_default, "show-inline-display-by-default", true)
UI_CONFIG_VARIABLE (int32_t, max_plugin_chart, "max-plugin-chart", 10)
UI_CONFIG_VARIABLE (int32_t, max_plugin_recent, "max-plugin-recent", 10)
UI_CONFIG_VARIABLE (bool, prefer_inline_over_gui, "prefer-inline-over-gui", true)
UI_CONFIG_VARIABLE (uint32_t, max_inline_controls, "max-inline-controls", 32) /* per processor */
UI_CONFIG_VARIABLE (uint32_t, action_table_columns, "action-table-columns", 3)