summaryrefslogtreecommitdiff
path: root/gtk2_ardour/luainstance.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-02-23 22:31:03 +0100
committerRobin Gareus <robin@gareus.org>2017-02-23 22:32:32 +0100
commit1e4e97019da3e90f89614da51ac537ed2041bb55 (patch)
tree0f8177b0fa20002f475a614e0d907634dbd71338 /gtk2_ardour/luainstance.cc
parent71fd94b422574d1efbcce1ab85c6ce3da22ba450 (diff)
Lua bindings to access editor selection + region selection bindings
Diffstat (limited to 'gtk2_ardour/luainstance.cc')
-rw-r--r--gtk2_ardour/luainstance.cc24
1 files changed, 23 insertions, 1 deletions
diff --git a/gtk2_ardour/luainstance.cc b/gtk2_ardour/luainstance.cc
index 1a8bf12d62..c8a4fe9e3b 100644
--- a/gtk2_ardour/luainstance.cc
+++ b/gtk2_ardour/luainstance.cc
@@ -37,8 +37,10 @@
#include "luainstance.h"
#include "luasignal.h"
#include "marker.h"
+#include "region_view.h"
#include "processor_box.h"
#include "time_axis_view.h"
+#include "time_axis_view_item.h"
#include "selection.h"
#include "script_selector.h"
#include "timers.h"
@@ -582,8 +584,17 @@ LuaInstance::register_classes (lua_State* L)
.endClass ()
#endif
+ .beginClass <Selectable> ("Selectable")
+ .endClass ()
+ .deriveClass <TimeAxisViewItem, Selectable> ("TimeAxisViewItem")
+ .endClass ()
+ .deriveClass <RegionView, TimeAxisViewItem> ("RegionView")
+ .endClass ()
+
+ .beginStdCPtrList <Selectable> ("SelectionList")
+ .endClass ()
+
.beginClass <RegionSelection> ("RegionSelection")
- .addFunction ("clear_all", &RegionSelection::clear_all)
.addFunction ("start", &RegionSelection::start)
.addFunction ("end_frame", &RegionSelection::end_frame)
.addFunction ("n_midi_regions", &RegionSelection::n_midi_regions)
@@ -646,6 +657,8 @@ LuaInstance::register_classes (lua_State* L)
.addFunction ("get_cut_buffer", &PublicEditor::get_cut_buffer)
.addRefFunction ("get_selection_extents", &PublicEditor::get_selection_extents)
+ .addFunction ("set_selection", &PublicEditor::set_selection)
+
.addFunction ("play_selection", &PublicEditor::play_selection)
.addFunction ("play_with_preroll", &PublicEditor::play_with_preroll)
.addFunction ("maybe_locate_with_edit_preroll", &PublicEditor::maybe_locate_with_edit_preroll)
@@ -691,6 +704,8 @@ LuaInstance::register_classes (lua_State* L)
.addFunction ("set_selected_mixer_strip", &PublicEditor::set_selected_mixer_strip)
.addFunction ("hide_track_in_display", &PublicEditor::hide_track_in_display)
#endif
+
+ .addFunction ("get_regionview_from_region", &PublicEditor::get_regionview_from_region)
.addFunction ("set_stationary_playhead", &PublicEditor::set_stationary_playhead)
.addFunction ("stationary_playhead", &PublicEditor::stationary_playhead)
.addFunction ("set_follow_playhead", &PublicEditor::set_follow_playhead)
@@ -783,6 +798,13 @@ LuaInstance::register_classes (lua_State* L)
.addConst ("PunchOut", ArdourMarker::Type(ArdourMarker::PunchOut))
.endNamespace ()
+ .beginNamespace ("SelectionOp")
+ .addConst ("Toggle", Selection::Operation(Selection::Toggle))
+ .addConst ("Set", Selection::Operation(Selection::Set))
+ .addConst ("Extend", Selection::Operation(Selection::Extend))
+ .addConst ("Add", Selection::Operation(Selection::Add))
+ .endNamespace ()
+
.endNamespace (); // end ArdourUI
// Editing Symbols