20cd14cf36
add backend support for port properties (jack)
2015-03-08 19:02:31 +01:00
2657992ebb
CoreAudio fwheelin’ state-machine cleanup etc.
2015-03-08 19:02:30 +01:00
95558b5878
update https://github.com/x42/weakjack/
2015-03-08 16:22:14 +01:00
c3430e5884
Cluster Frak String Reference
2015-03-08 02:51:09 +01:00
50041cb450
avoid non-integer loop conditions.
2015-03-08 02:01:48 +01:00
95631cdc25
properly handle empty CFStringRefs.
2015-03-08 01:40:39 +01:00
7edc7a8d28
CoreAudio: fix allocation alignment
2015-03-07 23:27:33 +01:00
d47ad23fe8
no more gcc/ppc complaints
2015-03-07 16:10:45 +01:00
7af3fdb99a
fix various -Wformat
2015-03-07 15:04:17 +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
ce3adfd3d4
Hard Core Audio
...
* allow to change buffersizes
* subscribe to buffersize & samplerate changes
* add support for half-duplex devices.
* aggregate Devices (not yet used) code from JACK2
* unify deprecated API wrappers
* properly keep track of MIDI ports
* disable MidiI/O during freewheeling
* various small fixes & cleanup
2015-03-07 14:35:32 +01:00
13bad670fa
more ongoing work on the coreaudio backend
...
* audio port names
* latency compensation
* xrun reporting
* various fixes and cleanup
2015-03-06 23:26:05 +01:00
3b941fc0fa
build system tweaks for coreaudio/waves-coreaudio
2015-03-06 23:26:05 +01:00
6b87e706eb
cont’d work on the coreaudio backend & cleanup
2015-03-06 06:24:56 +01:00
f6f64d3f81
get started on coreaudio/midi backend
2015-03-05 16:46:20 +01:00
2ab26bd86d
fix another screwup/typo in 782dd70
2015-03-05 02:10:21 +01:00
7ef22e5e71
remove unused devel.variable in prev commit
2015-03-05 02:04:14 +01:00
782dd70875
alsa: implement timing callback
2015-03-05 01:59:59 +01:00
1acbd7c488
fix for previous checkin; should allow waves midi backend to work
2015-03-04 10:23:19 -06: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
714677f036
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:52:44 -06:00
bf1d12708d
dummy: add square wave frequency sweep generators
2015-02-21 05:05:48 +01:00
dcf69ab3e6
fix erroneous merge for wavesaudio backend
2015-02-20 13:21:44 -05:00
Valeriy Kamyshniy
d5e375f784
[Summary] In internal Waves backend API, switching sample time from 32 bits to 64 bits.
...
Conflicts:
libs/backends/wavesaudio/wavesapi/devicemanager/WCMRCoreAudioDeviceManager.cpp
2015-02-20 13:05:43 -05:00
VKamyshniy
3b5da657af
[Summary] In internal Waves backend API, switching sample time from 32 bits to 64 bits. Fixing logical inconsistency: None device always brought sample time=0 to the audio engine callback.
2015-02-20 13:03:09 -05:00
76f6ff178e
fix incorrect type for Waves' backend's _sample_time_at_cycle_start
2015-02-19 18:23:17 -05: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
ae09d7132d
fix 192k rate
2015-02-06 13:57:22 -06:00
0018ee2b02
fix “invalid use of incomplete type jack_client_t”
...
introduced in 66eef25
2015-01-30 11:02:07 +01:00
66eef257d8
fix jack thread joining
...
at the time the graph gets around to takes down
client threads, the jack-backend’s jack_client has been reset.
But never mind: libjack does not care about it, anyway.
2015-01-30 01:28:52 +01:00
cf8e7bc135
ALSA-backend separate report for error and x-run
2015-01-28 13:47:24 +01:00
397ce4ccc7
ALSA-Backend prefer ppoll()
2015-01-28 13:47:24 +01:00
db28eefc49
ALSA backend: synchronous switch to/from freewheeling
2015-01-24 23:39:41 +01:00
f2ea059db3
DummyBackend: sync switch to freewheeling
2015-01-24 22:45:42 +01:00
b0a5245ef0
Hotfix crash in OSX engine dialog.
...
This is not really a fix, just some quick hack
to make ardour start at all if there’s no prior
CoreAudio EngineState in the config.
2015-01-19 17:50:50 +01:00
05a612b563
ASIO devices have a preferred buffersize.
...
pass this value up so it can be used by the engine dialog.
if for some reason the engine dialog still doesn't have a buffersize selected, print an error and try 512 instead of crashing.
2015-01-16 17:15:26 -06:00
37f351ccdd
JACK: add support for device names with whitespace
...
This is backwards compatible, quotes are only added if needed.
JACK1 < 0.123.1-30 and JACK2 < 1.9.10-25 fail with either
whitespace or quotes, so nothing is lost.
2015-01-14 19:29:55 +01:00
95091a52a0
When building with MSVC make sure any backends / panners etc get copied to the correct target folder
...
(i.e. 'lib/ardour3' or 'lib/mixbus3' as appropriate)
These changes are MSVC specific and shouldn't affect the other builds
2015-01-12 14:43:22 +00: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
Valeriy Kamyshniy
1b89055526
[Summary] Bug fix: mistakenly set states of freewheeling thread.
2014-12-18 17:07:37 -05:00
9268d2e699
allow to auto-start dummy backend (needed for tests)
2014-12-03 18:24:56 +01:00
7aab4be5e4
alsa-backend: drop midi during freewheel processing.
2014-12-02 17:03:29 +01:00
b9be8d2652
Replace individual waf options for enabling backends with one --with-backends option
2014-11-26 22:47:05 +07:00
0fb91e10b4
allow dummy backend for any product
2014-11-18 17:04:23 -06:00
f2273dc3b6
remove dead assignment
2014-11-18 02:15:06 +01:00
02d735ff00
waves/coreaudio PPC support
2014-11-17 09:07:39 +01:00
bd46de779f
check alsa midi ringbuffer
2014-11-17 06:50:48 +01:00
4ba4677b45
yet another copy/paste typo :(
2014-11-13 22:19:22 +01:00
9301ffafab
fix typo in b9fc616538
2014-11-13 21:46:30 +01:00
b376f6bc45
auto-initialize weak-jack
...
(not needed with ardour - but keep code in sync with
https://github.com/x42/weakjack )
2014-11-13 21:31:09 +01:00
b9fc616538
prepare for JACK meta-data API
2014-11-13 21:30:13 +01:00
65fa38103d
make new jack thread API functions optional
2014-11-13 21:29:34 +01:00
7b39e0893a
add symbol debug information to weak-jack
2014-11-13 21:28:33 +01:00
3e702c5520
yet another build fix
...
on x86_64 weak_libjack.c needs -fPIC which needs cflags which need 'c' :)
2014-11-13 01:02:09 +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
973d40e3ac
Add support for USE_CAIRO_IMAGE_SURFACE when building with MSVC
...
(new preprocessor directive - greatly improves CPU loading)
2014-10-29 17:36:30 +00:00
a6ceff61dd
proper solution for variable-args jack_client_open()
2014-10-25 17:28:13 +02:00
85eda0a5f3
Add some newly introduced source files to our MSVC project (jack_audiobackend)
2014-10-24 18:45:52 +01:00
3d39689769
Some minor bits of casting to keep MSVC happy when building 'backends/jack/weak_libjack.c'
2014-10-24 18:45:51 +01:00
b52304661f
fix screwup in prev commit-diff
2014-10-24 17:19:28 +02:00
5e7f935a27
add explicit construction (for MSVC) and some debug messages
2014-10-24 17:15:03 +02:00
25a6aa57a3
fix jack transport return value
2014-10-24 16:19:44 +02:00
e025cc008c
use x-macros to simplify weak-jack implementation
2014-10-24 15:18:38 +02:00
ad09be8c78
fix libjack names
2014-10-24 14:36:04 +02:00
1e357b5109
fix 64bit compile with old gcc
2014-10-23 20:42:02 +02: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
f3ff1b9669
weak/runtime jack linking: load libjack dynamically at runtime
2014-10-23 16:53:13 +02:00
730e09ce65
another round of compiler warning fixes
2014-10-23 05:31:40 +02:00
c6a3d6bc48
small round of compiler warning fixes
2014-10-23 03:43:04 +02:00
f7211ff8f7
fix jack/mingw compilation
2014-10-22 23:57:55 +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
76edbdf5dc
make backend selection by product name more explicit
2014-10-14 16:58:11 -04:00
8525a0b258
add a Dummy Backend Loopback mode:
2014-10-11 14:47:35 +02:00
b4cf5e279b
fix dup free in waves/midi:
...
The PortMidi queue just holds a pointer to the midi events.
The same Midi events are free()d during WavesMidiBuffer::clear()
which is called at cycle start for every buffer and in the dtor
of the WavesMidiBuffer.
2014-10-09 09:48:54 +02:00
4af4938c25
fix wavesbackend midi timing
2014-10-09 09:43:53 +02:00
2d04ac9796
Add a newly introduced header file to our MSVC project (dummy_audiobackend)
2014-10-08 15:11:25 +01:00
000609901b
add correct copyright statements to all files in Waves backend except those derived from portaudio/portmidi
...
This follows the letter sent from Waves Audio Ltd. to Paul Davis dated February 20th 2014 agreeing to release this code
under the GNU Public License, version 2, with copyright owned by Waves Audio Ltd
2014-10-07 16:17:34 -04:00
0af091edf3
fix ming32 build&install for asio backend
2014-10-03 00:46:34 +02:00
aeda6cbea9
add --with-wavesbackend config option (disabled by default)
2014-10-01 18:28:47 +02:00
3d12a4da82
fix deep obscure problem with loading multiple backends on OS X
...
all backends export a symbol declared as "extern "C" ARDOURBACKEND_API ARDOUR::AudioBackendInfo* descriptor ()".
dlopen'ing the backend apparently pushes the symbol "descriptor" into the single flat global namespace that we use
to be like other unix-like systems. this means that if a backend calls its OWN function named "descriptor", it
is indeterminate which one it will be, since the symbol will refer to the function first loaded by the runtime
linker. If the backend is not the first one discovered, this call to its own "descriptor" function will invoke
the function defined by another backend, even though these are supposed to have local scope only according
to our arguments to dlopen().
This fix doesn't try to fix the linker or namespace - it just makes sure that the WavesAudio backend doesn't
invoke its own descriptor() function, which it never really needed to do anyway.
2014-09-30 22:57:05 -04:00
cd60fd9dfe
untested fix for compiling waves audiobackend on case-sensitive FS with mingw.
2014-10-01 04:02:30 +02:00
32e05fa640
update backends for API change in 8d59afb048
2014-10-01 03:24:54 +02:00
a927b79c26
Implement the new pthread macros (for the Waves audio backend)
2014-09-30 21:00:35 -04:00
3033c1cc54
Re-introduce our pthread macros (after fixing an earlier typo)
...
these are so we can differentiate between 'libpthread' and 'libpthread-win32' (whose implementation is subtlely - though annoyingly! - different)
2014-09-30 21:00:35 -04:00
8d59afb048
copy over current Waves version of their backend, along with minor changes in libs/ardour and libs/backend/jack to fit with API changes
2014-09-30 21:00:34 -04:00
38e975d6b1
tweak backends wscript for cross-compiling with mingw
2014-09-30 21:00:34 -04:00
8e01b411b2
copy over current Waves version of their backend, along with minor changes in libs/ardour and libs/backend/jack to fit with API changes-a
2014-09-30 20:23:45 -04:00