summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/opts.cc2
-rw-r--r--libs/ardour/ardour/debug.h3
-rw-r--r--libs/ardour/ardour/timecode.h95
-rw-r--r--libs/ardour/mtc_slave.cc3
4 files changed, 27 insertions, 76 deletions
diff --git a/gtk2_ardour/opts.cc b/gtk2_ardour/opts.cc
index 883d8d5845..0af659af08 100644
--- a/gtk2_ardour/opts.cc
+++ b/gtk2_ardour/opts.cc
@@ -129,6 +129,8 @@ parse_debug_options (const char* str)
bits |= ARDOUR::DEBUG::Graph;
} else if (strncasecmp (p, "destruction", strlen (p)) == 0) {
bits |= ARDOUR::DEBUG::Destruction;
+ } else if (strncasecmp (p, "mtc", strlen (p)) == 0) {
+ bits |= ARDOUR::DEBUG::MTC;
}
p = strtok_r (0, ",", &sp);
diff --git a/libs/ardour/ardour/debug.h b/libs/ardour/ardour/debug.h
index b373e227fd..636d026f56 100644
--- a/libs/ardour/ardour/debug.h
+++ b/libs/ardour/ardour/debug.h
@@ -43,7 +43,8 @@ namespace ARDOUR {
Latency = 0x20,
Processors = 0x40,
Graph = 0x80,
- Destruction = 0x100
+ Destruction = 0x100,
+ MTC = 0x200
};
}
diff --git a/libs/ardour/ardour/timecode.h b/libs/ardour/ardour/timecode.h
index dd357ea33c..732a728c26 100644
--- a/libs/ardour/ardour/timecode.h
+++ b/libs/ardour/ardour/timecode.h
@@ -1,79 +1,24 @@
-/* Copyright (C) 2006 Paul Davis
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+/*
+ Copyright (C) 2006 Paul Davis
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#ifndef __ardour_timecode_h__
-#define __ardour_timecode_h__
-
-#include <inttypes.h>
-
-namespace Timecode {
-
-enum Wrap {
- NONE = 0,
- FRAMES,
- SECONDS,
- MINUTES,
- HOURS
-};
-
-/** Timecode frame rate (in frames per second).
- *
- * This should be eliminated in favour of a float to support arbitrary rates.
- */
-enum FPS {
- MTC_24_FPS = 0,
- MTC_25_FPS = 1,
- MTC_30_FPS_DROP = 2,
- MTC_30_FPS = 3
-};
-
-struct Time {
- bool negative;
- uint32_t hours;
- uint32_t minutes;
- uint32_t seconds;
- uint32_t frames; ///< Timecode frames (not audio samples)
- uint32_t subframes; ///< Typically unused
- FPS rate; ///< Frame rate of this Time
- static FPS default_rate; ///< Rate to use for default constructor
-
- Time(FPS a_rate = default_rate) {
- negative = false;
- hours = 0;
- minutes = 0;
- seconds = 0;
- frames = 0;
- subframes = 0;
- rate = a_rate;
- }
-};
-
-Wrap increment( Time& timecode );
-Wrap decrement( Time& timecode );
-Wrap increment_subframes( Time& timecode );
-Wrap decrement_subframes( Time& timecode );
-Wrap increment_seconds( Time& timecode );
-Wrap increment_minutes( Time& timecode );
-Wrap increment_hours( Time& timecode );
-void frames_floor( Time& timecode );
-void seconds_floor( Time& timecode );
-void minutes_floor( Time& timecode );
-void hours_floor( Time& timecode );
+#ifndef __libardour_timecode_h__
+#define __libardour_timecode_h__
-} // namespace Timecode
+#include "control_protocol/timecode.h"
-#endif // __ardour_timecode_h__
+#endif // __libardour_timecode_h__
diff --git a/libs/ardour/mtc_slave.cc b/libs/ardour/mtc_slave.cc
index 3619cc4c69..76abafb12b 100644
--- a/libs/ardour/mtc_slave.cc
+++ b/libs/ardour/mtc_slave.cc
@@ -26,6 +26,7 @@
#include "pbd/pthread_utils.h"
#include "midi++/port.h"
+#include "ardour/debug.h"
#include "ardour/slave.h"
#include "ardour/session.h"
#include "ardour/audioengine.h"
@@ -136,6 +137,8 @@ MTC_Slave::update_mtc_time (const byte *msg, bool was_full)
session.timecode_to_sample (timecode, mtc_frame, true, false);
+ DEBUG_TRACE (DEBUG::MTC, string_compose ("MTC time now %1 = frame %2 (from full message ? %3)\n", timecode, mtc_frame, was_full));
+
if (was_full) {
current.guard1++;