diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-06-13 15:52:31 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-06-13 15:52:31 +0000 |
commit | 37e9a53180877db90e3d9e88ac916a2ed0473ae3 (patch) | |
tree | 2a0dafa021931b1c49903b692cdc1593e81bafee /libs/ardour/route.cc | |
parent | 961e25d90e94f0139f834913ffbac3c9886b7113 (diff) |
remove Pannable/PanShell from the Monitor bus
git-svn-id: svn://localhost/ardour2/branches/3.0@9720 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 459ea67480..111c22cfd4 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -125,11 +125,13 @@ Route::init () /* panning */ - Pannable* p = new Pannable (_session); + if (!(_flags & Route::MonitorOut)) { + Pannable* p = new Pannable (_session); #ifdef BOOST_SP_ENABLE_DEBUG_HOOKS - boost_debug_shared_ptr_mark_interesting (p, "Pannable"); + boost_debug_shared_ptr_mark_interesting (p, "Pannable"); #endif - _pannable.reset (p); + _pannable.reset (p); + } /* input and output objects */ @@ -1843,7 +1845,9 @@ Route::state(bool full_state) cmt->add_content (_comment); } - node->add_child_nocopy (_pannable->state (full_state)); + if (_pannable) { + node->add_child_nocopy (_pannable->state (full_state)); + } for (i = _processors.begin(); i != _processors.end(); ++i) { node->add_child_nocopy((*i)->state (full_state)); @@ -1926,7 +1930,11 @@ Route::_set_state (const XMLNode& node, int version, bool /*call_base*/) if (child->name() == X_("Pannable")) { - _pannable->set_state (*child, version); + if (_pannable) { + _pannable->set_state (*child, version); + } else { + warning << string_compose (_("Pannable state found for route (%1) without a panner!"), name()) << endmsg; + } } } @@ -3064,7 +3072,10 @@ Route::set_latency_compensation (framecnt_t longest_session_latency) void Route::automation_snapshot (framepos_t now, bool force) { - _pannable->automation_snapshot (now, force); + if (_pannable) { + _pannable->automation_snapshot (now, force); + } + for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) { (*i)->automation_snapshot (now, force); } @@ -3204,7 +3215,7 @@ Route::shift (framepos_t pos, framecnt_t frames) } /* pan automation */ - { + if (_pannable) { ControlSet::Controls& c (_pannable->controls()); for (ControlSet::Controls::const_iterator ci = c.begin(); ci != c.end(); ++ci) { |