summaryrefslogtreecommitdiff
path: root/libs/ardour/ltc_slave.cc
AgeCommit message (Collapse)Author
2018-09-18new transport slave/master implementation, libs/ editionPaul Davis
2017-09-29Update Timecode Generator/Slave alignmentRobin Gareus
2017-09-18globally change all use of "frame" to refer to audio into "sample".Paul Davis
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode and video in order to keep the legible
2017-09-18attempt fix for LTC slave when locatingPaul Davis
2017-07-26Fix initial sync to LTC with small buffersizesRobin Gareus
Ardour follow_slave() does nothing (not even seek) if the slave is not locked. The LTC-slave assumes it's locked if LTC is stable for 5 continuous process-calls. If the difference of Ardour's transport-position to the LTC-timecode is large (> 2sec), the slave reset itself (assuming drift, seek don't vari- speed). A LTC-slave does reset does reset the locked counter. Hence: If initially Ardour's transport differs > 2 sec and the buffersize is small (many process-callbacks), the slave kept resetting itself never informing Ardour that it locked to the external TC, and Ardour never issued a seek.
2016-12-08Clarify "frames" (video, timecode) vs "samples" (audio)Robin Gareus
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2015-07-23avoid llabs ambiguityRobin Gareus
(old gcc has a built-in)
2015-07-15-Wabsolute-value fixRobin Gareus
2015-06-29(re)implement Yevgeny's LTC branch changes in the context of ↵Paul Davis
ardour-merge-from-tracks (just the libs/* section)
2015-01-12LTC: don’t flag “no lock” until delta was at zero at least least once.Robin Gareus
2015-01-12add an explicit indicator for LTC lockRobin Gareus
2015-01-09fix LTC alignment.Robin Gareus
LTC-slave: offset the parsed LTC-frame instead of changing the frame's timestamp. This fixes an issue with freewheel timeout and delta-calculation. Align transport-time with output to match capture alignment: "with existing material". LTC-generator: follow suit. align clock with master-bus out. This is a semi-permanent workaround. Once [tracks feeding] the master-bus is/are delayed to align to output. The generator needs to use (worst_track_latency not worst_playback_latency)
2014-06-25fix LTC slave delta formatting (long long)Robin Gareus
2013-09-21Merge remote-tracking branch 'remotes/origin/cairocanvas' into windowsJohn Emmas
Conflicts (hopefully resolved): gtk2_ardour/marker.cc gtk2_ardour/midi_region_view.h gtk2_ardour/region_gain_line.h gtk2_ardour/utils.cc gtk2_ardour/video_image_frame.cc gtk2_ardour/wscript libs/backends/jack/wscript
2013-09-18'libs/ardour' - Clarify ambiguous symbols (needs to be checked)John Emmas
2013-09-14fix merge conflicts with masterPaul Davis
2013-09-12incomplete merge of master into windows (requires upcoming changes to master ↵Paul Davis
to be complete)
2013-08-09remove more naming that refers to JACKPaul Davis
2013-08-04'libs/ardour' - Main body of changes required for building with MSVCJohn Emmas
2013-07-25most of libardour now actually compilesPaul Davis
2013-07-24part-way through getting the audioengine changes to compilePaul Davis
2013-07-13Use pthread_name instead of pthread_self for portabilityPaul Davis
2013-04-12changes to get cairocanvas branch to build on OS X, with its stupid nil and ↵Paul Davis
Rect macros, plus some const_cast<> and unused variable fixes that should really be in master but will have to wait till we rebase master
2013-03-03clock info-box: fix alignment and spacingRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@14123 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-03-03replace unicode dash with (monospace) minus.Robin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@14122 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-15fix a couple of unused parametersPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13843 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-09remove timecode subframe configurationRobin Gareus
There is no actual use-case to set it to anything else than 100. timecode subframes are only used for ruler marks and the snap to grid. libtimecode is still /aware/ of the subframe setting. git-svn-id: svn://localhost/ardour2/branches/3.0@13817 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18fix LTC frame TVstandard offsetRobin Gareus
<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
2012-11-18fix LTC frame offset for video standardsRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13517 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18fix LTC frame alignmentRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13516 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-17update to libltc-1.1.0Robin Gareus
add support for TV standard specific offset and binary-group-flags git-svn-id: svn://localhost/ardour2/branches/3.0@13514 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13implement TC offset for slave&generator.Robin Gareus
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-12slave delta: move sign next to the digitRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13457 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-11add slave and generator Timecode offset (no UI yet)Robin Gareus
So far only LTC slave, LTC generator and MTC slave. MTC generator remains to be done. git-svn-id: svn://localhost/ardour2/branches/3.0@13441 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-11reintroduce space before delta "sample" lableRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13435 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-11first round of audio-clock font rendering updateRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13425 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-10add a delta sign to the slave delta display.Robin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13423 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-10update slave clocks -- to use long minusRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13422 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09make timecode offset workRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13418 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09Don't notify user if fps changes only affect speed but not counting.Robin Gareus
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-09LTC slave fix fps detection with 29.97000 optionRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13405 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09fix LTC slave initial TC track valuesRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13399 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-07experimental option to support LTC 29.97000 fps generators.Robin Gareus
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-05LTC slave: suppress warning during shutdownRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13390 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-05tigten LTC Slave resolution.Robin Gareus
The reason for this is that the LTC generator uses the slave's resolution as watermark for max-drift, resync. A possible drawback: session-process will force silent rolls if the delta is larger than the resolution. LTC has a carrier freq of ~2kHz, choosing half of that seems a good compromise. git-svn-id: svn://localhost/ardour2/branches/3.0@13380 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-02fix LTC slave latency compensation typoRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13374 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-30LTC slave speed deadzone works, remove #if 1Robin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13369 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-30LTC slave/gen latency compensation: jack2 got fixed, remove #ifdefRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13368 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-29LTC: break out xrun and latency callbacks.Robin Gareus
prepare to call get_connected_latency_range() only if needed. git-svn-id: svn://localhost/ardour2/branches/3.0@13366 d708f5d6-7413-0410-9779-e7cbd77b26cf