mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-23 23:17:46 +01:00
fix LTC frame TVstandard offset
<pre>
Ardour-
transport
01:00:00:01
|
|
5 5 | NTSC Line
2 2 | 1
4 5 v 1 2 3 4 5 6 7 8 9 0
____________________ ________________ TV
| | | | | | | | |_|_|_|_|_|_| | | | | | | |
^
|
v
+-+ +-+ + + +-+ +-+ +---+ +---+
| | | | | | | | | | | | | | | | LTC
+-+ +-+ +-+ +-+ +---+ +-+ +---+ +---+
SYNC-WORD |
LTC B | B LTC
01:00:00:00 I | I 01:00:00:01
T T
7
9 0
</pre>
git-svn-id: svn://localhost/ardour2/branches/3.0@13524 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
4269bccfeb
commit
89fa20bb75
2 changed files with 5 additions and 5 deletions
|
|
@ -359,13 +359,13 @@ LTC_Slave::process_ltc(framepos_t const now)
|
|||
ltc_frame_increment(&frame.ltc, fps_i, tv_standard, 0);
|
||||
ltc_frame_to_time(&stime, &frame.ltc, 0);
|
||||
transport_direction = 1;
|
||||
frame.off_start += ltc_frame_alignment(session.frames_per_timecode_frame(), tv_standard);
|
||||
frame.off_end += ltc_frame_alignment(session.frames_per_timecode_frame(), tv_standard);
|
||||
frame.off_start -= ltc_frame_alignment(session.frames_per_timecode_frame(), tv_standard);
|
||||
frame.off_end -= ltc_frame_alignment(session.frames_per_timecode_frame(), tv_standard);
|
||||
} else {
|
||||
ltc_frame_decrement(&frame.ltc, fps_i, tv_standard, 0);
|
||||
int off = frame.off_end - frame.off_start;
|
||||
frame.off_start += off + ltc_frame_alignment(session.frames_per_timecode_frame(), tv_standard);
|
||||
frame.off_end += off + ltc_frame_alignment(session.frames_per_timecode_frame(), tv_standard);
|
||||
frame.off_start += off - ltc_frame_alignment(session.frames_per_timecode_frame(), tv_standard);
|
||||
frame.off_end += off - ltc_frame_alignment(session.frames_per_timecode_frame(), tv_standard);
|
||||
transport_direction = -1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -246,7 +246,7 @@ Session::ltc_tx_send_time_code_for_cycle (framepos_t start_frame, framepos_t end
|
|||
framepos_t cycle_start_frame = (current_speed < 0) ? (start_frame - ltc_out_latency.max) : (start_frame + ltc_out_latency.max);
|
||||
|
||||
/* LTC TV standard offset */
|
||||
cycle_start_frame += ltc_frame_alignment(frames_per_timecode_frame(), TV_STANDARD(cur_timecode));
|
||||
cycle_start_frame -= ltc_frame_alignment(frames_per_timecode_frame(), TV_STANDARD(cur_timecode));
|
||||
|
||||
/* cycle-start may become negative due to latency compensation */
|
||||
if (cycle_start_frame < 0) { cycle_start_frame = 0; }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue