Commit graph

304 commits

Author SHA1 Message Date
Franke Burgarino
4bdad3a20d Fix 'Arrangement Boundary' toggle for scenes
The 'Arrangement Boundary' toggle was not working correctly for markers
with scene changes. Location markers would get turned into section markers,
but would not get shifted down to the correct row.
2025-10-21 14:32:59 -05:00
Franke Burgarino
cd2338a6ac Expose marker scene change editing
Allows for editing scene change information for location and arrangement
markers. This "edit mark" menu was previously inaccessible. Now accessible
via double clicking a marker.
2025-10-21 14:17:36 -05:00
Robin Gareus
4490720afa
Fix optimized builds (stacktrace)
This would require a `#include "pbd/stacktrace.h"` but
that stracktace should not have been comitted in the first
place.
2025-08-12 12:32:51 +02:00
Paul Davis
3aba12c90c providing region tempo/meter editing in region properties 2025-08-11 21:29:48 -06:00
Robin Gareus
c71e0781c9
Allow the session range to be themed 2025-06-10 21:18:36 +02:00
Robin Gareus
e26edc93d6
Fix crash when changing DPI while a marker is selected
~LocationMarkers() emits CatchDeletion, which calls
Selection::remove(ArdourMarker*) which in turn calls
Editor::marker_selection_changed(), which can cause a
heap-use-after-free.

So we first need to clear the location_markers map,
before deleting the markers.
2025-04-16 04:53:26 +02:00
Paul Davis
15c808c9f4 expand the dialog used for renaming location markers to allow scene editing
This has no visible effect for anything that is not livetrax (for now).
2025-04-07 17:46:01 -06:00
Robin Gareus
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
Paul Davis
4b8c51574d refactor the "selectables" API to allow use within separate (e.g. cue) editors 2024-10-17 07:44:32 -06:00
Paul Davis
dee8e920e6 editing refactoring, the drag part 2024-10-17 07:44:29 -06:00
Paul Davis
af5c99dd05 move definition of selection operations in to ARDOUR namespace
This is a rare commit that I think should be done for GUI and libs at the same time
2024-08-02 11:50:21 -06:00
Ben Loftis
00305c070d scene markers are not cue markers (fix copy+paste error) 2024-05-28 08:41:23 -05:00
Paul Davis
2d5884ccb1 refactor methods to add a location/section marker so that there is only one method for this 2024-05-21 08:21:02 -06:00
Paul Davis
ac779b38b2 arrangement markers are named "section N" by default 2024-05-20 11:00:50 -06:00
Paul Davis
93e1e1c1f2 remove Cue, CD, Scene, Punch, Loop rulers, consolidate to just a pair (ranges, locations)
a menu allows choosing between all markers or 1 specific type, and all ranges or 1 specific type

more work required on menu structure and menu options/dialogs to specify the type of new location
and range marker creation
2024-05-16 22:58:55 -06:00
Robin Gareus
c62fbc5c5b
Fix boundary condition first/last marker label length 2024-05-08 19:16:07 +02:00
Robin Gareus
a0dc432e7a
Fix Marker label ellipsis for concurrent markers
* Sort markers: range-end before range-start
* When two marker have the same position, use distance
  to next marker not on the same position
2024-05-08 19:07:09 +02:00
Paul Davis
0b8cfdee40 display MIDI scene markers 2024-04-25 13:07:00 -06:00
Robin Gareus
7b1997ffda
Speed up Location changes #9568
Section Markers only need to be updated when an actual
section-marker is modified OR flags change.

This also removes duplicate signal subscriptions and
caches sorted Location list when iterating over section markers.
2023-12-08 17:22:32 +01:00
Robin Gareus
c162aa7aca
Consistently use context-menu button action
This fixes an issue where brining up a menu can directly activate an
action in the menu. Notably on macOS.

Nathan reports that this may also address #9515

Note: mac touchpads are not affected since right-click there is
effectively a "press and hold".
2023-10-31 20:16:23 +01:00
Paul Davis
dd8f5c477f remove debug output 2023-10-02 16:52:34 -06:00
Robin Gareus
a1fc671a23
Tweak marker rename dialog title 2023-10-02 03:45:21 +02:00
Ben Loftis
d7345d7d4d
Remove marker 'Hide' item from context menu.
It is accessible in sidebar.
In the sidebar you can both Hide and Show, so less prone to error
2023-09-14 23:12:50 +02:00
Paul Davis
734a62101f remove use of Tempo::active() from GUI
This has not been accessible in the GUI since 7.0.
2023-09-11 10:26:54 -06:00
Robin Gareus
019a3a1976
Allow to select Arrangement sections
This also adds interaction with sections in the
Arrangement Ruler.

