Commit graph

41249 commits

Author SHA1 Message Date
Franke Burgarino
75f8aa3673 MCU: bring back foldbacks with correct sorting 2025-08-22 13:54:53 -05:00
Paul Davis
bb13bd48b2 several more bbt_delta() unit tests 2025-08-22 10:59:06 -06:00
Paul Davis
27ffd1628d temporal: remove iterative bbt_delta() since unit test shows breakage 2025-08-22 10:51:16 -06:00
Paul Davis
fd53cf87ed temporal: new non-iterative implementation of Meter::bbt_delta() 2025-08-22 10:45:12 -06:00
Paul Davis
26e63fca9b add unit test for Meter::bbt_delta() 2025-08-22 10:45:12 -06:00
Robin Gareus
a6b07256aa
Fix expanding application bar
`on_parent_changed()` which does the layout is
called before ui_actions_ready(). This caused to Lua buttons
to briefly be displayed.
2025-08-22 15:47:52 +02:00
Paul Davis
07b20aa60a kbd automation: no popup immediately after add, 2nd Return/Enter for that
Also, two different bindings for adding a point with and without guard points.
2025-08-21 18:56:00 -06:00
Paul Davis
05210fc7e2 Evoral: add ControlList::has_event_at (timepos_t) 2025-08-21 18:56:00 -06:00
Paul Davis
40b7b0a55c canvas: fix enter notify event handler to work with gtk ungrabs
GTK delivers both window and root coordinates as (0,0) for GDK_CROSSING_GTK_UNGRAB
modes. We need the real coordinates of the pointer to pick the right canvas item
2025-08-21 18:56:00 -06:00
Paul Davis
5d58ff7ebf tag regions captured inside Ardour with tempo and meter from timeline 2025-08-21 18:56:00 -06:00
Robin Gareus
fe731cb9ab
Add shortcut for spectrum analyzer window 2025-08-22 00:19:12 +02:00
Franke Burgarino
fd13fdb1bf MCU: fix pan values for mixbus 2025-08-21 16:57:42 -05:00
Robin Gareus
b933e7f1b4
Fix previous commit 2025-08-21 22:36:37 +02:00
Robin Gareus
4926f673bd
Fix crash when setting up toolbar without session (sync button) 2025-08-21 22:32:24 +02:00
Robin Gareus
59989eed3a
Consolidate PI type flags across projects
This is to prevent future conflicts of flags..
2025-08-21 18:28:23 +02:00
Paul Davis
25cc456c73 tweaks to the presentation of drag sensitivity in preferences 2025-08-21 07:40:56 -06:00
Robin Gareus
d7af181037
Amend 28c8dbf128, unsubscribe from destroyed signal
This handles another edge case where the Frame is deleted
before the child widget.
2025-08-21 04:41:17 +02:00
Franke Burgarino
e42cea63d5 MCU: work around mixbus initialization issue 2025-08-20 18:49:19 -05:00
Franke Burgarino
d6697cd702 MCU: fix mcpStripableSorter 2025-08-20 18:49:19 -05:00
Paul Davis
56d36d3a41 fix initialization order warning for RegionUISettings 2025-08-20 17:43:56 -06:00
Paul Davis
e9460bb372 temporal: fix unused variable warning in TempoMap::paste() 2025-08-20 17:43:45 -06:00
Paul Davis
de843db102 temporal: lots more DEBUG_TRACE statements for grid debugging 2025-08-20 17:43:34 -06:00
Paul Davis
607f3577bd temporal: in the event of the most common logic failure, provide more info
TEMPORAL_MAP_ASSERT() doesn't give us any actual values or context.
2025-08-20 17:43:24 -06:00
Paul Davis
5aed12b90e in launchkey 4 code, use new Meter::bbt_delta() not ::bbt_delta 2025-08-20 17:43:15 -06:00
Paul Davis
a8168f826d remove incorrect bbt_delta() in BBT_Time, provide Meter::bbt_delta
There are two implementations here, the more efficient one (commented out) does
not work correctly yet.
2025-08-20 17:43:05 -06:00
Paul Davis
0dab69fe74 check for null ActionGroup in ActionManager::drop_action_group() 2025-08-20 14:54:07 -06:00
Paul Davis
c0fa42a203 EditingContext: don't call drop_action_group() if an action group was not created
Example would be an audio clip editor that does not define MIDI actions
2025-08-20 14:53:49 -06:00
Robin Gareus
d8c10a96bd
Amend c6a49fdd50 drop automation actions
This fixes a crash when showing the same Pianoroll again,
since actions a already present, a NULL reference was pushed
to session_sensitive_actions. Closing a session then crashed
accessing a NULL Action.
2025-08-20 22:25:58 +02:00
Robin Gareus
293100850b
Remove another debug message 2025-08-20 22:09:45 +02:00
Robin Gareus
aba8595342
Don't re-create MIDI Region Editor when it already exists 2025-08-20 22:01:03 +02:00
Robin Gareus
724340ce11
Hide debug messages in optimized builds 2025-08-20 21:42:04 +02:00
Robin Gareus
4b88330c9c
Use main editor for loop-range undo/redo - fix crash
While CueEditor is-a HistoryOwner, session specific
changes such as Location don't belong in EditingContext.

