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
Paul Davis
9c0c3309e6
avoid compiler warnings
2025-04-05 17:25:03 -06:00
Robin Gareus
db16c8818c
Add debug messages to investigate Windows/OneDrive read-only sessions
2025-04-05 18:23:28 +02:00
Houston4444
eb6f525938
add fade_in_length and fade_out_length lua bindings on region
2025-04-04 13:16:55 +02:00
Robin Gareus
0e011e0e90
NO-OP: cleanup
2025-04-03 21:06:14 +02:00
Robin Gareus
4f8a6e8e80
Fix stretching mono files on multi-channel trigger slots
...
Like in the non-stretch case `chn % data.size ()` is used.
2025-04-03 21:01:45 +02:00
Robin Gareus
8dd89616e1
Fix EmScale initialization, pixel-sizes are unsigned int
2025-04-03 03:15:29 +02:00
Paul Davis
1a95595e3d
remove more debug output
2025-04-02 09:08:11 -06:00
Paul Davis
e927b34391
remove debug output
2025-04-02 08:31:18 -06:00
Paul Davis
87ed40a855
design to handle "cloned" bindings/actions
2025-04-01 14:55:32 -06:00
Robin Gareus
e12d8b3769
Add API to tap signal from a Delivery to RTA
...
Rater than having each Delivery Object provide a Ringbuffer,
which is unused most of the time, the GUI will provide
them on demand.
We need to be careful of lifetime, and use `rt_safe_delete` in
case the Delivery holds the last instance.
2025-03-31 20:20:09 +02:00
Robin Gareus
6609ea1564
Micro-step toward unified FFT API
2025-03-31 20:20:09 +02:00
Robin Gareus
34f0ed991f
Include JAPA - Perceptual Analyzer DSP
...
Fons, how many bottles of red wine is this going to cost me?
2025-03-31 20:20:09 +02:00
Robin Gareus
9f9c775830
Use global lock to prevent concurrent FFT plan calls
...
Depending on fftw version, compile-flags and availability of
`fftwf_make_planner_thread_safe` fftw_plan_* may not be
called concurrently (fftw internally uses a static cache).
2025-03-31 20:20:05 +02:00
Paul Davis
e4f6eb9190
remove debug output
2025-03-25 12:34:25 -06:00
Paul Davis
f82a9bbdc3
YTK: fix non-namespaced handling of action names in GtkUIManager
...
GTK+ 2.x only looked up action *names* and ignored the namespacing offered by
action groups. This means that if there are two actions in different groups
with the same name, GtkUIManager may not find the one intended when it is
referenced in a menus definition file.
This commit changes that - if the action name contains a '/' character it is
assumed to contain both the action group name and the action name, and it will
only look for the action within the named group.
2025-03-25 12:22:32 -06:00
Paul Davis
535934dee9
manually revert 119166a17f with a tweak
2025-03-25 11:17:05 -06:00
Robin Gareus
2a7129ef64
Update Luabindings for marker flags
2025-03-24 20:54:44 +01:00
Paul Davis
885a318299
after recording into a trigger slot, revert the box to playback mode
2025-03-24 11:51:52 -06:00
Paul Davis
119166a17f
triggerbox: do not signal Captured() on every process cycle (for MIDI)
2025-03-24 11:43:32 -06:00
Robin Gareus
7c31e558a5
Fix duplicate MIDI Clock messages
...
Notably during realtime export an explicit flush of async
MIDI ports will duplicate port buffer content.
AsyncMIDIPort::cycle_end () calls `flush_output_fifo`,
and `flush_buffers` is called from PortManager::cycle_end.
2025-03-23 16:57:46 +01:00
Paul Davis
91f9561958
no track record enable if triggerbox is rec-enabled
2025-03-22 15:38:59 -06:00
Paul Davis
b2d011442a
no slot rec-enabling if the track is rec-enabled
2025-03-21 22:54:25 -06:00
Paul Davis
bb2812f272
a variety of fixes for MIDI clip recording, and extended API to specify capture period
2025-03-21 20:55:36 -06:00
Robin Gareus
62d47d63a6
Hide irrelevant gtk messages from casual users
2025-03-21 23:16:18 +01:00
Paul Davis
5c3bcd608f
NO-OP: add some helpful comments
2025-03-20 21:44:52 -06:00
Paul Davis
1911899d15
remove last of the remnants of "ardour-bindings" strings (library edition)
2025-03-19 20:19:24 -06:00