Commit graph

16134 commits

Author SHA1 Message Date
Paul Davis
7ac9c7e88a fix mask used to extract keycode from KeyboardKey object
Previous 16 bit mask would do the wrong thing if the keycode was > 65536,
which is not often true but is certainly a valid value (and seen on some
platforms)
2020-05-18 13:33:54 -06:00
Robin Gareus
c8cf84b7f9
Add missing enum (required for rc_config) 2020-05-18 00:28:01 +02:00
Mark Knoop
414ea28e78 Fix repeated toggling of loop mode
Calling Session::set_play_loop repeatedly (e.g. LLL) should toggle in and out
of loop play. Previously transport needed to be stopped before loop play could
be started for a second or subsequent time. This uses the loop_changing boolean
to flag that Session::non_realtime_stop should not unset the loop.

Also, Session::non_realtime_stop must reset loop_changing to false after use so
it does not affect the next transport action.
2020-05-17 10:44:33 -06:00
YQ-YSY
d909d0ec0e
New Chinese translation for Ardour 6.0 libs_ardour_po 2020-05-17 14:21:54 +02:00
YQ-YSY
7eac2ed602
New Chinese translation for Ardour 6.0 libs_gtkmm2ext_po 2020-05-17 14:21:54 +02:00
Robin Gareus
087d52a77c
NO-OP: whitespace & const'ness 2020-05-16 21:07:53 +02:00
Paul Davis
b566ba51e0 fix typo 2020-05-16 12:27:45 -06:00
Paul Davis
2ac934c1ae add explanatory comments regarding SetLoop vs. AutoLoop SessionEvents 2020-05-16 12:24:54 -06:00
Paul Davis
c57df5a7e5 TMM: do not allow changing transport master while slaved (libardour edition) 2020-05-15 21:06:11 -06:00
Paul Davis
58e5c0cfea Czech translation update from Pavel Frich 2020-05-15 18:41:08 -06:00
Robin Gareus
76c6aab7d1
Fix a memory leak (unsupported LV2 plugin) 2020-05-16 01:37:22 +02:00
Paul Davis
d812c77362 DiskReader: initialize pre-loop-buffer at the right times 2020-05-15 17:28:18 -06:00
Paul Davis
7ed153ca0f DiskReader: do not initialize pre-loop-buffer in constructor 2020-05-15 17:27:21 -06:00
Porrumentzio
319a7a8bab All complete. Needs revision using the program 2 2020-05-15 16:10:22 -06:00
Porrumentzio
16ca782000 All complete. Needs revision using the program. 2020-05-15 16:10:22 -06:00
Porrumentzio
e827524e79 all complete except gtk2_ardour eu.po (87%) 2020-05-15 16:10:22 -06:00
Porrumentzio
86c12a2b50 all complete except gtk2_ardour eu.po (81%) 2020-05-15 16:10:22 -06:00
Porrumentzio
431a38f273 all complete except gtk2_ardour eu.po (61%) 2020-05-15 16:10:22 -06:00
Porrumentzio
c85562bc1e gtk2_ardour eu.po (54%) and libs/ardour eu.po (93%), non complete 2020-05-15 16:10:22 -06:00
Porrumentzio
a1482878ae gtk2_ardour eu.po (41%) and libs/ardour eu.po (77%), non complete 2020-05-15 16:10:22 -06:00
Porrumentzio
00b8e2e4a8 gtk2_ardour eu.po (41%) and libs/ardour eu.po (77%), non complete 2020-05-15 16:10:22 -06:00
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