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
Paul Davis
54bea42216
scale move threshold by UIConfiguration parameter
2025-08-27 16:47:12 +02:00
Paul Davis
8d7969e72b
change use of MoveThreshold.first to reflect pixel units
2025-08-27 16:47:12 +02:00
Paul Davis
c260640502
use both relevant UIConfiguration parameters in ::move_threshold()
2025-08-27 16:47:12 +02:00
Paul Davis
9d36bace2d
add move threshold sensitivity parameter for UI
2025-08-27 16:47:12 +02:00
Paul Davis
bc3e2b1f6d
move threshold for drags goes back to pair<int,int>
...
And for now, there's only a single implementation, though other types of
drags could implement it if needed. There really seems to be no need.
Note that the x-axis threshold is 3x in the case of a copy-drag.
2025-08-27 16:47:12 +02:00
Paul Davis
92f5f819b7
move _copy member of some types of drags into Drag base class
...
this allows us to use it when computing move thresholds
2025-08-27 16:47:12 +02:00
Robin Gareus
cf4eb99ed8
Handle case where a custom MenuElem is added to the dropdown
2025-08-27 16:47:12 +02:00
Paul Davis
d18ecd5084
unit tests: fix an unusual deadlock/block in TempoMap::write_copy()
...
this call works in other tests, no time to investigate it right now, and
technically the test doesn't require a write copy at all.
2025-08-27 16:47:12 +02:00
Paul Davis
a3cf0a1570
unit tests: use std::cout for any debug output in tempo map cut buffer test
2025-08-27 16:47:12 +02:00