From: Robin Gareus Date: Fri, 30 Sep 2016 14:47:57 +0000 (+0200) Subject: Constrain Samplerate selection when session is loaded X-Git-Tag: 5.4~16 X-Git-Url: https://main.carlh.net/gitweb/?p=ardour.git;a=commitdiff_plain;h=3d256ff2c250f8d74ee13547691725f42121306e;hp=7f8ec25e259d9f93eb4f1b4e6c8fa81414619890 Constrain Samplerate selection when session is loaded Ardour does not allow to change the rate of a session itself. --- diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc index ffbf787b6a..8a6c42fd8c 100644 --- a/gtk2_ardour/engine_dialog.cc +++ b/gtk2_ardour/engine_dialog.cc @@ -852,11 +852,17 @@ EngineControl::update_sensitivity () } if (get_popdown_string_count (sample_rate_combo) > 0) { + bool allow_to_set_rate = false; if (!ARDOUR::AudioEngine::instance()->running()) { - sample_rate_combo.set_sensitive (true); - } else { - sample_rate_combo.set_sensitive (false); + if (!ARDOUR_UI::instance()->session_loaded) { + // engine is not running, no session loaded -> anything goes. + allow_to_set_rate = true; + } else if (_desired_sample_rate > 0 && get_rate () != _desired_sample_rate) { + // only allow to change if the current setting is not the native session rate. + allow_to_set_rate = true; + } } + sample_rate_combo.set_sensitive (allow_to_set_rate); } else { sample_rate_combo.set_sensitive (false); valid = false;