Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-11-26 | Add convenience methods to set port latencies | Robin Gareus | |
2017-11-23 | fix call to std::unique; to actually erase dups. | Robin Gareus | |
2017-11-23 | remove useless test, fgets() already ensures MAX_STRING_LEN | Robin Gareus | |
Found by PVS-Studio - https://www.viva64.com/en/b/0540/ | |||
2017-11-23 | Fix another duplicate if from session/system config consolidation | Robin Gareus | |
Found by PVS-Studio - https://www.viva64.com/en/b/0540/ | |||
2017-11-23 | Fix typo in 318e7efb | Robin Gareus | |
2017-11-23 | Add clock-delta mode enum | Robin Gareus | |
2017-11-23 | Introduce a dedicated "Clock Origin" Marker | Robin Gareus | |
2017-11-22 | Release (debug) lock before emitting signal | Robin Gareus | |
2017-11-12 | Add API to allow buffer offsets when applying gain | Robin Gareus | |
2017-11-12 | Add a noise generator (Lua DSP) | Robin Gareus | |
2017-11-06 | Some further notes (and experiments) on optimizations | Robin Gareus | |
2017-11-04 | Add some notes for future optimizations (and prepare API) | Robin Gareus | |
2017-11-04 | Change Delayline to use power-of-two size and bitmasking | Robin 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-04 | Optimize 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-04 | Clean up delayline API: don't use 'get_' for accessor method-name | Robin Gareus | |
2017-11-03 | Auditioner, silence buffer at end. | Robin Gareus | |
2017-11-03 | Don't crash when auditioning empty .mid files. | Robin Gareus | |
2017-11-03 | Fix polarity-control size (and crash during audition) | Robin Gareus | |
Also initialize new polarity-invert with gain 1.0, not inverted. Don't fade-in. | |||
2017-11-02 | Accommodate newly added/removed source(s) in our MSVC project (libardour) | John Emmas | |
2017-11-01 | Wrap automation on loop-position, split plugin processing | Robin Gareus | |
2017-10-31 | Click-free polarity inversion, also use accelerated (AVX, SSE) Amp | Robin Gareus | |
2017-10-31 | Fix samples-moved (and invalid use of not initialized CubicInterpolation) | Robin Gareus | |
2017-10-31 | Interpolation phase[] is initially empty | Robin Gareus | |
2017-10-31 | Fix set_loop() return value (amend 00a4ad) | Robin Gareus | |
2017-10-31 | Relax assertion to allow rolling backwards into 0. | Robin Gareus | |
2017-10-31 | Move Loop Location to Processors | Robin 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-31 | Small steps towards rolling backwards.. | Robin Gareus | |
2017-10-31 | Migrate to Polarity-inversion processor & fix proc positions | Robin 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-31 | Add polarity-invert processor | Robin Gareus | |
2017-10-30 | Use new externally_connected API | Robin Gareus | |
2017-10-30 | NO-OP: whitespace | Robin Gareus | |
2017-10-30 | Add & implement PortEngine::externally_connected() API | Robin Gareus | |
2017-10-30 | Fix fade-out at quit. | Robin Gareus | |
2017-10-30 | remove non rt-safe debug messages | Robin Gareus | |
2017-10-30 | Parallel execution of cycle-start/end | Robin Gareus | |
2017-10-30 | Add a RT-Tasklist | Robin Gareus | |
2017-10-30 | Add MSVC support for building the 'zita-resampler' library (which is now ↵ | John Emmas | |
needed by libardour) | |||
2017-10-30 | Accommodate the change from libtimecode to libtemporal | John Emmas | |
2017-10-29 | Remove unused per-port buffer offset | Robin Gareus | |
2017-10-29 | NO-OP: whitespace | Robin Gareus | |
2017-10-29 | Quick hack to test engine vari-speed (1/2) | Robin Gareus | |
2017-10-29 | Move 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-29 | Update Lua Bindings, fix inconsistencies. | Robin Gareus | |
2017-10-28 | Fix loading sessions w/new tempo-map. | Robin Gareus | |
Newly constructed sessions don't save "Tempo-start" property. If there's no "start" node, _legacy_bbt is never explicitly set and the default c'tor is used, which sets bar = 1. The test for legacy session checks bar != 0. All new sessions were processed with fix_legacy_session(), which breaks the tempo-map and makes the session not loadable (duplicate Tempo). | |||
2017-10-26 | switch from std::auto_ptr<> (deprecated) to boost::scoped_ptr<> | Paul Davis | |
2017-10-26 | remove unused variable | Paul Davis | |
2017-10-26 | switch from std::auto_ptr<> (deprecated) to boost::scoped_ptr<> | Paul Davis | |
2017-10-26 | optimization for track with zero audio channels should not short-circuit ↵ | Paul Davis | |
MIDI disk reading | |||
2017-10-26 | remove unnecessary calls | Paul Davis | |