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
This commit is contained in:
Robin Gareus 2012-11-13 20:29:28 +00:00
parent f761de0d70
commit e1581242ca
13 changed files with 164 additions and 37 deletions

View file

@ -21,6 +21,7 @@
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include "timecode/time.h"
@ -761,8 +762,8 @@ sample_to_timecode (
int64_t offset_sample;
if (!use_offset) {
offset_sample = sample;
timecode.negative = false;
timecode.negative = (sample < 0);
offset_sample = llabs(sample);
} else {
if (offset_is_negative) {
offset_sample = sample + offset_samples;