sort instrument list alphabetically
authorRobin Gareus <robin@gareus.org>
Thu, 6 Oct 2016 11:57:58 +0000 (13:57 +0200)
committerRobin Gareus <robin@gareus.org>
Thu, 6 Oct 2016 11:57:58 +0000 (13:57 +0200)
gtk2_ardour/instrument_selector.cc

index ffd11ccf7015ad867702bd9d20a810e2cab4138b..618facd42a1f2ae94105eebbaccb9e10fbea49aa 100644 (file)
@@ -16,6 +16,7 @@
   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
 
+#include "pbd/convert.h"
 #include "ardour/plugin_manager.h"
 #include "gtkmm2ext/gui_thread.h"
 #include "instrument_selector.h"
@@ -64,6 +65,12 @@ InstrumentSelector::refill()
        set_button_sensitivity(Gtk::SENSITIVITY_AUTO);
 }
 
+static bool
+pluginsort (const PluginInfoPtr& a, const PluginInfoPtr& b)
+{
+       return PBD::downcase(a->name) < PBD::downcase(b->name);
+}
+
 void
 InstrumentSelector::build_instrument_list()
 {
@@ -85,6 +92,8 @@ InstrumentSelector::build_instrument_list()
        all_plugs.insert(all_plugs.end(), manager.lv2_plugin_info().begin(), manager.lv2_plugin_info().end());
 #endif
 
+       all_plugs.sort (pluginsort);
+
        _instrument_list = ListStore::create(_instrument_list_columns);
 
        TreeModel::Row row = *(_instrument_list->append());