summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
AgeCommit message (Collapse)Author
2018-01-30Remove unused APIRobin Gareus
2018-01-30Update PluginManager: implement plugin tagsRobin Gareus
* move plugin-meta-data (status, tag) into dedicated sub-dir * load/save space separated tags * pre-seed tags with plugin-category (if unset) * breaking API change: PluginStatusesChanged() signal includes change
2018-01-30Update plugin classificationRobin Gareus
* dedicated API for classes (effect, instrument, util) * prepare for tags (rather than categories) * prepare removal of per-plugin in_category() API
2018-01-30Prepare plugin-meta-data config-dir and filesRobin Gareus
2017-12-24remove unused lineLen Ovens
2017-12-05Add a Raw MIDI parser (based on ALSA raw MIDI)Robin Gareus
2017-12-05Allow to pre-seed Lua action script paramsRobin Gareus
2017-12-05Allow to pass interpreter to evaluate action-script parametersRobin Gareus
This allows to add bindings, in particular GUI dialog, to be registered before evaluating the parameters.
2017-11-26Remove unused APIRobin Gareus
2017-11-26Add convenience methods to set port latenciesRobin Gareus
2017-11-23Add clock-delta mode enumRobin Gareus
2017-11-23Introduce a dedicated "Clock Origin" MarkerRobin Gareus
2017-11-12Add API to allow buffer offsets when applying gainRobin Gareus
2017-11-12Add a noise generator (Lua DSP)Robin Gareus
2017-11-04Add some notes for future optimizations (and prepare API)Robin Gareus
2017-11-04Change Delayline to use power-of-two size and bitmaskingRobin Gareus
2017-11-04[Re]-Implement Delayline flush.Robin Gareus
Also don't automatically flush the delayline at transport or monitor- changes anymore. With full-graph latency compensation, delaylines are before the disk-reader, aligning input (disk uses read-ahead to align). Flushing the delayline should only happen when input-monitoring is disengaged. It's best degated to the Route or object using the Delayline (potentially latency-aligned delayed flush).
2017-11-04Optimize Delaylines: block-process (not one sample at a time)Robin Gareus
This also tweaks fade behavior when the latency changes to prefer a x-fade when possible. This new variant does not support concurrent re-allocation and execution. Hence the auto-connect thread needs to take a lock before updating latencies (actually there's no need for an explicit update with built-in backends, so this case remains to be updated further)
2017-11-04Clean up delayline API: don't use 'get_' for accessor method-nameRobin Gareus
2017-11-01Wrap automation on loop-position, split plugin processingRobin Gareus
2017-10-31Click-free polarity inversion, also use accelerated (AVX, SSE) AmpRobin Gareus
2017-10-31Fix set_loop() return value (amend 00a4ad)Robin Gareus
2017-10-31Move Loop Location to ProcessorsRobin Gareus
The processors will becomes responsible to know about loop-positions and map latency-compensated start_sample, end_sample into the loop-range as needed.
2017-10-31Migrate to Polarity-inversion processor & fix proc positionsRobin Gareus
* invert polarity after disk i/o proc or return * fix position of export-proc (after polarity) * fix input-meter (before disk-writer or after return)
2017-10-31Add polarity-invert processorRobin Gareus
2017-10-30NO-OP: whitespaceRobin Gareus
2017-10-30Add & implement PortEngine::externally_connected() APIRobin Gareus
2017-10-30Fix fade-out at quit.Robin Gareus
2017-10-30Parallel execution of cycle-start/endRobin Gareus
2017-10-30Add a RT-TasklistRobin Gareus
2017-10-29Remove unused per-port buffer offsetRobin 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-10-20Prevent recursive VCA assignmentsRobin Gareus
The GUI so far only prevents direct connections VCA 1 > VCA 2 > VCA 1, but does not recurse VCA 1 > VCA 2 > VCA 3 > VCA 1
2017-10-20Remove not implemented APIRobin Gareus
2017-10-19US2400: map knobs for mixbus strips, when selected.Ben Loftis
2017-10-18Consolidate session + template file extensionsRobin Gareus
2017-10-05US2400: send_pan_azimuth lookup function (currently mb-only)Ben Loftis
2017-10-05US2400: add debug bitsBen Loftis
2017-10-04Fix various edge-cases with session-archivesRobin Gareus
* prevent duplicate names when pulling-in external sources * drop "origin" after including external sources * don't include unused playlists (they may reference sources that are not included) * likewise exclude unused regions
2017-10-04Clean up State API:Robin Gareus
* Processor implement get_state(), classes derived from Processor implement protected ::state() -- as documented in processor.h * likewise for Route, Track: make ::state() a protected interface * removal of "full_state", use explicit "template_save" * use RAII/Unwind to skip saving automation-state
2017-10-03API change: expose session-archive compression-levelRobin Gareus
2017-10-03Fix session-archive edge-cases, prepare uncompressed archivesRobin Gareus
* don't fork/clone midi regions (default snapshot) * properly handle encoding embedded/external multi-channel files * use dedicated file-extension (prepare for uncompressed archive)
2017-10-02change API and implementation for CubicInterpolation and Interpolation.Paul Davis
Also remove LinearInterpolation which is not used
2017-10-02remove midi_interpolation member of DiskIOProcessor (was used only to call ↵Paul Davis
::distance() method
2017-10-02NO-OP: comment format change and whitespacePaul Davis
2017-10-02remove cruft from DiskIOProcessor headerPaul Davis
2017-10-02remove leftover cruft related to wrap buffers from DiskIOProcessorPaul Davis
2017-10-02tracks no longer need to be notified about speed changesPaul Davis
2017-10-01Fix MIDI rec-region displayRobin Gareus
gui_feed_buffer is used for DiskWriter -> GUI notifications. It was wrongly migrated from MidiDiskstream to DiskReader in 7fb6807