Commit Graph

36143 Commits

Author SHA1 Message Date
Robin Gareus
0bf8e7d8cf Make clock mode settings session independent
Much like the edit-tool and grid-types, clock-modes are UI state.

Saving the UI state separately allows them to be used
consistently for new sessions. Previously clock-modes were set
initially (at application start) and when loading sessions.

The clock modes of newly created sessions was different
depending on loading another session prior to creating the
session. This is now no longer the case.
2022-10-10 21:03:45 +02:00
Václav Šmilauer
6ad3dc1e43 Fix disabling l10n under Linux 2022-10-10 08:11:52 -06:00
Robin Gareus
c04b05f497 Remove misleading export quality comments 2022-10-10 02:23:55 +02:00
Robin Gareus
00fe7e8778 Remove Lambda w/return value for compiler compat. 2022-10-09 16:45:31 +02:00
Robin Gareus
b42591fde1 Specify return type of lambda (amend e635571f2f) 2022-10-09 15:40:29 +02:00
Alexandre Prokoudine
7b4487699c Update Russian translation, part 4 of N 2022-10-09 14:46:13 +03:00
Robin Gareus
e635571f2f Implement preference to destroy plugin UIs
see also https://discourse.ardour.org/t/very-high-gpu-usage-on-windows/107672
2022-10-08 18:45:20 +02:00
Robin Gareus
830fe4da2f Add preference enum for plugin GUI unmap behavior 2022-10-08 18:44:16 +02:00
Robin Gareus
f89845e64a Prevent duplicate signal emission
Re-assigning a sigc::connection does not disconnect
any previously connected signals.

