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
ce052ba20a
now with C++98 compat
2016-04-24 18:34:31 +02:00
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
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
5bdab24746
add some midi-debug printf() to the dummy backend
2015-11-28 22:54:00 +01:00
4b25c80cb9
fix edge-case in Dummy-backend random number generator initialization
2015-11-12 09:49:40 -06:00
87c36aba60
use new error-messages
2015-10-02 17:51:17 +02:00
1691e965a5
update reported DSP load for ALSA & Dummy
2015-09-16 18:24:57 +02:00
faa38a0d29
Use ARDOUR::DSPLoadCalculator in DummyBackend
2015-09-16 11:22:17 +10:00
305f1d73bb
Use PBD::get_microseconds() from pbd/windows_timer_utils.h in DummyBackend
2015-09-16 11:22:17 +10:00
d11b15fbca
dummy, allow 8k buffer-size.
2015-09-08 15:14:02 +02:00
788234e317
fix dummy-backend driver state
...
When loading previous state, set_driver() is called before
enumerate_drivers().
The available driver list must be available early on.
2015-09-06 10:42:29 +02:00
3fc5bf617a
mode dummy speeds
2015-09-06 00:46:05 +02:00
4ef62a0d6d
add dummy-backend speed-selection
2015-09-06 00:33:24 +02:00
d6df63ed91
Dummy-Backend: special case unit-test
2015-09-05 01:15:28 +02:00
dace872af8
fix Dummy backend API. Already_configured means "externally".
2015-08-14 16:26:44 +02:00
a9b6277d50
Dummy -> Audio system: "None"
...
check if gettext() static initialization works with all compilers.
2015-08-05 00:45:08 +02:00
4f81b17e85
another float/double -Wabsolute-value fix
2015-07-05 16:13:08 +02:00
56cc3e2407
fix portengin get_ports() flags API
...
require all flags to be present (same as jack)
2015-05-03 22:34:52 +02:00
2f432c3be7
dummy: ignore first cycle timing.
2015-05-01 15:58:17 +02:00
49ffcd0d9d
clamp DSP load displsy 100% & relax LPF.
2015-04-30 02:00:50 +02:00
e3cd57ecb6
DSP load calculation: favor peak over average.
2015-04-29 21:27:37 +02:00
bb4576b700
Dummy: fix sine/square frequency sweep
2015-04-17 17:09:52 +02:00
d8d9f9b486
proper port unregistration (just some refactoring, noop)
2015-03-14 22:59:07 +01:00
47b1c2889c
Include windows.h in Dummy backend for LARGE_INTEGER
...
This is necessary for a native build using MSYS2 and mingw-w64
2015-03-12 23:03:45 +10:00
09dd3fc369
some backends can handle incorrectly ordered midi events.
...
(that can happen if multiple sources send to the same
ouput port, in particular async midi events)
2015-03-09 05:41:36 +01:00
50041cb450
avoid non-integer loop conditions.
2015-03-08 02:01:48 +01:00
f88e566576
fix copy/edit in 659a8a2
2015-03-07 14:50:02 +01:00
659a8a26ae
fix latency report, take buffersize changes into account.
2015-03-07 14:35:32 +01:00
e3dd226ffa
Change order of midi entries so a new backend will default to a working midi system.
...
Needs testing on all platforms.
2015-03-03 15:57:08 -06: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
47d083d02d
update numbering of midi-test sequences
2014-12-29 14:36:39 +01:00
6e38d3777e
add 'size' field to midi-sequences
2014-12-29 14:09:46 +01:00
c3c6f619c3
make it easier to add new midi sequences
2014-12-29 13:58:15 +01:00
9268d2e699
allow to auto-start dummy backend (needed for tests)
2014-12-03 18:24:56 +01:00
929d3fe6ed
fix signed/unsigned compiler warning
2014-11-10 22:21:39 +01:00
a37ffd1f0c
improve random seed (for dummy generators)
2014-11-10 22:20:36 +01:00
159cb4d2f9
another hack for windows timers, DSP load calculation
2014-11-07 12:17:15 +01:00
6cda13fad4
possible fix for DSP load calculation on windows
2014-11-06 17:29:35 +01:00
8d4cbc4cc1
fix Dummy DSP load on win32 & low-pass filter load
...
g_get_monotonic_time() has millisecond granularity,
use performance Counter if available
2014-10-31 22:51:47 +01:00
d991bb10ca
add 'available' interface to the AudioBackendInfo
...
If a backend can be loaded, it does not mean that it can be used;
e.g. weak-linked jack-backend if libjack is not available.
2014-10-23 16:53:14 +02:00
68458cde69
fix all 4 backends' failure to include the main "backend" thread when computing ::in_process_thread()
2014-10-22 17:07:11 -04:00
8525a0b258
add a Dummy Backend Loopback mode:
2014-10-11 14:47:35 +02:00
186493687b
DummyBackend: symmetric freq sweep: up/down
2014-09-24 18:46:54 +02:00
6dfb8c5c8a
DummyBackend: add sine-sweep generators
2014-09-24 17:24:25 +02:00
86672a5c5c
fix some double promotion
2014-09-24 17:18:20 +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
076bb0b488
change dummy backend to default to _("Silence").
2014-09-13 22:51:42 +02:00
b1da9af8de
ALSA|Dummy: ignore port unregistration when engine is stopped
...
When changing Engine parameters, ardour first stops
the engine and only later when re-etablishing ports
unregisters/re-registers them.
ALSA: silently ignore port unregs and silently accept registrations
Dummy: print a PBD::info message,
2014-09-08 01:25:56 +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
266953cb96
add latency callback to dummy backend
2014-06-11 22:01:21 +02:00
960a5347f0
ALSA & Dummy: implement port [un]registration_callback
2014-06-07 17:28:46 +02:00
d7fc573cb8
alsa + dummy backend, proper [re]initialization
2014-06-06 03:43:39 +02:00
1c87f6adec
properly setup port system latency for Dummy & ALSA backend
2014-06-06 00:58:11 +02:00
f6d29abfc7
DummyBackend: fix midi event mux+sorting
2014-06-02 12:20:40 +02:00
dc1a7a15fa
Dummy backend, revise small things
2014-06-01 18:18:08 +02:00
b800a01ea6
dummy-backend, fix physical ports in/out convention.
2014-06-01 18:16:15 +02:00
c022f32bcd
allow to switch from/to dummy-backend
...
partos of this may become unnecessary once
libardour handles backend changes properly^Wdifferently.
2014-05-25 00:23:14 +02:00
2b9fa31241
DummyBackend: implement port connect_callback()
2014-05-25 00:21:44 +02:00
0de7c8920b
Merge branch 'mingw-updates' of https://github.com/mojofunk/ardour into cairocanvas
2014-05-19 17:19:43 -04:00
4ece16be8e
replace gettimeofday() with g_get_monotonic_time()
2014-05-16 18:13:08 +02:00
51d0792f14
DummyAudioBackend: configurable number of MIDI ports
2014-05-16 00:41:35 +02:00
cf8399c1c1
DummyAudioBackend: prepare configurable number of midi ports
2014-05-15 01:18:16 +02:00
6bf8249b4b
Use Glib::usleep in DummyAudioBackend rather than ::usleep
2014-05-14 09:48:43 +10:00
b565357bf4
Remove incorrect code for mingw in DummyAudioBackend::in_process_thread
...
I'm assuming this section was copied from the JackAudioBackend where the
thread type is not pthread_t for mingw, but in the DummyAudioBackend it
is.
2014-05-14 09:48:33 +10: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
1f70e9472a
DummyAudioBackend: fix freewheelin' typo
2014-04-29 13:32:13 +02: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