Paul Davis
7660ea29d2
avoid off-by-one error when overwriting w/loop
2020-05-13 18:52:29 -06:00
Paul Davis
7232ac2f67
update DiskReader loop delick objects when loop changes
2020-05-13 18:52:29 -06:00
Paul Davis
abbcc755c1
reinstate Session::loop_changing to avoid problems when locating to start of loop for loop play
2020-05-13 18:52:29 -06:00
Paul Davis
daa46c4225
the return of waveform outline (tips) color
...
This seems to have been removed unintentionally in 973e9ad132
2020-05-13 18:52:29 -06:00
Robin Gareus
6622c55912
TMM: fix last message + age display
2020-05-13 23:57:40 +02:00
Robin Gareus
8ac4cac07d
Editor-Mixer: hide 2D panner GUI when selection changes - #8109
2020-05-13 21:48:46 +02:00
Robin Gareus
bec9914f37
Continue without NSM if server does not respond
2020-05-13 18:34:00 +02:00
Robin Gareus
10200f5e29
Fix crash when closing session with VCA slaved solo
...
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-13 17:58:37 +02:00
Robin Gareus
7289be59c9
Set timecode format from active master only
2020-05-13 17:39:06 +02:00
Robin Gareus
5120b650c5
TMM dialog: fix rendering performance
...
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-12 21:10:28 +02:00
Paul Davis
48886565cf
fix mouse-audition playback of a given region
2020-05-12 13:08:38 -06:00
Paul Davis
7a0427201c
essentially a no-op to just make conditional clearer more explicit
2020-05-12 12:45:39 -06:00
Paul Davis
a9360eb6d6
find a different way to NOT unset play loop when locating to start of loop
2020-05-12 12:45:19 -06:00
Paul Davis
ac915d7d55
NO-OP: remove commented line
2020-05-12 11:34:38 -06:00
Paul Davis
5b7c20453f
DiskReader::overwrite_existing_audio() now only overwrites data that would 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-12 11:34:38 -06:00
Paul Davis
af46adc110
NO-OP: expand comments for DiskReader::audio_read() parameters
2020-05-12 11:34:38 -06:00
Paul Davis
f5064fa1ca
after an overwrite with the loop location set, reset the next sample to be read
2020-05-12 11:34:38 -06:00
Paul Davis
156a31ac4f
remove Session::loop_changing
...
Since we now (correctly) do not locate for loop changes, this member
is unnecessary
2020-05-12 11:34:38 -06:00
Paul Davis
d39ae0ea92
remove #ifdef'ed code
2020-05-12 11:34:38 -06:00
Paul Davis
615b1c4a4a
restore mistakenly remove condition for locating
2020-05-12 11:34:38 -06:00
Paul Davis
80fb4fe626
NO-OP: remove newline in function definition
2020-05-12 11:34:38 -06:00
Paul Davis
e9b9f03499
remove debug/information message
2020-05-12 11:34:38 -06:00
Paul Davis
9b3c31f6b9
As in previous commit, never locate because of loop handling
2020-05-12 11:34:38 -06:00
Paul Davis
ef1565d2bf
We use seamless looping always now. Never any need to locate for loop changes
2020-05-12 11:34:38 -06:00
Paul Davis
0326af6f6a
make conditional logic fully explicit
2020-05-12 11:34:37 -06:00
Paul Davis
98d56d6b21
Add API to PlaybackBuffer to compute amount of data that can overwritten
...
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-12 11:34:37 -06:00
Paul Davis
376d4f2e68
LocateRoll session events should always roll-after locate
...
Don't rely on ev->locate_transport_disposition
2020-05-12 11:34:37 -06:00
Paul Davis
c2e774e99d
trivial reorder of variable assigment
2020-05-12 11:34:37 -06:00
Paul Davis
27e45e9336
Don't bother even checking let alone doing internal seeks for zero distances
2020-05-12 11:34:37 -06:00
Paul Davis
98a3a96d40
use more standard mechanism for "squishing" start of audio read into loop range
2020-05-12 11:34:37 -06:00
Paul Davis
7138e76d2d
new mechanism to refill pre-loop buffer when loop changes (used for xfading loop ends)
2020-05-12 11:34:37 -06:00
Paul Davis
6a542fe5fe
Use better method call to determine rolling status when loop is changed
2020-05-12 11:34:37 -06:00
Paul Davis
2debf52ef1
remove unused variable
2020-05-12 11:34:37 -06:00
Paul Davis
5a7b7b3bfb
remove Route::reload_loop() and derivatives
...
Replacement to follow in subsequent commit
2020-05-12 11:34:37 -06:00
Paul Davis
6433647268
use const; style guide (no spaces around conditional parenthesis)
2020-05-12 11:34:37 -06:00
Paul Davis
da9b366e63
NO-OP: style guide issues (always use braces; no spaces around conditional parenthesis)
2020-05-12 11:34:37 -06:00
Robin Gareus
6f6d26d0ef
Fix spacing of engine-delta display
2020-05-12 19:32:27 +02:00
Robin Gareus
9908419f89
Use byte-offset when reading size at ringbuffer boundary
...
This likely fixes https://github.com/sfztools/sfizz/issues/221
2020-05-12 19:30:15 +02:00
Robin Gareus
ab6e274613
Ignore idempotent set_name() calls
...
These calls are expensive, particularly for ArdourButton, that
triggers a re-layout.
2020-05-12 15:37:23 +02:00
Robin Gareus
7b2b2401a3
Optimize AudioClock info-text rendering
...
Avoid markup, pango markup parsing is expensive, particularly
for info strings which may be updated periodically at
short time intervals.
2020-05-12 15:08:39 +02:00
Robin Gareus
fb203f3df8
Consolidate delta-string format, avoid markup
2020-05-12 14:59:44 +02:00
Robin Gareus
b36e6b8341
Optimize drawing of buttons with changing text
...
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-12 13:22:11 +02:00
Robin Gareus
58a5e256a9
GNU libc 2.31 compatibility part two
...
This fixes underlinking against -lm and reverts the
prior workaround 83cd796a47 .
2020-05-12 12:23:26 +02:00
Robin Gareus
ba1a60873a
Fix MTC delta report
...
This amends a6ffc6213b .
apply the offset before the DLL.
2020-05-12 01:49:45 +02:00
Robin Gareus
feaf87d200
Dummy Backend: remove hardcoded MTC sequence
2020-05-12 01:49:45 +02:00
Robin Gareus
7c15ad099f
Dummy Backend: add a MTC generator
2020-05-12 01:49:41 +02:00
Ben Loftis
20c09ccfc3
Transport Masters dialog: don't use an uninitialized char array.
2020-05-11 18:37:12 -05:00
Ben Loftis
26dbd30ae6
Transport Masters dialog: various layout changes to improve legibility
...
Use Fonts and Color to help discriminate columns:
Values that come from the TC Master are now in black boxen (ToDo: use gtk theming)
Reduce the number of columns, to improve legibility:
Consolidate the Slave's current TC chase value and Delta (offset from Ardour current TC)
Consolidate the last message received, and how recently it was received
Remove Collect checkboxes (just disconnect the port if you don't want it to run)
2020-05-11 15:37:40 -05:00
Ben Loftis
80abcc8b2d
Transport Masters dialog: use delta symbol in all delta_strings (libardour tweak)
2020-05-11 15:37:40 -05:00
Ben Loftis
7581ec5ac5
Transport Masters dialog: fix typo
2020-05-11 15:37:36 -05:00