summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
AgeCommit message (Collapse)Author
2018-02-09new_grid: Rewrite of Snap and Grid. (squashed commit)Ben Loftis
Separate Snap from Grid. Lots of naming changes. Multiple simultaneous snap options allowed. Grid is one of the possible Snap options. Grid uses the same data as the rulers. Replace complicated tempo_lines with simple grid_lines. The Grid is zoom-scale-sensitive along with the rulers. If you are zoomed out, grid becomes coarser.
2018-02-03Make sure that 'libardour-config,h' only gets #included when building with ↵John Emmas
waf (as it only gets generated when building with waf) When building with MSVC this was getting #included in a few places which had the effect of making my session files get generated in a very old format.
2018-02-02Further defer changes of plugin Tags+Status, and consolidate code to call ↵Ben Loftis
PluginListChanged only once.
2018-01-31Allow to filter tags by hidden + favoriteRobin Gareus
This in preparation to not populate context-menus with unused tags.
2018-01-30Add backend-API to reset plugin tagsRobin Gareus
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