Robin Gareus
a7db9ecc0f
Make keyboard shortcuts work in RTA Window
2025-08-27 16:47:15 +02:00
Paul Davis
d67f3a349f
use Session::request_locate() fully, to avoid 2nd session transport request
2025-08-27 16:47:15 +02:00
Paul Davis
b36c1ae129
make pianoroll update happen on same timer as main editor playhead
2025-08-27 16:47:15 +02:00
Paul Davis
5621c62973
get playhead on timeline and in pianorolls to be in sync
...
We have to convert from audible sample to beats using the global tempo map, then
back to samples using the local tempo map
2025-08-27 16:47:15 +02:00
Paul Davis
a99e4116f8
temporal: provide TempoMap::global_fetch()
...
This always returns a shared ptr to the global tempo map, without setting the
thread-local pointer
2025-08-27 16:47:15 +02:00
Daniel Appelt
3bd0bc775c
Add example Lua script to set color transparency
2025-08-27 16:47:15 +02:00
Daniel Appelt
be1c6911a5
Add support to set color transparency from Lua
2025-08-27 16:47:15 +02:00
Daniel Appelt
cb8109c717
Add example script to create a midi region clone
2025-08-27 16:47:15 +02:00
Daniel Appelt
6a0431152a
Add support to create midi regions from Lua
2025-08-27 16:47:15 +02:00
Robin Gareus
34f309767c
NO-OP: format comment
2025-08-27 16:47:15 +02:00
Robin Gareus
53a7e68b3f
Expose preference to disable implicit grouping
2025-08-27 16:47:15 +02:00
Robin Gareus
3bb4f482b6
Add preference to disable implicit grouping
2025-08-27 16:47:15 +02:00
Franke Burgarino
78bf5022d8
MCU: show surround master in global/mixer view
...
only if the controller doesn't have a master fader
2025-08-27 16:47:14 +02:00
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