diff options
author | David Robillard <d@drobilla.net> | 2009-05-11 22:21:55 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-05-11 22:21:55 +0000 |
commit | edf73d79e383d6be304266e6d18e7f751b5bdf9c (patch) | |
tree | 702e4fbc61f8ce38b4d8b2caf55ea58e973f5237 /src/gui/PatchCanvas.hpp | |
parent | faf4db950721d5425bc8078d0fa6606e7064e69a (diff) | |
download | ingen-edf73d79e383d6be304266e6d18e7f751b5bdf9c.tar.gz ingen-edf73d79e383d6be304266e6d18e7f751b5bdf9c.tar.bz2 ingen-edf73d79e383d6be304266e6d18e7f751b5bdf9c.zip |
O(nlogn) plugin menu generation (previously O(n^2)) where n = number of plugin classes.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1978 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/PatchCanvas.hpp')
-rw-r--r-- | src/gui/PatchCanvas.hpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gui/PatchCanvas.hpp b/src/gui/PatchCanvas.hpp index b67c4937..139b7582 100644 --- a/src/gui/PatchCanvas.hpp +++ b/src/gui/PatchCanvas.hpp @@ -108,11 +108,13 @@ private: void build_classless_menu(); #ifdef HAVE_SLV2 + typedef std::multimap<const std::string, SLV2PluginClass> LV2Children; void build_plugin_menu(); size_t build_plugin_class_menu( - Gtk::Menu* menu, - SLV2PluginClass plugin_class, - SLV2PluginClasses classes); + Gtk::Menu* menu, + SLV2PluginClass plugin_class, + SLV2PluginClasses classes, + const LV2Children& children); #endif GraphObject::Properties get_initial_data(); |