Paul Davis
bbbedfcd1d
triggerbox: use Trigger::disarm() more consistently
2025-05-13 12:16:11 -06:00
Paul Davis
b6e1846c39
temporal: fix implementation of timepos_t::operator+= (BBT_Offset const &)
...
TempoMap::bbtwalk_to_quarters() converts the distance of the walk into quarters, but
we need the endpoint of the walk
2025-05-13 12:16:11 -06:00
Robin Gareus
998dceb96a
Amend previous commit, fix macOS builds
2025-05-11 17:02:20 +02:00
Robin Gareus
ec5b06e63d
Set executable stack flag when linking
...
This is required on some modern hardneded Linux systems to allow
to dlopen executable objects (load plugins).
https://discourse.ardour.org/t/tls-1295-lea-so-linux-vers-doesnt-work/111778/20?u=x42
2025-05-11 15:58:00 +02:00
Paul Davis
1c0882ba56
PBD::Signal: do not use a StackAllocator for signals with return values
2025-05-09 14:21:05 -06:00
Robin Gareus
1e3100efbc
Stretch gain envelope and region-FX automation with region
2025-05-08 22:01:25 +02:00
Robin Gareus
a3fb3abcc5
Add API to time-stretch region-FX automation
2025-05-08 21:53:59 +02:00
Robin Gareus
5d185c5885
TimeFX: copy region Fx (if any)
2025-05-08 17:34:41 +02:00
Robin Gareus
3f1cb6c019
TimeFX: copy region gain evevelope
2025-05-08 17:34:07 +02:00
Nils Philippsen
3c63a81c1c
Don’t install test programs
...
Signed-off-by: Nils Philippsen <nils@tiptoe.de>
2025-05-06 23:42:07 +02:00
Robin Gareus
d685b000c6
Use consistent duration calculation when relayering
2025-05-06 23:08:47 +02:00
Paul Davis
2a7bef47fa
return immediately in a non-void Signal if there are no handlers
...
This allows r.begin(() to not refer to undefined memory
2025-05-05 21:51:23 -06:00
Paul Davis
9096acd3b4
change PortCountChanging to prefer handlers that return int
...
There are some issues with PBD::SignalWithCombiner on aarch64 when the handlers return bool. These
may arise from specializations of std::vector<bool> and std::list<bool> in stdlib, but this is
not clear. For now, to avoid an ASAN warning about calling operator delete() on stack memory,
change the only signal that does this to use int rather than bool
2025-05-04 19:21:50 -06:00
Paul Davis
cf84ed0041
use a std::vector to collect signal handler return values, not std::list
2025-05-04 19:21:50 -06:00
Robin Gareus
e3860844a6
Improve StackAllocator debug messages
2025-05-04 23:41:22 +02:00
Robin Gareus
868d8c1d51
Document and fix monitoring-states
...
See https://manual.ardour.org/appendix/monitor-modes/
This fixes #11 , #27 (auto-in, rolling, track armed, but session
disarmed)
2025-05-01 17:15:57 +02:00
Paul Davis
52996e7a8d
fix thinko when setting MIDI trigger first/last event indices
...
Unclear why I use this pattern when the change here uses the more normal way
of finding the upper/lower of some values. Either way, the code as it was would
skip the first event in a MIDI trigger (most of the time, anyway)
2025-04-24 16:41:49 -06:00
Paul Davis
3918fea26f
provide Session::armed_triggerbox() API
2025-04-24 12:07:19 -06:00
Paul Davis
86ef6a5e59
remove debug output
2025-04-24 12:07:19 -06:00
Paul Davis
02aeb3895f
NO-OP: newline/whitespace/brace
2025-04-24 12:07:19 -06:00
npt-1707
dd0de15269
Fix potential vulnerable cloned functions: Bug: Lua can generate wrong code when _ENV is <const>
2025-04-24 13:05:49 +02:00
npt-1707
edf2ce7cfe
Fix potential vulnerable cloned functions: Save stack space while handling errors
2025-04-24 17:06:24 +08:00
Robin Gareus
5f1bea0b6b
Fix rec-arm disable
...
This broke in 91f9561958 , when the condition for clip
recording was added.
2025-04-19 18:40:50 +02:00
John Emmas
d285ff365e
Add a visibility specifier that's now needed
...
Following the introduction of 'Pianoroll::region_prop_change()' (commit #29833d75c9 ) the operator<< (for PBD::PropertyChange) now needs to be visible outside of libpbd
2025-04-19 13:33:36 +01:00
Paul Davis
292e722758
use bg[ACTIVE] for scrollbar troughs, like all other GTK engines
2025-04-18 15:52:07 -06:00
Paul Davis
743657e265
simplify scrollbar slider drawing code
...
No more pattern for the slider, brighter shade for prelight,
and keep prelight color even when widget is active
2025-04-18 15:00:55 -06:00
Paul Davis
ef0a8ba524
allow a trigger slot to use an empty region
...
hopefully there are no complications from this :(
2025-04-16 20:43:37 -06:00
Paul Davis
7cf63d1d46
triggebox: random extra DEBUG_TRACE output
...
Also, if a trigger is already stopped, ::shutdown_from_fwd() now does
nothing at all
2025-04-16 12:05:59 -06:00
Paul Davis
ebda6bf0c5
rework PBD::Signal emission code to avoid memory allocation
...
We now use a stack allocator when making a copy of current connection state at
the start of the signal emission process, and when collecting results from
signal handlers in the case of a non-void return type.
These changes also include a functionally neutral reworking of how the connection
state copy is made and then used to check that a connection/handler is still
valid mid-emission.
Heap allocation will still happen if a signal has more than (currently) 512
connections. A little experimentation reveals that the maximum number of
connections is typically nroutes+1, so 512 seems like a reasonable choice
for this.
2025-04-16 09:09:57 -06:00
Paul Davis
f66f81546d
fix several warnings from PBD::Signal due to a missing return call for some types
2025-04-15 22:34:49 -06:00
Robin Gareus
95949e6267
Implement multi-touch support for ArdourKnobs
2025-04-15 21:59:40 +02:00
Robin Gareus
2a9776de5a
Revert "Linux/X11/touch: don't send duplicate mouse-up events for first touch"
...
This reverts commit 8eab71fef4 .
2025-04-15 21:48:55 +02:00
Robin Gareus
5a90eb0776
Fix double toggle on repeat call of on_button_release_event
...
This can happen with touch screens.. leading to
`set_active (!get_active ());` being called twice, and effective NOOP.
2025-04-15 21:48:42 +02:00
Robin Gareus
bf6ad57083
Add Lua bindings for StereoCorrelation meter
2025-04-15 19:08:02 +02:00
Robin Gareus
5f460bd280
Add Stereo Correlation Meter DSP
2025-04-15 17:56:33 +02:00
Paul Davis
a46f2cefb4
PBD::Signal - move connection list back into private scope (amend 86c837b0e)
2025-04-14 10:45:46 -06:00
Paul Davis
fc31513bbe
fix inappropriate signal emission patterns in Triggerbox/Trigger
2025-04-14 10:15:03 -06:00
Paul Davis
623df55653
make DEBUG_THREADED_SIGNALS use a little more efficient at runtime
2025-04-14 10:15:03 -06:00
Paul Davis
86c837b0eb
provide deeper debugging of PBD::Signal emission process
2025-04-14 10:10:57 -06:00
Paul Davis
64d1398797
emit rec enable change signal from Triggerbox when done capturing
2025-04-11 17:11:28 -06:00
Paul Davis
cf27064915
correct arithmetic used to compute a quantized trigger start/stop transition
2025-04-11 11:23:36 -06:00
Paul Davis
3486ec924d
expose start time for recording into a triggerbox slot
2025-04-11 11:23:36 -06:00
Paul Davis
0e42868d35
fix arithmetic error in Meter::to_quarters
2025-04-11 11:23:36 -06:00
Robin Gareus
7e8230c3be
Allow touch to tigger act-on-release events
2025-04-10 18:26:23 +02:00
Robin Gareus
8eab71fef4
Linux/X11/touch: don't send duplicate mouse-up events for first touch
2025-04-10 18:25:58 +02:00
John Emmas
937dd4b587
Class 'MIDISceneChange' now needs to be visible outside of libardour
2025-04-09 12:01:01 +01:00
Paul Davis
259e878887
libardour: fix MidiRegion::fix_negative_start() to match new API
2025-04-08 15:50:30 -06:00
Paul Davis
72dd5b1258
NO-OP tiny rewording of a comment
2025-04-08 15:50:30 -06:00
Paul Davis
fe3aadb1bc
libardour: change implementation of MidiModel::insert_silence_at_start()
...
Use the much lighter weight ShiftCommand model introduced in 4ee709af7b .
2025-04-08 15:50:30 -06:00
Paul Davis
4ee709af7b
libardour APIs for Sequence::shift (timepos_t const &)
...
A way to move all MIDI data in a Sequence later in time.
This is likely not finished, and may need a new signal for
notifications
2025-04-05 17:25:03 -06:00