WindowProxy::setup may be called multiple times. Notably plugin
windows can change the managed _window (generic/custom), which
requires a call to setup.
2022-10-08 17:12:10 +02:00
Paul Davis
0dc4f4bf45 spelling fix, PR#725 2022-10-07 19:14:01 -06:00
Paul Davis
254297355e increment/decrement name changes ... out with old in with the new (gui) 2022-10-07 17:30:45 -06:00
Paul Davis
88396347e6 increment/decrement name changes ... out with old in with the new (libs 2022-10-07 17:30:35 -06:00
Paul Davis
45e21de209 implement and adopt new conventions for AudioClock use
The class now has two separate methods for setting a duration or a point
value. They MUST be used appropriately, because their behavior is different.

When ::set_duration() is used in timecode mode, an extent (inclusive-end
length) is shown rather than a length.

Some objects, such as the TimeInfoBox, now deliberately shown an inclusive end
for their "end" clock, but this not universally followed, pending more feedback
from users and investigating of conventions in other DAWs.
2022-10-07 16:24:56 -06:00
Paul Davis
1ce17c1903 fix time domain for new BBT markers created from context menu/dialog 2022-10-07 16:24:56 -06:00
Paul Davis
be9fdd9873 libs: use {de,in}crement_by_domain() instead of {de,in} (libs) 2022-10-07 16:24:46 -06:00
Paul Davis
27d5843f7a temporal: replace Range::extent() with Range::length()
We want to encourage/enforce the use of exclusive-end conventions
everywhere in the libraries that make up ardour
2022-10-07 16:16:14 -06:00
Paul Davis
c4d737dd87 temporal: provide ::decrement_by_domain() methods for time{pos,cnt}_t
audio time nominally uses superclocks as its canonical unit. However
many things at a higher level only understand samples. If we
increment or decrement a superclock value by 1, the vast majority of
the time we will still get the same sample value after
conversion. Thus to correctly alter an audio time by an amount
that will manifest as 1 sample's difference, we have to use
samples_to_superclock(1)
2022-10-07 16:16:14 -06:00
Paul Davis
617a517a60 temporal: add timecnt_t::increment() and Range::extent() (length+1) 2022-10-07 16:16:14 -06:00
Robin Gareus
b4d7ca06b8 Add Luabindings for MPControl (required for VBM) 2022-10-07 18:52:00 +02:00
Robin Gareus
8d045e15dc Do not add whole-file regions to playlists
Various operations, notably time-stretch and other filters, directly
added the generated whole-file region to the playlist.
The editor has not listed the generated Region in the RegionList.
2022-10-07 00:36:57 +02:00
Robin Gareus
f6e471f48d Remove explicit overrides
see 27dcb7560c1cab and 8c83149c4c
2022-10-07 00:36:43 +02:00
Robin Gareus
d9c6842ea3 Fix region property inheritance (GUI) 2022-10-07 00:36:20 +02:00
Robin Gareus
e40f58c106 Inherit Region Properties
This also adds special cases when splitting or splicing locked regions.
2022-10-07 00:36:10 +02:00
Robin Gareus
2f810ad34e Allow to override region lock, and derive properties
This is required when adding locked regions to a playlist.
e.g. after a split or partition operation. It is only supposed
to be used from Playlist::add_region_internal() and
Playlist::partition_internal().
2022-10-07 00:35:51 +02:00
Robin Gareus
ebf59d4426 Insert_or_assign properties, allow to override properties
This allows to copy a property list and then selectively
replace various properties. e.g.

```
PropertyList plist (region->properties ());
plist.add (Properties::length, len);
plist.remove (Properties::start);
```

See also 8b0ab38675
and 97f0fac7d5
This also fixes the issue referenced in
8c83149c4c
2022-10-07 00:32:14 +02:00
Robin Gareus
ddec1a9a98 Silence some clang warnings 2022-10-07 00:31:48 +02:00
Robin Gareus
ba41f22f88 Resize plugin-scan dialog as needed for UI scaling 2022-10-06 15:41:56 +02:00
Paul Davis
7a0da94ba3 fix RangeTest to account for Range now using exclusive ends, not inclusive 2022-10-05 17:30:45 -06:00
Paul Davis
2af00a3f69 Revert "route group dialog grabs focus when shown"
Unnecessary change.

This reverts commit fe0cde3781.
2022-10-05 15:57:41 -06:00
Paul Davis
91bdfaa824 add all new 7.0 contributors, and fix FSF address in GPL text 2022-10-05 14:43:47 -06:00
Robin Gareus
03295869ce Revert "Small test tool for PBD::Transmitter thread-safety tests"
This reverts commit d9ce918c41.
2022-10-05 22:25:07 +02:00
Robin Gareus
413285b713 FIx path on macOS when running from source-tree
This fixes access to local clip library files. Absolute paths are
required, otherwise FileSource::find searches the session folder.
2022-10-05 19:52:01 +02:00
Paul Davis
f858132a25 more appropriate sizeing and scrolling for library downloader
Without this it just grows to be tall enough to show all downloaded descriptions
2022-10-05 10:46:50 -06:00
Robin Gareus
908bcf3150 Fix bundling Ardour media for Linux packages 2022-10-05 16:59:56 +02:00
Robin Gareus
99d0cc47b7 Remove outdated script 2022-10-05 05:23:30 +02:00
Paul Davis
0c2176dd71 move default_triggers_per_box into a namespace ; change value for Ardour to 16 (GUI edition) 2022-10-04 19:55:15 -06:00
Paul Davis
3c0820e36e move default_triggers_per_box into a namespace ; change value for Ardour to 16 2022-10-04 19:55:05 -06:00
Paul Davis
34d339ab5d MIDI copies are now unlinked by default 2022-10-04 18:32:02 -06:00
Robin Gareus
0d9e362e8c Bring back useful clip files for testing when building from source
This reverts commit efca0ee433.
and commit a410a6fd26.
2022-10-04 22:27:03 +02:00
Paul Davis
efca0ee433 remove .daw-meta.xml from share/media 2022-10-04 13:44:06 -06:00
Paul Davis
a410a6fd26 remove useless click clips from share/media 2022-10-04 13:44:06 -06:00
Robin Gareus
e14bef1619 Fix unzip, allow to overwrite .daw-meta.xml file 2022-10-04 20:39:14 +02:00
Paul Davis
980404d73c refill library download dialog on show 2022-10-04 11:18:55 -06:00
Paul Davis
d7a88eecb1 libraryfetch: add description count 2022-10-04 11:18:40 -06:00
Paul Davis
bbe68542e8 fetch and include MIDI bundled content during packaging of Ardour 2022-10-04 11:01:59 -06:00
Paul Davis
b40179854a Revert "no bundled content for Ardour"
this was a mistake.

This reverts commit 9662e6eac0.
2022-10-04 11:01:59 -06:00
Mads Kiilerich
a23e137723 When exporting with .cue file, use latin1 for filename as well
Before, the .cue file could end up with a mix of latin1 and utf-8
encodings. Utf-8 works better for many things, but that doesn't matter
when the .cue file has to be in latin-1.
2022-10-04 16:52:04 +02:00
Robin Gareus
b269a1298c Fix memory leak for invalid SMF event 2022-10-04 03:29:52 +02:00
Robin Gareus
88bd2115a0 Consolidate signal emission, fix RWLock deadlock
Play loop, change loop-location, undo.

Undo calls Locations::set_state, takes a writer-lock,
and calls Location::set_state which emits a Changed signal.
This triggers Editor::location_changed, and if loop-location
changed while looping, update_loop_range_view() queries the
loop location, taking a reader-lock.

This leads to a recursive lock, RWLock::ReaderLock after
a RWLock::WriterLock does not cause a deadlock, however
releasing the ReaderLock effectively also unlocks the WriterLock.
This leads to a deadlock next time a writer-lock is acquired.
2022-10-04 01:12:50 +02:00
Paul Davis
a0c93328ea push2: fix intended behavior of push2 "lower buttons" 2022-10-03 15:41:50 -06:00