Commit graph

322 commits

Author SHA1 Message Date
Robin Gareus
d472999ef0 ALSA backend: separate systemic audio+midi latency 2014-08-17 14:55:07 -04:00
Robin Gareus
99642bede1 ALSA rt-thread priority fixes 2014-08-17 14:54:51 -04:00
Robin Gareus
f85282aeec ALSA backend: prevent possible crash destruction of a-r-d 2014-08-17 14:54:46 -04:00
Robin Gareus
58a1f32130 ALSA & Dummy: implement port [un]registration_callback 2014-08-17 14:54:40 -04:00
Tim Mayberry
3a4ae0a296 Don't use module versioning with dummy backend when building with mingw 2014-08-17 14:54:16 -04:00
Tim Mayberry
d3cf4e3986 Don't use module versioning with jack backend in the mingw build 2014-08-17 14:54:09 -04:00
Robin Gareus
96c06b3fc0 alsa + dummy backend, proper [re]initialization 2014-08-17 14:50:31 -04:00
Robin Gareus
46f0e7dead properly setup port system latency for Dummy & ALSA backend 2014-08-17 14:50:20 -04:00
Robin Gareus
54ab147ac2 pass ardour's pid to the device reservation script.
terminate a-r-d when ardour crashes or exits unexpectedly.
2014-08-17 14:46:28 -04:00
Robin Gareus
edcd5c52bc ALSA backend: require both in+output. 2014-08-17 13:47:58 -04:00
Robin Gareus
0913f33183 DBus ALSA device reservation 2014-08-17 13:47:30 -04:00
Robin Gareus
feb1a9e269 break out ALSA related functions into libardouralsautil 2014-08-17 13:47:14 -04:00
Robin Gareus
ed7c8de1a9 ALSA: tentative hack to request audio-device. 2014-08-17 13:47:09 -04:00
Robin Gareus
3ec8621f1e ALSA backend: engine.halted_callback if the process thread dies 2014-08-17 13:47:02 -04:00
Robin Gareus
1300bcb210 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-08-17 13:46:54 -04:00
Robin Gareus
87ca02d7ad Revert "Revert "ALSA backend: separate flags for is-running and should-be-running""
sorry, c/p error
This reverts commit 9658b77327.
2014-08-17 13:46:09 -04:00
Robin Gareus
a79273f681 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-08-17 13:46:02 -04:00
Robin Gareus
870d17399e ALSA backend: separate flags for is-running and should-be-running 2014-08-17 13:45:56 -04:00
Robin Gareus
c65e827969 ALSABackend: elaborate on start-up error cases 2014-08-17 13:45:34 -04:00
Paul Davis
88c511f2d1 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-08-17 13:45:19 -04:00
John Emmas
1d945f26be When writing '.jackdrc' make sure we enclose any device names in quotation marks
(in Windows, device names almost always contain whitespace)
2014-08-16 21:48:07 -04:00
Robin Gareus
55c4c3d819 ALSA backend: tweak midi parser (fix start mid sequence) 2014-08-16 21:47:48 -04:00
Robin Gareus
151a410a13 ALSA backend: device detection 2014-08-16 21:47:40 -04:00
Robin Gareus
a5e1cbda85 ALSA backend: add raw midi parser 2014-08-16 21:44:58 -04:00
Robin Gareus
78d967d48c ALSA backend: raw midi prototype 2014-08-16 21:44:51 -04:00
Robin Gareus
c90428b5b8 ALSA backend (based on Dummy backend and zita-alsa-pcmi)
Conflicts:
	gtk2_ardour/ardev_common.sh.in
	libs/backends/wscript
2014-08-16 21:44:42 -04:00
Robin Gareus
206b9acb5f DummyBackend: fix midi event mux+sorting 2014-08-16 18:00:48 -04:00
Robin Gareus
33b19c61d5 Dummy backend, revise small things 2014-08-16 18:00:01 -04:00
Robin Gareus
3d9498e351 dummy-backend, fix physical ports in/out convention. 2014-08-16 17:59:56 -04:00
Paul Davis
050254d521 make building the dummy backend be a configure-time option. defaults to False for the time being
Conflicts:
	libs/backends/wscript
