summaryrefslogtreecommitdiff
path: root/libs/ardour/mtc_slave.cc
AgeCommit message (Collapse)Author
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
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-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-09MTC slave: 2997fudge optionRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13400 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-05MTC slave: set initial framerates to current value.Robin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13381 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-04MTC slave: disable seekahead, implement own sync-lockedRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13376 d708f5d6-7413-0410-9779-e7cbd77b26cf