From 445d254d2f2bfd4e9155c81553181926cf3a9a77 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 8 Oct 2008 15:16:19 +0000 Subject: fix for bad sync with other JACK transport-aware clients (thanks to torben for discovering the problem and suggesting the best fix) git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3886 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/session.h | 3 --- libs/ardour/audioengine.cc | 1 - libs/ardour/jack_slave.cc | 1 - libs/ardour/session_process.cc | 6 ------ libs/ardour/session_state.cc | 3 +-- libs/ardour/session_transport.cc | 12 ------------ 6 files changed, 1 insertion(+), 25 deletions(-) (limited to 'libs') diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index d23bebf01a..38ed0a5b89 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -1420,8 +1420,6 @@ class Session : public PBD::StatefulDestructible void change_midi_ports (); int use_config_midi_ports (); - bool waiting_to_start; - void set_play_loop (bool yn); void overwrite_some_buffers (Diskstream*); void flush_all_redirects (); @@ -1433,7 +1431,6 @@ class Session : public PBD::StatefulDestructible void set_transport_speed (float speed, bool abort = false); void stop_transport (bool abort = false); void start_transport (); - void actually_start_transport (); void realtime_stop (bool abort); void non_realtime_start_scrub (); void non_realtime_set_speed (); diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc index b0a17fd193..8ea76f5844 100644 --- a/libs/ardour/audioengine.cc +++ b/libs/ardour/audioengine.cc @@ -970,7 +970,6 @@ AudioEngine::transport_stop () void AudioEngine::transport_start () { - // cerr << "tell JACK to start\n"; if (_jack) { jack_transport_start (_jack); } diff --git a/libs/ardour/jack_slave.cc b/libs/ardour/jack_slave.cc index f65be1deea..30f6550b4e 100644 --- a/libs/ardour/jack_slave.cc +++ b/libs/ardour/jack_slave.cc @@ -67,7 +67,6 @@ JACK_Slave::speed_and_position (float& sp, nframes_t& position) { jack_position_t pos; jack_transport_state_t state; - state = jack_transport_query (jack, &pos); switch (state) { diff --git a/libs/ardour/session_process.cc b/libs/ardour/session_process.cc index c737a27658..3e3a4ee3d7 100644 --- a/libs/ardour/session_process.cc +++ b/libs/ardour/session_process.cc @@ -47,12 +47,6 @@ Session::process (nframes_t nframes) { _silent = false; - if (synced_to_jack() && waiting_to_start) { - if ( _engine.transport_state() == AudioEngine::TransportRolling) { - actually_start_transport (); - } - } - if (non_realtime_work_pending()) { if (!transport_work_requested ()) { post_transport (); diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 354db0efc1..a6d8af079b 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -183,7 +183,6 @@ Session::first_stage_init (string fullpath, string snapshot_name) g_atomic_int_set (&_playback_load_min, 100); g_atomic_int_set (&_capture_load_min, 100); _play_range = false; - waiting_to_start = false; _exporting = false; _gain_automation_buffer = 0; _pan_automation_buffer = 0; @@ -239,7 +238,7 @@ Session::first_stage_init (string fullpath, string snapshot_name) /* slave stuff */ - average_slave_delta = 1800; + average_slave_delta = 1800; // !!! why 1800 ???? have_first_delta_accumulator = false; delta_accumulator_cnt = 0; slave_state = Stopped; diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc index 552a21d849..1baf6cae29 100644 --- a/libs/ardour/session_transport.cc +++ b/libs/ardour/session_transport.cc @@ -948,18 +948,6 @@ Session::start_transport () break; } - if (!synced_to_jack() || _exporting) { - actually_start_transport (); - } else { - waiting_to_start = true; - } -} - -void -Session::actually_start_transport () -{ - waiting_to_start = false; - transport_sub_state |= PendingDeclickIn; _transport_speed = 1.0; -- cgit v1.2.3