From e3b954e16ff0a67c1a41868635022198d75e7d87 Mon Sep 17 00:00:00 2001 From: Nils Philippsen Date: Thu, 12 Sep 2013 17:24:28 +0200 Subject: [PATCH 1/4] don't confuse arm with i686 --- wscript | 2 ++ 1 file changed, 2 insertions(+) diff --git a/wscript b/wscript index c4cba628dd..b3902c1b49 100644 --- a/wscript +++ b/wscript @@ -157,6 +157,8 @@ def set_compiler_flags (conf,opt): conf.env['build_target'] = 'i386' elif re.search("powerpc", cpu) != None: conf.env['build_target'] = 'powerpc' + elif re.search("arm", cpu) != None: + conf.env['build_target'] = 'arm' else: conf.env['build_target'] = 'i686' else: From 6b23417ae0a93e5ff26477a62e3abcbcaa5efd64 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sat, 14 Sep 2013 16:17:24 -0400 Subject: [PATCH 2/4] move creation of Graph till after we have the engine running, since we need access to the backend --- libs/ardour/session_state.cc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 7914b21565..e847ba45ce 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -177,13 +177,6 @@ Session::pre_engine_init (string fullpath) set_history_depth (Config->get_history_depth()); - if (how_many_dsp_threads () > 1) { - /* For now, only create the graph if we are using >1 DSP threads, as - it is a bit slower than the old code with 1 thread. - */ - _process_graph.reset (new Graph (*this)); - } - /* default: assume simple stereo speaker configuration */ _speakers->setup_default_speakers (2); @@ -217,6 +210,13 @@ Session::post_engine_init () set_block_size (_engine.samples_per_cycle()); set_frame_rate (_engine.sample_rate()); + if (how_many_dsp_threads () > 1) { + /* For now, only create the graph if we are using >1 DSP threads, as + it is a bit slower than the old code with 1 thread. + */ + _process_graph.reset (new Graph (*this)); + } + n_physical_outputs = _engine.n_physical_outputs (); n_physical_inputs = _engine.n_physical_inputs (); From 76a08ad9e95498bcaf65974fb68f03c2bf0167a0 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sat, 14 Sep 2013 16:17:49 -0400 Subject: [PATCH 3/4] fix return value from thread creation function when not connected to JACK --- libs/backends/jack/jack_audiobackend.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libs/backends/jack/jack_audiobackend.cc b/libs/backends/jack/jack_audiobackend.cc index c9bc2ad8ac..b3dbdcae71 100644 --- a/libs/backends/jack/jack_audiobackend.cc +++ b/libs/backends/jack/jack_audiobackend.cc @@ -44,8 +44,6 @@ using namespace ARDOUR; using namespace PBD; using std::string; using std::vector; -using std::cerr; -using std::endl; #define GET_PRIVATE_JACK_POINTER(localvar) jack_client_t* localvar = _jack_connection->jack(); if (!(localvar)) { return; } #define GET_PRIVATE_JACK_POINTER_RET(localvar,r) jack_client_t* localvar = _jack_connection->jack(); if (!(localvar)) { return r; } @@ -780,7 +778,7 @@ JACKAudioBackend::_latency_callback (jack_latency_callback_mode_t mode, void* ar int JACKAudioBackend::create_process_thread (boost::function f, pthread_t* thread, size_t stacksize) { - GET_PRIVATE_JACK_POINTER_RET (_priv_jack, 0); + GET_PRIVATE_JACK_POINTER_RET (_priv_jack, -1); ThreadData* td = new ThreadData (this, f, stacksize); if (jack_client_create_thread (_priv_jack, thread, jack_client_real_time_priority (_priv_jack), From f5191e62578bd2ba2b3e2adf8cfc3634aa4b929c Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sat, 14 Sep 2013 16:18:17 -0400 Subject: [PATCH 4/4] cerr output when JACK halt callback is executed --- libs/backends/jack/jack_connection.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libs/backends/jack/jack_connection.cc b/libs/backends/jack/jack_connection.cc index da0127c584..07af4b8ade 100644 --- a/libs/backends/jack/jack_connection.cc +++ b/libs/backends/jack/jack_connection.cc @@ -32,6 +32,8 @@ using namespace ARDOUR; using namespace PBD; using std::string; using std::vector; +using std::cerr; +using std::endl; static void jack_halted_callback (void* arg) { @@ -137,7 +139,7 @@ JackConnection::close () { GET_PRIVATE_JACK_POINTER_RET (_jack, -1); - if (_priv_jack) { + if (_priv_jack) { int ret = jack_client_close (_priv_jack); _jack = 0; Disconnected (""); /* EMIT SIGNAL */ @@ -151,6 +153,7 @@ void JackConnection::halted_callback () { _jack = 0; + cerr << "JACK HALTED\n"; Disconnected (""); } @@ -158,6 +161,7 @@ void JackConnection::halted_info_callback (jack_status_t /*status*/, const char* reason) { _jack = 0; + cerr << "JACK HALTED: " << reason << endl; Disconnected (reason); }