summaryrefslogtreecommitdiff
path: root/libs/ardour/audioengine.cc
AgeCommit message (Collapse)Author
2015-10-02remove debug outputPaul Davis
2015-10-02the return of the 1 second fade out at session closePaul Davis
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-08-28synchronous shutdown of process graph.Robin Gareus
2015-08-11fix deadlock at exit on SMP systemsRobin Gareus
graph process-threads won't terminate properly while active.
2015-06-29Fixed incomplete merge for audioengine.ccGZharun
[To be reviewed by] Paul Davis
2015-06-29increase event pool for backend reset thread (somewhat unnecessarily, but ↵Paul Davis
lets keep Kyiv happy)
2015-06-29AudioEngine tweaks from Tracks, related to stopping audioengine and haltingPaul Davis
2015-06-29initial incorporation of Tracks' automatic reconnect features, based on ↵Paul Davis
current Tracks code
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-04fix thinko in 2e4428bRobin Gareus
perspective of Ardour: signal sinks are outputs
2015-05-03no more noise during startup.Robin Gareus
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-30don’t count silent [x]runs if there’s no session.Robin Gareus
2015-04-29emit an xrun if the process_lock is takenRobin Gareus
2015-04-26Fix crash when switching backends.Robin Gareus
cycle_end() can write to invalid buffers.
2015-04-22Initial Gain Coefficient tweaksBen Loftis
1) Disambiguate 1.0 to GAIN_COEFF_UNITY, and 0.0 to GAIN_COEFF_ZERO 2) Add GAIN_COEFF_SMALL which replaces SMALL_SIGNAL (-140dB) 3) GAIN_COEFF_SMALL can used to avoid interpolating towards -inf on a db scale 4) GAIN_COEFF_SMALL is used to detect very small (denormal?) gains and memset to zero
2015-04-05fix ambiguous use of pow()Paul Davis
2015-04-05bump default silent-after-seconds duration to 10 minutesPaul Davis
2015-04-05add libardour code for going completely silent after a compile-time defined ↵Paul Davis
number of seconds
2015-03-31[Summary] Fixed several backend issues: made reset counter check atomic, ↵Greg Zharun
removed copy/paste mistakes Conflicts: libs/ardour/audioengine.cc libs/ardour/engine_state_controller.cc libs/backends/wavesaudio/waves_audiobackend.cc
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-03-05create engine thread before sending notifications.Robin Gareus
Fixes missing thread in Pool in session_process, when switching backend threads (CoreAudio, Waves)
2015-02-28fix routing midi data on export:Robin Gareus
MidiPort::cycle_end() was never called, hence after the first cycle all midi buffers were assumed to be “mixed down” already. this fixes Midi-track 1 -[midi]-> Midi-track2 synth -[audio]-> out on export.
2015-02-19change Audio backend sample time methods to use a 64 bit timelinePaul Davis
2015-01-25audio-engine use internal API to stopRobin Gareus
emit signal(s) when engine is stopped due to backend change.
2014-12-03fix audio-engine dtor.Robin Gareus
backends - once instantiated - keep a reference to the engine. when audioengine is destroyed, the backends must be deinstantiated. This fixes various unit-test cases.
2014-11-18remove superfluous if-branch (_session is checked a few lines above)Robin Gareus
2014-10-23skip unavailable backends early on.Robin Gareus
2014-10-22remove unused codePaul Davis
2014-10-17windows: don’t popup message box when libjack is not foundRobin Gareus
2014-10-08initialize some uninitialized vars - closes #5974Robin 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-08-31prepare for clang static analysis of RT-functions:Robin Gareus
see: https://github.com/fundamental/stoat eventually more functions should be annotated, and a common header file should be used to #define REALTIME __attribute__((annotate("realtime")))
2014-06-25Use PBD::find_files_matching_pattern instead of other variationsTim Mayberry
2014-06-19fix port-unregister (on failed latency measurement)Robin Gareus
2014-06-08prepare MIDI latency measurement (backend)Robin Gareus
2014-06-07Revert windows backend search expression to "*backend.dll"Tim Mayberry
2014-06-04fixes to change engines while Ardour is running.Robin Gareus
When a new backend is selected, it is loaded to query available devices etc. This effectively drops the current backend.
2014-05-14Fix pattern to match possible audio backends on windowsTim Mayberry
2014-05-01use AudioBackendInfo::already_configured() to correctly determine if backend ↵Paul Davis
requires setup Fixes issues when using JACK backend in combination with others, that prevented connecting to an existing JACK server.
2014-03-24call AudioBackend::drop_device() when dropping a backend.Paul Davis
It is not clear that ::drop_device() is part of the same semantic operation as ::stop(), so we call them separatey
2014-03-10Create 'libs/ardour/search_paths.cc/.h' and transfer backend_search_path() ↵John Emmas
to it
2014-02-24remove unused and unimplementable audio engine sample format codePaul Davis
2014-02-24add (finally) DEBUG::AudioEngine bit and convert existing debug trace ↵Paul Davis
messages to use it
2014-01-10Merge windows+cc branch into cairocanvas branch. Not finished, need to now ↵Paul Davis
merge windows branch to get changes from there
2013-12-04change "cpu" in cpu load backend functionsPaul Davis
2013-10-28fix thinko in declaration of ARDOUR::PortEngine::get_port_by_name()Paul 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