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
a76607486c
kilo is a lower-case 'k'
2016-07-24 16:54:08 +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
b65cb37d24
add a MTC/sysex test sequence
2016-07-11 16:58:53 +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
94187e66a2
add a test-sequence for polyphonic pressure
2016-05-27 12:12:00 +02:00
afc1186759
NO-OP indent
2016-05-22 19:36:54 +02:00
39ba60aaef
Make sure MSVC knows which version of 'floor()' we want
2016-05-22 15:53:16 +01:00
9ad096b611
Dummy Backend evolution
...
- pretty port-names for Dummy generators: show frequency
- add 1/3 Octave spaced sine-wave generator
2016-05-21 22:38:39 +02:00
dc1a2fbca7
MSVC won't compile 'const float _demolition[]' because it uses 'divide by zero' while initializing
...
Hopefully we can use INFINITY and NAN for the relevant initializers ?
2016-05-03 17:30:58 +01:00
69f99ee184
I wanna be nasty, I wanna be cruel,..
...
Somme disastrous signal generators for QA.
2016-04-29 16:10:09 +02:00
93eac8b068
Use 'const_iterator' to prevent MSVC from complaining
2016-04-26 14:58:16 +01: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
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
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
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
bd5b97e964
Dummy: add a CC only test-sequence
2015-09-19 19:00:43 +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
e148ee52ab
add a nonsense-midi test sequence:
...
system:midi_capture_6
duplicate on/off, zero-velocity note-on
2015-02-19 21:58:30 +01:00
8a93a87db0
remove lib versioning for internal plugins
...
Those objects do not have a versioned API by themselves.
This fixes issues with duplicate deployment (OSX, Linux bundles: cp) and
ardour listing control-surfaces multiple times (file index plugin dir).
2015-02-16 17:32:56 +01: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
95fcf18245
add a midi-CC sustain-pedal test sequence
2014-12-29 14:32:03 +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
32e05fa640
update backends for API change in 8d59afb048
2014-10-01 03:24:54 +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
da912f7ed4
add AudioEngine API to configure individual MIDI devices
2014-06-13 11:47:51 +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
6b3e7cf07d
Don't use module versioning with dummy backend when building with mingw
2014-06-07 14:31:32 +10: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