Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include <iostream>
#include <boost/scoped_ptr.hpp>
#include <jack/session.h>
using namespace PBD;
using std::string;
using std::vector;
+using std::cerr;
+using std::endl;
+
+bool JackConnection::_in_control = false;
static void jack_halted_callback (void* arg)
{
, _client_name (arg1)
, session_uuid (arg2)
{
-}
-
-JackConnection::~JackConnection ()
-{
- close ();
-}
+ /* See if the server is already up
+ */
-bool
-JackConnection::server_running ()
-{
EnvironmentalProtectionAgency* global_epa = EnvironmentalProtectionAgency::get_global_epa ();
boost::scoped_ptr<EnvironmentalProtectionAgency> current_epa;
if (status == 0) {
jack_client_close (c);
- return true;
+ _in_control = false;
+ } else {
+ _in_control = true;
}
+}
- return false;
+JackConnection::~JackConnection ()
+{
+ close ();
}
int
{
GET_PRIVATE_JACK_POINTER_RET (_jack, -1);
- if (_priv_jack) {
+ if (_priv_jack) {
int ret = jack_client_close (_priv_jack);
_jack = 0;
+
+ /* If we started JACK, it will be closing down */
+ usleep (500000);
+
Disconnected (""); /* EMIT SIGNAL */
+
return ret;
}
JackConnection::halted_callback ()
{
_jack = 0;
+ std::cerr << "JACK HALTED\n";
Disconnected ("");
}
JackConnection::halted_info_callback (jack_status_t /*status*/, const char* reason)
{
_jack = 0;
+ std::cerr << "JACK HALTED: " << reason << std::endl;
Disconnected (reason);
}