summaryrefslogtreecommitdiff
path: root/libs/ardour/port.cc
AgeCommit message (Collapse)Author
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
2012-03-13redesign how XML state, bitslots and names get propagated during copying a ↵Paul Davis
send/port insert/return git-svn-id: svn://localhost/ardour2/branches/3.0@11669 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-27change audioengine's port container to a std::map to provide faster results ↵Paul Davis
from get_port_by_name() git-svn-id: svn://localhost/ardour2/branches/3.0@11360 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-26add Port::PostDisconnect signal to allow objects other than the one being ↵Paul Davis
directly disconnected to act when disconnection happens. This turns out to be much easier than using the JACK port connect/disconnect callback git-svn-id: svn://localhost/ardour2/branches/3.0@11355 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-23Do some renaming in the ARDOUR::Port class tree.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11062 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-28Use shared_ptr for Port in the AudioEngine; improves thread-safety of the ↵Carl Hetherington
audio engine's port list as a writer cannot destroy a port in one thread while the port list is being iterated in another. git-svn-id: svn://localhost/ardour2/branches/3.0@10327 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-30fixes for 98% of all the warnings/errors reported by OS X gcc on tigerPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10179 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01Fix broken whitespace. I'd apologize for the compile times if it was my ↵David Robillard
fault :D git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-21avoid untested use of 2 jack weak symbolsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9175 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-18fix (?) capture alignment by making sure we use non-public latency ↵Paul Davis
information for playback latency, thus avoiding counting plugin latency twice git-svn-id: svn://localhost/ardour2/branches/3.0@9168 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-16Replace connection cerr dumping with DEBUG_TRACE.David Robillard
Logging here is unusably slow for adding a large number of tracks. git-svn-id: svn://localhost/ardour2/branches/3.0@9156 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-15fix all manner of things relating to io connections, setting capture ↵Paul Davis
alignment, and so on. still needs more tests of actual precise placement of newly recorded material git-svn-id: svn://localhost/ardour2/branches/3.0@9155 d708f5d6-7413-0410-9779-e7cbd77b26cf