summaryrefslogtreecommitdiff
path: root/libs/ardour/port_manager.cc
AgeCommit message (Collapse)Author
2019-12-17Fix MIDI port i/o when vari-speedingRobin Gareus
2019-12-05VKeybd: Set default MIDI port flagsRobin Gareus
2019-11-03Correctly flush MIDI buffers on cycle-splitRobin Gareus
2019-10-28add DEBUG_TRACE for all (?) backend callbacksPaul Davis
2019-10-19Fix typo in bc363f1258c4Robin Gareus
2019-10-18Special case "Virtual Keyboard" to be available as external inputRobin Gareus
2019-09-25goodbye Profile->...trxPaul Davis
2019-09-17correct mistakenly left-in debugging condition that removed parallelism for ↵Paul Davis
PortManager::cycle_start()
2019-09-17resize audio port _data buffer based on current buffer sizePaul Davis
2019-09-17manually correct cherry-pick of cdbabe40ed4ePaul Davis
2019-08-03Update libardour GPL boilerplate and (C) from git logRobin Gareus
2019-03-17remove debug outputPaul Davis
2019-03-08do not save MIDI port info unnecessarilyPaul Davis
2019-03-08add runtime warning messagePaul Davis
2019-03-08drop silly canonical name stuff from MIDI port info, and just store backend ↵Paul Davis
name (libs version
2019-03-07rework name/canonical-name stuff for MIDI port infoPaul Davis
2019-03-07save/restore MIDI port pretty names, but prefer backend pretty name if availablePaul Davis
2019-03-07redesign naming and reload of MIDI port information (library edition)Paul Davis
2019-02-15Simply debugging port-registration failuresRobin Gareus
2018-09-18new transport slave/master implementation, libs/ editionPaul Davis
2018-07-31Add support for PreSonus Faderport2 (2018 model)Ben Loftis
This is a cleaned-up, foward-ported version of Ben's Mixbus patch (d6694c5b31).
2017-12-12Add FP17 to reserved I/O namesRobin Gareus
2017-11-30Add some devices to the reserved list of midi controllers.Ben Loftis
2017-11-06Some further notes (and experiments) on optimizationsRobin Gareus
2017-11-04Add some notes for future optimizations (and prepare API)Robin Gareus
2017-10-30Fix fade-out at quit.Robin Gareus
2017-10-30Parallel execution of cycle-start/endRobin 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-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-04-21Do not clear pretty-names set by the backendRobin Gareus
Since 7dde6c3b8f pretty-names are no longer saved and hence initially empty. The port-manager cleared existing pretty-port-names.
2017-04-19Use XMLProperty::get/set_property API in PortManager classTim Mayberry
2017-04-18prevent crash when loading midi port info about ports that no longer existPaul Davis
2017-04-13Faderport8 control surface supportRobin Gareus
2017-04-03do not save or restore MIDI port "pretty-names" from XMLPaul Davis
This is a job for the backend, which should really get the names from the hardware/driver and make a mapping between a device UUID and the name. Neither the ALSA, JACK or ASIO backends can do this at present
2016-10-21when fetching MIDI ports for bundles and auto-connection, ignore ↵Paul Davis
control-only (and "virtual") MIDI ports "virtual" is a placeholder name for ALSA sequencer MIDI through ports
2016-10-20infrastructure for save/restore of MIDI port user-provided informationPaul Davis
2016-10-19add PortManager::disconnect (std::string const&)Paul Davis
2016-10-19infrastructure for MIDI-input-follows-selectionPaul Davis
2016-10-19basics of managing a list of port names for MIDI-input-follows-selectionPaul Davis
2016-10-17add more DEBUG_TRACE statements for port/destruction debuggingPaul Davis
2016-10-13new scheme for managing port deletionPaul Davis
shared_ptr<Port> now uses a deleter functor which pushes Port* to a lock-free FIFO so that the Port is always deleted (and thus unregistered with the PortEngine/backend) in a safe context w.r.t. various callbacks in the host. Currently the auto_connect_thread in Session has been tasked with doing these deletions.
2016-09-27remove ControlOnly port flag, since it was essentially unusablePaul Davis
2016-09-27add PortManager::port_is_control_only() and use it in PortManager::get_ports()Paul Davis
This allows us to avoid using "control-only" ports (e.g. Ableton Push 2 hardware ports) as inputs or outputs
2016-09-27change PortManager API to allow specifying additional flags when registering ↵Paul Davis
a port
2016-09-21PortManager::silence() should not clear data in AsyncMIDIPortsPaul Davis
This data was generated asynchronously and is not required to be "silenced" the way that session data would be. Compare also to the similar tests for sync-related MIDI ports
2016-08-08add explanatory commentPaul Davis
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-05-25fix timecode update after locate.Robin Gareus
Various session rt-events set "_send_timecode_update" to true, but at the same time queue post-transport-work. The timecode-update is generated, but due to pending transport work session->silent() is true and the timecode was never sent.
2016-04-26implement missing PortManager methods and lua-bind themRobin Gareus