13
0
Commit Graph

23 Commits

Author SHA1 Message Date
2524115992 avoid llabs ambiguity
(old gcc has a built-in)
2015-07-23 13:06:43 +02:00
cabed6ffce fix timecode > 2^31 samples calculation on 32bit systems 2014-07-06 22:44:22 +02:00
1fb9437e26 'libs/timecode' - Change some instances of 'rint' to be 'lrint' (better compatibility with MSVC) 2014-01-13 14:26:19 +00:00
7744037c86 Timecode: fix subframe rounding
if sub-frames are used, frames are rounded up for the later half of
a sub-frame.  e.g. @48KSPS, 25fps, 100 subframes per frame
audio-samples >=1910 already yield 00:00:00:01
2013-08-08 15:26:41 -04:00
4269bccfeb fix drop-frame TC subframe rounding
git-svn-id: svn://localhost/ardour2/branches/3.0@13523 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 09:53:11 +00:00
e1581242ca implement TC offset for slave&generator.
Many related changes that require atomic update, mostly
because ClockOption slots changed:

  * change offset config format to std:string (backwards compat - reads 0)
  * make Timecode offset independent from fps
  * sample_to_timecode() handle negative sample-num
  * audio-clock fix entry and edit of negative numbers
  * option editor:
    - remove old global internal offset
    - add slave & generator TC entry
    - still needs UI cleanup, tooltops, maybe sep. tab..
  * LTC & MTC slave& generator:
    - cache offset
    - subscribe to parameter changes

git-svn-id: svn://localhost/ardour2/branches/3.0@13485 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 20:29:28 +00:00
55c7a3bf01 add timecode format parser
git-svn-id: svn://localhost/ardour2/branches/3.0@13479 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 16:14:25 +00:00
b8ff65ea1b overhaul timecode calculations
in particular proper SMPTE12M drop-frame support
and subframe rounding.

git-svn-id: svn://localhost/ardour2/branches/3.0@13473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 02:00:49 +00:00
5eeefbb3a5 Don't notify user if fps changes only affect speed but not counting.
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
2012-11-09 14:24:31 +00:00
e38ac84184 use double for timecode fps.
git-svn-id: svn://localhost/ardour2/branches/3.0@13404 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09 07:48:06 +00:00
8c9c0836a3 experimental option to support LTC 29.97000 fps generators.
also change 29.97ndf frame-rate to 30000/1001.

git-svn-id: svn://localhost/ardour2/branches/3.0@13395 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-07 23:02:11 +00:00
96f035e629 formatting timecode: use a semicolon to indicate DF
git-svn-id: svn://localhost/ardour2/branches/3.0@13272 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-14 16:17:40 +00:00
e4e4b67ad4 timecode: make subframes unsigned int
git-svn-id: svn://localhost/ardour2/branches/3.0@13268 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-13 23:47:05 +00:00
4a17dd8fb6 move sample/timecode conversion to libtimecode.
git-svn-id: svn://localhost/ardour2/branches/3.0@13266 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-13 23:27:40 +00:00
5a8e83e0de move TC FPS up into status bar, use lower right of timecode audioclock mode for something ... TBDiscussed
git-svn-id: svn://localhost/ardour2/branches/3.0@13257 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 16:25:57 +00:00
a9abe3b1e1 move TimecodeFormat to libtimecode
provide a way to convert any TimecodeFormat to float frame-rate,
not only the currently active timecode_foramt.

git-svn-id: svn://localhost/ardour2/branches/3.0@13249 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 01:08:29 +00:00
355183f1ab partially revert some of the recent work on tempo to reflect new understanding of the problem. behaviour is now believed to be totally correct but awaiting a bit more testing
git-svn-id: svn://localhost/ardour2/branches/3.0@11171 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-06 16:39:40 +00:00
e9b4f14668 rename Timecode::BBT_Time::ticks_per_beat to Timecode::BBT_Time::ticks_per_bar_division which is a more accurate and informative name. The number doesn't describe the smallest division of a "beat" (which is only defined contextually anyway), but rather the smallest division of the the divisions of a bar. If using a meter of 4/8, there are 4 divisions per bar, and we can divide each one into ticks_per_bar_division pieces; in a separate meter (section) of 3/8, there are 3 divisions per bar, each of which can be divided into ticks_per_bar_division_pieces.
git-svn-id: svn://localhost/ardour2/branches/3.0@11022 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-19 19:44:43 +00:00
Carl Hetherington
1d5cc25d94 Add some assertions.
git-svn-id: svn://localhost/ardour2/branches/3.0@9411 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-23 00:02:58 +00:00
2a30df0827 fix stupid variable naming issue in last BBT commit
git-svn-id: svn://localhost/ardour2/branches/3.0@8282 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-15 03:03:30 +00:00
f09524b9d3 move ticks per beat from Meter to Timecode::BBT_Time, add new constructor for BBT_Time based on a double value; reduce BeatFramesConverted to 1 liners pending likely removal
git-svn-id: svn://localhost/ardour2/branches/3.0@8277 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14 20:28:37 +00:00
9882fe9ab0 Clean up libtimecode, make license of bbt_time.h LGPL.
git-svn-id: svn://localhost/ardour2/branches/3.0@8272 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14 19:07:50 +00:00
4b861e6039 Rename libmusictime libtimecode (consistent with already used namespace "Timecode").
Move BBT_Time to libtimecode.


git-svn-id: svn://localhost/ardour2/branches/3.0@8271 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14 18:13:37 +00:00