"Listen" delivery processors (i.e. monitor out) never get their own panner; Route calls Pannable::set_panner() so that it is always the panner for the main outs that controls the Route's own Pannable
git-svn-id: svn://localhost/ardour2/branches/3.0@8591 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
d116af22db
commit
b17dc03047
@ -364,6 +364,11 @@ Delivery::set_state (const XMLNode& node, int version)
|
||||
void
|
||||
Delivery::reset_panner ()
|
||||
{
|
||||
if (_role == Listen) {
|
||||
/* monitor out gets no panner */
|
||||
return;
|
||||
}
|
||||
|
||||
if (panners_legal) {
|
||||
if (!no_panner_reset) {
|
||||
|
||||
@ -395,9 +400,6 @@ Delivery::panners_became_legal ()
|
||||
}
|
||||
|
||||
_panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, ntargets));
|
||||
#ifdef PANNER_HACKS
|
||||
_panner->load (); // automation
|
||||
#endif
|
||||
panner_legal_c.disconnect ();
|
||||
return 0;
|
||||
}
|
||||
|
@ -104,11 +104,6 @@ PannerShell::configure_io (ChanCount in, ChanCount out)
|
||||
_panner.reset (pi->descriptor.factory (_pannable, _session.get_speakers()));
|
||||
_panner->configure_io (in, out);
|
||||
|
||||
/* PANNER_HACKS: only the real owner should be able to claim the pannable
|
||||
*/
|
||||
|
||||
_pannable->set_panner (_panner);
|
||||
|
||||
Changed (); /* EMIT SIGNAL */
|
||||
}
|
||||
|
||||
|
@ -1602,6 +1602,13 @@ Route::configure_processors_unlocked (ProcessorStreams* err)
|
||||
_meter->reset_max_channels (processor_max_streams);
|
||||
}
|
||||
|
||||
/* if we haven't bound the main outs panner & our pannable together yet, do it now ..
|
||||
*/
|
||||
|
||||
if (_main_outs && !_pannable->panner()) {
|
||||
_pannable->set_panner (_main_outs->panner_shell()->panner());
|
||||
}
|
||||
|
||||
/* make sure we have sufficient scratch buffers to cope with the new processor
|
||||
configuration */
|
||||
_session.ensure_buffers (n_process_buffers ());
|
||||
|
Loading…
Reference in New Issue
Block a user