summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-14MIDI: when drawing notes, leave selection containing only the just added notePaul Davis
This matches other DAWs and allows easy editing of just the last note, rather then all notes added since doing something else
2020-05-13PlaybackBuffer: extend API to include write_ptr()Paul Davis
It's just useful
2020-05-13DiskReader: improve commentPaul Davis
2020-05-13DiskReader: always reset file_sample[AUDIO] after an overwritePaul Davis
In theory we only need to do this if the use of a loop for a given overwrite differs from the previous refill or overwrite. However, keeping track of this is hard, and this way effectively enforces the notion that if we do the arithmetic correct, for cases where there's no change in the use of a loop location, this ends up being a no-op (i.e. we are resetting it back to its current value)
2020-05-13avoid off-by-one error when overwriting w/loopPaul Davis
2020-05-13update DiskReader loop delick objects when loop changesPaul Davis
2020-05-13reinstate Session::loop_changing to avoid problems when locating to start of ↵Paul Davis
loop for loop play
2020-05-13the return of waveform outline (tips) colorPaul Davis
This seems to have been removed unintentionally in 973e9ad132b4
2020-05-13TMM: fix last message + age displayRobin Gareus
2020-05-13Editor-Mixer: hide 2D panner GUI when selection changes - #8109Robin Gareus
2020-05-13Continue without NSM if server does not respondRobin Gareus
2020-05-13Fix crash when closing session with VCA slaved soloRobin Gareus
Session::destroy() calls drop_references(), which leads to InternalSend::send_from_going_away() calling InternalSend::propagate_solo(). This looks up the SoloControl to test soloed_by_others(), incl. and VCA maters. Those VCAs however may already have been destroyed, and (weak pointer) _master.lock() fails.
2020-05-13Set timecode format from active master onlyRobin Gareus
2020-05-12TMM dialog: fix rendering performanceRobin Gareus
This removes expensive markup parsing and directly sets timecode and delta-time as plain text. The Labels use the main clock's color schema, and dedicated ArdourMono font.
2020-05-12fix mouse-audition playback of a given regionPaul Davis
2020-05-12essentially a no-op to just make conditional clearer more explicitPaul Davis
2020-05-12find a different way to NOT unset play loop when locating to start of loopPaul Davis
2020-05-12NO-OP: remove commented linePaul Davis
2020-05-12DiskReader::overwrite_existing_audio() now only overwrites data that would ↵Paul Davis
be read There's no need to fill the whole buffer, because we do not consider the whole buffer readable. This uses the recently-added PlaybackBuffer::overwritable_at() API to compute the correct amount of data to overwrite
2020-05-12NO-OP: expand comments for DiskReader::audio_read() parametersPaul Davis
2020-05-12after an overwrite with the loop location set, reset the next sample to be readPaul Davis
2020-05-12remove Session::loop_changingPaul Davis
Since we now (correctly) do not locate for loop changes, this member is unnecessary
2020-05-12remove #ifdef'ed codePaul Davis
2020-05-12restore mistakenly remove condition for locatingPaul Davis
2020-05-12NO-OP: remove newline in function definitionPaul Davis
2020-05-12remove debug/information messagePaul Davis
2020-05-12As in previous commit, never locate because of loop handlingPaul Davis
2020-05-12We use seamless looping always now. Never any need to locate for loop changesPaul Davis
2020-05-12make conditional logic fully explicitPaul Davis
2020-05-12Add API to PlaybackBuffer to compute amount of data that can overwrittenPaul Davis
The distance is between a given offset in the buffer (probably a read position at some point in time) and the write ptr. Any data after the write ptr is "old" and not readable, and thus not worth overwriting since we would not read it anyway.
2020-05-12LocateRoll session events should always roll-after locatePaul Davis
Don't rely on ev->locate_transport_disposition
2020-05-12trivial reorder of variable assigmentPaul Davis
2020-05-12Don't bother even checking let alone doing internal seeks for zero distancesPaul Davis
2020-05-12use more standard mechanism for "squishing" start of audio read into loop rangePaul Davis
2020-05-12new mechanism to refill pre-loop buffer when loop changes (used for xfading ↵Paul Davis
loop ends)
2020-05-12Use better method call to determine rolling status when loop is changedPaul Davis
2020-05-12remove unused variablePaul Davis
2020-05-12remove Route::reload_loop() and derivativesPaul Davis
Replacement to follow in subsequent commit
2020-05-12use const; style guide (no spaces around conditional parenthesis)Paul Davis
2020-05-12NO-OP: style guide issues (always use braces; no spaces around conditional ↵Paul Davis
parenthesis)
2020-05-12Fix spacing of engine-delta displayRobin Gareus
2020-05-12Use byte-offset when reading size at ringbuffer boundaryRobin Gareus
This likely fixes https://github.com/sfztools/sfizz/issues/221
2020-05-12Ignore idempotent set_name() callsRobin Gareus
These calls are expensive, particularly for ArdourButton, that triggers a re-layout.
2020-05-12Optimize AudioClock info-text renderingRobin Gareus
Avoid markup, pango markup parsing is expensive, particularly for info strings which may be updated periodically at short time intervals.
2020-05-12Consolidate delta-string format, avoid markupRobin Gareus
2020-05-12Optimize drawing of buttons with changing textRobin Gareus
When a button has a fixed size, there's no need to call queue_resize(). This fixes an issue with the ArdourClock info displays when slaved. The Timecode and Delta display text changes in small intervals and caused excessive CPU load due to GUI size-requests + redraws.
2020-05-12GNU libc 2.31 compatibility part twoRobin Gareus
This fixes underlinking against -lm and reverts the prior workaround 83cd796a474f746.
2020-05-12Fix MTC delta reportRobin Gareus
This amends a6ffc6213b92735034bd7dc39638e926bca219da. apply the offset before the DLL.
2020-05-12Dummy Backend: remove hardcoded MTC sequenceRobin Gareus
2020-05-12Dummy Backend: add a MTC generatorRobin Gareus