Commit graph

41252 commits

Author SHA1 Message Date
Franke Burgarino
18b027d1d0 MCU: clean up MackieControlProtocol::get_sorted_stripables logic 2025-08-27 16:47:14 +02:00
Franke Burgarino
a5a8246257 MCU: add MackieControlProtocol::is_bus 2025-08-27 16:47:14 +02:00
Franke Burgarino
43a851c2b1 MCU: bring back foldbacks with correct sorting 2025-08-27 16:47:14 +02:00
Paul Davis
ec8c4e7882 several more bbt_delta() unit tests 2025-08-27 16:47:14 +02:00
Paul Davis
3f45c0bdec temporal: remove iterative bbt_delta() since unit test shows breakage 2025-08-27 16:47:14 +02:00
Paul Davis
d6e331fe6c temporal: new non-iterative implementation of Meter::bbt_delta() 2025-08-27 16:47:14 +02:00
Paul Davis
b4ca9f2f38 add unit test for Meter::bbt_delta() 2025-08-27 16:47:14 +02:00
Robin Gareus
8d7b48b728 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-27 16:47:14 +02:00
Paul Davis
60c7312538 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-27 16:47:14 +02:00
Paul Davis
a33edcb3af Evoral: add ControlList::has_event_at (timepos_t) 2025-08-27 16:47:14 +02:00
Paul Davis
2eb1a31e16 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-27 16:47:14 +02:00
Paul Davis
b292e5191c tag regions captured inside Ardour with tempo and meter from timeline 2025-08-27 16:47:14 +02:00
Robin Gareus
04cdd7d819 Add shortcut for spectrum analyzer window 2025-08-27 16:47:14 +02:00
Franke Burgarino
ede1055cdb MCU: fix pan values for mixbus 2025-08-27 16:47:14 +02:00
Robin Gareus
f8a7f10c9f Fix previous commit 2025-08-27 16:47:14 +02:00
Robin Gareus
9789efc223 Fix crash when setting up toolbar without session (sync button) 2025-08-27 16:47:14 +02:00
Robin Gareus
8b41d71036 Consolidate PI type flags across projects
This is to prevent future conflicts of flags..
2025-08-27 16:47:14 +02:00
Paul Davis
8de485ebce tweaks to the presentation of drag sensitivity in preferences 2025-08-27 16:47:14 +02:00
Robin Gareus
c4020b22c4 Amend 28c8dbf128, unsubscribe from destroyed signal
This handles another edge case where the Frame is deleted
before the child widget.
2025-08-27 16:47:14 +02:00
Franke Burgarino
15fd52960e MCU: work around mixbus initialization issue 2025-08-27 16:47:14 +02:00
Franke Burgarino
9bb6741435 MCU: fix mcpStripableSorter 2025-08-27 16:47:14 +02:00
Paul Davis
2b227fe58b fix initialization order warning for RegionUISettings 2025-08-27 16:47:13 +02:00
Paul Davis
5f7bcc55ef temporal: fix unused variable warning in TempoMap::paste() 2025-08-27 16:47:13 +02:00
Paul Davis
d4a73cf8e4 temporal: lots more DEBUG_TRACE statements for grid debugging 2025-08-27 16:47:13 +02:00
Paul Davis
96e5229ad1 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-27 16:47:13 +02:00
Paul Davis
f1606db64a in launchkey 4 code, use new Meter::bbt_delta() not ::bbt_delta 2025-08-27 16:47:13 +02:00
Paul Davis
0d6402e875 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-27 16:47:13 +02:00
Paul Davis
69cc153470 check for null ActionGroup in ActionManager::drop_action_group() 2025-08-27 16:47:13 +02:00
Paul Davis
a1bfe82d49 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-27 16:47:13 +02:00
Robin Gareus
664a2b4a8e 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-27 16:47:13 +02:00
Robin Gareus
6a4d865452 Remove another debug message 2025-08-27 16:47:13 +02:00
Robin Gareus
985deae280 Don't re-create MIDI Region Editor when it already exists 2025-08-27 16:47:13 +02:00
Robin Gareus
84046ebc35 Hide debug messages in optimized builds 2025-08-27 16:47:13 +02:00
Robin Gareus
c11b4f7bdb 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-27 16:47:13 +02:00
Franke Burgarino
3197c787b1 MCU: hide phase/solo controls for master 2025-08-27 16:47:13 +02:00
Robin Gareus
464303da5e 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-27 16:47:13 +02:00
Robin Gareus
9cad318cfe Towards clean exit 2025-08-27 16:47:13 +02:00
Paul Davis
64e714b89d remove some debug output 2025-08-27 16:47:13 +02:00
Robin Gareus
c427d1d67a Always clean up after ourselves.. 2025-08-27 16:47:13 +02:00
Robin Gareus
5bf5ab6f69 Add "note" to short grid labels
see also d2512c814a
2025-08-27 16:47:13 +02:00
Robin Gareus
3a6c52314e Add "clear" button to RTA Window 2025-08-27 16:47:13 +02:00
Robin Gareus
a85db361eb Add RTA clear feature 2025-08-27 16:47:13 +02:00
Paul Davis
277c384a5c 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-27 16:47:13 +02:00
Paul Davis
17f74643a7 remove infinitely recursive, never-called method from MidiView 2025-08-27 16:47:12 +02:00
Franke Burgarino
62989f1cbc remove share/icons/hicolor/index.theme 2025-08-27 16:47:12 +02:00
Franke Burgarino
f7d01ea8e9 MCU: give UF1 & UF8 seperate device configs 2025-08-27 16:47:12 +02:00
Franke Burgarino
7e57b644d6 MCU: add master/monitor to global/mixer view if device has no master fader 2025-08-27 16:47:12 +02:00
Paul Davis
c282eed67c update preferences metadata (source text and C++ code) 2025-08-27 16:47:12 +02:00
Paul Davis
e82e08e60c 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-27 16:47:12 +02:00
Paul Davis
01701bdd1d expose drag sensitivity in preferences 2025-08-27 16:47:12 +02:00