2014-08-16 17:55:18 -04:00
John Emmas
3d1ff60c57 (Windows) Add support for finding the bundled version of Jack which comes with Mixbus
A few things need to be tested / completed:-
    1) The code is currently guarded by #ifdef COMPILER_MSVC. This is just precautionary. If it builds okay with MinGW ,the guard can be removed.
    2) Windows Playback and Capture devices almost always have different names. This needs to get accommodated in our Backend dialog (as in Mixbus)
    3) Windows Playback and Capture devices will almost always contain spaces. We need to accommodate this when writing to .jackdrc (surround them in quote marks)
2014-08-16 17:19:11 -04:00
John Emmas
3bcaa37a97 Remove an unnecessary #define 2014-08-16 17:19:04 -04:00
John Emmas
bbb0bf4b33 Use PLATFORM_WINDOWS (in preference to WIN32) for consistency with the other libraries
Conflicts:
	libs/backends/jack/jack_utils.cc
2014-08-16 17:17:03 -04:00
Robin Gareus
83d1838c12 allow to switch from/to dummy-backend
partos of this may become unnecessary once
libardour handles backend changes properly^Wdifferently.
2014-08-16 17:13:46 -04:00
Robin Gareus
2d3687a316 DummyBackend: implement port connect_callback() 2014-08-16 17:13:41 -04:00
John Emmas
ebbb8f0b8e waves_backend (MSVC project) - Adapt for using Waves's (customized) portaudio_x86 library (Windows) 2014-08-16 17:03:02 -04:00
John Emmas
348c8df122 jack_backend (MSVC project) - Adapt for using portaudio_x86 library (Windows)
Conflicts:
	libs/backends/MSVCbackends/jack_backend.vcproj
2014-08-16 17:02:54 -04:00
Robin Gareus
050618c5da enforce style-guide #3, #26 and #27
Conflicts:
	libs/backends/wavesaudio/wscript
2014-08-16 17:01:40 -04:00
Robin Gareus
f3b2c02749 fix type typo 2014-08-16 17:00:01 -04:00
Robin Gareus
6eaa121474 outline portable implementation to replace clock_gettime() 2014-08-16 16:49:11 -04:00
Robin Gareus
253fb8f4a6 replace gettimeofday() with g_get_monotonic_time() 2014-08-16 16:49:07 -04:00
Robin Gareus
c9157e00d3 DummyAudioBackend: configurable number of MIDI ports 2014-08-16 16:46:48 -04:00
Robin Gareus
655f78fc65 DummyAudioBackend: prepare configurable number of midi ports 2014-08-16 16:46:43 -04:00
Tim Mayberry
a6ba28cfcc Use Glib::usleep in DummyAudioBackend rather than ::usleep 2014-08-16 16:38:04 -04:00
Tim Mayberry
41caadbe7c 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-08-16 16:37:57 -04:00
John Emmas
cc944dd940 Add some more missing #includes 2014-08-16 16:34:48 -04:00
John Emmas
4c10034682 'atomic_ops' to use glib, rather than Waves's inbuilt atomic operations
Note that the following source files can be removed once we know this works on all platforms:-
backends/wavesaudio/wavesapi/akupara/threading/atomic_ops.hpp
backends/wavesaudio/wavesapi/akupara/threading/atomic_ops_gcc_x96.hpp
backends/wavesaudio/wavesapi/akupara/basics.hpp
backends/wavesaudio/wavesapi/akupara/compiletime_functions.hpp
2014-08-16 16:34:40 -04:00
John Emmas
e15ba3cd69 Add a return value to 'WCMRPortAudioDeviceManager::getDeviceAvailableSampleRates()'
(whilst technically, it doesn't report any encountered errors, it should nevertheless be returning some kind of error status)
2014-08-16 16:34:33 -04:00
John Emmas
6dd4d411b3 Add a couple of pthread helper macros
(to accommodate the fact that in ptw-win32, 'pthread_t' is subtlely different from its non-Windows counterparts)

Conflicts:
	libs/pbd/MSVCpbd/pbd.vcproj
2014-08-16 16:34:17 -04:00
John Emmas
cdf7ab795f Add 'waves_backend.vcproj' 2014-08-16 16:33:59 -04:00