Commit graph

344 commits

Author SHA1 Message Date
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
John Emmas
fbc9d19cb2 Add the 'porttime' source file for Windows
Conflicts:
	libs/backends/wavesaudio/portmidi/src/porttime/ptwinmm.c
2014-08-16 16:33:49 -04:00
John Emmas
3dd30eef03 Add some type guards to 'wstdint.h' (in case we previously #included some headers which already define those types) 2014-08-16 16:33:27 -04:00
John Emmas
7d80809c3d Add some casting and namespace specifiers to keep MSVC happy 2014-08-16 16:33:22 -04:00
John Emmas
216d8d5a00 Add a couple of missing header files (needed for cin /cout etc) 2014-08-16 16:33:17 -04:00
Paul Davis
8b2f9b8aa1 fix install path for ./waf install of waves backend
Conflicts:
	libs/backends/wavesaudio/wscript
2014-08-16 16:29:41 -04:00
Paul Davis
e39b66fb7c second part of windows/osx macro change - forgot *.cpp files 2014-08-16 16:29:13 -04:00
Paul Davis
12d5a33626 alter platform-dependent preprocessor macros to use the same names as the rest of the ardour codebase 2014-08-16 16:29:07 -04:00
Paul Davis
b7d2338351 Add AudioBackend::info() method to retrieve AudioBackendInfo object
Goal is to be able to call AudioBackendInfo::already_configured() from the right place.

Conflicts:
	libs/backends/jack/jack_api.cc
	libs/backends/jack/jack_audiobackend.cc
	libs/backends/jack/jack_audiobackend.h
	libs/backends/wavesaudio/waves_audiobackend.cc
2014-08-16 16:17:48 -04:00
Robin Gareus
e9caa2f81c DummyAudioBackend: fix freewheelin' typo 2014-08-16 16:11:24 -04:00
Robin Gareus
96be646607 DummyAudioBackend: implement /fake/ system ports 2014-08-16 16:10:50 -04:00
Robin Gareus
326729a78f DummyAudioBackend: NOOP, white-space, clarify variable name & casts 2014-08-16 16:10:45 -04:00
Paul Davis
937c0764be finish unfinished work at basing all install paths on the program name
Conflicts:
	libs/backends/jack/wscript
	libs/backends/wavesaudio/wscript
	libs/canvas/wscript
	wscript
2014-08-16 16:10:15 -04:00
Robin Gareus
587b6e21e7 DummyAudioBackend: port-engine, midi-buffers and the rest of it 2014-08-16 16:02:30 -04:00
Robin Gareus
e646eb998a DummyAudioBackend: basic process threads and support structure 2014-08-16 16:02:19 -04:00
Robin Gareus
6b750f5e46 skeleton dummy audio-engine
Conflicts:
	libs/backends/wscript
2014-08-16 16:02:02 -04:00
Paul Davis
52200569c3 provide structure for determining which backends to build, in order to make linux builds possible 2014-08-15 21:36:58 -04:00
Greg Zharun
b5c08b6984 [Summary] Improved Port audio Waves API on Windows
[Details] Fixed issue when device sample rate changed by device but not updated in client (tracks engine state controller)
Added PA stream opening retry attempts, because PA needs some time to apply changes and may not successfully open stream at once
2014-08-13 19:39:00 +03:00
GZharun
9c67a37f60 [Summary] Fixed issue with incorrect Mac OS string decoding on Maverics for device channel names 2014-07-30 16:25:29 +03:00
VKamyshniy
5c39b2e283 [Summary] Fixing the (C) info 2014-07-18 21:57:41 +03:00
Greg Zharun
e20ca80c44 [Summary] Added channel name prefix according to PRD 2014-07-18 14:07:13 +03:00
GZharun
4e8c702e9a [Summary] Fixed Mavericks specific backend issue 2014-07-16 12:54:56 +03:00
GZharun
8c69a972b2 [Summary] Made Tracks buildable on MAC OS X 10.9 Maverricks.
[Details] Important: On Mavericks Tracks could be successfully built with static library linkage so far.
Use --internal-static-libs flag configuring the build.
[Reviewed by] Partially reviewed by Paul Davis. Some Improvements may be promoted in future.
2014-07-15 15:14:08 +03:00
nikolay
baa41a5907 [Summary] Fixed potential bug
[Review] GZharun
2014-07-15 13:54:18 +03:00
Greg Zharun
e6f3b19674 [Summary] Corrected log in waves API on Windows 2014-07-09 11:24:41 +03:00
Greg Zharun
cfe2b3c17c [Summary] Fixed windows error with retrieving available sample rates from the device:
error code was not returned when eNoError value should be.
2014-07-08 13:00:32 +03:00
GZharun
0cf788ef12 [Summary] Added possibility to update sample rate list for devices on the fly on MAC 2014-07-08 12:27:20 +03:00
GZharun
daf365ced0 [Summary] Implemented Condition/Lock synchronization for Engine HW enevt handling 2014-07-03 17:12:51 +03:00
grygoriiz
489ead12ba [Summary] Added backend/engine update mechanism when device configuration changes (I/O layout, etc.)
[Reviewed by] The idea of event handling queue has been reviewed by Paul Davis
2014-07-02 13:46:53 +03:00