432f54db24
make ALSA backend optional and disable by default
2014-06-02 20:33:12 +02:00
c79a56a08f
ALSA backend: add raw midi parser
2014-06-02 19:23:07 +02:00
5cd2010c79
ALSA backend: raw midi prototype
2014-06-02 19:23:07 +02:00
8e9b02cfa2
ALSA backend (based on Dummy backend and zita-alsa-pcmi)
2014-06-02 19:23:07 +02:00
f6d29abfc7
DummyBackend: fix midi event mux+sorting
2014-06-02 12:20:40 +02:00
1c60652bd8
fix --with-dummy config option
2014-06-01 18:18:32 +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
796f4e9711
make building the dummy backend be a configure-time option. defaults to False for the time being
2014-05-28 22:30:06 -04:00
458d4dc6de
(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-05-27 14:48:44 +01:00
5b4cb15dfc
Remove an unnecessary #define
2014-05-27 13:24:51 +01:00
e2cecadd01
Use PLATFORM_WINDOWS (in preference to WIN32) for consistency with the other libraries
2014-05-27 09:51:39 +01: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
43b4577212
waves_backend (MSVC project) - Adapt for using Waves's (customized) portaudio_x86 library (Windows)
2014-05-21 12:50:31 +01:00
e36a8df16e
jack_backend (MSVC project) - Adapt for using portaudio_x86 library (Windows)
2014-05-21 12:49:24 +01:00
10a52f1d19
enforce style-guide #3 , #26 and #27
2014-05-21 02:25:45 +02:00
9d6cfd67c3
CoreMidi is also needed on OSX.6
2014-05-21 02:17:35 +02:00
81d8eaa216
fix type typo
2014-05-21 00:19:15 +02:00
0de7c8920b
Merge branch 'mingw-updates' of https://github.com/mojofunk/ardour into cairocanvas
2014-05-19 17:19:43 -04:00
827388ffdd
outline portable implementation to replace clock_gettime()
2014-05-16 18:19:41 +02: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
ad40a9008b
Add some more missing #includes
2014-05-06 17:00:35 +01:00
18245b06d0
'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-05-06 09:41:40 +01:00
b9fab9ea28
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-05-06 09:33:54 +01:00
8d0ec2403f
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)
2014-05-06 09:31:11 +01:00
1a1a05fa1c
Add 'waves_backend.vcproj'
2014-05-06 09:26:59 +01:00
41fe637e80
Add the 'porttime' source file for Windows
2014-05-06 09:25:27 +01:00
051ceffc5d
Add some type guards to 'wstdint.h' (in case we previously #included some headers which already define those types)
2014-05-06 09:23:00 +01:00
9cf2cf55f5
Add some casting and namespace specifiers to keep MSVC happy
2014-05-06 09:20:03 +01:00
0277c8c8d1
Add a couple of missing header files (needed for cin /cout etc)
2014-05-06 09:16:59 +01:00
cd00429672
fix install path for ./waf install of waves backend
2014-05-01 10:18:30 -04:00
fa139421b9
second part of windows/osx macro change - forgot *.cpp files
2014-05-01 09:39:11 -04:00
49423427a6
alter platform-dependent preprocessor macros to use the same names as the rest of the ardour codebase
2014-05-01 09:32:18 -04:00
49ad78659b
fix compile for waves backend, after recent API change
2014-05-01 09:22:59 -04:00
66559cd795
Add AudioBackend::info() method to retrieve AudioBackendInfo object
...
Goal is to be able to call AudioBackendInfo::already_configured() from the right place.
2014-05-01 09:14:25 -04:00
ca08e4c7c7
more previously applied changes required to build Waves audio/midi backend
2014-04-30 14:24:32 -04:00
c90fef1b4c
second part of (previously applied) change to be able to use -fms-extensions with C compiler
2014-04-30 13:48:25 -04:00
19d21045af
2nd attempt at updated Waves audio backend, with added -fms-extensions as previously applied (but not updated in Waves' repo) to allow anonymous unions, as used by PortMidi
2014-04-30 13:46:41 -04:00
8a6762f189
Revert "update wavesaudio backend, now supports Windows (ASIO) as well as OS X (CoreAudio)"
...
This reverts commit f374ce69a6
.
The code does not compile on OS X, and includes changes to ARDOUR::AudioEngine
that have not landed in git.
2014-04-29 16:30:56 -04:00
f374ce69a6
update wavesaudio backend, now supports Windows (ASIO) as well as OS X (CoreAudio)
2014-04-29 16:06:39 -04:00
1f70e9472a
DummyAudioBackend: fix freewheelin' typo
2014-04-29 13:32:13 +02:00
eaafc3394a
DummyAudioBackend: implement /fake/ system ports
2014-04-29 13:32:13 +02:00
19e0383c3b
DummyAudioBackend: NOOP, white-space, clarify variable name & casts
2014-04-29 13:32:13 +02:00
058986f77b
finish unfinished work at basing all install paths on the program name
2014-04-28 21:11:08 -04:00
b945cda558
DummyAudioBackend: port-engine, midi-buffers and the rest of it
2014-04-28 23:00:40 +02:00
2fccbe1a6c
DummyAudioBackend: basic process threads and support structure
2014-04-28 22:59:19 +02:00
9907d25ea5
skeleton dummy audio-engine
2014-04-28 21:29:35 +02:00
077a194430
Add the main VC project files for building Ardour3 with Microsoft Visual Studio
...
Note that there's no 'VS Solution' file at present and some targets haven't been built yet (e.g. 'fst')
2014-04-08 09:49:35 +01:00
e6b56f3447
fix undefined value, support netjack2
2014-03-23 02:26:37 +01:00
1c402f943f
remove unnecessary files from native audio backend
2014-02-24 21:19:17 -05:00
a17f797c52
add waves audio backend when building on apple
2014-02-24 15:17:18 -05:00
6666599e7b
add -fms-extensions to allow earlier apple gcc to support anonymous union, as used by PortMidi
2014-02-24 15:16:46 -05:00
dd55b7894e
remove SampleFormat code from waves audio backend
2014-02-24 14:49:14 -05:00
1de00ab6bb
new audio engine backend for native CoreAudio audio I/O, and PortMIDI for MIDI.
...
Code builds, runs and functions. Full code review still pending, and some possibly changes to organization of code within the backend is possible
2014-02-24 14:49:13 -05:00
57ffd6c404
changes to wscript to build new audio engine backend
2014-02-24 14:49:13 -05:00
9dbdac2a19
remove unused and unimplementable audio engine sample format code
2014-02-24 14:46:19 -05:00
658bb3ccd4
finished merge of cairocanvas with windows and windows+cc branches
2014-01-10 17:11:10 -05:00
3020b224fa
Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there
2014-01-10 16:07:57 -05:00
36c233fe6c
Merge branch 'master' into cairocanvas
2014-01-07 21:37:48 -05:00
2163467d31
add M-Audio 2496 as a recognized card for the mudita24 control panel/app.
...
(Yes, this hard coding thing is awful)
2014-01-06 11:35:57 -05:00
1676789907
fix merge conflicts from master
2013-12-12 10:06:59 -05:00
Nils Philippsen
a86b66181a
ignore "unofficial" states in jack_sync_callback()
2013-12-09 17:56:06 +01:00
59da788793
Merge branch 'master' into cairocanvas
2013-12-05 17:50:28 -05:00
2ba2a50dec
Merge branch 'master' into windows
2013-12-04 11:50:36 -05:00
ce7bfb489c
change "cpu" in cpu load backend functions
2013-12-04 11:48:31 -05:00
0258f2958b
switch from using Sleep/usleep to Glib::usleep()
2013-12-03 10:24:05 -05:00
a420328354
Reinstate call to package config for JACK backend
...
Not sure how this got lost, merge perhaps.
2013-12-03 20:28:17 +10:00
0f6a65e405
Use Sleep instead of usleep on windows in JACK backend
2013-12-03 20:28:10 +10:00
f74521b0cd
Remove command line string quoting when forming jack command line on windows
...
This used to be necessary when we started the JACK server but now that we
write a .jackdrc it only causes problems.
I have fixed this before in some branch, must have been lost in a merge.
2013-12-02 21:28:19 +10:00
a9fc076d2e
Waf options are not valid during build stage so use environment variable
2013-12-02 21:26:28 +10:00
18a59dd7fa
Include pbd/localtime_r.h in session_jack.cc for MinGW
2013-12-02 21:22:14 +10:00
3c98de9ce4
fix merge with master
2013-11-29 22:31:29 -05:00
15cee60021
merge and resolve conflict with master
2013-11-29 22:29:25 -05:00
1190f1d0e0
make JACK backend return the right set of values when asked for buffer sizes or sample rate of a device other than the one in use
2013-11-27 17:41:54 -05:00
680c64246e
Merge branch 'master' into cairocanvas
2013-11-27 16:19:01 -05:00
d63e8ba0e8
Merge branch 'master' into windows
2013-11-27 16:18:22 -05:00
611d93830a
add 0.5 second sleep after closing JACK connection so that next startup/connect is likely to work (allowing JACK time to shutdown). Ugh
2013-11-27 15:25:10 -05:00
56716a1f28
add error check to call to PortManager::reestablish_ports
2013-11-27 15:24:24 -05:00
dc4a984cd6
move AudioBackend::_start() into protected, and expand a bit on documenting ::start() vs ::_start()
2013-11-27 14:27:27 -05:00
08371ae2cf
resolve merge with master (?)
2013-11-26 10:24:51 -05:00
0cca272431
try to fix various warnings from gcc when optimization flags are enabled
2013-11-04 21:32:41 -05:00
ea1ccb869a
fix merge with master
2013-10-31 13:16:51 -04:00
7fec991077
fix thinko in declaration of ARDOUR::PortEngine::get_port_by_name()
2013-10-28 09:46:59 -04:00
a18db90264
Report an error to stderr if creation of jack command line fails.
...
Output a simple message to stderr if get_jack_command_line_string() still
fails for any reason.
2013-10-23 19:32:54 +01:00
70f0cfdb3b
Don't ever pass -d for device name to dummy jackd driver
2013-10-23 19:32:54 +01:00
903d728b9c
Fix setting playback & capture channel counts for jackd dummy backend.
...
Unlike all the other jack backends which allow setting the number of inputs and
outputs with -i & -o, the dummy backend uses -P & -C for this. Make the jackd
command line use these options when the dummy backend is requested with a
specified input or output channel count.
2013-10-23 19:29:57 +01:00
ac81ea642e
Don't fail jackd command line creation for jack dummy backend.
...
The dummy jackd backend doesn't require a device to be specified, so much
of the error checking in get_jack_command_line_string() is irrelevant, if
not actively wrong, when the dummy backend is specified.
Only perform the checks if the chosen jack backend is not the dummy.
2013-10-23 19:27:09 +01:00
d135c4dc3a
fix merge conflicts with master
2013-10-23 08:47:57 -04:00
664e715a00
merge from master
2013-10-22 15:29:44 -04:00
cfe42bc4ea
fix issues with recording while synced to JACK (non-pure-virtual method added to AudioBackend) and remove pause() from AudioEngine/AudioBackend APIs
2013-10-21 16:24:24 -04:00
b855e5f322
Merge remote-tracking branch 'remotes/origin/exportvis' into windows+cc
...
Conflicts (hopefully resolved):
gtk2_ardour/wscript
libs/ardour/ardour/audioregion.h
libs/ardour/ardour/debug.h
libs/ardour/ardour/directory_names.h
libs/ardour/ardour/filesystem_paths.h
libs/ardour/ardour/session_event.h
libs/gtkmm2ext/gtkmm2ext/utils.h
libs/panners/1in2out/wscript
libs/panners/2in2out/wscript
libs/panners/vbap/wscript
libs/pbd/pbd/debug.h
libs/pbd/pbd/file_utils.h
libs/pbd/pbd/pathexpand.h
libs/pbd/pbd/ringbuffer.h
libs/pbd/pbd/ringbufferNPT.h
libs/pbd/pbd/search_path.h
libs/pbd/pbd/stacktrace.h
libs/pbd/pbd/uuid.h
libs/pbd/pbd/uuid_boost.h
libs/surfaces/control_protocol/control_protocol/basic_ui.h
libs/surfaces/control_protocol/control_protocol/control_protocol.h
2013-10-18 10:03:22 +01:00
61c1956ef9
add -fvisibility=hidden to evoral, and make things work
2013-10-17 15:02:20 -04:00
e5888d3983
merge with master and fix 2 conflicts
2013-10-16 22:06:56 -04:00
fb313fb174
Merge branch 'master' into windows
2013-10-16 21:57:17 -04:00
75b933eadb
Merge remote-tracking branch 'remotes/origin/master' into windows+cc
2013-10-16 15:55:59 +01:00
9a630003ff
fix up issues with MIDI I/O option when using jack1 or jack2's most recent options for this
2013-10-15 15:22:25 -04:00
69a8fc43e2
Merge branch 'master' into windows
2013-10-15 11:17:12 -04:00
e466ce40ad
Merge branch 'master' into windows+cc
...
Conflicts (hopefully resolved):
gtk2_ardour/ardour_ui.cc
2013-10-14 19:31:22 +01:00
7444ac128e
fix inability to export twice
2013-10-12 11:07:57 -04:00
589ef168c1
adapt JACK audiobackend to pay attention to new _start() API related to latency measurement
2013-10-12 10:03:15 -04:00
fa71d82dda
Merge branch 'windows' into windows+cc
2013-10-11 18:23:53 +01:00
cf3d8d15f0
some slightly hackish changes to make it possible to use the new internal ALSA midi client (soon to become a driver, however)
2013-10-10 16:54:46 -04:00
c96108c2e1
add API to get current MIDI option from an audio/MIDI backend
2013-10-10 16:18:00 -04:00
1bd04f8bf3
add JACK backend support for MIDI option discovery
2013-10-10 12:59:11 -04:00
2a6a16f980
merge with master, fixing conflicts in 3 wscript files
2013-10-09 14:00:42 -04:00
927ebe3b5f
reduce version requirement for JACK
2013-10-08 17:12:20 -04:00
af8a1c146d
move JACK configuration test(s) down to where they belong (in libs/backend/jack)
2013-10-08 16:13:39 -04:00
c98abed37f
restore jack timebase master and jack session callback functionality (moved into the JACK backend)
2013-10-08 14:02:03 -04:00
7e077bdeba
-arestore jack timebase master and jack session callback functionality (moved into the JACK backend)
2013-10-08 14:01:43 -04:00
300b484cf6
Merge branch 'master' into windows+cc
...
Conflicts (hopefully resolved):
gtk2_ardour/ardour_ui.cc
gtk2_ardour/ardour_ui.h
gtk2_ardour/ardour_ui_options.cc
2013-10-06 11:56:03 +01:00
f3a22fb880
Implement JACKAudioBackend::in_process_thread
2013-10-04 18:54:54 +10:00
53ad2d187f
Move processing thread list from ARDOUR::Graph into AudioBackend implementation
2013-10-04 18:53:37 +10:00
df363a4fb3
Add AudioBackendThread class to support different thread type on windows
2013-10-04 18:51:47 +10:00
c736d88a5f
don't ping JACK server 4 times to see if it is already up when ardour starts
2013-09-25 22:56:28 -04:00
19bb2b33a8
Merge remote-tracking branch 'remotes/origin/cairocanvas' into windows
...
Conflicts (hopefully resolved):
gtk2_ardour/marker.cc
gtk2_ardour/midi_region_view.h
gtk2_ardour/region_gain_line.h
gtk2_ardour/utils.cc
gtk2_ardour/video_image_frame.cc
gtk2_ardour/wscript
libs/backends/jack/wscript
2013-09-21 09:17:25 +01:00
7b96fab60e
move configure-time dependency on PortAudio out of libs/ardour and into libs/backends/jack
...
PortAudio is currently used to get a list of device names for use with JACK on Windows.
We should find a better way to do this that avoids this kind of dependency.
2013-09-19 16:24:51 -04:00
57d24608e7
show a different audio/MIDI option screen if JACK is already running. try to fix problem with using AudioBackend::<property-value>() functions before anything has been set.
2013-09-19 15:03:20 -04:00
fd23ebd088
Merge branch 'master' into cairocanvas
2013-09-17 21:23:30 -04:00
302b08c059
Merge branch 'master' into windows
2013-09-17 21:22:56 -04:00
f51537b71d
substantive changes to allow the audio/MIDI setup dialog to change settings as intended
...
So far only tested with JACK backend, but expected to be more correct for other backends too
2013-09-17 21:09:13 -04:00
fb45fdc052
fix conflicts and merge with master
2013-09-16 22:11:06 -04:00
045ef69ac3
Merge branch 'master' into cairocanvas
2013-09-14 16:43:02 -04:00
a1a5c779c6
fix change in waf uselib name for libardour vs. master
2013-09-14 16:42:42 -04:00
bde50d5396
really fix build issues after removal of "using" directives
2013-09-14 16:34:08 -04:00
0da34e65e3
Merge branch 'master' into windows
2013-09-14 16:24:46 -04:00
25b9e266eb
fix build issues after removal of "using" directives
2013-09-14 16:24:21 -04:00
60da662aff
Merge branch 'master' into windows
2013-09-14 16:21:32 -04:00
f5191e6257
cerr output when JACK halt callback is executed
2013-09-14 16:18:17 -04:00
76a08ad9e9
fix return value from thread creation function when not connected to JACK
2013-09-14 16:17:49 -04:00
5cf1f7f3b2
Merge branch 'master' into windows
2013-09-13 12:35:10 -04:00
dce6b71e82
use visibility control on JACK audio backend, so that we can import this change into windows branch
2013-09-13 12:32:50 -04:00
4861eca974
Merge branch 'master' into windows
2013-09-13 11:55:56 -04:00
83a826095d
update JACK backend to use new inheritance structure for AudioBackend
2013-09-13 11:21:43 -04:00
b085a79938
explanatory comment
2013-09-13 10:19:01 -04:00
c985a64d58
merge with master and fix Searchpath conflict
2013-09-12 11:40:56 -04:00
4df3666738
add AudioBackendNativeThread to serve the same role as jack_native_thread_t
2013-09-12 11:29:47 -04:00
9f2ab81df6
always add a timeout value of 200msec to jack, just like qjackctl does.
...
THIS IS A HACK. LONG TERM GOAL: understand why ardour gets zombified on the way up.
2013-09-11 21:00:21 -04:00
bea5434639
fix name of control app for Delta1010
2013-09-09 21:35:47 -04:00
2a89234027
move control app launching back into audio backend to allow ASIO/CoreAudio model to work; push initial state of AMS dialog to backend
...
Issues remain with the basic model of the AMS dialog - when is
newly chosen state pushed into the backend (which can then
modify the control app button sensitivity. This is a special
problem for this button because APIs like ASIO and CoreAudio
probably don't allow us to launch a control app for an arbitrary
device, but only one actually in use. In this sense it is
different from properties like available buffer size etc, where
we can typically query without actually using the device.
2013-09-09 21:23:12 -04:00
29c9d94dbe
fix control app breakage
2013-09-09 18:06:44 -04:00
f06bab1fa3
add envy24 control app name
2013-09-09 17:10:33 -04:00
ecfeeda4b8
launching control app is now responsibility of ardour GUI, not audio backend; use ARDOUR_DEVICE_CONTROL_APP if set in the environment
2013-09-09 16:48:27 -04:00
f06187735d
initial work on adding access to h/w control apps when ardour starts JACK
2013-09-09 15:17:43 -04:00
a228643e40
add can_change_{sample_rate,buffer_size}_while_running() methods to an AudioBackend
...
Allows the GUI and other stuff to know whether or not changing the SR/bufsize is possible while running, which is about to become useful
2013-09-09 15:17:43 -04:00
5ec69e2374
move inadvertently moved jack_slave.cc back to its rightful spot
2013-09-07 13:39:36 -04:00
f4cf283f26
move JACK audio backend to its own folder and adjust build system to reflect that (installed version may now work)
2013-09-07 11:03:57 -04:00