add Lua bindings for Range Time Selection
authorRobin Gareus <robin@gareus.org>
Sun, 10 Apr 2016 22:31:35 +0000 (00:31 +0200)
committerRobin Gareus <robin@gareus.org>
Sun, 10 Apr 2016 22:31:35 +0000 (00:31 +0200)
```lua
print (Editor:get_selection ().time:start ())

for ar in Editor:get_selection ().time:iter () do
  print (ar.id, ar.start, ar._end)
end
```

gtk2_ardour/luainstance.cc

index d8ec0a20f2bcf32f37fca3b7cc02b7963619a51d..32638bf334fad796d3e3279b40dfb36eb35a0fe7 100644 (file)
@@ -226,6 +226,12 @@ LuaInstance::register_classes (lua_State* L)
                .addFunction ("regionlist", &RegionSelection::regionlist) // XXX check windows binding (libardour)
                .endClass ()
 
+               .deriveClass <TimeSelection, std::list<ARDOUR::AudioRange> > ("TimeSelection")
+               .addFunction ("start", &TimeSelection::start)
+               .addFunction ("end_frame", &TimeSelection::end_frame)
+               .addFunction ("length", &TimeSelection::length)
+               .endClass ()
+
 #if 0
                .beginClass <AxisView> ("AxisView")
                .endClass ()
@@ -240,6 +246,7 @@ LuaInstance::register_classes (lua_State* L)
                .addFunction ("clear_all", &Selection::clear_all)
                .addData ("tracks", &Selection::tracks)
                .addData ("regions", &Selection::regions)
+               .addData ("time", &Selection::time)
                .endClass ()
 
                .beginClass <TrackViewList> ("TrackViewList")