Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-09-22 | MSVC complains because we're using 'fabs()' to compare 2 x integers | John Emmas | |
2018-09-18 | new transport slave/master implementation, libs/ edition | Paul Davis | |
2018-07-09 | Remove unused CubicInterpolation from session | Robin Gareus | |
2018-07-09 | Remove unused AutoLoopDeclick, PendingLoopDeclick | Robin Gareus | |
The flags were set, but not used. They also won't be needed anymore. | |||
2018-07-09 | Remove global declick API | Robin Gareus | |
De-click will be per disk-reader, latency compensated and buffer-size independent. Cue-monitoring should not be affected by de-click. | |||
2017-10-31 | Fix samples-moved (and invalid use of not initialized CubicInterpolation) | Robin Gareus | |
2017-10-12 | Fix pre-roll cycle-split | Robin Gareus | |
previously this worked as long as the cycle was only needed to be split once. | |||
2017-10-02 | use new CubicInterpolation API | Paul Davis | |
2017-09-30 | Fix thinko in 8139becb -- route split cycle | Robin Gareus | |
Individual Routes cannot split the process-cycle in no_roll(); roll() by themselves. Each of the calls will flush output buffers (and offset port-buffers). If a route feeds another route the inputs of the other route will only see partial data. | |||
2017-09-29 | Remove unused punch+preroll API | Robin Gareus | |
This API was not used, also superseded by record w/preroll. | |||
2017-09-29 | Ongoing work on latency compensation | Robin Gareus | |
The general goal is to align transport-sample to be the audible frame and use that as "anchor" for all processing. transport_sample cannot become negative (00:00:00:00 is the first audible frame). Internally transport pre-rolls (read-ahead) before the transport starts to move. This allows inputs and disk to prefill the pipeline. When starting to roll, the session counts down a global "remaning preroll" counter, which is the worst-latency from in-to-out. Each route in turn will start processing at its own output-latency. Route::process_output_buffers() - which does the actual processing incl disk i/o - begins by offsetting the "current sample" by the route's process-latency and decrements the offset for each latent processor. At the end of the function the output will be aligned and match transport-sample - downstream-playback-latency (if any). PS. This commit is a first step only: transport looping & vari-speed have not yet been implemented/updated. | |||
2017-09-18 | remove debug output | Paul Davis | |
2017-09-18 | globally change all use of "frame" to refer to audio into "sample". | Paul Davis | |
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode and video in order to keep the legible | |||
2017-09-18 | sort of no-op ... remove debug output ... just basically put it in git so ↵ | Paul Davis | |
that i can fetch it on another machine | |||
2017-09-18 | remove tests for locate_pending() before deciding whether to increment ↵ | Paul Davis | |
transport position | |||
2017-09-18 | more verbose debug output for slave debugging | Paul Davis | |
2017-09-18 | verbose debug output for slave debugging | Paul Davis | |
2017-09-18 | additional DEBUG_TRACE output for slave/diskreader | Paul Davis | |
2017-09-18 | reset DiskReader "no disk output" flag in a couple of exceptional cases | Paul Davis | |
2017-09-18 | remove debug output | Paul Davis | |
2017-09-18 | when calculating average slave/master delta, use absolute value. | Paul Davis | |
We're interested in average distance between slave/master, the direction is irrelevant and using sign as direction causes the computed average to be absurd | |||
2017-09-18 | remove all code related to "silent roll" concept. some debug output added | Paul Davis | |
2017-09-18 | remove Track::hidden(); replace with Stripable::is_private_route() | Paul Davis | |
2017-09-18 | framework for silent-roll-while-slave-syncing | Paul Davis | |
2017-09-18 | when DiskReader checks to see if a locate is in progress, it must be atomic ↵ | Paul Davis | |
with respect to all DiskReaders | |||
2017-09-18 | do not change Session::_transport_frame is a locate is pending | Paul Davis | |
2017-09-18 | since Session::fail_roll() just calls ::no_roll() make that more explicit ↵ | Paul Davis | |
when there's actually no failure | |||
2017-09-18 | remove InputConfigurationChange from session events, since it is a no-op in ↵ | Paul Davis | |
this development branch | |||
2017-09-18 | remove all remaining vestiges of per-track varispeed from libardour | Paul Davis | |
2017-09-18 | addd more DEBUG_TRACE for DiskIO; set DiskIOProcess::_need_butler more ↵ | Paul Davis | |
appropriately; other minor adjustments | |||
2017-07-16 | Consistent Automation evaluation: | Robin Gareus | |
Rule #89: The *owner* of each automation-control is responsible to evaluate automation of automated automation-controls (and emit Changed() signals to notify the GUI and slaved controls). This can happen during run(), when the Processor evaluates automation (eg. PluginInsert does that), but needs to regardless, every cycle. Emit Changed signal for GainControl This follow the same concept as PluginInsert: The Changed signal is called on demand when evaluating automation. | |||
2017-07-04 | Fix session-event queue (multiple writer, single reader) | Robin Gareus | |
The reading is done in rt-process thread, but multiple UIs (surfaces, GUI) can produce events to be queued. | |||
2017-04-30 | Fix vari-speed and non-locked slave modes | Robin Gareus | |
A transport-speed-change is no reason to skip processing. Prior to this change cannot_process() silently skipped in the process cycle of the speed-change (which may have been every process-cycle), without moving the transport or doing any processing. | |||
2017-01-19 | Rework preroll-rec API: | Robin Gareus | |
* rename: indicate that recording happens after preroll, punch-in * move API into libardour: rec+roll (no separate setup, seek, roll APIs) | |||
2017-01-18 | Implement record with preroll | Robin Gareus | |
2017-01-17 | Implement Count-In (before recording), fixed BPM, up to 2 bars | Robin Gareus | |
2017-01-02 | allow Lua session scripts to inject [immediate] RT-events | Robin Gareus | |
2016-07-14 | enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h | Paul Davis | |
2016-02-23 | Implement Lua session-scripts | Robin Gareus | |
2015-10-05 | NOOP, remove trailing tabs/whitespace. | Robin Gareus | |
2015-09-15 | only apply transport declicking if requested to do so (default is to do so) | Paul Davis | |
2015-04-30 | session: add signal to indicate batch updates | Robin Gareus | |
…to tell the UI to not redraw. | |||
2015-04-29 | delegate signal emission to dedicated thread. | Robin Gareus | |
This works around abysmal performance (~.15ms) of boost::function and boost::bind (in PBD::Signal). The overall load is probably higher but the realtime thread remains unaffected. | |||
2015-04-27 | click-less processor re-ordering. | Robin Gareus | |
2015-04-26 | clickless meter-point changes | Robin Gareus | |
2015-04-24 | send LTC during process_with_events() | Robin Gareus | |
fixes #6277 This indicates a deeper problem though. Even removing a punch-range never clears out the events. and ession::process_with_events() does not use process_without_events() until re-start. | |||
2015-01-29 | stop transport when process_routes fails, even when using the parallel graph ↵ | Paul Davis | |
execution model | |||
2014-12-10 | remove ugly and unnecessary debugging output | Paul Davis | |
2014-12-09 | more DEBUG::Butler output, formatting corrections, and a warning on cerr if ↵ | Paul Davis | |
capture/playback buffers are too full/empty | |||
2014-11-18 | Fix potential use of uninitialized value. | David Robillard | |