summaryrefslogtreecommitdiff
path: root/libs/ardour/port.cc
AgeCommit message (Collapse)Author
2020-05-08Reset external connection count when ports are reestablishedRobin Gareus
2020-05-07Prepare timecode-generator direct-outRobin Gareus
Generator ports (like TransportMaster slaves), should not be re-sampled when vari-speeding. Instead the Timecode/Clock should directly use the engine-speed. For this to happen, they need to be special-cased: no re-sampler latency, direct access to engine-buffers.
2020-05-07Fix Latency information of TransportMasterPort portsRobin Gareus
PortManager::cycle_start() excludes these ports from being resampled. They're directly handled by the TSM, outside of the session.
2020-04-26Remove common prefix for latency debuggingRobin Gareus
-DLatency now triggers all four: * LatencyCompensation (entry-points, overall flow) * LatencyIO (Port/IO query, set/get private/public) * LatencyDelayLine (Delaylines for internal sends and alignment) * LatencyRoute (route processor latency)
2020-04-24ensure that when a Session emits Port::PortDrop, transport master ports are ↵Paul Davis
left in place
2020-04-07show ARDOUR::Port destructor with either DEBUG::Ports or DEBUG::DestructionPaul Davis
2020-04-07fix "reset" of shared_ptr<PortPtr>Paul Davis
2020-04-07use shared_ptr to manage backend port lifetimes (Pulse,ALSA,Dummy,JACK)Paul Davis
JACK is not yet finished. Changes also include minor reformatting and a spelling correction (latecies to latencies)
2020-01-08Fix MIDI Port-latenciesRobin Gareus
Only audio ports have additional latency due to I/O re-sampling for vari-speed playback/capture.. MIDI ports are not affected.
2019-12-16remove mistakenly left-in debug stacktracePaul Davis
2019-12-16reinstate missing latency initialization codePaul Davis
Removed (mistakenly) during work on transportFSM
2019-11-15fix resampling ratio when stopped (corner case - not typically called)Paul Davis
2019-11-14Allow vari-speed slowdown down to 2%Robin Gareus
2019-09-17add finite state machine to control/manage transport statePaul Davis
2019-09-17resize audio port _data buffer based on current buffer sizePaul Davis
2019-08-03Update libardour GPL boilerplate and (C) from git logRobin Gareus
2019-04-08NO-OP: whitespace, commentsRobin Gareus
2019-02-04add DEBUG::Destruction output for PortPaul Davis
2018-11-28Consolidate ambiguous engine API callsRobin Gareus
available(), connected(), running() were ill-defined and used interchangeably.
2018-09-18new transport slave/master implementation, libs/ editionPaul Davis
2017-10-30Use new externally_connected APIRobin Gareus
2017-10-29Remove unused per-port buffer offsetRobin Gareus
2017-10-29NO-OP: whitespaceRobin Gareus
2017-10-29Move vari-speed into backend (resample ports)Robin Gareus
Previously Ardour used a /local/ per track vari-speed mechanism. Now that the disk-reader is a latency-compensated processor, the speed of each disk-reader would need to be maintained locally, offset by each disk-reader's output latency. Furthermore each disk-reader may produce a different number of samples, depending on its global alignment. This commit introduces port-data resampling directly at the engine-level: Up/down-sample all input ports at the beginning, and down/up-sample output port-data using the inverse ratio at the end of the session's process cycle. The session itself is unaware of the speed-change, and only needs to handle transport speeds {-1, 0, +1}. This also allows for aligned cue-monitoring and vari-speed recording, and also pitch-shifts synthesized MIDI along.
2017-09-18NO-OP: whitespaceRobin Gareus
2017-08-07Add debug-msg for port-handle registrationRobin Gareus
2017-07-20Allow adding tracks w/o running backendRobin Gareus
2017-04-19Use XMLNode::get/set_property API in ARDOUR::Port classTim Mayberry
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-05-04OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)Paul Davis
2016-04-24Disconnect Signals before dropping portsRobin Gareus
significantly speeds up session close
2016-04-17notify IO about port disconnection due to port removalRobin Gareus
[Jack] Ports can be deleted without being disconnected first. the IO Object does not catch that condition.
2016-04-17add API to set pretty names for ardour portsRobin Gareus
2015-10-06forward "disconnect all", partial fix for #6308Robin Gareus
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-09-28remove cruft.Robin Gareus
2015-06-29Fixed issue with crash when invalid get_connections request is made on ↵Paul Davis
invalid port handle. (Grygorii)
2015-03-08libardour API to exercise get_port_propertyRobin Gareus
2014-09-06check for _port_handle == null throughout Port:: methodsPaul Davis
2014-04-10remove use of JACK headers to allow building on systems without JACKPaul Davis
2013-09-13Merge branch 'master' into windowsPaul Davis
2013-09-13change inheritance so that an AudioBackend IS-A PortEnginePaul Davis
This allows a derived (concrete) implementation to share information (e.g. sample rate, buffer size) between the audio backend side of things and the port management side of things.
2013-09-12incomplete merge of master into windows (requires upcoming changes to master ↵Paul Davis
to be complete)
2013-09-10many changes relating to session construction and audioengine interactionPaul Davis
every session member is now initialized using C++ constructor syntax session construction reordered to clarify the split(s) between work where the engine is not relevant and work where is it is. this split is still not 100% obvious, but is enormously clearer than previously. if engine/backend are not running as session is created, and the SR of the sample rate is known, attempt to force backend to that value.
2013-08-13save and restore all ardour-owned MIDI portsPaul Davis
still need to check on MCU port status
2013-08-09more purging of JACK as an explicit name from libardourPaul Davis
2013-08-08rationalize (a bit) engine start/stop/restart so that it is possible to ↵Paul Davis
start up, disconnect from JACK and then reconnect
2013-08-07major redesign of MIDI port heirarchy and management (part 2)Paul Davis
2013-08-04'libs/ardour' - Platform specific changes and includesJohn Emmas