Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-01-18 | Session::request_locate() takes a tri-valued second argument for ↵ | Paul Davis | |
"roll-after-locate" This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it can be cnentralized and is less ambiguous | |||
2019-12-29 | recomment a DEBUG_TRACE statement that generates too much output with -D ↵ | Paul Davis | |
transport | |||
2019-12-27 | fix JACK transport sync | Paul Davis | |
key change: to sync with JACK always locate jack-position PLUS buffer-sized-rounded-worst_latency_preroll() ahead | |||
2019-12-27 | remove unused member | Paul Davis | |
Note: there is no global state for "the" transport master, since we have several at all times now | |||
2019-12-27 | variable rename | Paul Davis | |
2019-12-27 | improve parseability of a comment | Paul Davis | |
2019-12-10 | revert to single buffer for disk playback, and 5.x-style overwrite | Paul Davis | |
Also address issues with MIDI and also atomicity of _pending_overwrite | |||
2019-12-05 | remove mistakenly left in session event enum | Paul Davis | |
2019-12-05 | changes to use overwrite-buffers when loop is disabled or loop range changed | Paul Davis | |
2019-11-23 | tweak comment text | Paul Davis | |
2019-11-23 | 2nd part of fix for autoloop event removal when loop bounds are changed ↵ | Paul Davis | |
while looping | |||
2019-11-15 | improve behavior when synced to JACK transport | Paul Davis | |
Heuristic and actions when a locate is needed are different for JACK transport than TC | |||
2019-11-14 | Fix cycle-end position when not rolling | Robin Gareus | |
When stopped start_sample == end_sample. This fixes accidental automation lookup, as well as plugin time/position information. | |||
2019-11-03 | Fix timecode generation after split-cycles | Robin Gareus | |
2019-11-02 | use new API to make locate happen | Paul Davis | |
2019-11-02 | remove unused parameter from Session::set_play_loop() API | Paul Davis | |
2019-11-02 | refactor SessionEvent and DiskIO so that we pass around ↵ | Paul Davis | |
boost::shared_ptr<Track> rather than Route (this the raw pointers used inside SessionEvent) | |||
2019-11-01 | remove seamless looping as an option (it's now the only kind of looping we ↵ | Paul Davis | |
support) | |||
2019-11-01 | cut down on DEBUG::Transport noise | Paul Davis | |
2019-10-28 | provide a mechanism to decide if Session::update_latency_compensation() is ↵ | Paul Davis | |
being called as part of a callback from the backend. If it is, do not call AudioEngine::update_latencies() to avoid JACK1-style deadlock | |||
2019-09-22 | improve debug output | Paul Davis | |
2019-09-20 | rename TransportFSM::FSMEvent to TransportFSM::Event (c/o the Department of ↵ | Paul Davis | |
Redundancy Department) | |||
2019-09-19 | replace boost::msm - based FSM for transport with one written in "plain C++" | Paul Davis | |
Still need to use boost::intrusive to managed qeued/deferred containers | |||
2019-09-17 | add finite state machine to control/manage transport state | Paul Davis | |
2019-08-03 | Update libardour GPL boilerplate and (C) from git log | Robin Gareus | |
2019-03-18 | NO-OP: Use API to set/test state-of-the-state | Robin Gareus | |
2019-03-14 | Unused skeleton of the transport state-machine | Robin Gareus | |
Simple test/example code. Eventually this is to replace Session::process_event() and Session::realtime_*() methods are to become transition actions. | |||
2019-03-03 | debug trace output tweaks | Paul Davis | |
2019-03-03 | remove debug output | Paul Davis | |
2019-03-03 | remove conditional surrounding wait-for-master-to-catch-us logic | Paul Davis | |
2019-02-26 | enhanced debug trace output | Paul Davis | |
2019-02-26 | reorder call to ::track_transport_master() so that delta is computed correctly | Paul Davis | |
2019-02-06 | Fix rolling backwards | Robin Gareus | |
When speed is -1, start_sample >= end_sample and _transport_sample needs to be decremented. Session::process_with_events() did this correctly, this change makes Session::process_without_events() behave identically. | |||
2019-01-25 | new approach to handling Transport Masters when engine is restarted | Paul Davis | |
Trust that ::reset() works for all transport masters, and call it when engine is stopped. This way the transport masters are ready to be called again as soon as the engine restarts. | |||
2018-09-22 | use abs() instead of fabs() on integers | Paul Davis | |
2018-09-22 | Revert "MSVC complains because we're using 'fabs()' to compare 2 x integers" | Paul Davis | |
You can't remove an abs() conversion and keep the same semantics. This reverts commit d89b8cc0ad01eaf59dc605939628003dfa89899d. | |||
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 |