Commit graph

32034 commits

Author SHA1 Message Date
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
Robin Gareus
2c8916310a
Consistent env variable naming (see also 6801c2cac2) 2021-06-10 03:17:49 +02:00
Robin Gareus
444af7b3e8
Fix client_real_time_priority() calls (backend vs engine) 2021-06-10 03:17:45 +02:00
Robin Gareus
40e4a5a20d
Lua Session windows stdio
Allow stdio, but do not open cmd.exe terminal when started.
This allows for scripted sessions.
2021-06-09 02:43:31 +02:00
Robin Gareus
0e570d15ae
Amend 3a7ea6b, do not kill child after 10 sec w/o output
This fixes video-timeline issues (harvid has no output), as well
as ALSA device reservation and xjadeo (when idle).
2021-06-08 23:23:31 +02:00
Ben Loftis
cc104d3fd3 Playlist UI tweaks: bugfix: mapover_groupd_routes should include the basis route (but only once) 2021-06-08 12:43:26 -05:00
Robin Gareus
445d5a75d0
NO-OP: use reference instead of iterator 2021-06-08 19:26:40 +02:00
Robin Gareus
23e3b6f6a8
Amend previous commit (remove debug instrumentation) 2021-06-08 16:49:55 +02:00