13
0
Commit Graph

39508 Commits

Author SHA1 Message Date
John Emmas
07c79ce92c Small changes to make pthread_utils.cc buildable again with MSVC 2024-10-01 20:28:16 +01:00
44b2377e72
VST3: Fix possible deadlock when using PSL extension for sends
see also c5618f01d6
2024-10-01 19:24:36 +02:00
4fc4a2ca09
Pick a sane default for "insert time" 2024-10-01 05:48:49 +02:00
ca7ac7027b
VST3: add more debug messages for PSL extensions 2024-10-01 01:21:35 +02:00
22a2cb0624
Ignore inactive routes for pre-roll sub-cycles 2024-09-30 23:36:36 +02:00
1aad6805b3
Fix count-in/preroll recording offsets
Notably `Route::process_output_buffers` uses

```
  output_latency = speed * _output_latency;
```

here, speed already needs to be non-zero during count-in
and pre-roll.
2024-09-30 23:36:06 +02:00
dab22a7c70
Explicitly set Windows Process Scheduling Class 2024-09-30 19:57:53 +02:00
ed437afda7
Fix thread priorities for Windows builds 2024-09-30 19:07:53 +02:00
11f71a3297
Fix playback of sessions with low sample-rate
previously, _chunksize =
```
  minimum_disk_read_bytes / sizeof (Sample)
```

can become larger then actual allocated ringbuffer:

```
  audio_playback_buffer_seconds * sample-rate
```

In which case the buffer was never filled.
The disk writer has similar issues
2024-09-29 18:25:33 +02:00
d60e0e7ade
Fix sample-rate display rounding for 22.05kHz
Thanks to Colin Fletcher
2024-09-29 18:07:59 +02:00
c6ef4c3545
Fix interaction with snapshot list
* Select snapshot before showing relevant context menu
* Ignore clicks on empty space (no path)
2024-09-28 21:40:11 +02:00
46f61d7662
Fix and simplify Playlist::fade_range for multiple ranges 2024-09-28 21:16:55 +02:00
6b5582deef
Small code cleanup and simplification 2024-09-28 21:16:01 +02:00
28605b5351
Fix Audio region fade property mapping
This fixes an issue when undoing region fades.
Particularly but not limited to the following:

1. select a region and split it in the middle
2. switch to range tool. make a range selection across the split
3. Edit > Fade > Fade range seection  (or press `/`)
4. Undo

Previously the fade-out of the earlier region was not undone.
2024-09-28 21:15:57 +02:00
1d921dec0b
Debug thread sched_priority 2024-09-28 14:47:52 +02:00
2014faaeca
Fix BaseUI thread priority 2024-09-28 14:45:05 +02:00
dd4a1a6d73
Set thread priority relative to backend
This also removed direct calls to backend real_time_priority
for good measure.
2024-09-28 04:15:39 +02:00
72deb74c58
Unconditionally check for mlock
Prepare for `is_realtime` API removal. All backend
except for Dummy and sometimes JACK are realtime anyway.
2024-09-28 04:15:35 +02:00
395833e4f8
Always use PBD API for thread priorities 2024-09-28 03:58:48 +02:00
0b5a197f76
NO-OP: whitespace 2024-09-28 03:16:57 +02:00
d089f38481
Use config variable to set IOTask thread policy 2024-09-28 03:16:54 +02:00
dcd79f3135
Debug Backend thread creation 2024-09-28 03:16:50 +02:00
aeb4f925c6
PBD pthreads: allow unlimited stacksize 2024-09-28 03:16:45 +02:00
e8c67408bb
Impose stack limit on backend threads (freewheeling, MIDI poll) 2024-09-28 03:16:42 +02:00
e8445d13ec
Require thread name to be passed to PBD::Thread and store thread 2024-09-28 03:16:30 +02:00
88a24ae8e5
Let PBD::Thread set thread-name 2024-09-28 03:16:07 +02:00
538a8cbccc
Consolidate calls to `pthread_create' (2/2) 2024-09-28 03:16:02 +02:00
6a741689d1
Consolidate calls to `pthread_create' (1/2) 2024-09-28 03:15:48 +02:00
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
c4fdd5356c
Enable debugging for stored threads 2024-09-28 03:14:16 +02:00
301777e7fe
Remove cruft 2024-09-27 18:03:11 +02:00
71a3161252
Error handling for 3751d20ce 2024-09-27 17:20:42 +02:00
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
d8e4e7b259
Fix calculating intersection of waveform rectangle
see also 68eb63e0c8
2024-09-27 02:54:35 +02:00
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
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
dc92ed1bc9
Fix Pre-Fader RegionFx when looping 2024-09-26 04:39:19 +02:00
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
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
e1f465a952
NO-OP: improve butler and disk-i/o debug messages 2024-09-26 03:25:07 +02:00
75e6a77c3e
Fix another debug message 2024-09-26 02:26:30 +02:00
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
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
b28090c64c
Peakdata: start striding at consistent offsets 2024-09-26 02:21:24 +02:00
5d65d7f051
Peakdata: correctly set peaks of left and right end 2024-09-26 02:21:23 +02:00
0357c12fcc Really fix compiler warnings for clang < v15
see also 57a6773833
2024-09-26 01:31:25 +02:00
60b3b24cc8
Do not allow changing the loop range while recording 2024-09-25 21:43:47 +02:00
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
5af023c70b
Fix some debug messages 2024-09-25 20:06:08 +02:00
74bbcdcae7 Closing tags should also have proper indentation in XML 2024-09-25 17:11:27 +02:00