diff options
-rw-r--r-- | gtk2_ardour/luainstance.cc | 6 | ||||
-rw-r--r-- | gtk2_ardour/region_selection.cc | 10 | ||||
-rw-r--r-- | gtk2_ardour/region_selection.h | 2 | ||||
-rw-r--r-- | gtk2_ardour/track_view_list.cc | 14 | ||||
-rw-r--r-- | gtk2_ardour/track_view_list.h | 2 |
5 files changed, 34 insertions, 0 deletions
diff --git a/gtk2_ardour/luainstance.cc b/gtk2_ardour/luainstance.cc index 9e29d59602..d8ec0a20f2 100644 --- a/gtk2_ardour/luainstance.cc +++ b/gtk2_ardour/luainstance.cc @@ -223,21 +223,27 @@ LuaInstance::register_classes (lua_State* L) .addFunction ("start", &RegionSelection::start) .addFunction ("end_frame", &RegionSelection::end_frame) .addFunction ("n_midi_regions", &RegionSelection::n_midi_regions) + .addFunction ("regionlist", &RegionSelection::regionlist) // XXX check windows binding (libardour) .endClass () +#if 0 .beginClass <AxisView> ("AxisView") .endClass () .deriveClass <TimeAxisView, AxisView> ("TimeAxisView") .endClass () .deriveClass <RouteTimeAxisView, TimeAxisView> ("RouteTimeAxisView") .endClass () +#endif .beginClass <Selection> ("Selection") .addFunction ("clear", &Selection::clear) .addFunction ("clear_all", &Selection::clear_all) + .addData ("tracks", &Selection::tracks) + .addData ("regions", &Selection::regions) .endClass () .beginClass <TrackViewList> ("TrackViewList") + .addFunction ("routelist", &TrackViewList::routelist) // XXX check windows binding (libardour) .endClass () .deriveClass <TrackSelection, TrackViewList> ("TrackSelection") diff --git a/gtk2_ardour/region_selection.cc b/gtk2_ardour/region_selection.cc index 1536dd61e4..2a3a307459 100644 --- a/gtk2_ardour/region_selection.cc +++ b/gtk2_ardour/region_selection.cc @@ -303,3 +303,13 @@ RegionSelection::n_midi_regions () const return count; } + +ARDOUR::RegionList +RegionSelection::regionlist () const +{ + ARDOUR::RegionList rl; + for (const_iterator r = begin (); r != end (); ++r) { + rl.push_back ((*r)->region ()); + } + return rl; +} diff --git a/gtk2_ardour/region_selection.h b/gtk2_ardour/region_selection.h index 062557eb9b..3bbbe8c307 100644 --- a/gtk2_ardour/region_selection.h +++ b/gtk2_ardour/region_selection.h @@ -66,6 +66,8 @@ class RegionSelection : public std::list<RegionView*> std::set<boost::shared_ptr<ARDOUR::Playlist> > playlists () const; std::list<PBD::ID> pending; + ARDOUR::RegionList regionlist () const; + private: void remove_it (RegionView*); diff --git a/gtk2_ardour/track_view_list.cc b/gtk2_ardour/track_view_list.cc index cc29a57521..a89565c067 100644 --- a/gtk2_ardour/track_view_list.cc +++ b/gtk2_ardour/track_view_list.cc @@ -19,6 +19,7 @@ #include <algorithm> #include "track_view_list.h" +#include "route_time_axis.h" using namespace std; @@ -51,3 +52,16 @@ TrackViewList::add (TrackViewList const & t) return added; } + +ARDOUR::RouteList +TrackViewList::routelist () const +{ + ARDOUR::RouteList rl; + for (TrackViewList::const_iterator i = begin (); i != end (); ++i) { + RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (*i); + if (rtv) { + rl.push_back (rtv->route ()); + } + } + return rl; +} diff --git a/gtk2_ardour/track_view_list.h b/gtk2_ardour/track_view_list.h index 24f26465ef..227cb1605b 100644 --- a/gtk2_ardour/track_view_list.h +++ b/gtk2_ardour/track_view_list.h @@ -20,6 +20,7 @@ #ifndef __ardour_gtk_track_view_list_h__ #define __ardour_gtk_track_view_list_h__ +#include "ardour/types.h" #include <list> #include <set> @@ -37,6 +38,7 @@ public: bool contains (TimeAxisView const *) const; TrackViewList filter_to_unique_playlists (); + ARDOUR::RouteList routelist () const; }; #endif |