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
Paul Davis
3d4add15bc
temporal: implement TempoMap::bbt_distance() but do not use it
...
This was implemented to try to fix paste() but was not needed. It might be
useful in the future, or just as an expression of the logic of this. Note that
the BBT_Offset it returns only has the beats field set, which is ... odd. So
this is likely not quite finished.
2025-08-27 16:47:12 +02:00
Paul Davis
5e66f6d363
temporal: undefine macro after use
2025-08-27 16:47:12 +02:00