summaryrefslogtreecommitdiff
path: root/libs/ardour
AgeCommit message (Collapse)Author
2020-04-13Fix typos in preparation for translationsEdgar Aichinger
2020-04-12update all *.po filesPaul Davis
2020-04-12Forward disk-reader ConfigurationChanged signalRobin Gareus
2020-04-12Reduce redundant signal emissionRobin Gareus
2020-04-12Fix loop range changes while playing - #8001Robin Gareus
Since ead883302fe800ae, it is no longer possible to use a null pointer SessionEvent::track as flag to indicate overriding all buffers.
2020-04-10remove debug outputPaul Davis
2020-04-10fix mistaken geometrical-math for xfaded loopsPaul Davis
2020-04-10Sync reset meter, report zero until the meter is actually resetRobin Gareus
2020-04-10use cout not cerr for some temporary debugging messagesPaul Davis
2020-04-10more debug info for DiskReader::maybe_xfade_loop()Paul Davis
2020-04-10somewhat change the condition used to identify when butler transport is done ↵Paul Davis
pre-export
2020-04-10fix typo/thinko in code that checks for result of waiting for butler ↵Paul Davis
transport work
2020-04-10Hotfix more export woes, prevent possible endless loopRobin Gareus
This apparently happens on some Windows systems when exporting a range starting at 00:00:00:00 I'm still hoping there's a better fix for these race-condition issues, perhaps by kicking the TFSM...
2020-04-10Revert "Another attempt at fixing multi-range export"Robin Gareus
This reverts commit c5332ddd0092c3a73315923a90c41024c0ad7758. Apparently this is not needed 4f3a95a1da is sufficient.
2020-04-09some potentially helpful but trivial commentsPaul Davis
2020-04-09Another attempt at fixing multi-range exportRobin Gareus
See also * 4f3a95a1da9 * cfd95340b18 * 61e7f3176bf
2020-04-09Cont'd work on fixing export rangesRobin Gareus
This picks up where cfd95340b1 left off. The goal is to ensure that the butler has completed all PostTransportStop related tasks and won't meddle with transport after exporting has started. Previously this could happen, because realtime_stop() queues PostTransportStop and the butler is sommoned after every export process cycle. Since 61e7f3176bf the butler keeps calling non_realtime_stop() every time it is woken up, until TFSM comes around and unsets the flag in the process callback.
2020-04-08remove debug outputPaul Davis
2020-04-08when renaming a port, remove the backend's port map entry based on the *old* ↵Paul Davis
name (not the new one)
2020-04-09Prevent FX from producing sound after exportRobin Gareus
This cuts reverb tails and synth sounds after export. Disabling freewheeling, continues normal processing where export left off. This previously kept notes ringing, or reverbs audible.
2020-04-09Safeguard against libaudiographer exceptionsRobin Gareus
2020-04-09Fix export-alignment with JACK -- #7916Robin Gareus
2020-04-08Fix exporting multiple range (MacOS)Robin Gareus
The actual issue was introduced in 61e7f3176bfd8e: Session::non_realtime_stop() no longer unsets PostTransportStop (other changes from that commit are not relevant). The real issue however is a race-condition. So far this only seems to happen on MacOS, Coreaudio. It seems that non_realtime_stop() is called in the butler-thread after exporting has started, even though the butler has been paused in wait_until_finished(). Perhaps Coreaudio thread switches causes TransportFSM to reinitialize and scheduling the butler? The use of `usleep()` makes this rather a workaround. However it's sufficient for the coreaudio rt thread to run at least once.
2020-04-08use an Unwinder to provde exception-safetyPaul Davis
2020-04-07better fix for port destructionPaul Davis
2020-04-07Revert "PortEngineSharedImpl callbacks should not be pure virtual"Paul Davis
This reverts commit a13ef36b3b6212d1ae0c563c7a60a86152dbb48f. A better fix is coming.
2020-04-07show ARDOUR::Port destructor with either DEBUG::Ports or DEBUG::DestructionPaul Davis
2020-04-07PortEngineSharedImpl callbacks should not be pure virtualPaul Davis
A port can callback from its destructor, which if occuring inside the backend destructor would reach an already partially destructed backend.
2020-04-08Cont'd work on disk reader channel initializationRobin Gareus
Amend 648beb94. If initial re-fill happens via override buffers, the buffer may still be effectively empty.
2020-04-07fix return value to be a legal null shared_ptr<PortPtr>Paul Davis
2020-04-07fix 2 additional "resets" of shared_ptr<PortPtr>Paul Davis
2020-04-08Fix false-positive under-run messagesRobin Gareus
Port (or Tracks) can be safely added during playback, however the disk-reader's playback buffer is initially empty. This lead to false-positive Underrun() signals when processing takes place before or concurrently with re-filling the disk-buffer for the new channels. Now new empty buffers are ignored, and produce silence until the initial refill is complete. There is however no per-channel de-click in, yet. This fixes: play some audio track, ctrl+drag a region to the drop-zone, creating a new track while playing.
2020-04-07"fix" some uses of foo<bar<>> by change the closing chars to "> >" (windowsPaul Davis
2020-04-07fix 2 additional "resets" of shared_ptr<PortPtr>Paul Davis
2020-04-07fix "reset" of shared_ptr<PortPtr>Paul Davis
2020-04-07Add option to reset x-run count on record-startRobin Gareus
2020-04-07fix up shared_ptr<> use in JACK backendPaul Davis
2020-04-07use shared_ptr to manage backend port lifetimes (Pulse,ALSA,Dummy,JACK)Paul Davis
JACK is not yet finished. Changes also include minor reformatting and a spelling correction (latecies to latencies)
2020-04-07NO-OP: whitespaceRobin Gareus
2020-04-07Remove unused variableRobin Gareus
2020-04-07NO-OP: whitespaceRobin Gareus
2020-04-07Further tweak ambiguous latency checkRobin Gareus
Ignore latency of async ports (Virtual Keyboard in particular), and only consider ardour's own ports.
2020-04-07Expose Port::flags() to LuaRobin Gareus
2020-04-07Fix typo in API name (1/2)Robin Gareus
2020-04-07Fix ambiguous latency checkRobin Gareus
Only compare playback latency, delaylines in tracks do not push back the capture latency to the source. The delayline on tracks sits in between disk-writer and disk-reader, delaying input to align with the disk-reader. Furthermore tracks may be connected to different inputs, even though those inputs are usually from the same hardware device, capture latency of those ports can differ.
2020-04-07NO-OP: whitespaceRobin Gareus
2020-04-07Atomically reset peak meters #7465Robin Gareus
2020-04-07API change: LatencyUpdated(), indicate playback/captureRobin Gareus
2020-04-06NO-OP: whitespaceRobin Gareus
2020-04-06Add method to check for ambiguous port latencyRobin Gareus