Commit graph

21858 commits

Author SHA1 Message Date
Robin Gareus
0b5a197f76
NO-OP: whitespace 2024-09-28 03:16:57 +02:00
Robin Gareus
d089f38481
Use config variable to set IOTask thread policy 2024-09-28 03:16:54 +02:00
Robin Gareus
dcd79f3135
Debug Backend thread creation 2024-09-28 03:16:50 +02:00
Robin Gareus
aeb4f925c6
PBD pthreads: allow unlimited stacksize 2024-09-28 03:16:45 +02:00
Robin Gareus
e8c67408bb
Impose stack limit on backend threads (freewheeling, MIDI poll) 2024-09-28 03:16:42 +02:00
Robin Gareus
e8445d13ec
Require thread name to be passed to PBD::Thread and store thread 2024-09-28 03:16:30 +02:00
Robin Gareus
88a24ae8e5
Let PBD::Thread set thread-name 2024-09-28 03:16:07 +02:00
Robin Gareus
538a8cbccc
Consolidate calls to `pthread_create' (2/2) 2024-09-28 03:16:02 +02:00
Robin Gareus
8d3ebde60e
Distinguish Threads and ThreadName debugging
This also allows for -DThread to enable both.

We celebrate the 128th debug bit and look forward to
the next 64!
2024-09-28 03:15:36 +02:00
Robin Gareus
c4fdd5356c
Enable debugging for stored threads 2024-09-28 03:14:16 +02:00
Robin Gareus
301777e7fe
Remove cruft 2024-09-27 18:03:11 +02:00
Robin Gareus
71a3161252
Error handling for 3751d20ce 2024-09-27 17:20:42 +02:00
Robin Gareus
3751d20ce9
Use dedicated thread to start export timespans #9798
This addresses an issue with creating a one-shot thread
directly from the realtime callback, which can be problematic
on Windows.
2024-09-27 06:00:15 +02:00
Robin Gareus
d8e4e7b259
Fix calculating intersection of waveform rectangle
see also 68eb63e0c8
2024-09-27 02:54:35 +02:00
Robin Gareus
9945d7721f
Allow to investigate I/O thread policy
see
https://discourse.ardour.org/t/ardour-8-7-unable-to-connect-to-audio-backend/110774/10
https://discourse.ardour.org/t/ardour-8-7-x-run-issues/110767/2
2024-09-27 01:41:40 +02:00
Robin Gareus
6cc54aa1b0
Fix playhead moving beyond loop range
When some other transport related session event (anything that
requires non_realtime_work_pending, e.g. PostTransportOverWrite)
coincides with SessionEvent::AutoLoop, the auto-loop event
was removed from the main event queue and executed as one-shot
immediate event.

While looping the AutoLoop event needs to remain on the main
event queue.
2024-09-26 16:26:05 +02:00
Robin Gareus
dc92ed1bc9
Fix Pre-Fader RegionFx when looping 2024-09-26 04:39:19 +02:00
Robin Gareus
180e90b81a
Only call non_realtime_locate() when locating
`butler_transport_work()` may be called for various reasons,
notably PostTransportOverWrite. At that point in time the
transport may still be rolling or stopping with rtloc already
set.

This can cause DR::Underruns since seek clear the entire
disk reader buffer.
2024-09-26 03:45:24 +02:00
Robin Gareus
4f33105ae0
Process PostTransportOverWrite after all
This is needed to properly decrement "should_do_transport_work".
After a seek the DR:_pending_overwrite flag will have been
cleared, so not much extra work happens here.
2024-09-26 03:25:13 +02:00
Robin Gareus
e1f465a952
NO-OP: improve butler and disk-i/o debug messages 2024-09-26 03:25:07 +02:00
Robin Gareus
75e6a77c3e
Fix another debug message 2024-09-26 02:26:30 +02:00
Robin Gareus
9d0415ba04
Waveview: fix visual jitter when trimming or splitting regions
The left edge of a region on the the editor is rounded to be
on a pixel. When zoomed out, the position corresponding to that
pixel is not usually identical to the region's position().

We need to correct for this as best as possible, while keeping
peaks aligned to pixels.
2024-09-26 02:21:24 +02:00
Robin Gareus
68eb63e0c8
Waveview: fix rounding, span entire region rectangle
Previously samples at the end could end up being cropped,
when the Waveview is rendered using an offset.
2024-09-26 02:21:24 +02:00
Robin Gareus
b28090c64c
Peakdata: start striding at consistent offsets 2024-09-26 02:21:24 +02:00
Robin Gareus
5d65d7f051
Peakdata: correctly set peaks of left and right end 2024-09-26 02:21:23 +02:00
Robin Gareus
18e0cba1cb
Fix underruns when looping/locating and changing region content
Previously loop-wrap around asked the butler to perform
a unnecessary seek operation next time it is summoned.

If the butler is then summoned for a PostTransportOverWrite
event, the seek causes a DR::Underrun.
2024-09-25 20:06:08 +02:00
Robin Gareus
5af023c70b
Fix some debug messages 2024-09-25 20:06:08 +02:00
Paul Davis
3d1c414a94 initialize member variable 2024-09-24 14:52:06 -06:00
Paul Davis
0e28620a7a prevent Session::StateSaved being emitted when doing save-as with no switch-to
The signal would be emitted while the session was temporarily renamed,
making it appear that we had switched to the new session, despite instructions
not to do so. We had not actually done so, but the saved-as name would show up
on window titles.
2024-09-24 14:50:35 -06:00
Robin Gareus
72cac07ae7
Generic MIDI: do not send touch events for all mapped controlers
Previously a start-touch was sent for any bound MIDI
Controllable on each incoming MIDI Control event.
2024-09-24 16:11:00 +02:00
Robin Gareus
d3f536a7ff
Remove unused variable 2024-09-24 16:10:59 +02:00
Ben Loftis
4024a4354c region grouping: Overdubbing in non-layered mode was assigning wrong groups 2024-09-23 16:35:04 -05:00
Paul Davis
f75f5b0ded add option to name new MIDI tracks from SMF with just the SMF track name (libs edition) 2024-09-22 09:49:55 -06:00
Robin Gareus
9c64e7d141
Fix libhid API builds with recent gcc/glib `
Since glibc 2.10 `wcsdup` and `strtok_r` require `_POSIX_C_SOURCE`

