Commit graph

20717 commits

Author SHA1 Message Date
Ben Loftis
6c68817b26 add a user config var for preferred time domain (libardour part)
(as opposed to default_time_domain which is the per-session default)
2023-10-01 13:57:28 -05:00
Paul Davis
cd99fed7cd canvas: add PolyItem::clear() 2023-09-30 11:09:58 -06:00
Paul Davis
ff021b83d3 libardour: add Region::absolute_time_to_source_time() 2023-09-30 11:09:58 -06:00
Paul Davis
b89dd73324 NOOP: no need for virtual keyword here 2023-09-30 11:09:58 -06:00
Paul Davis
243f40e10d fix unset-looping-because-monitoring-input (#9458) 2023-09-28 16:52:35 -06:00
Robin Gareus
c4f6385d22
Fix playlist partitioning when mixing time domains 2023-09-27 22:15:25 +02:00
Ben Loftis
9651a2c2e2 region groups: more fixes for Duplicate operations 2023-09-27 11:06:40 -05:00
Ben Loftis
72761734e8 region groups: more fixes for drag-copy and range-paste operations 2023-09-27 11:06:40 -05:00
Robin Gareus
40a9ba746e
Freeze plugin cache version
This allows to copy existing VST2/3 cache files to
a new major version
2023-09-27 17:28:20 +02:00
John Emmas
ea8742b030 #include <sys/utime.h> when building with MSVC 2023-09-27 09:36:26 +01:00
Robin Gareus
947e6c7815
I/O Plugins: fix a heap-use-after-free
I/O plugin Controls are destroyed with ~IOPlug, however
Session::destroy()'s call to drop_references() still
triggers AutomationControl::session_going_away() on the
binding proxy.

This is even properly documented in session_object.h:

> A named object associated with a Session. Objects derived
> from this class are expected to be destroyed before the
> session calls drop_references().
2023-09-27 02:22:22 +02:00
Robin Gareus
e79ca8f9ba
Copy plugin cache with old config 2023-09-27 02:22:22 +02:00
Robin Gareus
6494214622
Add option to prefer file timestamps with recursive copy 2023-09-27 02:22:22 +02:00
Robin Gareus
7f453cab9e
Allow to query cache-dir by major version
Luckily "cachename" parameter was unused, so this API
can be changed.
2023-09-27 02:22:22 +02:00
Robin Gareus
245aac887b
Fix saving patch-change channel undo/redo commands 2023-09-26 05:32:57 +02:00
Paul Davis
0a6ac2678a canvas: if LineSet does the 0.5 pixel shift, make it the right direction 2023-09-25 20:01:21 -06:00
Paul Davis
5fa5c5d202 canvas: NOOP fix comment about docs on single pixel lines 2023-09-25 19:52:10 -06:00
Paul Davis
bc78694a1a canvas: fix bounding box of a LineSet (lower edge was not lower enough) 2023-09-25 19:51:33 -06:00
Robin Gareus
496957efdf
Fix layering when copy/pasting regions (1/2)
Playlist::add_region, Playlist::add_region_internal always
adds the region to the top of the playlist, ignoring the
region's layer.

Note that there is also difference between
Region::layer and Region::layering_index.
2023-09-25 22:36:27 +02:00
Robin Gareus
300de26b3e
Fix XML read error when creating new export profiles
Previously creating a new preset first attempted to load
it from disk, before creating it. This resulted in a
`XML error: failed to load external entity`.
2023-09-25 22:36:24 +02:00
JungHee Lee
f9da85639d
Update ko.po 2023-09-25 18:56:56 +02:00
Robin Gareus
5082dc62a4
Copy more old config files from v7 to v8 2023-09-25 17:21:10 +02:00
Paul Davis
6db28ef08d remove debug output 2023-09-24 15:01:04 -06:00
Martin Vlk
5ec2c9ed4d
Czech translation updated for the 8.0 release. 2023-09-24 19:57:25 +02:00
Violet Purcell
6e24a409f4
Use <atomic> instead of <stdatomic.h> in libc++ fix
The definitions from <stdatomic.h> conflict with <atomic>, which causes
a build failure since <atomic> is included previously.

Signed-off-by: Violet Purcell <vimproved@inventati.org>
2023-09-23 23:53:05 +02:00
Paul Davis
616273cfab temporal: slightly tweak DEBUG_TRACE output 2023-09-22 22:54:53 -06:00
Paul Davis
14e7f62891 fix BBT_Time::round_up_to_beat_div() (partially)
Math is now correct for cases where "beats" in BBT are quarters.
Incorrect for others
2023-09-22 22:54:37 -06:00
Paul Davis
1c2cd78f41 Revert "temporal: fix superclock time used to find relevant tempo & meter"
This reverts commit b192eea65a.
2023-09-22 15:35:40 -06:00
Paul Davis
e2f6241dd6 temporal: NOOP whitespace 2023-09-22 15:35:39 -06:00
Paul Davis
1cdfe2aa2f temporal: actually iterate 2023-09-22 15:30:31 -06:00
Paul Davis
b192eea65a temporal: fix superclock time used to find relevant tempo & meter 2023-09-22 15:30:20 -06:00
Paul Davis
d6565cce77 temporal: NOOP whitespace 2023-09-22 15:18:27 -06:00
Paul Davis
d282c317d0 temporal: use new BBT variant of get_tempo_and_meter() 2023-09-22 15:18:27 -06:00
Paul Davis
a89108c9af temporal: removed #if 0'ed old code 2023-09-22 15:18:27 -06:00
Paul Davis
374283cc3f temporal: provide a new variant of ::get_tempo_and_meter() for BBT time
This one is more complex than the Beats or superclock variants, because
we cannot just start from the front of the map. Instead, we have to
first iterate through the map so that we start the code in
_get_tempo_and_meter<...> from the TempoPoint and MeterPoint
in effect at the BBT_Argument's reference time.
2023-09-22 15:18:27 -06:00
Paul Davis
3aacbc453e temporal::remove version of get_tempo_and_meter() that was never used 2023-09-22 15:18:27 -06:00
Paul Davis
8e3e78c116 temporal: optimize common case for ::get_tempo_and_meter() 2023-09-22 15:18:27 -06:00
Paul Davis
8c2bf116f5 fix crash when using OSC in a session with no master bus and no stripables selected 2023-09-22 15:18:27 -06:00
Robin Gareus
a37f4e194d
Remove redundant RegionGroupRetainer
Track::use_captured_midi_sources is called from use_captured_sources().
which is only called from DiskWriter::transport_stopped_wallclock(),
which is only called from Session::non_realtime_stop().
2023-09-22 18:29:11 +02:00
Ben Loftis
0a12986639
Preserve existing region-group relationships
This solves several issues related to splitting or pasting regions, when
there is more than one layer.

Rather than assign a new group-id for "all the regions on the right of a
split", only ions that had a *prior* group-relationship should be
propagated into the new group.

Signed-off-by: Robin Gareus <robin@gareus.org>
2023-09-22 18:21:34 +02:00
Violet Purcell
8aa716d437
Backport VST3 libc++ fix on linux
LLVM libc++ does not have the ext/atomicity.h header. This fix is copied
from the upstream vst3_pluginterfaces repo.

Signed-off-by: Violet Purcell <vimproved@inventati.org>
2023-09-22 04:41:11 +02:00
Paul Davis
ad7bcd2ebe temporal: add clarification on why the non-ramped ::quarters@superclock is so complex 2023-09-20 13:38:15 -06:00
Mads Kiilerich
c5e7e5c4df pbd: clarify int62_t comments 2023-09-20 12:51:52 -06:00
Mads Kiilerich
3478acfcf9 temporal: clarify timepos_t and timecnt_t comments
It tooke me a while to get an understanding of this. It might also be
helpful to others to make the description more explicit.
2023-09-20 12:51:52 -06:00
Mads Kiilerich
d2c48debd1 temporal: drop timecnt_t "origin" as alias for "position"
The alias was only used when it was exposed in lua. It was without any
indication that it was a deprecated alias, but let's just bite the
bullet and get rid of it.
2023-09-20 12:51:52 -06:00
Mads Kiilerich
cbcb7b1ce2 temporal: refactor to expose superbeat tech debt
A group of functionality was only used once, in
TempoPoint::quarters_at_superclock . Keep things simple and enable
further refactoring and cleanup by inlining everything and dropping
superbeat, big_numerator and super_note_type_per_second from Tempo.

The use of big_numerator right next to superclock_ticks_per_second
seems error prone. It should perhaps just be refactored to work in
superclock domain all the time.

It seems weird that the ramped case is much simpler than the non-ramped.

This (pretty much) removes the last references to "superbeat", which
I thus doesn't have to understand ;-)
2023-09-20 12:51:52 -06:00
Mads Kiilerich
e5ec516611 temporal: drop unused superclocks_per_ppqn
superclocks-per-pulses-per-quarter-note is too meta to have any actual
use.
2023-09-20 12:51:52 -06:00
Mads Kiilerich
40bf4ce82d temporal: drop nused note_type_as_beats
The note_type_as_beats was the only temporal thing using hardcoded value
of 1920. It seems like it just should use the usual Ardour PPQN (aka
ticks_per_beat) ... which also has the value 1920.

It is however not used after d77db816de.
2023-09-20 12:51:52 -06:00
Mads Kiilerich
368f0aec44 temporal: minor comment fixes
Some typos and copy editing to remove a (pretty much) duplicated chunk.
2023-09-20 12:51:52 -06:00
Mads Kiilerich
69c5c6e1e8 temporal: drop old tempo-experiment.h 2023-09-20 12:51:52 -06:00