projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
merge with master, with minor conflict fixes
[ardour.git]
/
libs
/
ardour
/
delivery.cc
diff --git
a/libs/ardour/delivery.cc
b/libs/ardour/delivery.cc
index dfbe4c960adcad6151038804b85919b1bdf6166a..8c12d44e5107518ec495ffe30d9b00b1ffdb4102 100644
(file)
--- a/
libs/ardour/delivery.cc
+++ b/
libs/ardour/delivery.cc
@@
-58,7
+58,9
@@
Delivery::Delivery (Session& s, boost::shared_ptr<IO> io, boost::shared_ptr<Pann
, _no_panner_reset (false)
{
if (pannable) {
, _no_panner_reset (false)
{
if (pannable) {
- _panshell = boost::shared_ptr<PannerShell>(new PannerShell (_name, _session, pannable));
+ bool is_send = false;
+ if (r & (Delivery::Send|Delivery::Aux)) is_send = true;
+ _panshell = boost::shared_ptr<PannerShell>(new PannerShell (_name, _session, pannable, is_send));
}
_display_to_user = false;
}
_display_to_user = false;
@@
-80,7
+82,9
@@
Delivery::Delivery (Session& s, boost::shared_ptr<Pannable> pannable, boost::sha
, _no_panner_reset (false)
{
if (pannable) {
, _no_panner_reset (false)
{
if (pannable) {
- _panshell = boost::shared_ptr<PannerShell>(new PannerShell (_name, _session, pannable));
+ bool is_send = false;
+ if (r & (Delivery::Send|Delivery::Aux)) is_send = true;
+ _panshell = boost::shared_ptr<PannerShell>(new PannerShell (_name, _session, pannable, is_send));
}
_display_to_user = false;
}
_display_to_user = false;
@@
-245,7
+249,7
@@
Delivery::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, pf
processing pathway that wants to use this->output_buffers() for some reason.
*/
processing pathway that wants to use this->output_buffers() for some reason.
*/
- output_buffers().get_
jack
_port_addresses (ports, nframes);
+ output_buffers().get_
backend
_port_addresses (ports, nframes);
// this Delivery processor is not a derived type, and thus we assume
// we really can modify the buffers passed in (it is almost certainly
// this Delivery processor is not a derived type, and thus we assume
// we really can modify the buffers passed in (it is almost certainly
@@
-329,6
+333,9
@@
Delivery::state (bool full_state)
if (_panshell) {
node.add_child_nocopy (_panshell->get_state ());
if (_panshell) {
node.add_child_nocopy (_panshell->get_state ());
+ if (_panshell->pannable()) {
+ node.add_child_nocopy (_panshell->pannable()->get_state ());
+ }
}
return node;
}
return node;
@@
-358,6
+365,11
@@
Delivery::set_state (const XMLNode& node, int version)
reset_panner ();
reset_panner ();
+ XMLNode* pannnode = node.child (X_("Pannable"));
+ if (_panshell && _panshell->panner() && pannnode) {
+ _panshell->pannable()->set_state (*pannnode, version);
+ }
+
return 0;
}
return 0;
}
@@
-385,12
+397,8
@@
Delivery::reset_panner ()
if (panners_legal) {
if (!_no_panner_reset) {
if (panners_legal) {
if (!_no_panner_reset) {
- if (_panshell) {
+ if (_panshell
&& _role != Insert && _role != Listen
) {
_panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, pan_outs()));
_panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, pan_outs()));
-
- if (_role == Main) {
- _panshell->pannable()->set_panner (_panshell->panner());
- }
}
}
}
}
@@
-403,12
+411,8
@@
Delivery::reset_panner ()
void
Delivery::panners_became_legal ()
{
void
Delivery::panners_became_legal ()
{
- if (_panshell) {
+ if (_panshell
&& _role != Insert
) {
_panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, pan_outs()));
_panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, pan_outs()));
-
- if (_role == Main) {
- _panshell->pannable()->set_panner (_panshell->panner());
- }
}
panner_legal_c.disconnect ();
}
panner_legal_c.disconnect ();