summaryrefslogtreecommitdiff
path: root/libs/ardour/mtc_slave.cc
AgeCommit message (Collapse)Author
2020-05-13Set timecode format from active master onlyRobin Gareus
2020-05-12Consolidate delta-string format, avoid markupRobin Gareus
2020-05-12Fix MTC delta reportRobin Gareus
This amends a6ffc6213b92735034bd7dc39638e926bca219da. apply the offset before the DLL.
2020-05-11Slave delta display tweaksRobin Gareus
* use left-aligned sign symbol with "sample" unit. When the delta value jitters in decimal places (e.g. MTC) it's otherwise no possible to discern + vs -. * Use white text by default (not green)
2020-05-11Fix TCM requiring port-reconnect when engine restartsRobin Gareus
An engine restart sends dis-connect messages for the reverse port-mapping (after making the connection): Connect: system:midi_capture_41a56f90 -> ardour:MTC in Connect: system:capture_1 -> ardour:LTC in DisConnect: ardour:MTC in -> system:midi_capture_41a56f90 DisConnect: ardour:LTC in -> system:capture_1 This lead to TransportMaster being marked as inactive. This is likely an issue that should be fixed elsewhere, but in case of JACK, we likely do not have control over this.
2020-05-11Fix MTC latency compensationRobin Gareus
Offset the detected timecode instead of the detection time. The latter is used by the DLL and later also used to calculate delta times which lead to a constant offset.
2020-05-11Fix MTC slave port latencyRobin Gareus
2020-04-30remove debug outputPaul Davis
2020-04-27show MTC transport master latency when computedPaul Davis
2020-04-27nominal improvement for MTC master: use port latency to adjust sampletimes ↵Paul Davis
that MTC events "occured at"
2020-03-23improve variable width and precision for MTC slave delta displayPaul Davis
2020-03-20fix condition under which out-of-window MTC should trigger locatePaul Davis
2020-03-13prevent out-of-window MTC messages from moving transport if we're not using MTCPaul Davis
in 5.x, we would only run the MTC parsing code if slaved to MTC. That's no longer true in 6.0, and without this change, MTC will cause a locate at startup
2020-01-18Session::request_locate() takes a tri-valued second argument for ↵Paul Davis
"roll-after-locate" This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it can be cnentralized and is less ambiguous
2019-11-15fix crash with -D slave caused by too-early use of a transport master's ↵Paul Davis
_port member
2019-09-22transport master deletion is no longer in parallel with process()Paul Davis
2019-09-17add finite state machine to control/manage transport statePaul Davis
2019-08-03Update libardour GPL boilerplate and (C) from git logRobin Gareus
2019-02-04use ::reset() not ::update()Paul Davis
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-10-04fix error introduced in MTC transport masterPaul Davis
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-27more objectification for SafeTimePaul Davis
2018-09-27initial hacks towards a truly thread-safe SafeTime object, using boost::atomicPaul Davis
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-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-01-10Fix MTC slave implicit return on transport-stopRobin Gareus
MTC returns not-locked (no flywheel) when the signal is lost, in which case Session::follow_slave() jumps to no_roll and ignores the slave-position. The MTC slave does explicitly request a transport-locate and transport-stop. Yet, Session::realtime_stop() honors _requested_return_frame for whatever reason
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-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-06-29Add some libardour support for indicating MTC active status.Paul Davis
The general design here is wrong, because it should be more general and cover all possible sync sources. But it does work, it is used in Tracks, and my attempt to do it correctly revealed the problem to be an EXTREMELY difficult design issue (as in: two weeks of work on it did not really solve the fundamental issues with slave design). So, here it is for now, c/o Grygorii
2013-12-02Use PBD::pthread_name in MTC_Slave for portabilityTim Mayberry
2013-09-18'libs/ardour' - Further compiler specific changesJohn Emmas
2013-09-12incomplete merge of master into windows (requires upcoming changes to master ↵Paul Davis
to be complete)
2013-08-13fixes to get MTC (and probably MIDI clock) slaving working againPaul Davis
incoming MIDI data has to be parsed EVERY process cycle, not just when Slave::speed_and_position() is called. The private MIDI::Parser owned by the MTC and MClck slaves was irrelevant, since the port has its own. See comments in midi_port.h on the strangled inheritance heirarchy.
2013-08-12assorted extra debug output for MTCPaul Davis
2013-08-09more purging of JACK as an explicit name from libardourPaul Davis
2013-08-07major redesign of MIDI port heirarchy and management (part 2)Paul Davis
2013-08-04'libs/ardour' - Main body of changes required for building with MSVCJohn Emmas
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-07-11Remove non-portable and unnused header includesPaul Davis
2013-07-11Revert "Remove non-portable and unnused header includes"Paul Davis
This reverts commit 7ef79d3f4b02e3d2e71d6888fbedd9b3f9c325c7.
2013-07-11Remove non-portable and unnused header includesPaul Davis
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-03-02fix MTC slave+generator for non integer quarter_frame_durationRobin Gareus
e.g. 44.1k [SPS] / 30 [fps] / 4 [MTC-frames per timecode-frame] = 367.5 [samples per MTC-frame] git-svn-id: svn://localhost/ardour2/branches/3.0@14115 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-02-05replace final(?) incidences of program name (ardour, Ardour) with ↵Paul Davis
PROGRAM_NAME (thanks to edgar for tracking them all down) git-svn-id: svn://localhost/ardour2/branches/3.0@14050 d708f5d6-7413-0410-9779-e7cbd77b26cf