Paul Davis
e511cd2cb7
JACK backend: "fix" RunLoop timing
2021-06-13 11:11:03 -06:00
Paul Davis
3df49bad7d
performance meters: worst case for all
2021-06-13 11:05:19 -06:00
Paul Davis
56d9d5376c
continued tweaks to DSP performance meters window
2021-06-13 10:28:51 -06:00
Paul Davis
a5f7c793e3
add a new "Run Loop" timing stats for ALSA and JACK backends
2021-06-13 10:28:51 -06:00
Paul Davis
a89ad7a265
add queue-reset method to PBD::TimingStats
2021-06-13 10:28:51 -06:00
Robin Gareus
f196256604
Fix jack2 input-port monitoring
...
Port_connect must be called with correct order (src, dst),
and may only be called after the client is active.
jack2 reported errors:
> Destination port in attempted (dis)connection of ardour:physical_input_monitor_enable and system:capture_1 is not an input port
> Cannot connect ports owned by inactive clients: "ardour" is not active
2021-06-13 17:41:41 +02:00
Paul Davis
95215ff405
JACK backend: avoid deadlock if a port is unregistered that is not known to Ardour
2021-06-13 07:59:14 -06:00
Paul Davis
7980ea4d27
add a method to SerializedRCUManager to release the lock when no update is required
2021-06-13 07:58:45 -06:00
Paul Davis
e1495100a8
continuing work on presenting useful data in perf meter window
2021-06-12 15:00:46 -06:00
Paul Davis
4c76ff503f
measure backend process callback duration in ALSA backend
2021-06-12 15:00:46 -06:00
Mathias Buhr
c5abb7ecda
Fix Upsampler new/delete mismatch
2021-06-12 21:16:18 +02:00
Paul Davis
434bd2486e
start showing some DSP stats in the perf meter window
...
Lots of work to be done to decide what data to show and how to best present it
2021-06-12 09:20:58 -06:00
Paul Davis
8afc994177
add some DSP stats to the JACK backend
2021-06-12 09:20:28 -06:00
Desidiosus
d8e2f2fcad
Fix incorrect call in request_roll
2021-06-12 07:56:00 -06:00
Edgar Aichinger
f81d3ce333
minor german translation update
2021-06-12 15:14:43 +02:00
John Emmas
87e295fc7e
Add MSVC support for the upcoming dsp stats window
2021-06-12 10:42:27 +01:00
Paul Davis
a47348f2a2
integration of new dsp stats window with window proxy system, part 3
2021-06-11 21:17:44 -06:00
Paul Davis
081c2525fd
integration of new dsp stats window with window proxy system, part 2
2021-06-11 21:10:20 -06:00
Paul Davis
dcee5067f5
integration of new dsp stats window with window proxy system
2021-06-11 21:07:47 -06:00
Paul Davis
51df20796b
skeleton for dsp stats window
2021-06-11 21:02:06 -06:00
Paul Davis
182801b8d7
complete manual reversion of 7bce9899c0
2021-06-11 20:56:33 -06:00
Paul Davis
f643e231f5
NOOP: add comment as a reminder for post-nutempo merge
2021-06-11 19:13:13 -06:00
Paul Davis
78738ec5a1
skeleton for DSP stats GUI
2021-06-11 18:55:25 -06:00
Paul Davis
1b505ddcb1
Revert "modify PBD::TimingStats to discard the first 1000 recorded values to avoid too much influence from chaotic startup conditions"
...
This reverts commit 7bce9899c0 .
1000 at 8192 samples @ 44.1 is > 3 mins; counter may have overflowed. Not a necessary change.
2021-06-11 18:55:25 -06:00
Paul Davis
1777cf8f69
add some initial timing points for dsp stats
2021-06-11 18:55:24 -06:00
Paul Davis
462352102c
add a new update() method to PBD::TimingStats to allow use of an already-computed interval
2021-06-11 18:55:24 -06:00
Paul Davis
0f6b9e759c
fix out-of-order initialization
2021-06-11 18:55:24 -06:00
Robin Gareus
c01f68cfca
Fix MIDI bounce w/processing (event times + latency compensation)
...
see also 8f9c1df183
2021-06-12 02:34:22 +02:00
Robin Gareus
1c4323e32f
Fix crash on MIDI bounce w/processing
...
Bounce (Session::write_one_track) uses bounce_chunk_size = 8192
to process data. This requires gain_automation_buffer, and
scratch buffers that can hold 8k samples.
Previously the buffers were not allocated when bounding MIDI
(no synth), leading to a crash when automation was used.
2021-06-12 02:34:22 +02:00
Robin Gareus
76f30fe74e
NO-OP: whitespace (clang-format)
2021-06-12 02:34:22 +02:00
Robin Gareus
1ed0e88e23
NO-OP: whitespace
2021-06-12 02:34:22 +02:00
Paul Davis
ef72afb963
add PBD::TimerRAII class for easy management of TimingStats in scope contexts with multiple return points
2021-06-11 13:09:52 -06:00
Paul Davis
7bce9899c0
modify PBD::TimingStats to discard the first 1000 recorded values to avoid too much influence from chaotic startup conditions
2021-06-11 13:09:52 -06:00
Robin Gareus
3f6bf2c451
Overhaul connection events, fix capture alignment
...
Previously there was only a PostDisconnect() signal.
When a port connection is made directly e.g. recorder_ui.cc
r->input()->audio(..)->connect(...), or when connecting
using an external jack control app, Ardour::IO is not informed.
no IOChange::ConnectionsChanged signal is emitted and
Track::set_align_choice_from_io() is not called. This leads to
incorrec capture alignment.
To minimize signal emission the static global PostDisconnect
is changed into a per port ConnectedOrDisconnected signal.
IOs subscribes to signals from owned ports only.
2021-06-11 20:02:39 +02:00
Paul Davis
a67a475480
dramtically improve performance of ::get_port_by_name() for JACK backend
2021-06-11 10:41:41 -06:00
Paul Davis
11798f7e86
fix crash caused by not explicitly deleting the line component of a Marker ( #8737 )
2021-06-11 10:24:49 -06:00
Robin Gareus
47b06afc9d
Leave cpu_dma_latency alone by default (prevent overheating)
2021-06-11 14:29:34 +02:00
Robin Gareus
d5d9800738
Improve CPU/DMA tooltip, add warning if device isn't writable
2021-06-11 00:02:45 +02:00
Robin Gareus
e22720f59a
Offer DMA latency matching state transitions for the given CPU
2021-06-10 23:42:48 +02:00
Robin Gareus
b67d783cd6
Reopen cpu_dma device when changing settings
...
This fixes a bug with previous filedes remaining open,
only allowing to increase the constraint.
2021-06-10 21:35:52 +02:00
Robin Gareus
5af30601a9
Update CPU-DMA preference note
2021-06-10 20:22:12 +02:00
Robin Gareus
53499648be
Allow to change CPU-DMA setting w/o restart
2021-06-10 20:22:09 +02:00
Robin Gareus
7ce43739e8
Tweak sched priorities use given and 4 levels below.
2021-06-10 14:38:45 +02:00
Robin Gareus
f37ad624f6
Fix crash on session-reload or close (amend 1c9bb9ab41)
...
RouteUI is also used in the recorder-ui and meterbridge,
not all of which call RouteUI::init() since only the abstraction
itself is required.
2021-06-10 05:14:58 +02:00
Robin Gareus
bd275fa66f
Add example udev file for /dev/cpu_dma_latency permissions
2021-06-10 04:40:22 +02:00
Robin Gareus
88e85fcd17
Add preference option to set CPU DMA Latency
2021-06-10 04:30:10 +02:00
Robin Gareus
8c0ef7bd62
Add support for CPU DMA latency requests
2021-06-10 04:30:06 +02:00
Robin Gareus
2e574a011a
Amend 6e82f3669f, set BaseUI thread priority early on
...
This is conceptually clearned compared to doing it as
part of the session.
2021-06-10 04:30:03 +02:00
Robin Gareus
6e82f3669f
Correctly set ctrl-surface thread priority
2021-06-10 03:17:55 +02:00
Robin Gareus
89a0040f1b
Allow to override rt priority for internal backends
2021-06-10 03:17:53 +02:00