summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
AgeCommit message (Collapse)Author
2020-03-23Remove unused method (see also 875f69438)Robin Gareus
2020-03-21Pan: consolidate what_can_be_automated APIRobin Gareus
2020-03-21Pan: remove/consolidate parameter-descriptorRobin Gareus
2020-03-21Pan: remove value-as-string indirectionRobin Gareus
2020-03-21Pan: remove unused APIsRobin Gareus
2020-03-20redesign chasing the transport masterPaul Davis
Substantive comments associated with code in Session::plan_master_strategy. Known not to work for reverse TC. Also, the JACK related code has not yet been tested
2020-03-17provide mechanism to report on destructive tracks presence in a sessionPaul Davis
2020-03-17NOOP: indent/whitespacePaul Davis
2020-03-17restore being able to load a 5.12 session with a destructive track.Paul Davis
Not all is working right yet, however
2020-03-17remove destructive/tape mode tracksPaul Davis
2020-03-17remove tape_file_matcher sourcePaul Davis
2020-03-15Fix cleanup report #7891Robin Gareus
Direct call to Session::cleanup_sources() from ARDOUR_UI::cleanup() didn't zero initialize size. This centralizes initialization, so cleanup_trash_sources() does not need to explicitly clear it.
2020-03-15Add/use default argument for track creationRobin Gareus
2020-03-14Prevent freeze/bounce of sidechain processorsRobin Gareus
This also consolidates code to test if a processor can be frozen from various places.
2020-03-13add new API to TransportMasterManager to manage use of ↵Paul Davis
DiskReader::{inc,dec}_no_disk_output()
2020-03-10small adjustments to TransportMaster API to better accomodate the ↵Paul Davis
"ignore/accept commands" concept
2020-03-10Avoid using 'boost::aligned_storage' which is known to be problematic in ↵John Emmas
MSVC builds:- https://www.boost.org/doc/libs/1_65_0/libs/type_traits/doc/html/boost_typetraits/reference/aligned_storage.html
2020-03-06Fix potential deadlock when exporting w/normalizingRobin Gareus
start_post_processing() may be called from the freewheeling callback, when starting to normalize.
2020-03-06RT-safety use stack (not heap) for plugin pin mappingsRobin Gareus
2020-03-06Remove region-output export (GUI)Robin Gareus
This use-case is better served via stem-export. This export mode never worked correctly when latent plugins are present on the track. or when realtime export was chosen. This used to call track.export_stuff() -> bounce_process() periodically in small chunks from freewheeling callback, which is no longer functional.
2020-03-06Fix export alignment (#7916)Robin Gareus
Ardour's playback is aligned to master-out: "When the playback clock reads 01:00:00:00, the sample corresponding to 01:00:00:00 is audible at the speaker(s)" When exporting, and grabbing data from output ports, the signal is offset by the master-bus physical playback latency. This was compensated for, but lead to initial silence in the exported file. New approach is to start capturing export data during pre-roll, at the time when playback is written to the output buffers. To also shaves off a common offset to make this work with realtime export. Effectively this emulates processing with disconnected master-output port, while still keeping any latency of effects on the master-bus itself. Last but not least: jack updates latencies when freewheeling, (setting HW latency to zero). The callback arrives asynchronously some time after enabling freewheeling, but after Export Ports have been configured. Those callbacks are ignored.
2020-03-06Fix realtime export of multiple time-spansRobin Gareus
After exporting a time-span, the next time-span was started directly from the rt-callback. This had various issues. In particular with realtime export. Post-processing of a realtime-export enables freewheeling and is driven by freewheel callbacks. Freewheeling needs to be safely disabled for an upcoming realtime export. A similar issues existed when mixing realtime and non-realtime exports.
2020-03-06Do not de-click during freewheel exportRobin Gareus
2020-03-06Separate pre-roll cycle calculationRobin Gareus
This is also needed when exporting.
2020-03-02Retain custom internal-send name on session re-loadRobin Gareus
2020-03-02Refactor send naming (#7905)Robin Gareus
This allows users to rename sends without enforcing a numeric bitslot number. However this prevents a user to to use "send" names that are potentially used for new sends or inserts.
2020-03-02Do not include <stdint.h> in the Ardour namespaceRobin Gareus
2020-02-27Add signals to indicate Punch/Loop constraintsRobin Gareus
This is in preparation for GUI sensitivity of Loop and Punch actions.
2020-02-27Prevent concurrent loop and punch recording (backend)Robin Gareus
This also prevents switching between punch-in/out record and looping without transport-stop.
2020-02-26Fix DSP::process_map() plugin-pin I/O map handingRobin Gareus
The previous approach failed in case where PluginInsert uses no-inplace buffers with a linear map. Since buffers are replicated up to a total of number of all (inputs + outputs), the number of output buffers could not be determined. There was insufficient information using the I/O map alone. With a known number of outputs processing and applying the i/o map is also a lot easier and faster. This break the API of process_map().
2020-02-25Consolidate shared-ptr debuggingRobin Gareus
2020-02-24NOOP: remove whitespacePaul Davis
2020-02-25Add a method to clear ImportStatus arraysRobin Gareus
This is in preparation to fix a "SessionHandleRef exists across session deletion" error.
2020-02-24Add API to query hardware latency (as reported by the driver)Robin Gareus
So far only MacOS/X CoreAudio supports this. This is intended for defualt values in case a user has not callibrated the device, yet.
2020-02-21centralize determination of "read-audio-data-in-reverse" and fix seek ↵Paul Davis
"shift" offset There is still a bug related to "shift" that causes a playback discontinuity
2020-02-21make "reversing" back into a DirectionState and prohibit speed changes while ↵Paul Davis
reversing
2020-02-20change transport API, session API, transportFSM API to move reverse ↵Paul Davis
management and motion state (partially) into TFSM
2020-02-20improve commentsPaul Davis
2020-02-20correctly track is disk read (audio) should be forwards/backwards, and what ↵Paul Davis
was done last time we read from disk
2020-02-20Revert "fix behavior of DiskReader when moved after an instrument"Robin Gareus
This reverts commit b2bc934e218a8ed05b6f37edc5585191e60ca288. The commit does causes issues when a user manually removes channels: The disk-reader's ::can_support_io_configuration() at first ignores the user's request, forcing the output channel count to match the DR's current channel config. However, when configuring the DiskReader after that, channels is updated to match the new input-count. Even though the DR itself only plays back using the confgured I/O, all processors after it still use the old channel count. Only a later, second re-configuration step will apply the actual removal to plugins and port. PS. the original commit was mainly intended to fix a crash when adding an instrument plugin *between* disk-writer and disk-reader on a MIDI track.
2020-02-19remove "destination_sample" from API for Session::set_transport_speed()Paul Davis
This was a leftover from changes made for Tracks Live, related to the concept of an auto-return preference. We don't use this anywhere in Ardour or Mixbus, and the concept should eventually be removed entirely.
2020-02-18Enumerate the polarity buttons from the polarity processor itself, not the ↵Ben Loftis
Input count.
2020-02-18Replace missing .mid files with silenceRobin Gareus
This fixes a crash: missing playlist due to missing .mid, and retains regions for missing MIDI files. As opposed to missing Audio, we cannot use a SilentFileSource, because MIDI files are destructive. This also adds an API to query missing files that have been replaced with silence to report them to the user.
2020-02-06Prefer TLSF over realloc-pool for LuaProcRobin Gareus
With 4MB RAM and 1.5MB locked base memory (C++ bindings), TLSF has a better worst-case performance (-20% std-dev execution time compared to realloc-pool). Even though on average Realloc-Pool performs better (-9% average time, compared to TLSF).
2020-02-06Fix rt-safety (const reference, not const copy)Robin Gareus
PluginInsert (and a few other places) iterate over channel mappings using a const iterator. However mappings() allocated memory since it was copied
2020-02-06Update DSP::ConvolutionRobin Gareus
Expose zita-convolver bindings, to allow for custom NxM convolution matrices, and dedicated FIR processors.
2020-02-06Add a Read Only Memory Audio SourceRobin Gareus
This will come in handy for FIR, or short samples in combination with a Lua convolution processor.
2020-02-06Break out API to create readables from filesRobin Gareus
2020-02-04Auto-Input should default ON (per irc discussion)Ben Loftis
2020-01-30Allow StateProtector to save pending filesRobin Gareus
This is in preparation for saving state while the session is record-arm'ed. Most notably config changes and undo/redo. In case both normal and pending save happens, pending must be last and is required to recover from crashes during recording.