summaryrefslogtreecommitdiff
path: root/libs/backends/jack
diff options
context:
space:
mode:
Diffstat (limited to 'libs/backends/jack')
-rw-r--r--libs/backends/jack/jack_audiobackend.cc6
-rw-r--r--libs/backends/jack/jack_connection.cc4
-rw-r--r--libs/backends/jack/jack_session.cc2
-rw-r--r--libs/backends/jack/jack_utils.cc8
-rw-r--r--libs/backends/jack/wscript17
5 files changed, 25 insertions, 12 deletions
diff --git a/libs/backends/jack/jack_audiobackend.cc b/libs/backends/jack/jack_audiobackend.cc
index 659807271f..62ed00952b 100644
--- a/libs/backends/jack/jack_audiobackend.cc
+++ b/libs/backends/jack/jack_audiobackend.cc
@@ -768,9 +768,6 @@ JACKAudioBackend::jack_sync_callback (jack_transport_state_t state, jack_positio
bool tstate_valid = true;
switch (state) {
- case JackTransportStopped:
- tstate = TransportStopped;
- break;
case JackTransportRolling:
tstate = TransportRolling;
break;
@@ -780,6 +777,9 @@ JACKAudioBackend::jack_sync_callback (jack_transport_state_t state, jack_positio
case JackTransportStarting:
tstate = TransportStarting;
break;
+ case JackTransportStopped:
+ tstate = TransportStopped;
+ break;
default:
// ignore "unofficial" states like JackTransportNetStarting (jackd2)
tstate_valid = false;
diff --git a/libs/backends/jack/jack_connection.cc b/libs/backends/jack/jack_connection.cc
index 09e6c9d6e7..fee1b299ba 100644
--- a/libs/backends/jack/jack_connection.cc
+++ b/libs/backends/jack/jack_connection.cc
@@ -21,6 +21,8 @@
#include <boost/scoped_ptr.hpp>
#include <jack/session.h>
+#include <glibmm/timer.h>
+
#include "pbd/epa.h"
#include "jack_connection.h"
@@ -145,7 +147,7 @@ JackConnection::close ()
_jack = 0;
/* If we started JACK, it will be closing down */
- usleep (500000);
+ Glib::usleep (500000);
Disconnected (""); /* EMIT SIGNAL */
diff --git a/libs/backends/jack/jack_session.cc b/libs/backends/jack/jack_session.cc
index 7cd7f6c62b..60d11a8f0c 100644
--- a/libs/backends/jack/jack_session.cc
+++ b/libs/backends/jack/jack_session.cc
@@ -25,6 +25,8 @@
#include <jack/jack.h>
#include <jack/transport.h>
+#include "pbd/localtime_r.h"
+
#include "ardour/audioengine.h"
#include "ardour/filename_extensions.h"
#include "ardour/session.h"
diff --git a/libs/backends/jack/jack_utils.cc b/libs/backends/jack/jack_utils.cc
index e009b05cd7..01af13fe9c 100644
--- a/libs/backends/jack/jack_utils.cc
+++ b/libs/backends/jack/jack_utils.cc
@@ -558,7 +558,7 @@ ARDOUR::set_path_env_for_jack_autostart (const vector<std::string>& dirs)
#ifdef __APPLE__
// push it back into the environment so that auto-started JACK can find it.
// XXX why can't we just expect OS X users to have PATH set correctly? we can't ...
- setenv ("PATH", SearchPath(dirs).to_string().c_str(), 1);
+ setenv ("PATH", Searchpath(dirs).to_string().c_str(), 1);
#else
/* silence a compiler unused variable warning */
(void) dirs;
@@ -581,7 +581,7 @@ ARDOUR::get_jack_server_dir_paths (vector<std::string>& server_dir_paths)
server_dir_paths.push_back (Glib::path_get_dirname (execpath));
#endif
- SearchPath sp(string(g_getenv("PATH")));
+ Searchpath sp(string(g_getenv("PATH")));
#ifdef WIN32
gchar *install_dir = g_win32_get_package_installation_directory_of_module (NULL);
@@ -891,11 +891,7 @@ ARDOUR::get_jack_command_line_string (JackCommandLineOptions& options, string& c
ostringstream oss;
for (vector<string>::const_iterator i = args.begin(); i != args.end();) {
-#ifdef WIN32
- oss << quote_string (*i);
-#else
oss << *i;
-#endif
if (++i != args.end()) oss << ' ';
}
diff --git a/libs/backends/jack/wscript b/libs/backends/jack/wscript
index d76ec095ca..b31d9b5d56 100644
--- a/libs/backends/jack/wscript
+++ b/libs/backends/jack/wscript
@@ -1,5 +1,6 @@
#!/usr/bin/env python
from waflib.extras import autowaf as autowaf
+from waflib import Options
import os
import sys
import re
@@ -20,6 +21,15 @@ def options(opt):
def configure(conf):
autowaf.check_pkg(conf, 'jack', uselib_store='JACK', atleast_version='0.121.0')
+
+ #
+ # PortAudio is currently used to get a list of audio device names.
+ # We should find a better way to do this that doesn't involve this
+ # kind of dependency.
+ #
+ if Options.options.dist_target == 'mingw':
+ autowaf.check_pkg(conf, 'portaudio-2.0', uselib_store='PORTAUDIO',
+ atleast_version='19')
autowaf.configure(conf)
def build(bld):
@@ -35,8 +45,11 @@ def build(bld):
obj.includes = ['.']
obj.name = 'jack_audiobackend'
obj.target = 'jack_audiobackend'
- obj.uselib = [ 'JACK' ]
- obj.use = 'ardour libpbd'
+ if (bld.env['build_target'] == 'mingw'):
+ obj.uselib = [ 'JACK', 'PORTAUDIO' ]
+ else:
+ obj.uselib = [ 'JACK' ]
+ obj.use = 'libardour libpbd'
obj.vnum = JACKBACKEND_VERSION
obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'backends')
obj.defines = ['PACKAGE="' + I18N_PACKAGE + '"',