47a62b2850
Update backend GPL boilerplate and (C) from git log
2019-08-03 15:53:16 +02: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
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
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
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
335debfa2f
Add API to enforce valid device selection.
2016-11-26 15:31:21 +01: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
800c8182c6
O(log(n)) port and connection lookup for ALSA
2016-04-24 20:45:37 +02:00
10140a8e68
implement pretty-name set-property for ALSA and Dummy
2016-04-17 18:22:21 +02:00
cf6a3afcaa
name ALSA midi ports after device
2016-01-11 11:46:10 +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
990fd75c5f
implement ALSA period/cycle setting
2015-12-04 10:16:19 +01:00
ccfe3e1015
Use ARDOUR::DSPLoadCalculator in ALSA Backend
2015-09-16 11:22:17 +10:00
548340eb05
remove -Woverload-virtual ambiguity (from 1d3690d
)
...
this breaks compilation in engine_dialog.cc
2015-08-11 23:50:56 +02:00
a226c4ce38
ALSA backend: query and cache available device-parameters
2015-08-11 19:01:52 +02:00
dc2030cfd7
ALSA backend: add support for half-duplex devices
2015-06-14 22:26:06 +02:00
52e99750a0
ALSA: fix thinko in sample time calc.
2015-03-09 17:17:50 +01:00
659a8a26ae
fix latency report, take buffersize changes into account.
2015-03-07 14:35:32 +01:00
782dd70875
alsa: implement timing callback
2015-03-05 01:59:59 +01:00
582138f280
change Audio backend sample time methods to use a 64 bit timeline
2015-02-19 17:44:01 -05:00
db28eefc49
ALSA backend: synchronous switch to/from freewheeling
2015-01-24 23:39:41 +01:00
f499f4cfd2
don't take temporary copy of MIDI sequence
...
fixes potential boost shared_ptr double free.
2014-12-31 03:19:00 +01:00
32e05fa640
update backends for API change in 8d59afb048
2014-10-01 03:24:54 +02:00
99a484f193
ALSA backend: initial device selection
2014-09-24 01:26:51 +02:00
dc318e6e74
ALSA|Dummy Backend: do as jack does:
...
when the backend is closed, unregister all ports.
2014-09-07 22:50:57 +02:00
07fafac36e
don't let enumerated device list strings go out of scope.
2014-06-23 12:16:35 +02:00
fb51bdb892
statically allocate midi-options
...
fixes possible segfault when the data in the vector
goes out of scope due to RVO.
2014-06-23 11:56:58 +02:00
16ffff10cd
ALSA-backend: dedicated Midi-Buffer n-periods (only use for HW output)
2014-06-22 18:28:24 +02:00
6648074a13
virtual abstraction of Alsa Raw+Seq
2014-06-21 13:51:46 +02:00
da912f7ed4
add AudioEngine API to configure individual MIDI devices
2014-06-13 11:47:51 +02:00
b3a44ea32b
ALSA Backend: align midi output buffer with n_periods (currently 2)
2014-06-08 15:53:15 +02:00
8f17b7c309
ALSA backend: separate systemic audio+midi latency
2014-06-07 17:28:47 +02:00
960a5347f0
ALSA & Dummy: implement port [un]registration_callback
2014-06-07 17:28:46 +02:00
822c460d15
DBus ALSA device reservation
2014-06-05 02:22:13 +02:00
a907d3455e
break out ALSA related functions into libardouralsautil
2014-06-04 19:16:37 +02:00
aec7ea4613
Revert "Revert "ALSA backend: separate flags for is-running and should-be-running""
...
sorry, c/p error
This reverts commit 9658b77327
.
2014-06-04 02:39:39 +02:00
9658b77327
Revert "ALSA backend: separate flags for is-running and should-be-running"
...
Theoretically one could alter the plugins after a delivery even on a
frozen track. ..or even change settings, the ordering and add/remove
plugins after the frozen part of a track.
We won't go there. Frozen is frozen. this API is not needed after all.
This reverts commit 6d89488d64
.
2014-06-04 02:34:58 +02:00
6d89488d64
ALSA backend: separate flags for is-running and should-be-running
2014-06-04 02:23:41 +02:00
5cd2010c79
ALSA backend: raw midi prototype
2014-06-02 19:23:07 +02:00
8e9b02cfa2
ALSA backend (based on Dummy backend and zita-alsa-pcmi)
2014-06-02 19:23:07 +02:00