This fixes a heap-use-after-free crash since MementoCommand
was free()ed twice. Once via ARDOUR::Location::~Location
and earlier due to direct Destructible::drop_references
from the History.

This partially reverts 04a8fb1eb6
2025-08-20 21:32:22 +02:00
Franke Burgarino
8bfd8de2f6 MCU: hide phase/solo controls for master 2025-08-20 10:30:05 -05:00
Robin Gareus
28c8dbf128
Handle special case of using unmanaged widgets to Frame
This happens in in Ardour's Preference dialog with
e.g. BufferingOptions:

~OptionEditorContainer deletes the Option, which in turn
deletes the Widget BufferingOptions:_buffering_presets_combo
Since the widget is not managed it is not removed from its
parent.

Later ~OptionEditorContainer disposes the page layout, which
eventually also calls the Frame d'tor, causing a heap-use-after-free.
2025-08-20 16:19:25 +02:00
Robin Gareus
4cd241fab7
Towards clean exit 2025-08-20 16:19:25 +02:00
Paul Davis
2563eb2e1d remove some debug output 2025-08-20 07:04:54 -06:00
Robin Gareus
6589fdf9e8
Always clean up after ourselves.. 2025-08-20 13:28:08 +02:00
Robin Gareus
82dc2a9e54
Add "note" to short grid labels
see also d2512c814a
2025-08-20 13:05:22 +02:00
Robin Gareus
b0af872de2
Add "clear" button to RTA Window 2025-08-20 13:05:21 +02:00
Robin Gareus
ac9ffefb94
Add RTA clear feature 2025-08-20 13:05:18 +02:00
Paul Davis
20ebcc408d fix type from b489d466cf that resensitized the ghost note, causing crashes
Oddly, much, much easier to make happen on macOS and/or mixbus
2025-08-19 23:29:58 -06:00
Paul Davis
1e2a2d5506 remove infinitely recursive, never-called method from MidiView 2025-08-19 23:29:58 -06:00
Franke Burgarino
e77467adbe remove share/icons/hicolor/index.theme 2025-08-19 16:03:43 -05:00
Franke Burgarino
2f3c700cd0 MCU: give UF1 & UF8 seperate device configs 2025-08-19 15:36:40 -05:00
Franke Burgarino
25d9c2b284 MCU: add master/monitor to global/mixer view if device has no master fader 2025-08-19 15:36:40 -05:00
Paul Davis
b0eafc7a7c update preferences metadata (source text and C++ code) 2025-08-19 13:40:13 -06:00
Paul Davis
20701362c3 also scale drag move threshold by UI scale
If UI scale is > 1, pixels are likely small, so it seems appropriate to scale
2025-08-19 12:09:12 -06:00
Paul Davis
86da6740cb expose drag sensitivity in preferences 2025-08-19 12:09:12 -06:00
Paul Davis
d316a4b1c3 scale move threshold by UIConfiguration parameter 2025-08-19 12:09:12 -06:00
Paul Davis
99585debbe change use of MoveThreshold.first to reflect pixel units 2025-08-19 12:09:12 -06:00