X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fjack_slave.cc;h=9f92f1b21f8ff0100ad0761d5b15556f74905917;hb=07be98b3410ac70b3c4451592fb88def678611ef;hp=a06e295a099f1a2ed734f6d28ebf1f956d1e36f8;hpb=c268314b64c2235b0d69c3854e303accd2cad4d9;p=ardour.git diff --git a/libs/ardour/jack_slave.cc b/libs/ardour/jack_slave.cc index a06e295a09..9f92f1b21f 100644 --- a/libs/ardour/jack_slave.cc +++ b/libs/ardour/jack_slave.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2004 Paul Davis + Copyright (C) 2004 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,18 +23,19 @@ #include #include -#include -#include +#include "ardour/slave.h" +#include "ardour/session.h" #include "i18n.h" +using namespace std; using namespace ARDOUR; using namespace sigc; JACK_Slave::JACK_Slave (jack_client_t* j) : jack (j) { - float x; + double x; nframes_t p; /* call this to initialize things */ speed_and_position (x, p); @@ -44,6 +45,12 @@ JACK_Slave::~JACK_Slave () { } +void +JACK_Slave::reset_client (jack_client_t* j) +{ + jack = j; +} + bool JACK_Slave::locked() const { @@ -56,12 +63,11 @@ JACK_Slave::ok() const return true; } -bool -JACK_Slave::speed_and_position (float& sp, nframes_t& position) +bool +JACK_Slave::speed_and_position (double& sp, nframes_t& position) { jack_position_t pos; jack_transport_state_t state; - state = jack_transport_query (jack, &pos); switch (state) { @@ -81,6 +87,8 @@ JACK_Slave::speed_and_position (float& sp, nframes_t& position) _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;