13
0
Commit Graph

33609 Commits

Author SHA1 Message Date
eb0498bb28
Overhaul ambiguous latency detection
Simply comparing connected latency min/max is insufficient
and allows for false positives.

get_connected_latency_range() reports private, uncompensated
latency for internal ports. In this case an additional test
is required to match it against the reported latency of
connected ports.

Since 13b8a9727bb05 remote connected ports now correctly
report latency for both internal as well as external ports.
2021-09-08 22:39:32 +02:00
7f11e295b3
Report roundtrip I/O latency in the GUI 2021-09-08 22:39:32 +02:00
6199d08f71
Add API to report I/O Latency 2021-09-08 22:39:32 +02:00
f301e692a7
Expose compensated port-latency, fix ambig. latency detection
Previously Ardour only announced processor latency.
Routes that had additional latency to compensate for those
have not published this delay.

This is of no concern with internal backends, however with JACK,
Ardour reported incorrect *individual* port-latencies of
routes that perform PDC.

Since public port latency now includes delay-compensation,
some extra work is required to unset it before recalculating
latency of paths that include external ports.
2021-09-08 22:39:32 +02:00
c342e4bfa9
Add API to announce managed MIDI port latency
Since Ardour implements jack latency callback, Arodur
is responsible to the set latency of those ports.
2021-09-08 22:39:32 +02:00
1978d3723e
Fix latency debug messages 2021-09-08 22:39:31 +02:00
27c6edc0b2 scaffolding and more skeleton for trigger UI 2021-09-06 23:21:31 -06:00
405ca42e75 skeleton for trigger GUI 2021-09-06 23:21:31 -06:00
f01c8faafe skeleton for trigger GUI 2021-09-06 23:21:31 -06:00
Hector Martin
d4b0090850
Cache the absence of ffmpeg_harvid
Without this, absence of the transcode tool causes it to be searched for
for every entry in the file picker.
2021-09-07 04:33:07 +02:00
Hector Martin
a33261df3d
Allow track views to be more than 1000 pixels tall
People have 4K displays these days; having a single maximized track is
not unusual.
2021-09-07 04:32:22 +02:00
50b01732fd midi buffer handling: fix some logic errors in dealing with MidiRingBuffer reads 2021-09-06 13:55:26 -06:00
7932c9bde1 triggerbox: more behavioral improvements 2021-09-05 10:40:58 -06:00
ceabc49232 triggerbox: closing in on a one-at-a-time design (GUI edition) 2021-09-04 23:20:08 -06:00
c2abde9199 triggerbox: closing in on a one-at-a-time design 2021-09-04 23:20:08 -06:00
2cd88a67f1 triggerbox: start redesign based on only 1 trigger running at a time 2021-09-04 23:20:08 -06:00
cc32201e9c
Keep plugin-preset dialog on top of plugin-UI 2021-09-04 18:42:50 +02:00
e057088195 remove unused, empty glib event source/callback code (was from an experiment during nutempo2 development) 2021-09-04 07:39:27 -06:00
acd7703c36 Revert "remove unused variable"
variable is actually used!

This reverts commit 5c7f318bd68ac3256d32c29b8e267e1ba99d09e3.
2021-09-04 07:18:56 -06:00
21ea579aed remove unused variable 2021-09-04 07:18:56 -06:00
John Emmas
dda7612479 A few visibility changes needed for linking to libpbd (when building with MSVC) 2021-09-04 12:35:44 +01:00
John Emmas
f6ed73986b A few visibility changes needed for linking to libtemporal (when building with MSVC) 2021-09-04 12:28:15 +01:00
John Emmas
d7d966e02b Adapt 'Temporal::TempoMap::tempo_map_p' to be buildable with MSVC
Whenever a variable gets declared using 'thread_local' MSVC requires that it should not be compiled with DLL linkage (i.e. it mustn't be exportable). So for Temporal::TempoMap we'll need to export the required members individually, rather than exporting the entire class.
2021-09-03 10:02:41 +01:00
ElizabethHarmon
08e22fdb4b
Create add_cdmarker.lua 2021-09-02 20:45:56 +02:00
c74f80caa4
NO-OP: clean up maths, remove extra brackets
This may also help due to huge xdelta numbers.
2021-09-02 20:45:30 +02:00
8087bad9a0 triggerbox: create regions and sources using factories, and restore region in set_state() 2021-08-31 22:35:14 -06:00
78d8a2448d allow editing of triggerbox processor 2021-08-31 22:33:47 -06:00
7dba843cb4 temporal: fix error in operator>> for BBT_offset 2021-08-31 22:33:33 -06:00
dcfbdb482d triggerbox: reload sessions containing triggerboxen 2021-08-31 19:03:32 -06:00
af8be5e71d triggerbox: restore state initial implementation (incomplete) 2021-08-31 18:36:16 -06:00
a9d4668dee triggerbox: state saving 2021-08-31 16:46:19 -06:00
b46eaebb76 triggerbox: add enums to libardour enum decls 2021-08-31 16:46:14 -06:00
4eda53c8c9 temporal: add to_string() converters for BBT_Offset 2021-08-31 16:45:44 -06:00
bca2f306ea tweaks and colors for triggerbox box UI 2021-08-31 14:50:55 -06:00
51110a92d9 canvas: fix computation of Box bounding box 2021-08-31 13:21:12 -06:00
584e5c5b45 triggerbox: various improvements, including legato support, state tracking 2021-08-31 11:53:24 -06:00
3734277263 canvas: improve box packing - compute child dimensions more correctly 2021-08-30 17:40:06 -06:00
b47fbc91e0 canvas: provide Rect::shrink () with four arguments 2021-08-30 17:39:39 -06:00
2aa313eb4e triggerbox: actually fully stop trigger when explicitly requested, rather than use follow action 2021-08-30 16:32:02 -06:00
13a0f74ce4 triggerbox: add more debugging 2021-08-30 16:31:35 -06:00
940f3022c1 prevent addition of events to a ControlList whose time-domain does not match the ControlList's own time-domain 2021-08-30 15:15:14 -06:00
4fb3e24bd6 evoral: tentative fix for problems with Curve::multipoint_eval()
Now that we use superclock_t for audio time, it is possible for the square of an audio time value to overflow int64_t quite easily.
This change fixes that (and cleans up other code a little), but probably a different solution would be a good idea
2021-08-30 14:29:11 -06:00
e75e8ea645 copy of kruger's spline paper 2021-08-30 12:54:53 -06:00
25093af986 triggerbox: fix uninitialized variable 2021-08-30 09:13:48 -06:00
0699449f29 evoral: debugging curve errors 2021-08-30 09:04:27 -06:00
4cef8c681c evoral: fix for Curve coefficient computation 2021-08-30 09:04:27 -06:00
Nil Geisweiller
21c94b23f3 Make BBT_Time::print_padded const
As this method does not modify BBT_Time it can be const.  This allows such
method to be called over a const BBT_Time instance.
2021-08-30 02:24:38 +03:00
John Emmas
2de2ab8f91 Use std::vector<Sample*> rather than a simple array
(for a simple stack-based array, MSVC requires that the size should be known at compile time)
2021-08-29 15:40:59 +01:00
John Emmas
d3cd621f7a Initial changes needed for building libtemporal with MSVC
Later I'll need to push some extra changes (to support 'tempo_map_p' and 'boost::intrusive::list' etc) but these initial ones (hopefully!) won't cause any issues for the other builds.
2021-08-29 11:03:58 +01:00
19d99b0a4b fix logic of MIdiTimeAxisView::add_region() to interoperate correctly with editor source list 2021-08-28 16:00:53 -06:00