Commit graph

16463 commits

Author SHA1 Message Date
Porrumentzio
1daa275eed gtk2_ardour eu.po (34%) and libs/ardour eu.po (75%), non complete 2020-05-15 16:10:22 -06:00
Porrumentzio
61ea85a889 gtk2_ardour eu.po (24%) and libs/ardour eu.po (61%), non complete 2020-05-15 16:10:22 -06:00
Porrumentzio
cdec486cff gtk2_ardour eu.po (15%) and libs/ardour eu.po modified 2020-05-15 16:10:22 -06:00
Porrumentzio
8497b96de3 All files, non complete 2020-05-15 16:10:22 -06:00
Porrumentzio
aae16c0c07 First basque translation, non complete 2020-05-15 16:10:22 -06:00
Paul Davis
a660077c97 PlaybackBuffer: extend API to include write_ptr()
It's just useful
2020-05-13 23:55:02 -06:00
Paul Davis
169e7033b6 DiskReader: improve comment 2020-05-13 23:54:24 -06:00
Paul Davis
d776415d54 DiskReader: always reset file_sample[AUDIO] after an overwrite
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-13 23:54:02 -06:00
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
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
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
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
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
80abcc8b2d Transport Masters dialog: use delta symbol in all delta_strings (libardour tweak) 2020-05-11 15:37:40 -05:00
Robin Gareus
88fc77b4c0
Double dummy MTC sequence duration 2020-05-11 21:35:22 +02:00
Robin Gareus
5e2755baa1
Slave delta display tweaks
* use left-aligned sign symbol with "sample" unit.
  When the delta value jitters in decimal places (e.g. MTC)
  it's otherwise no possible to discern + vs -.
* Use white text by default (not green)
2020-05-11 21:34:01 +02:00
Robin Gareus
58c5f75fc9
Fix TCM requiring port-reconnect when engine restarts
An engine restart sends dis-connect messages for the reverse
port-mapping (after making the connection):

Connect: system:midi_capture_41a56f90 -> ardour:MTC in
Connect: system:capture_1 -> ardour:LTC in
DisConnect: ardour:MTC in -> system:midi_capture_41a56f90
DisConnect: ardour:LTC in -> system:capture_1

This lead to TransportMaster being marked as inactive.
This is likely an issue that should be fixed elsewhere, but in
case of JACK, we likely do not have control over this.
2020-05-11 03:42:21 +02:00