summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-06-13 15:52:31 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-06-13 15:52:31 +0000
commit37e9a53180877db90e3d9e88ac916a2ed0473ae3 (patch)
tree2a0dafa021931b1c49903b692cdc1593e81bafee /libs/ardour/route.cc
parent961e25d90e94f0139f834913ffbac3c9886b7113 (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.cc25
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) {