summaryrefslogtreecommitdiff
path: root/libs/ardour/ltc_slave.cc
AgeCommit message (Collapse)Author
2020-03-23extend fixed-width improvements to master delta to LTCPaul Davis
2019-11-15fix crash with -D slave caused by too-early use of a transport master's ↵Paul Davis
_port member
2019-09-17add finite state machine to control/manage transport statePaul Davis
2019-09-17manually correct cherry-pick of cdbabe40ed4ePaul Davis
2019-08-03Update libardour GPL boilerplate and (C) from git logRobin Gareus
2019-03-04Make it compile againRobin Gareus
ISO C++ forbids applying 'sizeof' to an expression of function type
2019-03-03remove debug outputPaul Davis
2019-03-03do not initialize LTC timecode rate from session FPSPaul Davis
2019-03-03audioengine skip should trigger full LTC_Slave::reset(), not just feed ↵Paul Davis
silence to the decoder
2019-03-03LTC_Slave: count frames since resetPaul Davis
2019-03-03debug trace output tweaks (including avoiding stderr/stdout issues)Paul Davis
2019-03-03LTC_Slave::reset() should change _current.speed back to zeroPaul Davis
2019-03-03NO-OP: brace positionPaul Davis
2019-03-03NO-OP: brace positionPaul Davis
2019-03-03expand scope of LTC_Slave::reset() to include more object statePaul Davis
2019-03-03fix semantics of LTC_Slave::locked() - we must have detected FPS to be ↵Paul Davis
considered locked
2019-03-03fix initialization orderPaul Davis
2019-03-03rename LTC_Slave::prev_sample to prev_frame, correcting s/frame/sample/ changesPaul Davis
2019-03-03remove ill-conceived use-session-timecode-format optionPaul Davis
2019-02-26enhanced debug trace outputPaul Davis
2019-02-06do not use green for "OK" deltas in transport master dialog and drop delta ↵Paul Davis
character
2019-02-06use correct value for silent sample count delivered to LTC decoderPaul Davis
2019-02-04reset "current" in LTC transport master when necessaryPaul Davis
2019-02-04correctly initialize LTC transport master port latency (reversed boolean error)Paul Davis
2019-02-04NOOP: whitespace in function callPaul Davis
2019-02-04fully initialize all LTC transport master membersPaul Davis
at least the ones that can be done via initialization statements
2019-01-25new approach to handling Transport Masters when engine is restartedPaul Davis
Trust that ::reset() works for all transport masters, and call it when engine is stopped. This way the transport masters are ready to be called again as soon as the engine restarts.
2018-10-04add new ::update_interval() method for transport masters, and use in shared ↵Paul Davis
::speed_and_position() implementation
2018-09-27consolidate all transport masters on a SafeTime object that is a member of ↵Paul Davis
the TransportMaster base class. This seems to have broken some aspects of chasing/locking
2018-09-22Remove some namespace ambiguityJohn Emmas
There are a couple of places where we're using both MIDI namespace as well as ARDOUR namespace (both of which declare 'pframes_t)
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