diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-11-29 22:08:18 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-11-29 22:08:18 +0000 |
commit | b7341e0026f868bcfc6b8610d743b668f1d23192 (patch) | |
tree | 1e4ab89674118d7dc4231bb6db797836ee7b176c /libs | |
parent | 34773ee5c0c48b4758a136ee66b2fb1f7ab48d45 (diff) |
debug flag for MTC; make ardour/timecode.h simply include the "authoritative" one in libs/surfaces/control_protocol
git-svn-id: svn://localhost/ardour2/branches/3.0@6209 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/ardour/debug.h | 3 | ||||
-rw-r--r-- | libs/ardour/ardour/timecode.h | 95 | ||||
-rw-r--r-- | libs/ardour/mtc_slave.cc | 3 |
3 files changed, 25 insertions, 76 deletions
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++; |