Paul Davis
603f8a2c6b
auto-ify a loop in the canvas ruler rendering code
2025-09-02 11:10:11 -06:00
Paul Davis
901e32f17f
temporal: add stacktraces to DEBUG_TRACE output for start/end local tempo map
2025-09-01 11:17:24 -06:00
Paul Davis
f6ec3828ed
temporal: fix local tempo map depth mgmt when starting a local tempo map
2025-09-01 11:17:24 -06:00
Robin Gareus
060462a9f1
Fix struct/class tag mismatch
...
> 'TempoMapScope' defined as a struct here but previously declared
> as a class; this is valid, but may result in linker errors under
> the Microsoft C++ ABI [clang-diagnostic-mismatched-tags]
2025-08-29 17:22:41 +02:00
Robin Gareus
a8092c1782
Frame: only warn when allocation is smaller than requested size
...
When using Gtk Box packing and the box has a border-width set
the child widget may get an allocation that is less that than
the requested size.
2025-08-27 15:10:53 +02:00
Franke Burgarino
9fd131fbaa
MCU: fix banking in the plugin subview
...
the addition of the current bank to the global strip position was just
causing the vpots to be off by the bank number, so past bank 1 the pots
were tied to the wrong plugins
2025-08-26 17:37:25 -05:00
Franke Burgarino
b501ae855d
MCU: remove vpot control in plugin subview
...
when switching to the plugin subview, vpots were still attached to
pan controls
2025-08-26 17:37:25 -05:00
Franke Burgarino
92727dccc3
MCU: fix plugin subview crash
...
fixed a crash that occurred when attempting to vselect an empty pot
in the plugin subview
2025-08-26 17:37:25 -05:00
Franke Burgarino
2ecd265daa
MCU: clear pot LEDs when pot is empty
2025-08-26 17:37:25 -05:00
Robin Gareus
89c4fdc186
VST3: implement host/global IContextInfoProvider
...
This should fix crashes at instantiating sonible VST3
plugins.
2025-08-25 22:34:20 +02:00
Robin Gareus
0d03390976
VST3: Ardour enumerates Tracks/Busses by type
...
e.g. Track 1, Bus 1
2025-08-25 22:23:22 +02:00
Robin Gareus
e6dd5512b6
VST3: fix debug message
2025-08-25 22:23:21 +02:00
Franke Burgarino
9bc35232b3
MCU: update pot LEDs when switching to the track/pan subview
2025-08-25 15:06:02 -05:00
Paul Davis
ab588efd8c
remove debug message
2025-08-24 16:25:10 -06:00
Robin Gareus
e5e9229eb2
Allow numeric entry with "shift" when using dbl-click to reset
2025-08-24 17:02:57 +02:00
Paul Davis
7dadddb3dc
temporal: provide TempoMap::global_fetch()
...
This always returns a shared ptr to the global tempo map, without setting the
thread-local pointer
2025-08-23 22:35:16 -06:00
Daniel Appelt
26c9621aca
Add support to create midi regions from Lua
2025-08-23 21:49:48 +02:00
Robin Gareus
a6e3708a8a
NO-OP: format comment
2025-08-23 21:46:35 +02:00
Robin Gareus
a94dba4ef4
Add preference to disable implicit grouping
2025-08-23 09:59:02 +02:00
Franke Burgarino
faebc7ab35
MCU: show surround master in global/mixer view
...
only if the controller doesn't have a master fader
2025-08-22 14:47:48 -05:00
Franke Burgarino
a57e3db41c
MCU: clean up MackieControlProtocol::get_sorted_stripables logic
2025-08-22 13:58:52 -05:00
Franke Burgarino
d49e44c5c7
MCU: add MackieControlProtocol::is_bus
2025-08-22 13:56:50 -05:00
Franke Burgarino
75f8aa3673
MCU: bring back foldbacks with correct sorting
2025-08-22 13:54:53 -05:00
Paul Davis
bb13bd48b2
several more bbt_delta() unit tests
2025-08-22 10:59:06 -06:00
Paul Davis
27ffd1628d
temporal: remove iterative bbt_delta() since unit test shows breakage
2025-08-22 10:51:16 -06:00
Paul Davis
fd53cf87ed
temporal: new non-iterative implementation of Meter::bbt_delta()
2025-08-22 10:45:12 -06:00
Paul Davis
26e63fca9b
add unit test for Meter::bbt_delta()
2025-08-22 10:45:12 -06:00
Paul Davis
05210fc7e2
Evoral: add ControlList::has_event_at (timepos_t)
2025-08-21 18:56:00 -06:00
Paul Davis
40b7b0a55c
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-21 18:56:00 -06:00
Paul Davis
5d58ff7ebf
tag regions captured inside Ardour with tempo and meter from timeline
2025-08-21 18:56:00 -06:00
Franke Burgarino
fd13fdb1bf
MCU: fix pan values for mixbus
2025-08-21 16:57:42 -05:00
Robin Gareus
59989eed3a
Consolidate PI type flags across projects
...
This is to prevent future conflicts of flags..
2025-08-21 18:28:23 +02:00
Robin Gareus
d7af181037
Amend 28c8dbf128, unsubscribe from destroyed signal
...
This handles another edge case where the Frame is deleted
before the child widget.
2025-08-21 04:41:17 +02:00
Franke Burgarino
e42cea63d5
MCU: work around mixbus initialization issue
2025-08-20 18:49:19 -05:00
Franke Burgarino
d6697cd702
MCU: fix mcpStripableSorter
2025-08-20 18:49:19 -05:00
Paul Davis
e9460bb372
temporal: fix unused variable warning in TempoMap::paste()
2025-08-20 17:43:45 -06:00
Paul Davis
de843db102
temporal: lots more DEBUG_TRACE statements for grid debugging
2025-08-20 17:43:34 -06:00
Paul Davis
607f3577bd
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-20 17:43:24 -06:00
Paul Davis
5aed12b90e
in launchkey 4 code, use new Meter::bbt_delta() not ::bbt_delta
2025-08-20 17:43:15 -06:00
Paul Davis
a8168f826d
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-20 17:43:05 -06:00
Paul Davis
0dab69fe74
check for null ActionGroup in ActionManager::drop_action_group()
2025-08-20 14:54:07 -06:00
Robin Gareus
724340ce11
Hide debug messages in optimized builds
2025-08-20 21:42:04 +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
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
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