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
Paul Davis
fc08397ad8
use both relevant UIConfiguration parameters in ::move_threshold()
2025-08-19 12:09:12 -06:00
Paul Davis
059497ea3d
add move threshold sensitivity parameter for UI
2025-08-19 12:09:12 -06:00
Paul Davis
1efd0c06bd
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-19 12:09:12 -06:00
Paul Davis
f34e314d93
move _copy member of some types of drags into Drag base class
...
this allows us to use it when computing move thresholds
2025-08-19 12:09:12 -06:00
Robin Gareus
43e4e428f5
Handle case where a custom MenuElem is added to the dropdown
2025-08-19 20:06:04 +02:00
Paul Davis
469f3e4d2a
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-19 10:53:06 -06:00
Paul Davis
69174b555e
unit tests: use std::cout for any debug output in tempo map cut buffer test
2025-08-19 10:53:06 -06:00
Paul Davis
1312e8f992
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-19 10:53:06 -06:00
Paul Davis
29be601cce
temporal: undefine macro after use
2025-08-19 10:53:06 -06:00
Paul Davis
7c9b9ceb7e
temporal: show BBT marker point names in operator<<
2025-08-19 10:53:06 -06:00
Paul Davis
2aad1ac5f5
temporal: fix TempoMap::paste() to pass unit test
...
the BBT times of the newly inserted points during paste() are meaningless until
we recompute them using ::reset_starting_at(). So don't try to compute some
sort of likely value, just use the value from the cut buffer, and call
reset_starting_at() after every point inserted.
2025-08-19 10:53:06 -06:00
Paul Davis
ee6356d9df
remove crashing assert() when rendering scroomer
...
Too hard to get a floating point assert correct, but I think this is still a little
incorrect because we do not scale the kbd size when rendering it.
2025-08-19 10:53:06 -06:00
Paul Davis
66dde32a1b
no more BBT_Time round/round_up methods (GUI edition)
2025-08-19 10:53:06 -06:00
Paul Davis
f0111bcea5
temporal: BBT_Time cannot have any round_to_*() or round_up_to_*() methods
...
A meter (time signature) is required to do the math correctly for any operation that may
cross or reach the next bar boundary, which round_to_*() and round_up_to_*() may do.
2025-08-19 10:53:06 -06:00
Robin Gareus
d2512c814a
Use short labels for grid and beat-div dropdown
2025-08-19 18:24:22 +02:00
Robin Gareus
4859e4e57e
ArdourDropdown: use action's short-label for display text
2025-08-19 18:18:41 +02:00
Robin Gareus
e74dbf6ef7
Pianoroll: the return of the draw box (amend 8ffd45c3c)
2025-08-19 15:36:44 +02:00
Robin Gareus
8ffd45c3c0
Don't expand GUI as much on first load
...
The editor-toolbar still needs a major cleanup, it's
very busy
2025-08-19 15:25:24 +02:00
Robin Gareus
44ceb91e52
Use new YTKMM API instead of ytk+
2025-08-19 14:40:49 +02:00
Robin Gareus
5f12554b56
YTKMM: expose ytk_set_child_packing
2025-08-19 14:20:39 +02:00
Robin Gareus
07dc5c0fc0
Remove cruft
2025-08-19 14:04:13 +02:00
Robin Gareus
936f8734b4
Tweak editor bottom pane packing, never unpack the property box
2025-08-19 14:03:19 +02:00
Robin Gareus
f9cdaf698c
Never unpack the selection-property-box
...
This is used to for all selection: route, plugins,
time and region and slot selection.
Only re-pack it with different expand option when
the pianoroll is also visible
2025-08-19 13:28:51 +02:00
Robin Gareus
014d231d13
Fix preference enum - see 4826a90796
2025-08-19 04:48:45 +02:00
Robin Gareus
32f162ec9a
Fix invalid markup (scene name)
2025-08-19 03:24:20 +02:00
Paul Davis
4826a90796
prefs editing widgets for region-edit-disposition
2025-08-18 19:04:05 -06:00
Paul Davis
368189c4f6
an initial guess at using the new region-edit-disposition parameter
...
No editing of the parameter yet
2025-08-18 18:26:10 -06:00
Paul Davis
1817aa5c2d
add a new UI prefs variable/type for region edit disposition
...
i.e. where to edit a selected or specifically chosen region
2025-08-18 17:08:23 -06:00
Paul Davis
a48ffdf998
refinements to SMF type0 import logic
2025-08-18 16:46:26 -06:00
Paul Davis
4303b77441
MIDI regions attempt to get their tempo & meter from their source file
2025-08-18 16:35:42 -06:00