diff options
author | Robin Gareus <robin@gareus.org> | 2016-04-11 14:06:26 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-04-11 14:06:26 +0200 |
commit | d21f20290515817cd7664301912184edb43c1845 (patch) | |
tree | 8d81a1d6a6d644f30b488c65d2603396ebc6d833 /gtk2_ardour/luainstance.cc | |
parent | ab01d150be6ba8f7f4a9359586cf19fd604115d6 (diff) |
add some more Editor Selection lua bindings
Diffstat (limited to 'gtk2_ardour/luainstance.cc')
-rw-r--r-- | gtk2_ardour/luainstance.cc | 70 |
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 |