13
0
Commit Graph

249 Commits

Author SHA1 Message Date
278cd98799 fix compilation with mingw + pthreads 2015-07-04 05:48:42 +02:00
efb9da770d fix use of += in waf variable 2015-07-04 05:43:34 +02:00
c905be691d only compile, don’t link & run jack checks 2015-07-04 04:24:22 +02:00
d48a5f7068 fix weak jack w/new jack_port_rename() 2015-07-04 00:20:12 +02:00
35ab6e9075 fix error in type definition for weak jack handling of jack_port_rename 2015-07-02 14:24:49 -04:00
aaab192436 add conditional use of jack_port_rename(), a newly added public API for JACK 2015-07-02 14:02:07 -04:00
573ec69a9a probe buffersize if jackd is already running. 2015-06-14 18:10:31 +02:00
Christopher Arndt
a9bc95a911 Fix mixed spaces/tabs in wscripts 2015-05-03 19:52:38 +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
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
nick_m
bdf9b2f47c Backend - change midi optons string.
Multimedia Extensions -> System MIDI (MME)
2015-03-28 03:35:45 +11: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
99260742d2 mingw: all code is position independent 2015-03-11 14:58:02 +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
20cd14cf36 add backend support for port properties (jack) 2015-03-08 19:02:31 +01:00
95558b5878 update https://github.com/x42/weakjack/ 2015-03-08 16:22:14 +01: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
582138f280 change Audio backend sample time methods to use a 64 bit timeline 2015-02-19 17:44:01 -05: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
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
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
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
a6ceff61dd proper solution for variable-args jack_client_open() 2014-10-25 17:28:13 +02: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
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
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
8d0cba3384 Use PBD::find_files_matching_pattern instead of other variations 2014-06-25 12:40:10 -04:00
da912f7ed4 add AudioEngine API to configure individual MIDI devices 2014-06-13 11:47:51 +02:00
67c43d4b49 Don't use module versioning with jack backend in the mingw build 2014-06-07 14:31:32 +10:00
a907d3455e break out ALSA related functions into libardouralsautil 2014-06-04 19:16:37 +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
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
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
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
058986f77b finish unfinished work at basing all install paths on the program name 2014-04-28 21:11:08 -04:00
e6b56f3447 fix undefined value, support netjack2 2014-03-23 02:26:37 +01: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