Note that selecting a range switches to the Range tool.
This is enforced because time-range selection is only meaningful
with tools that perform edit operations on the whole timeline.
2023-09-08 03:25:59 +02:00
Robin Gareus
80a813ff1c
Fix use-after-free when undoing marker creation
Create a marker by ctrl-click, hover over it and then ctrl+z
undo. This used to crash in Editor::get_preferred_edit_position()
gtk2_ardour/editor.cc:5179, checking for entered_marker->position()
2023-09-06 17:37:11 +02:00
Robin Gareus
b5b4be96e3
Use "Arrangement" in GUI instead of Section (amend 2f6a0abf) 2023-08-31 16:12:50 +02:00
Robin Gareus
797c362500
Fix segfault when undoing marker deletion
find_location_markers() may return NULL.
This also consolidates code from acc55083e5
2023-08-30 20:46:20 +02:00
Robin Gareus
aaff022fd2
Fix typo in dbda07f6b7 2023-08-30 19:40:19 +02:00
Robin Gareus
dbda07f6b7
Update Markers when Location flags change
Since b66e12610 there is a dedicated Marker type for
Section/Arrangement so changing location flags may need to
update the Marker type.
2023-08-30 18:27:21 +02:00
Ben Loftis
54c713c794 remove another instance of time-domain icon 2023-08-29 23:02:05 -05:00
Ben Loftis
acc55083e5 arrangement ruler: aesthetic changes 2023-08-29 23:02:05 -05:00
Ben Loftis
b66e12610b arrangement ruler: create Section marker type, so we can customize it a bit 2023-08-29 23:02:05 -05:00
Ben Loftis
2e9432e281 amend 2f16: cue markers should be reparented to their own ruler lane 2023-08-29 23:02:05 -05:00
Robin Gareus
c5d4a0c172
Amend previous commit (initial marker group) 2023-08-29 22:03:16 +02:00
Robin Gareus
2f16f87e4f
Do not re-parent ruler markers depending on ruler visibility
Previously CD-markers and Arrangement-markers were shown
in the default Maker ruler when CD or Arrangement ruler
were hidden.

This also fixes a bug that could result in marker-labels
being cut short. Editor::update_marker_labels calculates
overlap with other markes in the same group; but re-parenting
did not update the sorted_marker_lists[group] index.
2023-08-29 21:53:50 +02:00
Robin Gareus
24ae92ce1e
Consistently use Mark (not Range) for Arrangement markers
Otherwise changing the marker type will cause inconsistently
rendered marks
2023-08-29 17:00:24 +02:00
Robin Gareus
a14f216f3e
Highligh ranges in arrangement ruler 2023-08-29 00:34:29 +02:00
Robin Gareus
2f6a0abf04
Use "Arrangement" in GUI instead of Section
Reserve Section for time-selection without track selection
2023-08-28 21:02:43 +02:00
Robin Gareus
9c984fc2ad
Add dedicated Section Ruler and UI for section boundary markers 2023-08-26 14:09:53 +02:00
Paul Davis
23c7c0b4fd no more beamed 1/8th note symbol in marker text
All locations use the same domain now, so it is redundant
2023-08-16 16:32:03 -06:00
Paul Davis
d14a3b924e locations now follow session time domain, always (probably) (GUI edition) 2023-08-02 15:23:42 -06:00
Paul Davis
1f5a9c4444 correctly redraw marker lanes
Old code just redrew them at the same timeline position (which may
or may not be a different pixel position). They need to be updated
with the underlying position of the marker they represent
2023-08-02 14:11:06 -06:00
Paul Davis
b8af596a92 update all marker positions after a tempo map change 2023-07-15 11:08:45 -06:00
Robin Gareus
a5946ba2e2
Fix heap-use-after-free at exit
Deleting _track_canvas_viewport automatically destroys
any child Items. The LocationMarker's group was already destroyed
when ~ArdourMarker() runs and calls `delete group`.

So first delete the marker, then the canvas
2023-06-08 22:50:15 +02:00
Robin Gareus
3ef5b0881f
Expose Cut/Copy Section in Edit Menu
Also remove it from the context menu, since it fails
with edit-point = Mouse.
2023-05-18 03:45:14 +02:00
Robin Gareus
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
Robin Gareus
cb78043adc
Indicate selection extents in time ruler 2023-05-17 01:53:40 +02:00
Paul Davis
38bb89c110 more functional tempo mapping
TempoMarker drag modifies tempo (and thus beat-time positions
and durations).

BBTRuler drag modifies the map but not positions/durations
2023-03-24 14:19:16 -06:00
Paul Davis
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