Robin Gareus
5ffc3aa28b
Use PBD namespace for free CPU functions
...
Ideally never put methods in the global namespace
to prevent potential conflicts.
2025-08-15 22:10:31 +02:00
Robin Gareus
b1d5f065db
Add API to query max MMCSS threads on Windows
...
By default Windows limits the number of MMCSS threads to 32.
This can cause problems on modern systems with >= 32 cores,
when Ardour uses many process and I/O threads.
So far this is just a first step (query API)
2025-08-15 22:02:44 +02:00
Robin Gareus
648e8f9f00
Fix use-after free, and double-packing of proc-box (amend 844d45896)
2025-08-15 18:53:19 +02:00
Paul Davis
192c7a2f9a
fix for a subtle bug that led to track headers not expanding as intended
...
now that we use action-as-state, there was no way to look up the old
mouse mode when changing into or out of internal editing. this
prevented us from queuing the redisplay of trackviews that allows the track
headers to expand when appropriate.
2025-08-14 18:48:04 -06:00
Paul Davis
e467ee77f8
just rename a variable for more clarity when reading code
2025-08-14 14:55:37 -06:00
Paul Davis
63db3d3736
fix interference between timer-based update in CueEditors and scroll-drag
2025-08-14 14:55:37 -06:00
Franke Burgarino
1ff9bf3e86
MCU: no track selected message
...
an attempt to select a track specific subview without having a track
selected now spits out a message instead of just doing nothing
2025-08-14 10:20:01 -05:00
Robin Gareus
0f256cc687
FP8: Add new well-known ctrls
2025-08-14 16:30:53 +02:00
Robin Gareus
844d458969
Add optional ProcessorBox to Route-Properties (bottom attachment)
2025-08-14 00:11:47 +02:00
Todd Naugle
fbc4156eac
Spelling Fix
2025-08-13 17:05:35 -05:00
Paul Davis
5bdb6137ef
the other half of the half note half-fix
2025-08-13 11:16:20 -06:00
Paul Davis
dc85f65efa
it might be a minim to you, but it's a half note to me
2025-08-13 11:15:39 -06:00
Paul Davis
5c2afa74e1
restore missing 1/8th note option from grid type selector
2025-08-13 11:05:05 -06:00
Paul Davis
f010133c5f
slightly improve a DEBUG_TRACE message for DEBUG::Grid
2025-08-13 10:51:44 -06:00
Paul Davis
46f2dba306
temporal: fix Meter::to_quarters (BBT_Offset)
...
Because Paul can't do math
2025-08-13 10:51:44 -06:00
John Emmas
ca820d6380
Remove some unneeded DLL export specifiers (and repo some that were in the wrong place)
2025-08-13 11:22:06 +01:00
Paul Davis
5dbba0b154
when adding automation points from the kbd, use guard points
...
It's just better when you edit later.
2025-08-12 23:29:54 -06:00
Paul Davis
aa68198487
when adding automation points from kbd, don't translate y coordinate
...
since we have no screen position, we've already call ControlList::eval() and
that's the number we should be using for the new point.
2025-08-12 23:29:03 -06:00
Paul Davis
289264b29d
add new contributor name to credits
2025-08-12 21:49:55 -06:00
Paul Davis
fa97071872
mamy improvements to kbd-driven automation editing
...
Really needs a short video to demo/explain
2025-08-12 21:44:50 -06:00
Paul Davis
a7621896c2
NO-OP no double semi-colons
2025-08-12 21:44:50 -06:00
Paul Davis
66765a137e
add a new style/widget name for "big" text
2025-08-12 21:44:50 -06:00
Paul Davis
b95c29770c
initialize scope owner in default TempoMap constructor
...
This constructor should not really exist, but it does.
2025-08-12 21:44:50 -06:00
Paul Davis
20b984384d
NO-OP: move TempoMap destructor in code to be after constructors
2025-08-12 21:44:50 -06:00
Paul Davis
7539c9e9a8
introducing ARDOUR::string_as_value()
...
This does more or less the opposite of what value_as_string() does.
Functionally is far from complete, but it is useful even in its current form.
2025-08-12 21:44:50 -06:00
Paul Davis
1362c2b85d
auto-ify a loop in ARDOUR::value_as_string()
...
so much more readable!
2025-08-12 21:44:50 -06:00
Paul Davis
f22b255a3e
use configuration parameter for max gain, not 6.0/2.0
2025-08-12 21:44:50 -06:00
Franke Burgarino
7d70dc9384
MCU: implement 'available' parameter list in EQSubview
2025-08-12 17:00:56 -05:00
Robin Gareus
4b4cd5710f
Build Processor Box controls on demand
...
This significantly speeds up refilling the processor box.
The expensive part is creating HSliderControllers (actually
Gtk::SpinButton) which happened every time for a processor
change, for each plugin's control.
2025-08-12 22:02:32 +02:00
Franke Burgarino
0af47ff755
MCU: add more comp/gate controls
2025-08-12 13:27:19 -05:00
Robin Gareus
a067e725d9
Skip Route Plugin Pin Dialog refill when it's not needed
2025-08-12 19:48:28 +02:00
Robin Gareus
b14ce31372
Consolidate rt processor-changed signal emission
...
Prefer a single signal and bit flags, instead of individual signals.
This allows to call resort_route() at most once (if at all for
certain changes).
Notably Mixbus comp/gate/eq type changes can use NoProcessorChange
to only request a GUI update.
2025-08-12 19:48:28 +02:00
Franke Burgarino
e734acfa6b
MCU: fixed dynamics subview scrolling bug
...
switching to a dyn type with less parameters can no longer place you past the
last parameter
2025-08-12 11:11:05 -05:00
Franke Burgarino
588fbee13b
MCU: move creation of dynamics subview 'available' parameters list to seperate function
...
'available' was being created and deleted every time setup_vpot was
called. now it is only created when making the subview or switching the
dynamics type
2025-08-12 11:11:05 -05:00
Paul Davis
92267ec7db
new scoped tempo maps mean we can use scope macro everywhere, for consistency
2025-08-12 07:54:11 -06:00
Paul Davis
b205c0bc4b
scoped tempo maps: logic fixes and some comment-documentation
2025-08-12 07:53:30 -06:00
Paul Davis
2fc669964e
Revert "A new class ('ScopedTempoMapOwner') exposes functions which need to be visible outside of libtemporal"
...
This reverts commit d3a15b11ba .
This arrived at an awkward time as ScopedTempoMapOwner was being rearranged at
the source level. It will be reapplied in a subsequent commit.
2025-08-12 07:15:17 -06:00
John Emmas
d3a15b11ba
A new class ('ScopedTempoMapOwner') exposes functions which need to be visible outside of libtemporal
...
(and since there's no 'scope.cc', libtemporal itself needs to #include scope.h for those symbols to get exported)
2025-08-12 13:19:24 +01:00
Robin Gareus
4490720afa
Fix optimized builds (stacktrace)
...
This would require a `#include "pbd/stacktrace.h"` but
that stracktace should not have been comitted in the first
place.
2025-08-12 12:32:51 +02:00
Robin Gareus
2f234148b7
Update recorder UI directly when DPI/scaling changes
2025-08-12 05:31:03 +02:00
Paul Davis
3aba12c90c
providing region tempo/meter editing in region properties
2025-08-11 21:29:48 -06:00
Paul Davis
63f0ddb064
finish registration of region tempo/meter properties
2025-08-11 21:29:21 -06:00
Paul Davis
ec61deaa8a
macro to stop local tempo map code from doing anything
2025-08-11 18:05:24 -06:00
Robin Gareus
c546082f22
Downgrade "unknown automation" error to warning
...
It may not be an error to begin with and there's nothing a
user can do about it, anyway.
2025-08-12 01:16:23 +02:00
Paul Davis
a2c0183cbc
temporal: fix up some logic relating to scoped tempo maps (GUI)
2025-08-11 15:41:34 -06:00
Paul Davis
dd41fddcad
temporal: fix up some logic relating to scoped tempo maps
2025-08-11 15:41:34 -06:00
Paul Davis
023290b99d
temporal: add sanity check to TempoMap::fetch()
...
Threads should never call ::fetch() if they have a local tempo map in
use.
2025-08-11 15:41:34 -06:00
Paul Davis
478dd72fb0
moved scoped tempo map from GUI to libtemporal (gui)
2025-08-11 15:41:34 -06:00
Paul Davis
1ecbdf164d
moved scoped tempo map from GUI to libtemporal
2025-08-11 15:41:34 -06:00
Robin Gareus
582a1e8186
Fix timecode update after locate for demo version
...
ref. 1d48648a73
2025-08-11 16:00:13 +02:00