summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/audioengine.h
AgeCommit message (Collapse)Author
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
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-07-14refactoring to prepare for real-time exportRobin Gareus
* add a threaded TmpFile Writer * update API calls to that process_export_fw() can be used as process_function The idea is to re-use export infrastructure from normalization: export to a tmp-file and then encode target formats after that.
2016-04-26PortManager lua bindings (to debug lingering ports)Robin 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-10-01Reinterpret the return value of AudioBackend::start as AudioBackend::ErrorCodeTim Mayberry
This will allow backends to return a more meaningful error message. Eventually an error code could be returned by AudioEngine::start and the GUI can then use AudioBackend::get_error_string to convert the error into a translated error message directly, or it may be desirable to define its own error messages. The reasons for not doing that right now is that this is a workable solution with the least change required.
2015-06-29[Summary] Added possibility to identify IO thread which does not have ↵GZharun
required resources initialized during process callback handling Conflicts: libs/ardour/ardour/audioengine.h libs/backends/wavesaudio/waves_audiobackend.cc libs/pbd/pbd/pool.h
2015-05-02professionalize peak-metersRobin Gareus
The peak meter needs to withstand various test-signals without visual jitter (in particular 1kHz sine) regardless of settings (period-size, sample-rate, custom fall-off). This needs to be done in sync (and not by a random non-rt ‘smoothing’ thread). On the downside this voids the ‘visual smoothing’ particularly with large buffersizes - but then again exactly this “always fall-off no matter what [the next real data will be]” is the problem. One the upside, there’s one less high-frequency (100Hz) thread (Yay!) PS. it probably never worked on windows, anyway. Only peak-meters are affected by his change. K-meters, IEC I/II and VU were never visually smoothed.
2015-04-05add libardour code for going completely silent after a compile-time defined ↵Paul Davis
number of seconds
2015-03-31add new signals to AudioEngine from waves backend changes.Paul Davis
These were missed somehow during cherry-picking.
2015-03-31[Summary] Added actions to handle abnormal behavior during stream stop for ↵Greg Zharun
MIDI and Audio devices. Made correct error handling for cases we didn't see before. Removed redundant and experimental code I forgot to remove months ago. Added debug output which will help in future testing Conflicts: libs/ardour/ardour/audioengine.h libs/ardour/engine_state_controller.cc libs/backends/wavesaudio/waves_midi_device.cc
2015-03-31[Summary] Made device control panel open request synchronized with other ↵Greg Zharun
critical device operations. Made device reset correctly when control panel is closed. Conflicts: gtk2_ardour/tracks_control_panel.logic.cc libs/ardour/ardour/audioengine.h libs/backends/wavesaudio/wavesapi/devicemanager/WCMRPortAudioDeviceManager.cpp
2015-02-19change Audio backend sample time methods to use a 64 bit timelinePaul Davis
2014-12-23indent cleanupPaul Davis
2014-10-23small round of compiler warning fixesRobin Gareus
2014-10-22remove obsolete jack includes in libardourRobin Gareus
2014-10-01NOOP, re-indentRobin Gareus
2014-09-30copy over current Waves version of their backend, along with minor changes ↵Paul Davis
in libs/ardour and libs/backend/jack to fit with API changes
2014-06-08prepare MIDI latency measurement (backend)Robin Gareus
2014-02-24remove unused and unimplementable audio engine sample format codePaul Davis
2013-12-04change "cpu" in cpu load backend functionsPaul Davis
2013-12-03fix up wscript/build issues in exportvis after merge with masterPaul Davis
2013-10-21fix issues with recording while synced to JACK (non-pure-virtual method ↵Paul Davis
added to AudioBackend) and remove pause() from AudioEngine/AudioBackend APIs
2013-10-17add export visibility macros across libardourPaul Davis
2013-10-12adapt AudioEngine to new AudioBackend APIPaul Davis
2013-10-11Add AudioEngine::set_default_backendTim Mayberry
2013-10-07use AudioEngine destructor to do necessary stuff when shutting it down, and ↵Paul Davis
remove unused Config stuff in AudioEngine
2013-10-04Move processing thread list from ARDOUR::Graph into AudioBackend implementationTim Mayberry
2013-10-04Add AudioBackendThread class to support different thread type on windowsTim Mayberry
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-12lots of changes to auto-start (and stop) the backend for latency ↵Paul Davis
measurements, and continuing work on the session construction/engine configuration flow
2013-09-12add AudioBackendNativeThread to serve the same role as jack_native_thread_tPaul Davis
2013-09-11make use of measured latency values to set dialog controls, and use actual ↵Paul Davis
port latency to compute extra delay
2013-09-10more tweaks to latency measurementPaul Davis
don't open ports till absolutely necessary (store names for future use). tidy up parts of the dialog (tab)
2013-09-10basic functionality for hardware latency measurementPaul Davis
2013-09-05move MidiPortManager from AudioEngine to SessionPaul Davis
This makes the responsibilities and ownership of non-Route related MIDI ports more clear, and removes a few wierd bits of code. It also ensures that open/close/open on the same session will retain connections for those MIDI ports
2013-09-04rename interface_ stuff in the engine dialog to device_, since that feels a ↵Paul Davis
bit clearer terminology
2013-08-09split up session code that uses parts of the JACK API (timebase + session ↵Paul Davis
event handling) and connect it directly to the jack audiobackend i've made the audiobackend call the session directly so that only one object (ARDOUR::Session) has a need for the JACK types and only one .cc file (session_jack.cc) needs jack.h. having ARDOUR::AudioEngine act as an intermediary would be cleaner conceptually but would end up causing two different ARDOUR objects to have jack types in their own API.
2013-08-07major redesign of MIDI port heirarchy and management (part 2)Paul Davis
2013-08-04start work on the changes to EngineControl (dialog) to integrate with new ↵Paul Davis
backend design, and add "requires-driver" concept to AudioBackend to handle JACK specifically
2013-08-03cleanup more dangling members of AudioEnginePaul Davis
2013-08-03fix problem with session exit caused by dangling unused members in AudioEnginePaul Davis
2013-08-03add tim's jack_utils code to rationalize setup of JACK configPaul Davis
2013-08-03audioengine branch can now load and run at least one test session.Paul Davis
currently hard-coded to deal only with the situation where JACK is already running
2013-08-01start code reorganization needed to deal with backend choices. compiles, ↵Paul Davis
links and runs as far as the startup screen now
2013-08-01full compilation and linking (coding not finished, will not run)Paul Davis
2013-07-31more stuff compilesPaul Davis
2013-07-30remove compile errors (still will not link and JACKPortEngine is not close ↵Paul Davis
to done)
2013-07-30jack_audiobackend.cc finally compilesPaul Davis