summaryrefslogtreecommitdiff
path: root/gtk2_ardour/luainstance.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-11 14:06:26 +0200
committerRobin Gareus <robin@gareus.org>2016-04-11 14:06:26 +0200
commitd21f20290515817cd7664301912184edb43c1845 (patch)
tree8d81a1d6a6d644f30b488c65d2603396ebc6d833 /gtk2_ardour/luainstance.cc
parentab01d150be6ba8f7f4a9359586cf19fd604115d6 (diff)
add some more Editor Selection lua bindings
Diffstat (limited to 'gtk2_ardour/luainstance.cc')
-rw-r--r--gtk2_ardour/luainstance.cc70
1 files changed, 54 insertions, 16 deletions
diff --git a/gtk2_ardour/luainstance.cc b/gtk2_ardour/luainstance.cc
index 32638bf334..0519aec1ec 100644
--- a/gtk2_ardour/luainstance.cc
+++ b/gtk2_ardour/luainstance.cc
@@ -33,6 +33,7 @@
#include "region_selection.h"
#include "luainstance.h"
#include "luasignal.h"
+#include "marker.h"
#include "time_axis_view.h"
#include "selection.h"
#include "script_selector.h"
@@ -218,6 +219,25 @@ LuaInstance::register_classes (lua_State* L)
luabridge::getGlobalNamespace (L)
.beginNamespace ("ArdourUI")
+
+ .beginStdList <ArdourMarker*> ("ArdourMarkerList")
+ .endClass ()
+
+ .beginClass <ArdourMarker> ("ArdourMarker")
+ .addFunction ("name", &ArdourMarker::name)
+ .addFunction ("position", &ArdourMarker::position)
+ .addFunction ("_type", &ArdourMarker::type)
+ .endClass ()
+
+#if 0
+ .beginClass <AxisView> ("AxisView")
+ .endClass ()
+ .deriveClass <TimeAxisView, AxisView> ("TimeAxisView")
+ .endClass ()
+ .deriveClass <RouteTimeAxisView, TimeAxisView> ("RouteTimeAxisView")
+ .endClass ()
+#endif
+
.beginClass <RegionSelection> ("RegionSelection")
.addFunction ("clear_all", &RegionSelection::clear_all)
.addFunction ("start", &RegionSelection::start)
@@ -232,31 +252,31 @@ LuaInstance::register_classes (lua_State* L)
.addFunction ("length", &TimeSelection::length)
.endClass ()
-#if 0
- .beginClass <AxisView> ("AxisView")
+ .deriveClass <MarkerSelection, std::list<ArdourMarker*> > ("MarkerSelection")
.endClass ()
- .deriveClass <TimeAxisView, AxisView> ("TimeAxisView")
+
+ .beginClass <TrackViewList> ("TrackViewList")
+ .addFunction ("routelist", &TrackViewList::routelist) // XXX check windows binding (libardour)
.endClass ()
- .deriveClass <RouteTimeAxisView, TimeAxisView> ("RouteTimeAxisView")
+
+ .deriveClass <TrackSelection, TrackViewList> ("TrackSelection")
.endClass ()
-#endif
.beginClass <Selection> ("Selection")
.addFunction ("clear", &Selection::clear)
.addFunction ("clear_all", &Selection::clear_all)
+ .addFunction ("empty", &Selection::empty)
.addData ("tracks", &Selection::tracks)
.addData ("regions", &Selection::regions)
.addData ("time", &Selection::time)
- .endClass ()
-
- .beginClass <TrackViewList> ("TrackViewList")
- .addFunction ("routelist", &TrackViewList::routelist) // XXX check windows binding (libardour)
- .endClass ()
-
- .deriveClass <TrackSelection, TrackViewList> ("TrackSelection")
- .endClass ()
-
- .beginClass <ArdourMarker> ("ArdourMarker")
+ .addData ("markers", &Selection::markers)
+#if 0
+ .addData ("lines", &Selection::lines)
+ .addData ("playlists", &Selection::playlists)
+ .addData ("points", &Selection::points)
+ .addData ("midi_regions", &Selection::midi_regions)
+ .addData ("midi_notes", &Selection::midi_notes) // cut buffer only
+#endif
.endClass ()
.beginClass <PublicEditor> ("Editor")
@@ -403,7 +423,25 @@ LuaInstance::register_classes (lua_State* L)
.addFunction ("access_action", &PublicEditor::access_action)
.endClass ()
- .endNamespace ();
+
+ /* ArdourUI enums */
+ .beginNamespace ("MarkerType")
+ .addConst ("Mark", ArdourMarker::Type(ArdourMarker::Mark))
+ .addConst ("Tempo", ArdourMarker::Type(ArdourMarker::Tempo))
+ .addConst ("Meter", ArdourMarker::Type(ArdourMarker::Meter))
+ .addConst ("SessionStart", ArdourMarker::Type(ArdourMarker::SessionStart))
+ .addConst ("SessionEnd", ArdourMarker::Type(ArdourMarker::SessionEnd))
+ .addConst ("RangeStart", ArdourMarker::Type(ArdourMarker::RangeStart))
+ .addConst ("RangeEnd", ArdourMarker::Type(ArdourMarker::RangeEnd))
+ .addConst ("LoopStart", ArdourMarker::Type(ArdourMarker::LoopStart))
+ .addConst ("LoopEnd", ArdourMarker::Type(ArdourMarker::LoopEnd))
+ .addConst ("PunchIn", ArdourMarker::Type(ArdourMarker::PunchIn))
+ .addConst ("PunchOut", ArdourMarker::Type(ArdourMarker::PunchOut))
+ .endNamespace ()
+
+ .endNamespace (); // end ArdourUI
+
+ // Editing Symbols
#undef ZOOMFOCUS
#undef SNAPTYPE