b86cf68e1f
add an explicit midi parser/chunker to CoreAudio
2015-07-01 01:12:30 +02:00
5296a364c4
pthread_equal returns non-zero if equal. amend 5ab0288
2015-06-30 09:17:43 +02:00
5ab0288c99
at least make it compile with mingw.
2015-06-30 09:11:05 +02:00
93a64cb4fc
new PBD::DEBUG API changes for Waves backend
2015-06-29 14:18:15 -04:00
GZharun
40ddbc6195
Fixed up types mismatch in AudioCallback and AudioCllbackData struct
2015-06-29 14:18:15 -04:00
76f066f40c
fix typo in wavesbackend code
2015-06-29 14:18:15 -04:00
GZharun
51d2804535
Waves Backend MERGED from Tracks
...
[To be reviewed by] Paul Davis
2015-06-29 14:18:14 -04:00
GZharun
5d4f1c3419
Backend MERGE:
...
Paul Davis' change 3d12a4da82
[To be reviewed by] Paul Davis
2015-06-29 14:18:14 -04:00
GZharun
edbbc8344a
Reverted Ben's default buffer size function implementation.
...
Related to eeca7f7
2015-06-29 14:18:14 -04:00
GZharun
21b9e180bd
Reverted Ben's m_DefaultBufferSize stuff as it looks redundant. Will be put back if we establish the opposite
2015-06-29 14:18:14 -04:00
6485300479
remove more explicit compiler flags by placing them in the compiler flags dictionary
2015-06-29 14:18:14 -04:00
3adfa9ef57
minor fix for wavesaudio backend after earlier changes + merge/meld madness
2015-06-29 14:18:14 -04:00
237f255fb5
meld-driven unification of current ardour-ish WavesAudio backend and current tracks WavesAudio backend.
...
May be incomplete, and may not compile (testing to follow)
2015-06-29 14:18:14 -04:00
GZharun
0fca07fa9d
cosmetic fix (grygorii)
2015-06-29 14:18:14 -04:00
6410aa896f
Added optimized AVX function for sample processing
...
Added AVX versions of existing 5 SSE functions. Added 6th AVX function to copy vectors which is 1.5 times faster then memcpy.
Data consistency and validness is fully tested after processing with new AVX functions on aligned and non aligned buffers.
2015-06-29 14:18:13 -04:00
GZharun
939e7c2d52
Fixed f65026f0a1cbc64862a82109c28f5d493fc45f2e merged commit related to waves backend
...
[Reviewed] PDavis
2015-06-29 14:18:12 -04:00
7fae6bcd87
copy all XCode project files from Tracks.
...
Rationale: the Waves team maintains the XCode project files, the Ardour crew doesn't. Thus, the Waves'
version is more canonical
2015-06-29 14:18:10 -04:00
GZharun
ef59fbffa1
[Summary] Added possibility to identify IO thread which does not have required resources initialized during process callback handling
...
Conflicts:
libs/ardour/ardour/audioengine.h
libs/backends/wavesaudio/waves_audiobackend.cc
libs/pbd/pbd/pool.h
2015-06-29 14:16:42 -04:00
dc2030cfd7
ALSA backend: add support for half-duplex devices
2015-06-14 22:26:06 +02:00
94c146c780
prepare ALSA backend for half-duplex
2015-06-14 22:26:06 +02:00
573ec69a9a
probe buffersize if jackd is already running.
2015-06-14 18:10:31 +02:00
9563e75cca
hide the aggregate device, again
...
further amends to 17453ec
debugging.
2015-06-10 03:00:00 +02:00
df840cec13
undo debug ( 17453ec
) info.
...
The problem was: OSX i386 builds used --dist-target=leopard
which forced the deprecated 10.5 CoreAudio API.
(build-host config has been changed now).
There is currently insufficient support in ardour’s
CoreAudioPCM::create_aggregate_device() for the old API,
COREAUDIO_108 needs to be defined or aggregate devices stop
working on OSX 10.8 or later.
2015-06-10 02:46:10 +02:00
9a8d5583f4
fix OSX optimized builds (NDEBUG)
2015-06-09 22:24:46 +02:00
17453ec855
debug aggregate device issue - i386/10.8 only
2015-06-09 21:34:16 +02:00
70a0ee504c
coreaudio: initialize [output] variable.
...
possible fix for 32bit/10.8,
AudioObjectGetPropertyDataSize error
2015-06-09 19:18:59 +02:00
801af5df9e
Add the new (UINTSDEFINED) preprocessor directive to all out MSVC projects (just to be on the safe side)
2015-06-09 13:18:42 +01:00
e801155dde
Coreaudio: ignore [expected] SR changes.
...
Don’t disconnect from engine if sample-rate change
happens during initialization.
2015-06-07 02:33:21 +02:00
b36d95d971
half-duplex Coreaudio support.
2015-06-04 02:44:58 +02:00
1fe738a36e
coreaudio support for multiple devices
2015-06-01 01:02:38 +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
Christopher Arndt
a9bc95a911
Fix mixed spaces/tabs in wscripts
2015-05-03 19:52:38 +02:00
2f432c3be7
dummy: ignore first cycle timing.
2015-05-01 15:58:17 +02:00
fe3aafec1c
When testing for x86 / x64 architecture, don't forget the symbols that MSVC can understand
2015-04-30 18:17:23 +01: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
82cc394705
fix jack-metadata for weak-jack linking
2015-04-23 20:19:22 +02:00
52a58f1ad2
fix JACK metadata configure check.
...
Trying to explicitly specify linkflags is (a) not portable (b) doesn't honor order-sensitive linkers
2015-04-23 13:48:18 -04:00
f755185825
add a real check for functioning JACK metadata API; remove configure time option for this
2015-04-23 09:29:45 -04:00
7ee9726c89
another merge fix
2015-04-21 08:37:54 -05:00
91fac4c96d
merge fix for tempo branch
2015-04-21 08:35:20 -05:00
88f7c76134
allow coreaudio backend to build on OS X Lion
2015-04-20 23:12:35 -04:00
bb4576b700
Dummy: fix sine/square frequency sweep
2015-04-17 17:09:52 +02:00
9391da0c24
portaudio backend: allow Pa_GetDeviceInfo to fail.
2015-04-15 03:05:09 +02:00
c89f24e207
fixes for recent waves tracks => ardour cherry-picks of the wavesaudio backend
2015-03-31 18:03:51 -04:00
458fc3ad75
manually merge current version of WavesMidiDevice::{open,close}()
2015-03-31 17:29:42 -04:00
Valeriy Kamyshniy
83001e7e52
[Summary] Audio Backend code cleanup - PORTION B
...
Conflicts:
libs/backends/wavesaudio/waves_midi_device.cc
2015-03-31 17:29:42 -04:00
Valeriy Kamyshniy
91f5eb9fef
[Summary] Audio Backend code cleanup - PORTION A
...
Conflicts:
libs/backends/wavesaudio/waves_midi_device.cc
2015-03-31 17:29:42 -04:00
Greg Zharun
47adf3ba37
[Summary] Changed midi stop order related to audio
2015-03-31 17:29:42 -04:00
Greg Zharun
708f4bf12b
[Summary] Removed unnecessary abortion
2015-03-31 17:29:42 -04:00
Greg Zharun
22d68d14ce
[Summary] Very seldom crash. Cleared temp data gave almost stable work
...
Conflicts:
libs/backends/wavesaudio/waves_midi_device.cc
2015-03-31 17:29:42 -04:00
GZharun
3f5bf264c3
[Summary] Fixed crash on MAC when MIDI device name is 0 ref
2015-03-31 17:29:41 -04:00
Greg Zharun
85b4577d7a
[Summary] Removed useless output
2015-03-31 17:29:41 -04:00
Greg Zharun
a2f82f8c5d
[Summary] Added actions to handle abnormal behavior during stream stop for MIDI and Audio devices.
...
Made correct error handling for cases we didn't see before.
Removed redundant and experimental code I forgot to remove months ago.
Added debug output which will help in future testing
Conflicts:
libs/ardour/ardour/audioengine.h
libs/ardour/engine_state_controller.cc
libs/backends/wavesaudio/waves_midi_device.cc
2015-03-31 17:29:41 -04:00
Greg Zharun
ce069da682
[Summary] Made device control panel open request synchronized with other critical device operations. Made device reset correctly when control panel is closed.
...
Conflicts:
gtk2_ardour/tracks_control_panel.logic.cc
libs/ardour/ardour/audioengine.h
libs/backends/wavesaudio/wavesapi/devicemanager/WCMRPortAudioDeviceManager.cpp
2015-03-31 17:29:41 -04:00
Valeriy Kamyshniy
91ae97d5c9
[Summary] Following review Paul did after 9b0fc7b743219b8daecbef91c9772937fd874822 [9b0fc7b] and 72e1510766608180fc7975fde35c9155494a8b5d [72e1510].
2015-03-31 17:29:41 -04:00
16be88cdb6
Skeleton backend for brave volunteers.
...
callback based backend based on CoreAudio/Midi
backend (sans the actual system/HW _pcmio,
_midiio)
2015-03-30 21:23:52 +02:00
cde15cb3ad
coreaudio: swap default aggregate clock source.
...
Thanks to Stephane & the JACK2 team.
2015-03-30 13:18:51 +02:00
nick_m
bdf9b2f47c
Backend - change midi optons string.
...
Multimedia Extensions -> System MIDI (MME)
2015-03-28 03:35:45 +11:00
39e5f7b94b
Add a new MSVC project for building the Portaudio backend
2015-03-22 11:54:58 +00:00
a563007fcc
add missing return value
2015-03-20 16:17:07 +01:00
26ce7b5f1b
add a non-interleaved mode to the Portaudio backend
2015-03-20 11:45:56 +01:00
d8d9f9b486
proper port unregistration (just some refactoring, noop)
2015-03-14 22:59:07 +01:00
5090934a2c
clean out cruft from CoreAudio Backend
2015-03-13 14:05:12 +01:00
7a4f1cb98f
only jack+windows use portaudio.
...
fixes missing lib if portaudio-backend is used on on non-windows
platforms (pkg-config defines HAVE_PORTAUDIO)
2015-03-13 13:32:14 +01:00
1cca79258a
call me Mr. Backend
...
simple blocking (no callback) PortAudio Backend
2015-03-13 13:32:14 +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
087b5dc43b
interpret CoreMidi unique ID as unsigned for consistency.
...
coremidi specifies it as SInt32 but system:midi_playback_-126632214 ,
even if only used internally, just does not seem right.
2015-03-11 20:06:41 +01:00
99260742d2
mingw: all code is position independent
2015-03-11 14:58:02 +01:00
6d2189f9e3
reasonably sized CoreMidi Buffers
2015-03-11 12:23:05 +01:00
c3d7654884
coreaudio backend: switch threads early
2015-03-11 00:27:14 +01:00
a6b9e81ed1
10ms = 1e7 nsec
2015-03-10 00:09:01 +01:00
22a91f47bb
rework/optimize CoreMidi
2015-03-09 23:28:57 +01:00
efbc00651f
NOOP, add header-guards and namespace to CA backend
2015-03-09 23:28:57 +01:00
52e99750a0
ALSA: fix thinko in sample time calc.
2015-03-09 17:17:50 +01:00
0446ff64f4
implement samples_since cycle start.
2015-03-09 17:17:50 +01:00
2d6e48fb0b
Define NO_JACK_METADATA when building the jack backend with MSVC
...
Jack (on Windows) doesn't seem to have a header file called 'metadata.h' - so hopefully, this'll be correct?
2015-03-09 11:43:05 +00:00
f2592df842
fix typo in 72ed785
2015-03-09 05:59:46 +01: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
72ed785940
allow hotplugging CoreMidi devices.
2015-03-09 00:26:01 +01:00
bc7be6fd3e
there’s no jack_creator_thread on windows
2015-03-09 00:09:42 +01:00
9107a4b7fe
add a no-jack-metadata option for poor 12.04 souls
...
(jack does have metadata support but ubuntu packaged
a version with a wrong header)
2015-03-08 21:31:08 +01:00
8fd67c5a88
coremidi separate ID and Name, use fixed IDs.
2015-03-08 19:02:31 +01:00
0cf11acc27
add backend support for port properties (CoreAudio)
2015-03-08 19:02:31 +01:00
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
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
99a484f193
ALSA backend: initial device selection
2014-09-24 01:26:51 +02:00
076bb0b488
change dummy backend to default to _("Silence").
2014-09-13 22:51:42 +02:00
16b25a3028
Implement the new pthread macros (for the Waves audio backend)
2014-09-09 12:05:14 +01:00
61e0705a94
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-09 12:03:52 +01:00
83b6825bd0
Revert "Add a couple of pthread helper macros"
...
This reverts commit 8d0ec2403f
.
2014-09-09 08:26:26 +01: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
6408d90258
fix waf thinko in backends wscript
2014-09-03 18:44:34 -04:00
65715dd298
Make sure all our VC projects agree that the product is called 'Mixbus3' (as opposed to just 'Mixbus')
...
It'd be nice if we could use 'ARDOUR::config_dir_name' for this purpose (or perhaps 'PROGRAM_VERSION'). However, neither is implemented widely enough at present to make this practical. Keep an eye on them though, as possible future strategies.
2014-08-28 07:57:20 +01:00
126d6d3aae
fix new backends wscript to work correctly in the Ardour case
2014-08-08 11:00:30 -04:00
16e37d975f
use some structured code to decide which backends to build (should have cherry picked from waves' code but ...)
2014-08-08 10:57:20 -04:00
45afed5e9a
Modify our VC project files to work with msvc32-fixup.pl
2014-08-04 09:02:17 +01:00
928881b24a
Update vcproj files for changed LILV config define.
2014-07-15 15:50:12 -04: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
cd12698b9c
Rename PBD::find_file_in_search_path to just PBD::find_file
...
saves a bit of typing and not necessary if you look at how it is used.
2014-06-25 12:40:10 -04:00
8d0cba3384
Use PBD::find_files_matching_pattern instead of other variations
2014-06-25 12:40:10 -04:00
3f776ce7d9
fix incorrect cut-n-paste across synergy
2014-06-25 12:30:57 -04:00
9b7b5fc9bc
wscript fix for wavesaudio backend - use correct name for CoreM[iI][dD][iI] framework on Lion and other versions
2014-06-25 08:29:23 -04: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
88caf84b81
Rename all 3 backends for the MSVC sln file
2014-06-22 13:29:17 +01:00
436302fd16
Rename dummy backend to match Tim's name
2014-06-22 13:11:59 +01:00
f46a1508d9
Rename jack backend to match Tim's name
2014-06-22 12:53:13 +01:00
07b71fd005
Rename waves backend to match Tim's name
2014-06-22 12:51:43 +01:00
6648074a13
virtual abstraction of Alsa Raw+Seq
2014-06-21 13:51:46 +02:00
5e436fc8fc
prepare ALSA sequencer
2014-06-21 11:51:11 +02:00
bc67e47048
rework raw-midi drain strategy (workaround for sync devices)
2014-06-19 19:44:14 +02:00
e426c603b6
remove debug output
2014-06-16 23:58:52 +02:00
019e987944
more alsa-midi debugging
2014-06-16 22:08:52 +02:00
ff39a42581
ALSA backend: set latencies to zero when measuring latency
2014-06-13 13:51:42 +02:00
ecb92f474f
update ALSA backend, MIDI device config
2014-06-13 12:02:03 +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
8fe593fcca
some misc tweaks to the ALSA Backend
2014-06-08 21:04:30 +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
c452cd9be2
ALSA rt-thread priority fixes
2014-06-07 17:28:46 +02:00
b68d2e25b2
ALSA backend: prevent possible crash destruction of a-r-d
2014-06-07 17:28:46 +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
67c43d4b49
Don't use module versioning with jack backend in the mingw build
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
748c137461
pass ardour's pid to the device reservation script.
...
terminate a-r-d when ardour crashes or exits unexpectedly.
2014-06-05 19:49:23 +02:00
8d6183bff5
ALSA backend: require both in+output.
2014-06-05 03:27:19 +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
40cfe86569
ALSA: tentative hack to request audio-device.
2014-06-04 17:17:15 +02:00
6b781f72f2
ALSA backend: engine.halted_callback if the process thread dies
2014-06-04 17:17:15 +02:00
104adebea6
if the user chooses to stop the jack-backend, mark it as stopped. Don't display the "..was shutdown .. was not fast enough.." message.
2014-06-04 17:17:14 +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
03cb44f814
ALSABackend: elaborate on start-up error cases
2014-06-04 02:19:46 +02:00
daaa59b533
Revert "When writing '.jackdrc' make sure we enclose any device names in
...
quotation marks". This patch is incorrect. The string quoting must be done ONLY
when creating a string to be written to ~/.jackdrc or similar, not when
constructing an argument list.
This reverts commit 5626ea2b1f
.
2014-06-03 20:08:26 -04:00
5626ea2b1f
When writing '.jackdrc' make sure we enclose any device names in quotation marks
...
(in Windows, device names almost always contain whitespace)
2014-06-03 14:04:10 +01:00
01cedf0e05
ALSA backend: tweak midi parser (fix start mid sequence)
2014-06-03 01:00:58 +02:00