78738ec5a1
skeleton for DSP stats GUI
2021-06-11 18:55:25 -06:00
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
1777cf8f69
add some initial timing points for dsp stats
2021-06-11 18:55:24 -06:00
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
0f6b9e759c
fix out-of-order initialization
2021-06-11 18:55:24 -06:00
c01f68cfca
Fix MIDI bounce w/processing (event times + latency compensation)
...
see also 8f9c1df183
2021-06-12 02:34:22 +02:00
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
76f30fe74e
NO-OP: whitespace (clang-format)
2021-06-12 02:34:22 +02:00
1ed0e88e23
NO-OP: whitespace
2021-06-12 02:34:22 +02:00
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
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
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
a67a475480
dramtically improve performance of ::get_port_by_name() for JACK backend
2021-06-11 10:41:41 -06:00
11798f7e86
fix crash caused by not explicitly deleting the line component of a Marker ( #8737 )
2021-06-11 10:24:49 -06:00
47b06afc9d
Leave cpu_dma_latency alone by default (prevent overheating)
2021-06-11 14:29:34 +02:00
d5d9800738
Improve CPU/DMA tooltip, add warning if device isn't writable
2021-06-11 00:02:45 +02:00
e22720f59a
Offer DMA latency matching state transitions for the given CPU
2021-06-10 23:42:48 +02:00
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
5af30601a9
Update CPU-DMA preference note
2021-06-10 20:22:12 +02:00
53499648be
Allow to change CPU-DMA setting w/o restart
2021-06-10 20:22:09 +02:00
7ce43739e8
Tweak sched priorities use given and 4 levels below.
2021-06-10 14:38:45 +02:00
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
bd275fa66f
Add example udev file for /dev/cpu_dma_latency permissions
2021-06-10 04:40:22 +02:00
88e85fcd17
Add preference option to set CPU DMA Latency
2021-06-10 04:30:10 +02:00
8c0ef7bd62
Add support for CPU DMA latency requests
2021-06-10 04:30:06 +02:00
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
6e82f3669f
Correctly set ctrl-surface thread priority
2021-06-10 03:17:55 +02:00
89a0040f1b
Allow to override rt priority for internal backends
2021-06-10 03:17:53 +02:00
2c8916310a
Consistent env variable naming (see also 6801c2cac2
)
2021-06-10 03:17:49 +02:00
444af7b3e8
Fix client_real_time_priority() calls (backend vs engine)
2021-06-10 03:17:45 +02:00
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
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
cc104d3fd3
Playlist UI tweaks: bugfix: mapover_groupd_routes should include the basis route (but only once)
2021-06-08 12:43:26 -05:00
445d5a75d0
NO-OP: use reference instead of iterator
2021-06-08 19:26:40 +02:00
23e3b6f6a8
Amend previous commit (remove debug instrumentation)
2021-06-08 16:49:55 +02:00
e8130c1f1b
Optimize input-metering
...
Rely on previously collected I/O port-list, skip expensive call
to get_physical_inputs() and rely on RCU port list alone.
Also skip port_is_mine() test in optimized builds.
2021-06-08 16:43:26 +02:00
b75a37abdb
fix arguemnts to transport call in shared control surface code for transport_play()
2021-06-08 08:32:19 -06:00
c46410a1b0
MIDI region extend-selection should select all after start of selection, not all after end of selection
2021-06-08 08:31:41 -06:00
11cb981e30
add extend_selection() to MIDI region bindings; expose invert-selection also
2021-06-08 07:40:54 -06:00
f4d4dddbeb
Paste Mode: overwrite-paste, naive implementation using rec-mode (for testing)
2021-06-08 08:33:48 -05:00
7cc92d8f27
Playlist UI tweaks: add global playlist buttons to Rec page (tentative, for testing)
2021-06-08 08:33:48 -05:00
e63dc0eb29
Playlist UI tweaks: move pgroup_id out of the menu text, and into a column of the playlist selector
2021-06-08 08:33:48 -05:00
1c9bb9ab41
Playlist UI tweaks: refactor PlaylistSelector (life-cycle, code-cleanup)
...
* You can now show a selector for each track, rather than one global dialog
* Removed the 'cancel' button: it was too easy to unintentionally revert your selection
* Correctly sort and name new playlists when they are added or renamed from the P menu
* Fix problem where list contents disappeared when changing desktops (on_unmap_event)
2021-06-08 08:33:48 -05:00
285101d88c
Cruft removal: behavior of Region List no longer needs these functions (gtk part)
2021-06-08 08:33:48 -05:00
c2fb85e37e
Cruft removal: behavior of Region List has changed; these functions are deprecated (libardour)
2021-06-08 08:33:48 -05:00
1665d0e1bc
Playlist UI tweaks: add Actions and menu items for global plist functions
2021-06-08 08:33:48 -05:00
a8395718bc
Playlist UI tweaks: rationalize playlist functions in Editor::
...
* new global playlist functions for {all | rec-armed | selected} tracks.
* new API passes (bool copy) arg instead of separate functions for copy_X.
* consistently use mapover_X functions to consolidate code
* update Lua bindings to match
2021-06-08 08:33:48 -05:00
cf999ecaa9
Playlist UI tweaks: clarify purpose of get_region{view}s_corresponding_to
2021-06-08 08:33:48 -05:00
b0db646029
Refactor input port monitoring
...
* avoid memory allocation (remove std:set<>&)
* skip nested loop using port-names as IDs
However this adds a bit of extra cost in case input ports are
monitored: get_port_by_name() and get_buffer()
2021-06-08 14:34:57 +02:00
bed992d55f
Minimize false sharing of MPMC queue variables
2021-06-07 23:40:29 +02:00