patch from brian to get consistent menu behaviour
[ardour.git] / gtk2_ardour / ardour_ui_options.cc
index 3674998189c791e4114ce6d8c3901f70df0c1311..ea1c1c13f41ca4f1da106e74cbe91e9539a398c2 100644 (file)
@@ -280,7 +280,7 @@ void
 ARDOUR_UI::toggle_session_auto_loop ()
 {
        if (session) {
-               if (Config->get_auto_loop()) {
+               if (session->get_play_loop()) {
                        if (session->transport_rolling()) {
                                transport_roll();
                        } else {
@@ -585,12 +585,12 @@ ARDOUR_UI::map_output_auto_connect ()
 void
 ARDOUR_UI::map_meter_falloff ()
 {
-       const char* action = 0;
+       const char* action = X_("MeterFalloffMedium");
 
        /* XXX hack alert. Fix this. Please */
 
        float val = Config->get_meter_falloff ();
-       MeterFalloff code = (MeterFalloff) (floor (val));
+       MeterFalloff code = (MeterFalloff) (int) (floor (val));
 
        switch (code) {
        case MeterFalloffOff:
@@ -629,12 +629,12 @@ ARDOUR_UI::map_meter_falloff ()
 void
 ARDOUR_UI::map_meter_hold ()
 {
-       const char* action = 0;
+       const char* action = X_("MeterHoldMedium");
 
        /* XXX hack alert. Fix this. Please */
 
        float val = Config->get_meter_hold ();
-       MeterHold code = (MeterHold) (floor (val));
+       MeterHold code = (MeterHold) (int) (floor (val));
 
        switch (code) {
        case MeterHoldOff:
@@ -769,8 +769,6 @@ ARDOUR_UI::parameter_changed (const char* parameter_name)
                map_solo_model ();
        } else if (PARAM_IS ("auto-play")) {
                ActionManager::map_some_state ("Transport", "ToggleAutoPlay", &Configuration::get_auto_play);
-       } else if (PARAM_IS ("auto-loop")) {
-               ActionManager::map_some_state ("Transport", "Loop", &Configuration::get_auto_loop);
        } else if (PARAM_IS ("auto-return")) {
                ActionManager::map_some_state ("Transport", "ToggleAutoReturn", &Configuration::get_auto_return);
        } else if (PARAM_IS ("auto-input")) {
@@ -842,6 +840,14 @@ ARDOUR_UI::parameter_changed (const char* parameter_name)
                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-frames-per-second")) {
+               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);
+               }
        }
 
 #undef PARAM_IS