-void
-ARDOUR_UI::parameter_changed (const char* parameter_name)
-{
- ENSURE_GUI_THREAD (bind (mem_fun (*this, &ARDOUR_UI::parameter_changed), 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()));
-
- switch (Config->get_slave_source()) {
- case None:
- ActionManager::get_action ("Transport", "ToggleAutoPlay")->set_sensitive (true);
- ActionManager::get_action ("Transport", "ToggleAutoReturn")->set_sensitive (true);
- break;
-
- default:
- /* XXX need to make auto-play is off as well as insensitive */
- ActionManager::get_action ("Transport", "ToggleAutoPlay")->set_sensitive (false);
- ActionManager::get_action ("Transport", "ToggleAutoReturn")->set_sensitive (false);
- break;
- }
-
- } else if (PARAM_IS ("send-mtc")) {
-
- ActionManager::map_some_state ("options", "SendMTC", &Configuration::get_send_mtc);
-
- } else if (PARAM_IS ("send-mmc")) {
-
- ActionManager::map_some_state ("options", "SendMMC", &Configuration::get_send_mmc);
-
- } else if (PARAM_IS ("mmc-control")) {
- ActionManager::map_some_state ("options", "UseMMC", &Configuration::get_mmc_control);
- } else if (PARAM_IS ("midi-feedback")) {
- ActionManager::map_some_state ("options", "SendMIDIfeedback", &Configuration::get_midi_feedback);
- } else if (PARAM_IS ("midi-control")) {
- ActionManager::map_some_state ("options", "UseMIDIcontrol", &Configuration::get_midi_control);
- } else if (PARAM_IS ("do-not-record-plugins")) {
- ActionManager::map_some_state ("options", "DoNotRunPluginsWhileRecording", &Configuration::get_do_not_record_plugins);
- } else if (PARAM_IS ("latched-record-enable")) {
- ActionManager::map_some_state ("options", "LatchedRecordEnable", &Configuration::get_latched_record_enable);
- } else if (PARAM_IS ("solo-latched")) {
- ActionManager::map_some_state ("options", "LatchedSolo", &Configuration::get_solo_latched);
- } else if (PARAM_IS ("show-solo-mutes")) {
- ActionManager::map_some_state ("options", "ShowSoloMutes", &Configuration::get_show_solo_mutes);
- } else if (PARAM_IS ("solo-model")) {
- map_solo_model ();
- } else if (PARAM_IS ("auto-play")) {
- ActionManager::map_some_state ("Transport", "ToggleAutoPlay", &Configuration::get_auto_play);
- } else if (PARAM_IS ("auto-return")) {
- ActionManager::map_some_state ("Transport", "ToggleAutoReturn", &Configuration::get_auto_return);
- } else if (PARAM_IS ("auto-input")) {
- ActionManager::map_some_state ("Transport", "ToggleAutoInput", &Configuration::get_auto_input);
- } else if (PARAM_IS ("punch-out")) {
- ActionManager::map_some_state ("Transport", "TogglePunchOut", &Configuration::get_punch_out);
- } else if (PARAM_IS ("punch-in")) {
- ActionManager::map_some_state ("Transport", "TogglePunchIn", &Configuration::get_punch_in);
- } else if (PARAM_IS ("clicking")) {
- ActionManager::map_some_state ("Transport", "ToggleClick", &Configuration::get_clicking);
- } else if (PARAM_IS ("jack-time-master")) {
- ActionManager::map_some_state ("Transport", "ToggleTimeMaster", &Configuration::get_jack_time_master);
- } else if (PARAM_IS ("plugins-stop-with-transport")) {
- ActionManager::map_some_state ("options", "StopPluginsWithTransport", &Configuration::get_plugins_stop_with_transport);
- } else if (PARAM_IS ("latched-record-enable")) {
- ActionManager::map_some_state ("options", "LatchedRecordEnable", &Configuration::get_latched_record_enable);
- } else if (PARAM_IS ("verify-remove-last-capture")) {
- ActionManager::map_some_state ("options", "VerifyRemoveLastCapture", &Configuration::get_verify_remove_last_capture);
- } else if (PARAM_IS ("stop-recording-on-xrun")) {
- ActionManager::map_some_state ("options", "StopRecordingOnXrun", &Configuration::get_stop_recording_on_xrun);
- } else if (PARAM_IS ("stop-at-session-end")) {
- ActionManager::map_some_state ("options", "StopTransportAtEndOfSession", &Configuration::get_stop_at_session_end);
- } else if (PARAM_IS ("monitoring-model")) {
- map_monitor_model ();
- } else if (PARAM_IS ("remote-model")) {
- map_remote_model ();
- } else if (PARAM_IS ("use-video-sync")) {
- ActionManager::map_some_state ("Transport", "ToggleVideoSync", &Configuration::get_use_video_sync);
- } else if (PARAM_IS ("quieten-at-speed")) {
- ActionManager::map_some_state ("options", "GainReduceFastTransport", &Configuration::get_quieten_at_speed);
- } else if (PARAM_IS ("shuttle-behaviour")) {
-
- switch (Config->get_shuttle_behaviour ()) {
- case Sprung:
- shuttle_style_button.set_active_text (_("sprung"));
- shuttle_fract = 0.0;
- shuttle_box.queue_draw ();
- if (session) {
- if (session->transport_rolling()) {
- shuttle_fract = SHUTTLE_FRACT_SPEED1;
- session->request_transport_speed (1.0);
- }
- }
- break;
- case Wheel:
- shuttle_style_button.set_active_text (_("wheel"));
- break;
- }
-
- } else if (PARAM_IS ("shuttle-units")) {
-
- switch (Config->get_shuttle_units()) {
- case Percentage:
- shuttle_units_button.set_label("% ");
- break;
- case Semitones:
- shuttle_units_button.set_label(_("ST"));
- break;
- }
- } else if (PARAM_IS ("input-auto-connect")) {
- map_input_auto_connect ();
- } else if (PARAM_IS ("output-auto-connect")) {
- map_output_auto_connect ();
- } else if (PARAM_IS ("native-file-header-format")) {
- map_file_header_format ();
- } else if (PARAM_IS ("native-file-data-format")) {
- map_file_data_format ();
- } else if (PARAM_IS ("meter-hold")) {
- map_meter_hold ();
- } else if (PARAM_IS ("meter-falloff")) {
- map_meter_falloff ();
- } else if (PARAM_IS ("verify-remove-last-capture")) {
- ActionManager::map_some_state ("options", "VerifyRemoveLastCapture", &Configuration::get_verify_remove_last_capture);
- } else if (PARAM_IS ("video-pullup") || PARAM_IS ("smpte-format")) {
- if (session) {
- primary_clock.set (session->audible_frame(), true);
- secondary_clock.set (session->audible_frame(), true);
- } else {
- primary_clock.set (0, true);
- secondary_clock.set (0, true);
- }
- } else if (PARAM_IS ("use-overlap-equivalency")) {
- ActionManager::map_some_state ("options", "RegionEquivalentsOverlap", &Configuration::get_use_overlap_equivalency);
- }
-
-
-#undef PARAM_IS
-}