summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/slave.h
AgeCommit message (Collapse)Author
2018-09-18new transport slave/master implementation, libs/ editionPaul Davis
2017-09-24convert codebase to use Temporal for various time typesPaul 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-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.
2015-10-05NOOP, remove trailing tabs/whitespace.Robin 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-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
2015-02-19change Audio backend sample time methods to use a 64 bit timelinePaul Davis
2015-01-12add an explicit indicator for LTC lockRobin Gareus
2014-11-25Remove dead code.David Robillard
2014-04-10remove use of JACK headers to allow building on systems without JACKPaul Davis
2014-01-14revert incorrect include path changes and removal of export macros for two ↵Paul Davis
libardour symbols (revision and ardour_config_info)
2014-01-14'libs/ardour' - Non-visibility stuff changed for MSVC (mostly alterations to ↵John Emmas
#include paths)
2013-12-27merge exportvis branch into cairocanvas, to reduce the number of "floating" ↵Paul Davis
branches. Still need to add API export/visibility macros for the canvas library.
2013-12-18midi_clock_slave: fix wrong calculation of loop errorHans Baier
since transport_frame refers to cycle start, the should be position has to account for position of the midi clock event.
2013-12-18midi clock slave: make bandwidth variable according to period sizeHans Baier
2013-12-05Fix compile when using external version of libltcTim Mayberry
2013-12-03fix up wscript/build issues in exportvis after merge with masterPaul Davis
2013-10-28allow linking unbundled versions of some librariesNils Philippsen
(libltc, rubberband, taglib, vamp-sdk)
2013-10-17add export visibility macros across libardourPaul Davis
2013-09-19switch from JACK_Slave to Engine_SlavePaul Davis
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-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-01full compilation and linking (coding not finished, will not run)Paul Davis
2013-07-25most of libardour now actually compilesPaul 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-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
2012-12-14merge robin gareus' libltc into ardour source tree for conveniencePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13665 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-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-04MTC slave: disable seekahead, implement own sync-lockedRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13376 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
2012-10-28LTC (slave&gen): no reset on graph-changeRobin Gareus
fixes issues with transport stop/start when making connections with jack1 while slaved to LTC git-svn-id: svn://localhost/ardour2/branches/3.0@13356 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-26LTC Slave - re-init on xrun or graph changeRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13350 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-26LTC slave; consolidate FPS detectionRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13347 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-25LTC Slave: improve fps detectionRobin Gareus
and fix a few minor typos in the related doc git-svn-id: svn://localhost/ardour2/branches/3.0@13338 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-21LTC Slave cleanupRobin Gareus
initialize audioengine's ltc_port - if HAVE_LTC is not set trying to connect it would segfault. LTC frameno is < 40 by (two bit frame-ten's) git-svn-id: svn://localhost/ardour2/branches/3.0@13314 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-20LTC slave rewrite #2Robin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13313 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-17slave delta displayRobin Gareus
impl MClk slave, update format for LTC, MTC negative delta: Ardour is behind, positive delta: Ardour is ahead of ext clock. git-svn-id: svn://localhost/ardour2/branches/3.0@13299 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-16LTC slave reworkedRobin Gareus
* detect LTC framerate * detect LTC discontinuities * use a DLL for flywheel sync (engine rate) * don't use seekahead - internal resync git-svn-id: svn://localhost/ardour2/branches/3.0@13291 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-14prepare reporting slave delta & MTC slave implementationRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13276 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-14LTC Slave, add support for variable frameratesRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13273 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-13MTCslave - use new timecode APIRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13267 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12tweaks to be ready for more information timecode display in Timecode clock modePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13264 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12LTC slave - basic working version (hardcoded 25fps)Robin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13263 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12basics for a TimecodeSlave parent class for MTC and LTCPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13258 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12skeleton framework for LTC-slaveRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13256 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12MTC: map between timecodesRobin Gareus
allow external timecode device to supply timecode with framerates other than ardour session's framerate. also fix latency overcompensation. The slave is supposed to provide transport time - and not audible frame time. git-svn-id: svn://localhost/ardour2/branches/3.0@13250 d708f5d6-7413-0410-9779-e7cbd77b26cf