13
0
Commit Graph

35 Commits

Author SHA1 Message Date
d1874d4685 optimize port lookup, adding/removing/reconnecting routes
xxxAudioBackend::connected_to() is called O(N^2) when building the graph.
Mitigate this by using an O(log(N)) lookup.

This duplicates the storage (both set and map and both are kept in sync.
Changing this to a boost:bidirectional might be nice, before updating
other backends.
2016-04-24 18:26:39 +02:00
10140a8e68 implement pretty-name set-property for ALSA and Dummy 2016-04-17 18:22:21 +02:00
faa38a0d29 Use ARDOUR::DSPLoadCalculator in DummyBackend 2015-09-16 11:22:17 +10:00
4ef62a0d6d add dummy-backend speed-selection 2015-09-06 00:33:24 +02:00
659a8a26ae fix latency report, take buffersize changes into account. 2015-03-07 14:35:32 +01:00
bf1d12708d dummy: add square wave frequency sweep generators 2015-02-21 05:05:48 +01:00
582138f280 change Audio backend sample time methods to use a 64 bit timeline 2015-02-19 17:44:01 -05:00
f2ea059db3 DummyBackend: sync switch to freewheeling 2015-01-24 22:45:42 +01:00
4d370b8942 add a midi->audio dummy backend mode.
this allows to easily debug latency compensation
as well as visualize lost midi events.
2015-01-11 20:51:57 +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
805d4dd731 add a MIDI loopback mode to the Dummy Backend 2014-12-30 22:55:14 +01:00
6e38d3777e add 'size' field to midi-sequences 2014-12-29 14:09:46 +01:00
9268d2e699 allow to auto-start dummy backend (needed for tests) 2014-12-03 18:24:56 +01:00
8525a0b258 add a Dummy Backend Loopback mode: 2014-10-11 14:47:35 +02:00
32e05fa640 update backends for API change in 8d59afb048 2014-10-01 03:24:54 +02:00
6dfb8c5c8a DummyBackend: add sine-sweep generators 2014-09-24 17:24:25 +02:00
3f9e916fe2 DummyBackend: two more audio-signal generators (useful for waveform check) 2014-09-24 01:26:51 +02:00
b355f01aa5 DummyBackend: MIDI Event Generators 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
4af088c251 DummyBackend: add Uniform White Noise Generator. 2014-07-11 18:05:59 +02:00
2d63489196 Dummy Backend: optimize random-number implementation 2014-07-08 18:40:51 +02:00
941701574e fix and optimize DummyBackend generators
* use Wavetable for sine
* lock generator (concurrency issue)
* always initialize variables
2014-07-08 18:40:51 +02:00
185f06e7f7 add signal generator modules to Dummy Backend. 2014-07-07 16:31:58 +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
da912f7ed4 add AudioEngine API to configure individual MIDI devices 2014-06-13 11:47:51 +02:00
960a5347f0 ALSA & Dummy: implement port [un]registration_callback 2014-06-07 17:28:46 +02:00
2b9fa31241 DummyBackend: implement port connect_callback() 2014-05-25 00:21:44 +02:00
cf8399c1c1 DummyAudioBackend: prepare configurable number of midi ports 2014-05-15 01:18:16 +02:00
66559cd795 Add AudioBackend::info() method to retrieve AudioBackendInfo object
Goal is to be able to call AudioBackendInfo::already_configured() from the right place.
2014-05-01 09:14:25 -04:00
eaafc3394a DummyAudioBackend: implement /fake/ system ports 2014-04-29 13:32:13 +02:00
19e0383c3b DummyAudioBackend: NOOP, white-space, clarify variable name & casts 2014-04-29 13:32:13 +02:00
b945cda558 DummyAudioBackend: port-engine, midi-buffers and the rest of it 2014-04-28 23:00:40 +02:00
2fccbe1a6c DummyAudioBackend: basic process threads and support structure 2014-04-28 22:59:19 +02:00
9907d25ea5 skeleton dummy audio-engine 2014-04-28 21:29:35 +02:00