the BIG CONFIG patch
[ardour.git] / libs / ardour / route.cc
index effb8432d15171269f032802b1f1118cc54ccdb4..82edb253ded0046584b5c5ed1a61385dd434a8c9 100644 (file)
@@ -111,7 +111,6 @@ Route::init ()
 
 Route::~Route ()
 {
-       GoingAway (); /* EMIT SIGNAL */
        clear_redirects (this);
 
        if (_control_outs) {
@@ -263,17 +262,17 @@ Route::process_output_buffers (vector<Sample*>& bufs, uint32_t nbufs,
           -------------------------------------------------------------------------------------------------- */
 
        if (declick > 0) {
-               apply_declick (bufs, nbufs, nframes, 0.0, 1.0, _phase_invert);
+               apply_declick (bufs, nbufs, nframes, 0.0, 1.0, false);
                _pending_declick = 0;
        } else if (declick < 0) {
-               apply_declick (bufs, nbufs, nframes, 1.0, 0.0, _phase_invert);
+               apply_declick (bufs, nbufs, nframes, 1.0, 0.0, false);
                _pending_declick = 0;
        } else {
 
                /* no global declick */
 
                if (solo_gain != dsg) {
-                       apply_declick (bufs, nbufs, nframes, solo_gain, dsg, _phase_invert);
+                       apply_declick (bufs, nbufs, nframes, solo_gain, dsg, false);
                        solo_gain = dsg;
                }
        }
@@ -290,7 +289,7 @@ Route::process_output_buffers (vector<Sample*>& bufs, uint32_t nbufs,
        }
 
        if (!_soloed && _mute_affects_pre_fader && (mute_gain != dmg)) {
-               apply_declick (bufs, nbufs, nframes, mute_gain, dmg, _phase_invert);
+               apply_declick (bufs, nbufs, nframes, mute_gain, dmg, false);
                mute_gain = dmg;
                mute_declick_applied = true;
        }
@@ -312,7 +311,7 @@ Route::process_output_buffers (vector<Sample*>& bufs, uint32_t nbufs,
                        
                        // TODO: this is probably wrong
 
-                       (no_monitor && record_enabled() && (!_session.get_auto_input() || _session.actively_recording()))
+                       (no_monitor && record_enabled() && (!Config->get_auto_input() || _session.actively_recording()))
 
                        ) {
                        
@@ -360,7 +359,7 @@ Route::process_output_buffers (vector<Sample*>& bufs, uint32_t nbufs,
 
 
        if (!_soloed && (mute_gain != dmg) && !mute_declick_applied && _mute_affects_post_fader) {
-               apply_declick (bufs, nbufs, nframes, mute_gain, dmg, _phase_invert);
+               apply_declick (bufs, nbufs, nframes, mute_gain, dmg, false);
                mute_gain = dmg;
                mute_declick_applied = true;
        }
@@ -391,7 +390,7 @@ Route::process_output_buffers (vector<Sample*>& bufs, uint32_t nbufs,
                        
                        // rec-enabled but not s/w monitoring 
                        
-                       (no_monitor && record_enabled() && (!_session.get_auto_input() || _session.actively_recording()))
+                       (no_monitor && record_enabled() && (!Config->get_auto_input() || _session.actively_recording()))
 
                        ) {
                        
@@ -526,7 +525,7 @@ Route::process_output_buffers (vector<Sample*>& bufs, uint32_t nbufs,
        }
 
        if (!_soloed && (mute_gain != dmg) && !mute_declick_applied && _mute_affects_control_outs) {
-               apply_declick (bufs, nbufs, nframes, mute_gain, dmg, _phase_invert);
+               apply_declick (bufs, nbufs, nframes, mute_gain, dmg, false);
                mute_gain = dmg;
                mute_declick_applied = true;
        }
@@ -554,7 +553,7 @@ Route::process_output_buffers (vector<Sample*>& bufs, uint32_t nbufs,
 
                    // recording but not s/w monitoring 
                        
-                       (no_monitor && record_enabled() && (!_session.get_auto_input() || _session.actively_recording()))
+                       (no_monitor && record_enabled() && (!Config->get_auto_input() || _session.actively_recording()))
 
                        ) {
 
@@ -571,7 +570,7 @@ Route::process_output_buffers (vector<Sample*>& bufs, uint32_t nbufs,
           ----------------------------------------------------------------------*/
 
        if (!_soloed && (mute_gain != dmg) && !mute_declick_applied && _mute_affects_main_outs) {
-               apply_declick (bufs, nbufs, nframes, mute_gain, dmg, _phase_invert);
+               apply_declick (bufs, nbufs, nframes, mute_gain, dmg, false);
                mute_gain = dmg;
                mute_declick_applied = true;
        }
@@ -587,7 +586,7 @@ Route::process_output_buffers (vector<Sample*>& bufs, uint32_t nbufs,
            
            /* relax */
 
-       } else if (no_monitor && record_enabled() && (!_session.get_auto_input() || _session.actively_recording())) {
+       } else if (no_monitor && record_enabled() && (!Config->get_auto_input() || _session.actively_recording())) {
                
                IO::silence (nframes, offset);
                
@@ -599,7 +598,7 @@ Route::process_output_buffers (vector<Sample*>& bufs, uint32_t nbufs,
                    
                    // muted by solo of another track, but not using control outs for solo
 
-                   (!solo_audible && (_session.solo_model() != Session::SoloBus)) ||
+                   (!solo_audible && (Config->get_solo_model() != SoloBus)) ||
                    
                    // muted by mute of this track
 
@@ -1333,7 +1332,7 @@ Route::state(bool full_state)
                node->add_property("flags", buf);
        }
        
-       node->add_property("default-type", Buffer::type_to_string(_default_type));
+       node->add_property("default-type", _default_type.to_string());
 
        node->add_property("active", _active?"yes":"no");
        node->add_property("muted", _muted?"yes":"no");
@@ -1510,8 +1509,8 @@ Route::set_state (const XMLNode& node)
        }
        
        if ((prop = node.property ("default-type")) != 0) {
-               _default_type = Buffer::type_from_string(prop->value());
-               assert(_default_type != NIL);
+               _default_type = DataType(prop->value());
+               assert(_default_type != DataType::NIL);
        }
 
        if ((prop = node.property ("phase-invert")) != 0) {
@@ -2111,7 +2110,7 @@ void
 Route::toggle_monitor_input ()
 {
        for (vector<Port*>::iterator i = _inputs.begin(); i != _inputs.end(); ++i) {
-               (*i)->request_monitor_input(!(*i)->monitoring_input());
+               (*i)->ensure_monitor_input(!(*i)->monitoring_input());
        }
 }