17f0b87648
Fix Apple Carbon #define interference
2020-10-11 21:40:31 +02:00
472ce90fab
JACK backend allows to calibrate latency
...
However, if jackd is running, we should test if jackd is using
a full-duplex device to establish if latency calibration is
possible -- fix 92f54b3e98
.
2020-09-20 17:16:01 +02:00
216935f16e
Remove ALSA debug message in optimized builds
2020-09-18 15:40:44 +02:00
802ddf344a
Remove unused mutex (amend a80064981e
)
2020-09-06 05:43:03 +02:00
a80064981e
NO-OP: Consolidate PortConnect code into shared parent class
2020-09-05 23:05:57 +02:00
481cf37052
RT-safe jack transport time-master
...
Prefer a try-lock, instead of locking the tempo-map.
2020-08-19 19:07:41 +02:00
Stefan Westerfeld
ad8eb4d05b
Set JACK transport bar_start_tick field.
2020-08-19 19:04:11 +02:00
92f54b3e98
Add API to query if systemic latency can be measured
2020-06-30 03:34:26 +02:00
09aa0a3d1a
Consolidate code using pthread_attr_setstacksize
...
This also adds some stack constraint to rt and fallback threads
that didn't have those before (ALSA MIDI for example)
2020-06-06 18:35:44 +02:00
ae3c8b19c6
Tweak PulseAudio re-initialization
...
This fixes an issue with pulse disconnecting after freewheeling,
and possibly also address #8193
2020-06-05 04:24:09 +02:00
b46a7d43c2
Dummy Backend: add a MIDI Clock generator
2020-05-27 23:40:06 +02:00
feaf87d200
Dummy Backend: remove hardcoded MTC sequence
2020-05-12 01:49:45 +02:00
7c15ad099f
Dummy Backend: add a MTC generator
2020-05-12 01:49:41 +02:00
88fc77b4c0
Double dummy MTC sequence duration
2020-05-11 21:35:22 +02:00
4ff6fbe6b8
ALSA: Use same period for in+out #8075
...
Since the input is never flushed, capture latency is still
only one cycle.
2020-05-10 22:28:40 +02:00
abe23b5885
ALSA backend: ignore idempotent latency settings
2020-05-09 01:22:18 +02:00
c75b2355c1
Fix potential malloc(0) issue
2020-05-05 17:13:18 +02:00
27f26f5cfd
Cont'd work on ALSA nperiods (amend 2326fb163
)
2020-05-03 00:19:56 +02:00
2326fb1638
ALSA: only read/clear user-requested nperiods before snd_pcm_start
...
This should fix excessive latency with the RayDay that
has a fixed buffersize of 16384 samples.
2020-05-01 23:17:31 +02:00
8fa0049d28
ALSA: set start threshold to zero
2020-04-30 04:16:17 +02:00
11f68a02cd
Another step towards nperiod fixes for the RayDay
2020-04-30 02:05:14 +02:00
3a6a9cfa6c
Tweak ALSA nperiod setting, fallback to nearest
...
This is mainly for RME RayDAT that has a fixed buffersize of 16k:
dev_name : hw:HDSPMxc2f6c5,0
channels : 36
min_rate : 32000
max_rate : 192000
min_bufz : 16384
max_bufz : 16384
min_nper : 4
max_nper : 512
However nperiod configuration determines the effective latency
regardless.
This is similar to https://github.com/jackaudio/jack1/blob/master/drivers/alsa/alsa_driver.c#L476-L486
2020-04-29 23:56:24 +02:00
47bb331bfa
Allow to refresh ALSA device list - #8051
2020-04-29 02:19:38 +02:00
8e482ef0fb
Con't work on ALSA nperiod selection (see also d3d120fa
)
2020-04-28 17:56:17 +02:00
d3d120fa28
Prepare to allow using ALSA backend with nperiods > 3
...
This will still need an update for Alsa_pcmi::set_hwpar() capture
channel (which is fixed at 2, unless FRAG_NEAR is used).
2020-04-28 03:28:34 +02:00
13ed8da2bc
Add flag to allow ALSA backend to fall back to nearest avail. nperiods
2020-04-28 02:51:20 +02:00
3d166c7789
Consolidate stack-size and priority of rt-threads
2020-04-23 01:28:58 +02:00
daf9fe2550
Tweak engine startup, shorten initial silence timeout
...
see also 23baeee829
2020-04-16 16:47:08 +02:00
1e996ca45f
add port connect/add/remove callbacks to CoreAudio backend
2020-04-10 10:01:04 -06:00
2a80832243
add port connect/add/remove callbacks to the ALSA backend
...
This fixes issues with new ports not (always) appearing in port matrices (and presumably
elsewhere too)
2020-04-10 09:53:44 -06:00
b943cec756
ALSA: allow to select different I/O devices
...
This adds a basic support to use multiple sound-cards, currently
limited to two devices: In/Out with shared settings.
Advanced setups still have to resort to using the ARDOUR_ALSA_EXT
environment variable
2020-04-10 05:01:33 +02:00
e8efd45c05
Fix ALSA slave-device half-duplex mode
2020-04-10 05:01:30 +02:00
62e2ec49ce
ALSA: ignore systemic MIDI latencies during measurement
2020-04-10 01:43:11 +02:00
69b4c5108b
ALSA backend: fix incorrect pointer cast ( fixes #7998 )
2020-04-09 15:40:23 -06:00
70f13a3ff3
use RCU to manage JACK backend's container of ports
2020-04-08 19:56:33 -06:00
3188fe00aa
fix return value
2020-04-08 18:13:13 -06:00
f32245c156
add required ::clear_ports() call to Dummy backend destructor
2020-04-08 14:55:31 -06:00
78a66b7180
improved port cleanup as backend is destroyed
2020-04-07 23:26:51 -06:00
ede8b9995a
fix another explicit return val for ::get_port_by_name() if JACK has died
2020-04-07 18:57:24 -06:00
2591c81c1a
fix explicit return val for ::get_port_by_name() if JACK has died
2020-04-07 18:54:57 -06:00
32734ce53c
fix portaudio backend to use shared_ptr
2020-04-07 16:00:22 -06:00
ff41232d16
fix CoreAudio backend to use shared_ptr
2020-04-07 13:52:35 -06:00
d827f3fdae
fix up shared_ptr<> use in JACK backend
2020-04-07 13:23:49 -06:00
b9cb306e8b
use shared_ptr to manage backend port lifetimes (Pulse,ALSA,Dummy,JACK)
...
JACK is not yet finished.
Changes also include minor reformatting and a spelling correction (latecies to latencies)
2020-04-07 13:23:49 -06:00
6a6b3f2703
fix another iterator type
2020-04-02 19:45:31 -06:00
cb4997f4a4
fix iterator type
2020-04-02 19:45:31 -06:00
af69ac1285
use clear_ports()
2020-04-02 19:45:31 -06:00
6cdc245967
fix header name
2020-04-02 19:45:31 -06:00
7fc5a6c971
initial try (not compiled) of PortAudio backend using PortEngineSharedImpl
2020-04-02 19:45:31 -06:00
e5507f7072
use PortEngineSharedImpl with PulseAudio backend
2020-04-02 19:45:31 -06:00