Paul Davis
f32245c156
add required ::clear_ports() call to Dummy backend destructor
2020-04-08 14:55:31 -06:00
Paul Davis
78a66b7180
improved port cleanup as backend is destroyed
2020-04-07 23:26:51 -06:00
Paul Davis
ede8b9995a
fix another explicit return val for ::get_port_by_name() if JACK has died
2020-04-07 18:57:24 -06:00
Paul Davis
2591c81c1a
fix explicit return val for ::get_port_by_name() if JACK has died
2020-04-07 18:54:57 -06:00
Paul Davis
32734ce53c
fix portaudio backend to use shared_ptr
2020-04-07 16:00:22 -06:00
Paul Davis
ff41232d16
fix CoreAudio backend to use shared_ptr
2020-04-07 13:52:35 -06:00
Paul Davis
d827f3fdae
fix up shared_ptr<> use in JACK backend
2020-04-07 13:23:49 -06:00
Paul Davis
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
Paul Davis
6a6b3f2703
fix another iterator type
2020-04-02 19:45:31 -06:00
Paul Davis
cb4997f4a4
fix iterator type
2020-04-02 19:45:31 -06:00
Paul Davis
af69ac1285
use clear_ports()
2020-04-02 19:45:31 -06:00
Paul Davis
6cdc245967
fix header name
2020-04-02 19:45:31 -06:00
Paul Davis
7fc5a6c971
initial try (not compiled) of PortAudio backend using PortEngineSharedImpl
2020-04-02 19:45:31 -06:00
Paul Davis
e5507f7072
use PortEngineSharedImpl with PulseAudio backend
2020-04-02 19:45:31 -06:00
Paul Davis
04551c39f6
use PortEngineSharedImpl with DummyAudioBackend
2020-04-02 19:45:31 -06:00
Paul Davis
30766c75e8
buildable version of CoreAudio backend using PortEngineSharedImpl
2020-04-02 19:45:31 -06:00
Paul Davis
a31d3689bf
tentative changes to extend port engine shared impl to coreaudio
2020-04-02 19:45:31 -06:00
Paul Davis
6c2e30b790
use new PortEngineSharedImpl in AlsaAudioBackend
2020-04-02 19:45:31 -06:00
Paul Davis
9ac0d5b60f
add RCU to manage _ports and _portmap in AlsaAudioBackend
...
This is intended to prevent crashes when unregister_port() modifies the contents of these
two members at the same time that something else is iterating over them.
2020-04-02 19:45:31 -06:00
Robin Gareus
a8ff35accb
Reset DSP load on backend re-start and after freewheeling
2020-03-30 16:58:55 +02:00
Robin Gareus
f866ed6305
Remove duplicate calls
2020-03-30 15:20:54 +02:00
Robin Gareus
23baeee829
Tweak engine startup, initial silence
...
This can help when running with very low latency and the
initial process callback is [indirectly] expensive.
E.g. load a heavy session the a RPi4, initial setup can pull
in a lot of data, which blocks the bus.
In particular with the ALSA backend this can lead to poll timeout
which effectively stops the backend.
2020-03-30 15:20:54 +02:00
Robin Gareus
c365c6cdb2
Set thread-names (libs)
2020-03-29 14:56:22 +02:00
Robin Gareus
eea697b260
ALSA backend: try to recover from poll errors
...
When recover() successfully re-initializes the device,
processing can continue just like after an x-run.
This can happen during initial session load of "expensive"
sessions (in particular on slow systems, e.g. Raspberry Pi)
usually with synths. Worker thread pulls in many external
files in the background which blocks the bus for a long time.
resulting in a poll-timeout.
2020-03-28 22:06:12 +01:00
nia
74ef32ec31
Only show the Sun driver on NetBSD and sun-ish systems.
2020-03-26 09:58:34 -06:00
nia
5a1514de33
Add Sun backend option for JACK
2020-03-26 09:58:34 -06:00
Robin Gareus
140a3f4a10
Fix Coreaudio buffersize changes
2020-03-06 05:52:55 +01:00
Robin Gareus
a9c75f9760
Fix CoreAudio systemic latency, implement hw latency report
2020-02-24 04:24:50 +01:00
Robin Gareus
7c381dab6e
Downgrade "using all channels" warning to info - part 2
2020-01-25 04:17:53 +01:00
Robin Gareus
06b2eb1c27
Explicitly use OSX
...
Previously this was inherited via PBD.
On MacOS/X, this adds
"-undefined dynamic_lookup -flat_namespace"
and various "-framework .." options to linkflags
Without this flag, .dylibs fail to link usually because
of missing `-lintl` (Undefined symbols: "_libintl_dgettext")
On other systems this is a NO-OP:
CFLAGS_OSX, CXXFLAGS_OSX and LINKFLAGS_OSX
are only set on the darwin platform.
2020-01-25 04:07:41 +01:00
Robin Gareus
f9e7f10695
Downgrade "using all channels" warning to info message
2020-01-24 21:16:40 +01:00
Robin Gareus
bca825e515
NO-OP: whitespace
2020-01-14 00:52:24 +01:00
Robin Gareus
c87bec07cd
Fix thinko in eee01188 (engine pulse spacing)
2020-01-12 00:16:19 +01:00
Robin Gareus
eee01188b4
Dummy: Engine-Pulse audio/midi generators
...
This produces synchronous events on Audio and MIDI ports.
One rvent per second, exactly at every second since engine-start.
MIDI: C-4 Note-on/off (1 sample long)
Audio: +1/-1 transition:
+1 in sync with Note-on,
-1 in sync with Note-off
2020-01-06 22:43:30 +01:00
Paul Davis
0b52ea7a9c
add a bit of debugging to JACK transport code
2019-11-15 16:06:04 -07:00
Paul Davis
c69227fd8d
eliminate hacky design for being able to deliver the correct time as JACK timebase master
2019-11-15 16:04:58 -07:00
Robin Gareus
e0d5c1426c
NO-OP: fix some Wimplicit-fallthrough
...
gcc can recognize various regexps in comments. Since C++17 provides
[[fallthrough]], using /* fallthrough */ consistently seems
appropriate until we switch to C++17.
see also https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
2019-09-18 17:37:54 +02:00
Robin Gareus
45cf29b7c5
Use preferred pa_context_new_with_proplist API
2019-09-01 19:01:18 +02:00
Robin Gareus
69688d24c4
Another fix for input only ALSA-slave devices
2019-08-24 00:15:10 +02:00
Robin Gareus
e5927d689c
Fix for half-duplex ALSA-slave devices
2019-08-23 04:39:51 +02:00
Robin Gareus
8fadf44978
Fix possible segfault when ALSA MIDI port registration fails
2019-08-23 04:39:12 +02:00
Robin Gareus
47a62b2850
Update backend GPL boilerplate and (C) from git log
2019-08-03 15:53:16 +02:00
Robin Gareus
8a969b56c9
PA-backend: Flush buffer and wake up main thread at stop
2019-07-26 21:38:40 +02:00
Robin Gareus
78fc6d6651
Prefix all env variable with "ARDOUR_"
...
In particular "CONCURRENCY" can be problematic. But in general
it's good practice to use a namespace prefix for app-specifics.
2019-07-26 16:44:29 +02:00
Robin Gareus
b759fb883e
Launch pavucontrol as PA's control app
2019-07-26 04:43:56 +02:00
Robin Gareus
d7454714ab
Fix PA: unlock mainloop on abort
2019-07-25 21:24:36 +02:00
Robin Gareus
384c97e12d
Puls der Zeit
...
Prototype a basic stereo-playback only pulseaudio backend.
2019-07-25 17:49:42 +02:00
Robin Gareus
771f2d2499
ALSA backend: fix play/capture device param detection
2019-07-24 16:40:40 +02:00
Robin Gareus
00e226e3c6
Fix ALSA MIDI latency update call (playback/capture direction mismatch)
2019-05-06 00:14:27 +02:00
Robin Gareus
ddd1cda260
Remove outdated comment
2019-05-05 18:07:21 +02:00