e1ffe7857f
Use enum for exec stderr parameter (1/2)
2019-03-05 22:49:15 +01:00
8b71967be9
ALSA: add locks to safely add/remove MIDI devices
...
Theoretically this could be lock-free by using a queue of device
ports to be added/remove in sync in the process-callback, but
realistically adding/removing devices doesn't have to be rt-safe.
2019-01-14 22:33:31 +01:00
86a78dc100
Fix a -Wunused-but-set-variable
2019-01-02 18:59:03 +01:00
d50d8b9d33
C++98 compatible map erase
2018-12-27 12:45:36 +01:00
517b5f091f
Use same has for ALSA-seq and ALSA-raw devices
2018-12-23 21:58:56 +01:00
79e247e00a
Dynamic ALSA MIDI I/O device discovery and re/connect
2018-12-23 21:58:56 +01:00
217ef4d365
Use hash for ALSA-MIDI device name/ID
2018-12-23 21:58:55 +01:00
076e9fddd4
Remove ambiguous API implementation
...
* PortEngine::available() implementation
* AudioEngine::connected() wrapper
Eventually we may re-introduce PortEngine::available along
with a libardour internal port-engine.
2018-11-28 15:32:40 +01:00
e047b01aa2
add new API for retrieving port flags from backend
2018-10-17 14:11:37 -04:00
46175b6b60
Increase alsa-backend timeout
...
Following discussion (https://community.ardour.org/node/15805 and
#ardour IRC) test initial disconnect due to timeout after a cold-boot.
2018-08-29 19:23:53 +02:00
37a9803542
avoid compiler warning on at least some linux versions
2018-05-04 08:25:04 -04:00
48c1a24284
Fix some clang warnings (argument with 'nonnull' attribute passed null)
2018-01-26 18:07:23 +01:00
4ebcef53f8
Relax max MIDI msg size to 256 (for long sysex)
...
(win-mme already used 256, CoreMIDI can handle up to 256 as can ALSA)
2017-12-19 17:41:57 +01:00
332a7e56ca
Increase ALSA max MIDI msg size to 128 bytes (same as OSX) for long sysex
2017-12-05 16:09:46 +01:00
c0f27be59e
Fix/update alsa backend build recipe (statically link zresampler)
2017-10-29 20:03:51 +01:00
79374df84e
fix preprocessor error on some/many systems
2017-10-26 15:44:09 -04:00
ab3889fff8
Propagate Latency to backend/system ports
...
Set accumulated capture-latency for physical-outputs
and accumulated playback-latency for physical-inputs
after Ardour is done setting all non-physical port latencies.
This will be needed for latency-compensation of the complete graph.
2017-09-23 00:34:01 +02:00
30b087ab3d
globally change all use of "frame" to refer to audio into "sample".
...
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
8337982766
Prototype using additional ALSA devices (w/resampling).
2017-09-18 16:13:55 +02:00
128a985361
ALSA Backend: Separate Device Reservation into its own class
2017-09-18 14:50:31 +02:00
7258c6334d
Namespace PBD::RingBuffer
...
class RingBuffer<> is a very generic name and should not pollute the
global namespace.
2017-09-16 16:37:29 +02:00
467c801ce8
Abstract definition of rt-scheduler policy
...
pthread-w32 does not support pthread_setschedparam() with
SCHED_FIFO and bails out. While pthread_create() simply ignores the policy
and sets the priority regadless.
This only affects ctrl-surface event-loops & AutomationWatch on Windows.
2017-08-29 20:35:36 +02:00
df659e91f1
Consolidate _realtime_pthread_create() into libpbd.
2017-08-29 17:25:23 +02:00
59a63a08f9
ALSA backend RT-safe MIDI buffer allocation
2017-08-05 15:36:36 +02:00
2b7c585dba
Update backend API: read-only MIDI input buffers
2017-08-05 15:36:36 +02:00
c125cd2647
Reduce DSP thread priority (main-i/o > midi i/o > computation)
2017-08-05 01:28:11 +02:00
0d668b9beb
ALSA backend: always register ports with systemic latency
...
and allow re-start to un/set reporting latency.
2017-04-27 20:59:15 +02:00
d7d86a99d2
Re-nice ALSA MIDI port names
2017-04-21 10:43:22 +02:00
6968c9f909
Drain ALSA raw-midi buffers after 64 bytes
...
Very long sequence of *concurrent* events may otherwise be truncated
because the backend requests a buffer-size of 64 bytes via
snd_rawmidi_params_set_buffer_size().
2017-04-09 05:03:19 +02:00
f9db9bf5fd
Retain order of concurrent MIDI events
...
This fixes an issue with FaderPort8 (and maybe other surfaces or synths).
2017-04-08 23:43:50 +02:00
335debfa2f
Add API to enforce valid device selection.
2016-11-26 15:31:21 +01:00
69cbcb84a6
spelling corrections from Jaromír Mikeš <mira.mikes@seznam.cz>
...
Corresponds to https://anonscm.debian.org/cgit/pkg-multimedia/ardour.git/tree/debian/patches/0070-spelling.patch
2016-10-17 17:57:39 -04:00
Kamil Rytarowski
1ac7dad84e
NetBSD ships with pollts(2) similar to Linux specific ppoll()
2016-10-04 22:17:49 +02:00
Kamil Rytarowski
f69776e5b7
NetBSD ships with <sys/endian.h> not <endian.h>
2016-10-04 22:17:12 +02:00
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
8444837b71
properly sort port-names
2016-07-14 16:52:43 +02:00
ac923be7af
fix port-sort order for good.
...
TODO find out how to make std::set::find() work with custom sort order,
as std::find may only be O(N) and not O(log (N)).
2016-07-08 21:37:42 +02:00
f84a7605d8
pre-sort port-names
2016-07-08 20:44:21 +02:00
60200bf923
bump max number of possible ALSA backend channels
2016-05-29 20:36:32 +02:00
43e620504a
port 93eac8b0
to ALSA and CoreAudio
2016-04-26 18:19:48 +02:00
2169de3975
keep portmap & portindex in sync when renaming ports
...
Fixes crash on session re-load (introduced in 800c8182
and fde99e68
)
2016-04-26 02:26:20 +02:00
800c8182c6
O(log(n)) port and connection lookup for ALSA
2016-04-24 20:45:37 +02:00
9840a11537
implement metadata-set for remaining backends
2016-04-18 00:35:51 +02:00
10140a8e68
implement pretty-name set-property for ALSA and Dummy
2016-04-17 18:22:21 +02:00
ba78359129
prepare for update to waf 1.8
...
uselib is no longer implicit (inherited by .use). This is still incomplete,
some uselibs for non-linux variants may be missing.
bld.is_defined("HAVE_XXX") also no longer works and will have to be
changed (I think to bld.env["HAVE_XXX"]) in countless places.
2016-02-28 21:16:44 +01:00
cf6a3afcaa
name ALSA midi ports after device
2016-01-11 11:46:10 +01:00
4dc49ee4fa
fix -Wreorder
2015-12-05 02:42:58 +01:00
a6f27f09a7
update ALSA backend: separate playback/capture periods
...
fixed: 2 for capture, configurable 2,3 for playback.
2015-12-05 01:53:13 +01:00
bfd2cbaa3f
ALSA: allow to dynamically add/remove midi devices & update their latency.
2015-12-04 22:19:47 +01:00
ac075560bd
ALSA: allow to measure & set systemic audio latency w/o restart.
...
(MIDI needs a bit more work)
2015-12-04 17:45:49 +01:00