Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-11-13 | Automation watch toggle buttons and enforce latch | Robin Gareus | |
2019-11-13 | Remove boolean automation special case | Robin Gareus | |
Previously setting a boolean-control to "write" and roll did not create an automation-point. The state was not correctly captured. The boolean-control needed to be toggled explicitly to create an automation point. | |||
2019-11-13 | Fix automation-write when locating | Robin Gareus | |
When locating while writing automation, begin a new write-pass, and add a guard point at the locate target position. NB set_in_write_pass takes 3 arguments: (write_enable, add_point, when) the last two default to false, 0. | |||
2019-11-12 | Add API to query if a given MIDNAM is plugin-provided | Robin Gareus | |
2019-11-11 | Only retain control-port connections | Robin Gareus | |
When MIDI input follows selection, ports that provide music-data should be disconnected, even if they *also* provide control-data | |||
2019-11-08 | Fix Metronome: use loop-range only when looping | Robin Gareus | |
2019-11-08 | Fix tempo-grid calculation: prevent duplicate events, enforce range | Robin Gareus | |
2019-11-08 | Fix uninitialized value | Robin Gareus | |
ARDOUR::LV2Plugin::init -> lilv_state_restore () -> set_port_value () compares new against current value | |||
2019-11-08 | Ignore latency of inactive routes | Robin Gareus | |
2019-11-08 | Remove unused signal | Robin Gareus | |
2019-11-08 | Click: pre-allocate memory for grid-point lookup | Robin Gareus | |
2019-11-08 | Fix metronome when looping | Robin Gareus | |
2019-11-08 | Fix loop/pre-roll | Robin Gareus | |
Pre-roll to fill buffers only needs to be done once when starting to play or when locating. Seamless looping just continues. Every processor takes the loop position into account locally. | |||
2019-11-06 | remove stacktrace | Paul Davis | |
2019-11-06 | remove debug output | Paul Davis | |
2019-11-06 | do not transition "back" to Rolling by calling start_transport() if a locate ↵ | Paul Davis | |
was for loop-end We never stopped the transport, so there's no reason to start it again. Doing so causes alignment problems because all tracks have their ::run() ranges reinitialized | |||
2019-11-06 | fix unconditional note resolution during DiskReader::realtime_locate() | Paul Davis | |
When looping, we do not want to resolve notes at the end of the loop via ::realtime_locate() - ::get_midi_playback() has already taken care of this. But when not looping, we need this. So, add an argument to tell all interested parties whether the locate is for a loop end or not | |||
2019-11-06 | fix unconditional note resolution during DiskReader::realtime_locate() | Paul Davis | |
When looping, we do not want to resolve notes at the end of the loop via ::realtime_locate() - ::get_midi_playback() has already taken care of this. But when not looping, we need this. So, add an argument to tell all interested parties whether the locate is for a loop end or not | |||
2019-11-06 | Use strict-i/o on master-bus by default | Robin Gareus | |
This precludes issues with multi-out-plugins adding an excessive number of ports and changing master-panning. | |||
2019-11-06 | remove debug message | Paul Davis | |
2019-11-06 | resolved notes need to use cycle-relative time | Paul Davis | |
2019-11-06 | be sure to move effective_start while loop-reading MIDI | Paul Davis | |
2019-11-06 | fix DiskReader::get_midi_playback() when looping | Paul Davis | |
Although at the Session level we never run "through" the loop end, latency compensation means that that start/end sample values passed to Processor::run() may cross the loop end. Fix how we handle this so that we do not read data from after the end of the loop | |||
2019-11-06 | improve comment about warning message | Paul Davis | |
2019-11-04 | fix a bad transition in the transportFSM. | Paul Davis | |
2019-11-04 | avoid use of Port::port_offset() everywhere except Port::flush_buffers() and ↵ | Paul Davis | |
Port::get_buffer() Split cycles are run as if they are an entire self-contained cycle, starting at zero and running for "nframes". We adjust the timing and position of data only when retrieving and writing it to Port buffers. | |||
2019-11-04 | rename method argument to better reflect its intended role | Paul Davis | |
2019-11-03 | when resolving notes for a locate, use zero as the timestamp, not the ↵ | Paul Davis | |
current Port::port_offset() All _immediate_events data gets written to the output buffer at the end of the current (split) cycle anyway, so the timestamp is irrelevant (as long as it is zero, and will therefore be read by ::snapshot_out_of_band_data() | |||
2019-11-03 | another notable cleanup/simplification of DiskReader's MIDI handling | Paul Davis | |
Note that we resolve notes from the tracker directly into the output buffer. This happens after an edit causes a buffer overwrite | |||
2019-11-03 | comment fix | Paul Davis | |
2019-11-03 | immediate events time reference for zero is the start of the run() cycle, ↵ | Paul Davis | |
not absolute sample time | |||
2019-11-03 | Correctly flush MIDI buffers on cycle-split | Robin Gareus | |
2019-11-03 | Clarify MIDI-port event-timestamp debug-message | Robin Gareus | |
2019-11-03 | Fix timecode generation after split-cycles | Robin Gareus | |
2019-11-03 | Add/remove source(s) in our MSVC project (libardour) | John Emmas | |
2019-11-03 | Fix compiler warning | Robin Gareus | |
2019-11-02 | for now, show how long MIDI rendering takes | Paul Davis | |
2019-11-02 | use playback filter when rendering MIDI; respond to changes in filter by ↵ | Paul Davis | |
re-rendering | |||
2019-11-03 | Auto-connect input should not disconnect other ports | Robin Gareus | |
This fixes an issue with existing MIDI routing between MIDI tracks and/or busses. Automatic MIDI connections should only dis/re-connect ports that are explicitly configured in Preferences > MIDI Ports and leave all other connections alone. | |||
2019-11-02 | comment update | Paul Davis | |
2019-11-02 | use new API to make locate happen | Paul Davis | |
2019-11-02 | don't locate when enabling loop if loop-is-mode | Paul Davis | |
2019-11-02 | allow explicit "with-roll" argument to a locate to override ↵ | Paul Davis | |
Session::should_roll_after_locate() | |||
2019-11-02 | remove unused parameter from Session::set_play_loop() API | Paul Davis | |
2019-11-02 | lovely simplification of DiskReader::get_midi_playback() | Paul Davis | |
This is made possible by knowing that it is never called upon to read across loop boundaries. The session splits the process cycle for the end of the loop | |||
2019-11-02 | NOOP: newline removed | Paul Davis | |
2019-11-02 | remove unused (empty) API | Paul Davis | |
2019-11-02 | remove unused API | Paul Davis | |
2019-11-02 | add another conditional to decide if we should merge disk MIDI data into ↵ | Paul Davis | |
input MIDI data | |||
2019-11-02 | remove commented line | Paul Davis | |