summaryrefslogtreecommitdiff
path: root/libs/ardour/port.cc
AgeCommit message (Collapse)Author
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
2013-08-01full compilation and linking (coding not finished, will not run)Paul Davis
2013-07-31more stuff compilesPaul Davis
2013-07-25most of libardour now actually compilesPaul Davis
2013-07-24part-way through getting the audioengine changes to compilePaul Davis
2013-07-24more miscellaneous changes for audioengine, all of this is still far from ↵Paul Davis
actually compiling
2013-07-15 Don't include jack/weakjack.h header when compiling for windowsPaul Davis
2012-06-21a putatively better approach to cleaning up ports at session closingPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12807 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24Remove over 500 unnecessary includes (including 54 of session.h).David Robillard
It's slightly possible that this causes trivial build failures on different configurations, but otherwise shouldn't cause any problems (i.e. no actual changes other than include/naming/namespace stuff). I deliberately avoided removing libardour-config.h since this can mysteriously break things, though a few of those do seem to be unnecessary. This commit only targets includes of ardour/*.h. There is also a very large number of unnecessary includes of stuff in gtk2_ardour; tackling that should also give a big improvement in build time when things are modified. git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf