From 05247255fe7333808311022918ba8a090fd99ea3 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 22 Aug 2017 03:12:07 +0200 Subject: Add Lua bindings for ArdourUI's translate_order() e.g. calculate the route insert position: print (ArdourUI.translate_order (ArdourUI.InsertAt.BeforeSelection)) --- gtk2_ardour/luainstance.cc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gtk2_ardour/luainstance.cc') diff --git a/gtk2_ardour/luainstance.cc b/gtk2_ardour/luainstance.cc index fe4276c39a..248e867be9 100644 --- a/gtk2_ardour/luainstance.cc +++ b/gtk2_ardour/luainstance.cc @@ -368,6 +368,7 @@ namespace LuaMixer { } }; + //////////////////////////////////////////////////////////////////////////////// static PBD::ScopedConnectionList _luaexecs; @@ -422,6 +423,14 @@ lua_exec (std::string cmd) return 0; } #endif +//////////////////////////////////////////////////////////////////////////////// + +// ARDOUR_UI and instance() are not exposed. +ARDOUR::PresentationInfo::order_t +lua_translate_order (RouteDialogs::InsertAt place) +{ + return ARDOUR_UI::instance()->translate_order (place); +} //////////////////////////////////////////////////////////////////////////////// @@ -908,7 +917,16 @@ LuaInstance::register_classes (lua_State* L) .addFunction ("set_toggleaction", &PublicEditor::set_toggleaction) .endClass () + .addFunction ("translate_order", &lua_translate_order) + /* ArdourUI enums */ + .beginNamespace ("InsertAt") + .addConst ("BeforeSelection", RouteDialogs::InsertAt(RouteDialogs::BeforeSelection)) + .addConst ("AfterSelection", RouteDialogs::InsertAt(RouteDialogs::AfterSelection)) + .addConst ("First", RouteDialogs::InsertAt(RouteDialogs::First)) + .addConst ("Last", RouteDialogs::InsertAt(RouteDialogs::Last)) + .endNamespace () + .beginNamespace ("MarkerType") .addConst ("Mark", ArdourMarker::Type(ArdourMarker::Mark)) .addConst ("Tempo", ArdourMarker::Type(ArdourMarker::Tempo)) -- cgit v1.2.3