summaryrefslogtreecommitdiff
path: root/libs/ardour/luascripting.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-07-18 15:49:48 +0200
committerRobin Gareus <robin@gareus.org>2019-07-18 15:52:29 +0200
commit9748656a90c7f877757932a0ef234f5af4f2b639 (patch)
treee5934dd07ad7aac0409bbc00bdd4c5970368af85 /libs/ardour/luascripting.cc
parent8d98dfe8fc2167012f92009f3f66baf22793ba72 (diff)
Sort Lua scripts case-insensitive and expose sort-struct
Diffstat (limited to 'libs/ardour/luascripting.cc')
-rw-r--r--libs/ardour/luascripting.cc24
1 files changed, 12 insertions, 12 deletions
diff --git a/libs/ardour/luascripting.cc b/libs/ardour/luascripting.cc
index e748fb656e..2d56a608ea 100644
--- a/libs/ardour/luascripting.cc
+++ b/libs/ardour/luascripting.cc
@@ -28,6 +28,7 @@
#include "ardour/luascripting.h"
#include "ardour/lua_script_params.h"
#include "ardour/search_paths.h"
+#include "ardour/utils.h"
#include "lua/luastate.h"
#include "LuaBridge/LuaBridge.h"
@@ -104,11 +105,10 @@ LuaScripting::refresh (bool run_scan)
}
}
-struct ScriptSorter {
- bool operator () (LuaScriptInfoPtr a, LuaScriptInfoPtr b) {
- return a->name < b->name;
- }
-};
+bool
+LuaScripting::Sorter::operator() (LuaScriptInfoPtr const a, LuaScriptInfoPtr const b) const {
+ return ARDOUR::cmp_nocase_utf8 (a->name, b->name) < 0;
+}
LuaScriptInfoPtr
LuaScripting::script_info (const std::string &script) {
@@ -166,13 +166,13 @@ LuaScripting::scan ()
}
}
- std::sort (_sl_dsp->begin(), _sl_dsp->end(), ScriptSorter());
- std::sort (_sl_session->begin(), _sl_session->end(), ScriptSorter());
- std::sort (_sl_hook->begin(), _sl_hook->end(), ScriptSorter());
- std::sort (_sl_action->begin(), _sl_action->end(), ScriptSorter());
- std::sort (_sl_snippet->begin(), _sl_snippet->end(), ScriptSorter());
- std::sort (_sl_setup->begin(), _sl_setup->end(), ScriptSorter());
- std::sort (_sl_tracks->begin(), _sl_tracks->end(), ScriptSorter());
+ std::sort (_sl_dsp->begin(), _sl_dsp->end(), Sorter());
+ std::sort (_sl_session->begin(), _sl_session->end(), Sorter());
+ std::sort (_sl_hook->begin(), _sl_hook->end(), Sorter());
+ std::sort (_sl_action->begin(), _sl_action->end(), Sorter());
+ std::sort (_sl_snippet->begin(), _sl_snippet->end(), Sorter());
+ std::sort (_sl_setup->begin(), _sl_setup->end(), Sorter());
+ std::sort (_sl_tracks->begin(), _sl_tracks->end(), Sorter());
scripts_changed (); /* EMIT SIGNAL */
}