(see also da520ce 4b8b5ac)
2024-09-15 12:00:12 +02:00
Fabio Pesari
f94bde59d7
Fix for Boost 1.8.5
Recent boost prevents calls to `get_child` with temporary
default values.
2024-09-15 11:43:52 +02:00
Paul Davis
1f70d54989 avoid call of a null function pointer 2024-09-13 08:24:04 -06:00
Paul Davis
79e78394c2 track modal window show/hide, not realize/finalize 2024-09-13 16:02:59 +02:00
Robin Gareus
ab533c38a3
LV2 fix a tiny memory leak introduced in c0b61d5a28 2024-09-11 05:31:27 +02:00
Paul Davis
1737b48aec Revert "try to add some debugging for macOS modal/menu handling"
This reverts commit c5751db473.
2024-09-10 16:34:16 -06:00
Paul Davis
bf6ce27b03 Revert "try to fix up previous commit"
This reverts commit 04305774cc.
2024-09-10 16:34:03 -06:00
Paul Davis
04305774cc try to fix up previous commit 2024-09-10 13:48:59 -06:00
Paul Davis
c5751db473 try to add some debugging for macOS modal/menu handling 2024-09-10 13:09:13 -06:00
Robin Gareus
e8644654c2
Prepare to filter incoming LTC 2024-09-10 18:25:06 +02:00
Robin Gareus
cd6dca6063
Allow to query Biquad coefficients 2024-09-10 18:25:02 +02:00
Robin Gareus
c0b61d5a28
Fix LV2 optional connect port logging #9790 2024-09-09 16:04:35 +02:00
Robin Gareus
75d2b46ded
Add Lua bindings to query MIDI SysEx and PatchChanges 2024-09-08 22:59:09 +02:00
Robin Gareus
3b5a6e1f15
Fix MIDI SysEx undo/redo
Previously `new_sysex_diff_command` used XMLNode c'tor.
An Unnamed undo transaction was created, and undo did not work.
2024-09-08 21:09:37 +02:00
Robin Gareus
d257c8c0ce
Prevent endless recursive directory scans
This can happen when a folder symlinks to itself or subfolders
in some similar recursive pattern.
2024-09-08 01:33:57 +02:00
Robin Gareus
e8162a421d
LV2: Log connect-optional ports 2024-09-07 18:28:37 +02:00
Daniel Appelt
af8a7df991
Connect unknown optional LV2 ports to NULL 2024-09-07 18:07:12 +02:00