Fix speed quietning to respect the current setting.
authorSampo Savolainen <v2@iki.fi>
Sun, 8 Oct 2006 19:27:33 +0000 (19:27 +0000)
committerSampo Savolainen <v2@iki.fi>
Sun, 8 Oct 2006 19:27:33 +0000 (19:27 +0000)
git-svn-id: svn://localhost/ardour2/trunk@957 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/ardour_ui_options.cc
libs/ardour/route.cc

index 64f4dcfc855b52bde79e2bde7c3962db94a72dd2..3674998189c791e4114ce6d8c3901f70df0c1311 100644 (file)
@@ -367,15 +367,7 @@ ARDOUR_UI::toggle_StopTransportAtEndOfSession()
 void
 ARDOUR_UI::toggle_GainReduceFastTransport()
 {
-       Glib::RefPtr<Action> act = ActionManager::get_action ("options", "GainReduceFastTransport");
-       if (act) {
-               Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
-               if (tact->get_active()) {
-                       Config->set_quieten_at_speed (0.251189); // -12dB reduction for ffwd or rewind
-               } else {
-                       Config->set_quieten_at_speed (1.0); /* no change */
-               }
-       }
+       ActionManager::toggle_config_state ("options", "GainReduceFastTransport", &Configuration::set_quieten_at_speed, &Configuration::get_quieten_at_speed);
 }
 
 void
@@ -748,7 +740,7 @@ void
 ARDOUR_UI::parameter_changed (const char* parameter_name)
 {
 #define PARAM_IS(x) (!strcmp (parameter_name, (x)))
-
+       
        if (PARAM_IS ("slave-source")) {
 
                sync_option_combo.set_active_text (slave_source_to_string (Config->get_slave_source()));
index 70a5d586a0b6bf1d958b1da1746c4e3138a54707..15b148ffb3d5c5d8e9aa2c97cc1e284d8bf808eb 100644 (file)
@@ -627,7 +627,9 @@ Route::process_output_buffers (vector<Sample*>& bufs, uint32_t nbufs,
                        
                } else {
                        
-                       if (_session.transport_speed() > 1.5f || _session.transport_speed() < -1.5f) {
+                       if ((_session.transport_speed() > 1.5f || 
+                            _session.transport_speed() < -1.5f) &&
+                           Config->get_quieten_at_speed()) {
                                pan (bufs, nbufs, nframes, offset, speed_quietning); 
                        } else {
                                // cerr << _name << " panner state = " << _panner->automation_state() << endl;