Don't notify user if fps changes only affect speed but not counting.
authorRobin Gareus <robin@gareus.org>
Fri, 9 Nov 2012 14:24:31 +0000 (14:24 +0000)
committerRobin Gareus <robin@gareus.org>
Fri, 9 Nov 2012 14:24:31 +0000 (14:24 +0000)
also unify labels for 29..97XX and simplify fps display.

git-svn-id: svn://localhost/ardour2/branches/3.0@13412 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/ardour_ui.cc
libs/ardour/ltc_slave.cc
libs/ardour/mtc_slave.cc
libs/timecode/src/time.cc

index 143d6219878b4b44f36f508ac7d7a3c082d681d9..ab2536685511d3926618fd0318b54fbaed61ed9d 100644 (file)
@@ -1084,7 +1084,7 @@ ARDOUR_UI::update_timecode_format ()
                        matching = true;
                }
                        
-               snprintf (buf, sizeof (buf), S_("Timecode|TC: <span foreground=\"%s\">%sfps</span>"), 
+               snprintf (buf, sizeof (buf), S_("Timecode|TC: <span foreground=\"%s\">%s</span>"),
                          matching ? X_("green") : X_("red"),
                          Timecode::timecode_format_name (_session->config.get_timecode_format()).c_str());
        } else {
index d52a70cab5ad030eb0ca4a83182e8122e7c7a6fa..f28770b175fd7c3ad26174f22703f61d2e510ead 100644 (file)
@@ -240,10 +240,12 @@ LTC_Slave::detect_ltc_fps(int frameno, bool df)
                        did_reset_tc_format = true;
                }
                if (cur_timecode != tc_format) {
-                       warning << string_compose(_("Session framerate adjusted from %1 to LTC's %2."),
-                                       Timecode::timecode_format_name(cur_timecode),
-                                       Timecode::timecode_format_name(tc_format))
-                               << endmsg;
+                       if (ceil(Timecode::timecode_to_frames_per_second(cur_timecode)) != ceil(Timecode::timecode_to_frames_per_second(tc_format))) {
+                               warning << string_compose(_("Session framerate adjusted from %1 to LTC's %2."),
+                                               Timecode::timecode_format_name(cur_timecode),
+                                               Timecode::timecode_format_name(tc_format))
+                                       << endmsg;
+                       }
                        session.config.set_timecode_format (tc_format);
                }
        } else {
@@ -252,10 +254,12 @@ LTC_Slave::detect_ltc_fps(int frameno, bool df)
                if (a3e_timecode != cur_timecode) printed_timecode_warning = false;
 
                if (cur_timecode != tc_format && ! printed_timecode_warning) {
-                       warning << string_compose(_("Session and LTC framerate mismatch: LTC:%1 Session:%2."),
-                                       Timecode::timecode_format_name(tc_format),
-                                       Timecode::timecode_format_name(cur_timecode))
-                               << endmsg;
+                       if (ceil(Timecode::timecode_to_frames_per_second(cur_timecode)) != ceil(Timecode::timecode_to_frames_per_second(tc_format))) {
+                               warning << string_compose(_("Session and LTC framerate mismatch: LTC:%1 Session:%2."),
+                                               Timecode::timecode_format_name(tc_format),
+                                               Timecode::timecode_format_name(cur_timecode))
+                                       << endmsg;
+                       }
                        printed_timecode_warning = true;
                }
        }
index 947de39486ab0d8ed88447444746f19c1ca77986..d7ec6eb24eddec14a773d2b739ac6087448b5732 100644 (file)
@@ -351,10 +351,12 @@ MTC_Slave::update_mtc_time (const byte *msg, bool was_full, framepos_t now)
                                did_reset_tc_format = true;
                        }
                        if (cur_timecode != tc_format) {
-                               warning << string_compose(_("Session framerate adjusted from %1 TO: MTC's %2."),
-                                               Timecode::timecode_format_name(cur_timecode),
-                                               Timecode::timecode_format_name(tc_format))
-                                       << endmsg;
+                               if (ceil(Timecode::timecode_to_frames_per_second(cur_timecode)) != ceil(Timecode::timecode_to_frames_per_second(tc_format))) {
+                                       warning << string_compose(_("Session framerate adjusted from %1 TO: MTC's %2."),
+                                                       Timecode::timecode_format_name(cur_timecode),
+                                                       Timecode::timecode_format_name(tc_format))
+                                               << endmsg;
+                               }
                        }
                        session.config.set_timecode_format (tc_format);
                } else {
@@ -363,10 +365,12 @@ MTC_Slave::update_mtc_time (const byte *msg, bool was_full, framepos_t now)
                        if (a3e_timecode != cur_timecode) printed_timecode_warning = false;
 
                        if (cur_timecode != tc_format && ! printed_timecode_warning) {
-                               warning << string_compose(_("Session and MTC framerate mismatch: MTC:%1 Ardour:%2."),
-                                               Timecode::timecode_format_name(tc_format),
-                                               Timecode::timecode_format_name(cur_timecode))
-                                       << endmsg;
+                               if (ceil(Timecode::timecode_to_frames_per_second(cur_timecode)) != ceil(Timecode::timecode_to_frames_per_second(tc_format))) {
+                                       warning << string_compose(_("Session and MTC framerate mismatch: MTC:%1 Ardour:%2."),
+                                                       Timecode::timecode_format_name(tc_format),
+                                                       Timecode::timecode_format_name(cur_timecode))
+                                               << endmsg;
+                               }
                                printed_timecode_warning = true;
                        }
                }
index 2d41d9b622fd9275dbfd9816610d1f5ce10591b7..4609fbea87e9e7ab58ce02eb8b5bdb49afd13d9f 100644 (file)
@@ -563,21 +563,15 @@ timecode_format_name (TimecodeFormat const t)
                        return "25";
 
                        break;
+               case timecode_2997000:
                case timecode_2997:
                        return "29.97";
 
                        break;
+               case timecode_2997000drop:
                case timecode_2997drop:
                        return "29.97 drop";
 
-                       break;
-               case timecode_2997000:
-                       return "29.97000";
-
-                       break;
-               case timecode_2997000drop:
-                       return "29.97000 drop";
-
                        break;
                case timecode_30:
                        return "30";