summaryrefslogtreecommitdiff
path: root/libs/ardour/session.cc
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2018-10-19 20:02:44 -0500
committerBen Loftis <ben@harrisonconsoles.com>2019-08-01 12:11:31 -0500
commit6c052348b513719cf40893595fb82d46d55704cb (patch)
tree27dec32a93a8a484f853a5ee89a5ca7e1cb9dce7 /libs/ardour/session.cc
parent375a09029535bd76afa0d76c74278a77805c9417 (diff)
(Source List) Region Tags (libardour part)
Rough-in: Region-Tags. More correct implementation of tags property (libardour). Region Tags (libardour part)
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r--libs/ardour/session.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index eb55e55508..4bb8742ed0 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -4824,6 +4824,25 @@ Session::remove_last_capture ()
return 0;
}
+void
+Session::get_last_capture_sources (std::list<boost::shared_ptr<Source> >& srcs)
+{
+ boost::shared_ptr<RouteList> rl = routes.reader ();
+ for (RouteList::iterator i = rl->begin(); i != rl->end(); ++i) {
+ boost::shared_ptr<Track> tr = boost::dynamic_pointer_cast<Track> (*i);
+ if (!tr) {
+ continue;
+ }
+
+ list<boost::shared_ptr<Source> >& l = tr->last_capture_sources();
+
+ if (!l.empty()) {
+ srcs.insert (srcs.end(), l.begin(), l.end());
+ l.clear ();
+ }
+ }
+}
+
/* Source Management */
void