Commit Graph

240 Commits

Author SHA1 Message Date
b3de53eb95 when a playlist is relayered, relayer ghost regions too 2023-06-26 14:18:18 -06:00
dbebc0b7e0
Make Markers properly themable, use color-names
This simplifies code, and also immediately changes marker
colors when the theme is changed.
2023-05-18 01:26:35 +02:00
b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
c44b40afd7
Indicate UTF8 literals - fixes glyph rendering with MSVC (2/2) 2023-01-16 21:41:22 +01:00
6ed1402812 use ItemChangeBlocker to improve performance of RegionView::remove_silent_frames() 2022-12-10 13:40:06 -07:00
0bb81a9a18
Do not shade transparent regions in Layered mode
There already is a shaded coverage frame indicating
if a layer is audible. This leads to a more consistent view.

In addition changing layered mode now has to update the
colors (set_frame_color).
2022-12-10 02:37:05 +01:00
9093059ba0
Use ArdourSans for symbols cross platform 2022-11-15 21:50:13 +01:00
19236c2a7d Handle time-domain undo/redo changes
The region itself has no time_domain property, changing the time-domain
is done by changing the domain of the region length. undo/redo hence
emite a Length PropertyChange signal.
2022-11-02 21:40:55 +01:00
15b92334dc remove dangerous and unused RegionView::source_relative_distance() method 2022-10-26 22:25:51 -06:00
63c78ebced Fix MIDI edit opertaiont (trim, draw) across tempo-changes
In the presence of tempo-changes distinguishing between offsets and
absolute positions is signficant. It is only valid to convert absolute
times using the tempo-map

Furthermore since GUI zoom-factor is time-invariant (samples per pixel),
all GUI operations must explictly use samples (or timecnt). It is not
valid (and problematic) to use use a location dependent timepos.
2022-10-23 19:12:31 +02:00
254297355e increment/decrement name changes ... out with old in with the new (gui) 2022-10-07 17:30:45 -06:00
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
5adb6eadaf
Fix region coverage display, take audible opacity into account 2022-09-09 17:31:20 +02:00
2220280776
Only create coverage frames to cover muted parts
Do not create transparent coverage frames for audible sections.
This should improve rendering of stacked region views.
2022-07-06 01:49:51 +02:00
0bd1d9bc17
Fix layered region non-playing shade (timepos_t API)
Before nutempo, ::find_next_region_boundary() used to return -1
when no boundary was found (now timepos_t::max is returned).

timepos_t::increment() returns the incremented value, not increments
the variable itself.
2022-07-06 01:49:50 +02:00
efa2efa221
Fix "muted" indicator (dup on audio-regions, missing on macOS)
RegionView::make_name already adds the prefix, AudioRegionView
does not need to add it again.

Also the font used on macOS (Lucia Grande) has a rather limited
UTF-8 charset and does not support:
 \u20F0 (COMBINING ENCLOSING CIRCLE BACKSLASH)
 \U0001F507 (SPEAKER WITH CANCELLATION STROKE)
so for now we keep using "!" on macOS.
2022-06-07 02:33:55 +02:00
itmuckel
498a3d90c5
Modernize region_view 2022-05-14 23:33:21 +02:00
itmuckel
13836bde44
Give muted regions cancelled speaker instead of '!' 2022-05-14 23:33:21 +02:00
f8b0a8843c stash info on whether we disabled region view redisplay for view-only or model changes
The bool may be unnecessary since everywhere we use this seems to be for model changes
2022-04-05 20:52:10 -06:00
4fa97e2c50 split midi region view redisplay into two similar methods
::model_changed() is used when the model has changed (eg. new notes or some
notes deleted); ::view_changed() is used when only some view parameter (e.g.
zoom, scroll, track height etc) has been altered.

Not fully functional yet (::view_chanted() ignores scroll)
2022-04-05 20:52:10 -06:00
b8a6b97b49 redesign (MIDI)RegionView display disabling around an RAII model 2022-04-05 20:52:10 -06:00
ae8c043fe1 regionviews: use integer counter instead of boolean to control redisplay of contents 2022-04-05 20:52:09 -06:00
e8dc95ded5 NOOP: whitespace conventions 2022-02-21 16:13:48 -07:00
2eda6d1865 initialize sync mark/line in Region copied from another region 2022-02-21 16:13:30 -07:00
61b728bdcc more avoidance of double initialization 2022-02-19 16:42:03 -07:00
dcdfd3ff0f no need to repeat initialization 2022-02-19 09:03:48 -07:00
luz paz
364f2f0788 Fix typos in gtk2_ardour/ directory
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sur,te,trough,ue`
2022-01-26 12:35:38 -05:00
3c03e4951e
Use updated temporal API 2/2 2021-12-11 15:51:31 +01:00
754230921d there is no Properties::position any more (GUI)
Position is a part of a length property (a duple specifying
"duration AT position", and there is no distinct property
for just the position itself
2021-09-25 16:49:51 -06:00
7415f5cc18 fix timeline type usage in region/cue markers 2021-08-13 12:51:36 -06:00
daad7b74ae libtemporal: rename TempoMap::full_duration_at() to ::convert_duration() and reorder parameters 2021-08-13 12:51:34 -06:00
9a9bc3408f fixups for xrun-marker work, now that Region::sample() and Region::length() so not return sample types 2021-08-13 12:51:34 -06:00
068cc4135f remove another NUTEMPO #warning (see comment) 2021-08-13 12:51:33 -06:00
0632ced2d5 fix Region::(region|source)_relative_distance() 2021-08-13 12:51:31 -06:00
18d64f0402 change all Region::nt_*() methods to names without the nt_ prefix (GUI version) 2021-08-13 12:51:30 -06:00
aa56f4a16e GUI: moving along with timeline type conversion 2021-08-13 12:51:29 -06:00
5b2a435e02 getting editor_drag.cc to compile 2021-08-13 12:51:29 -06:00
7433bc27e0 intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI 2021-08-13 12:51:29 -06:00
899ffa3b23 amend 256e22344f - no need for a non-const iterator 2021-08-06 10:16:05 -06:00
256e22344f ensure that region cue markers that get "trimmed off the edge" of a region actually vanish 2021-08-03 11:42:39 -06:00
b8bb5e6bd1 delete region cue marker (views) when a regionview is deleted. Fixes #8757 2021-08-03 11:41:49 -06:00
54e0b7f230 renaming cue markers (via dbl-click) 2021-05-24 20:23:06 -06:00
60a972a7de implement region marker deletion 2021-05-18 18:01:38 -06:00
baee1a2f01 add API to make sure that region cue markers are above any waveviews or MIDI etc 2021-05-18 16:50:27 -06:00
b76991c00b reset region cue marker colors when colors change 2021-05-18 16:17:37 -06:00
eb8c25edce remove debug output 2021-05-18 16:17:37 -06:00
91ec860b3b redesign color mgmt when entering/leaving markers of various kinds 2021-05-18 16:17:37 -06:00
689d33ddd5 get line for region markers functioning and visible 2021-05-14 18:37:50 -06:00
8859f76f48 new structure/design for managing visible cue markers 2021-05-14 18:37:50 -06:00
272b4f5cdc redraw region markers after a region color change 2021-05-14 18:37:50 -06:00