X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fjack_slave.cc;h=4b2f3b18609dbfecf176dc808918624de64b2bba;hb=4729bbde5f5f6833b878155da5a395d5ecd9e565;hp=9ef6eb8579ed21897a0ad7822846cd2c12e8e02a;hpb=8687895abba4209a6de8d8a8fc1bda5996f0d875;p=ardour.git diff --git a/libs/ardour/jack_slave.cc b/libs/ardour/jack_slave.cc index 9ef6eb8579..4b2f3b1860 100644 --- a/libs/ardour/jack_slave.cc +++ b/libs/ardour/jack_slave.cc @@ -20,22 +20,17 @@ #include #include -#include -#include - +#include "ardour/audioengine.h" #include "ardour/slave.h" -#include "ardour/session.h" - -#include "i18n.h" using namespace std; using namespace ARDOUR; -JACK_Slave::JACK_Slave (jack_client_t* j) - : jack (j) +JACK_Slave::JACK_Slave (AudioEngine& e) + : engine (e) { double x; - nframes64_t p; + framepos_t p; /* call this to initialize things */ speed_and_position (x, p); } @@ -44,12 +39,6 @@ JACK_Slave::~JACK_Slave () { } -void -JACK_Slave::reset_client (jack_client_t* j) -{ - jack = j; -} - bool JACK_Slave::locked() const { @@ -63,35 +52,28 @@ JACK_Slave::ok() const } bool -JACK_Slave::speed_and_position (double& sp, nframes64_t& position) +JACK_Slave::speed_and_position (double& sp, framepos_t& position) { - jack_position_t pos; - jack_transport_state_t state; - - state = jack_transport_query (jack, &pos); - - switch (state) { - case JackTransportStopped: + switch (engine.transport_state()) { + case TransportStopped: speed = 0; _starting = false; break; - case JackTransportRolling: + case TransportRolling: speed = 1.0; _starting = false; break; - case JackTransportLooping: + case TransportLooping: speed = 1.0; _starting = false; break; - case JackTransportStarting: + case TransportStarting: _starting = true; // don't adjust speed here, just leave it as it was break; - default: - cerr << "WARNING: Unknown JACK transport state: " << state << endl; } sp = speed; - position = pos.frame; + position = engine.transport_frame(); return true; }