diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2008-02-13 01:56:33 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2008-02-13 01:56:33 +0000 |
commit | 22a407fb6b4dac1c88bf757832998c6d8ed8f6f2 (patch) | |
tree | 5cf381e22b773318866d98a5716277f2759e9966 /libs/ardour/route.cc | |
parent | ea41f0f37b709f6d5e0b8fe66dd1335f9a8a0b2f (diff) |
allow ardour to use the (hard) maximum number of open files (this one's for you essej)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3044 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 95571bd3da..0ff6a02799 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -2194,7 +2194,7 @@ Route::handle_transport_stopped (bool abort_ignored, bool did_locate, bool can_f Glib::RWLock::ReaderLock lm (redirect_lock); if (!did_locate) { - automation_snapshot (now); + automation_snapshot (now, true); } for (RedirectList::iterator i = _redirects.begin(); i != _redirects.end(); ++i) { @@ -2301,7 +2301,7 @@ Route::roll (nframes_t nframes, nframes_t start_frame, nframes_t end_frame, nfra if (lm.locked()) { // automation snapshot can also be called from the non-rt context // and it uses the redirect list, so we take the lock out here - automation_snapshot (_session.transport_frame()); + automation_snapshot (_session.transport_frame(), false); } } @@ -2442,12 +2442,16 @@ Route::set_latency_delay (nframes_t longest_session_latency) } void -Route::automation_snapshot (nframes_t now) +Route::automation_snapshot (nframes_t now, bool force) { - IO::automation_snapshot (now); + if (!force && !should_snapshot(now)) { + return; + } + + IO::automation_snapshot (now, force); for (RedirectList::iterator i = _redirects.begin(); i != _redirects.end(); ++i) { - (*i)->automation_snapshot (now); + (*i)->automation_snapshot (now, force); } } |