summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-10-08 15:16:19 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-10-08 15:16:19 +0000
commit445d254d2f2bfd4e9155c81553181926cf3a9a77 (patch)
tree46147ae3c7e5f93f9d74ee2c210b11ed5fc45842 /libs
parent5f3c82e8ba011c47e348bc9fff64aa758f751314 (diff)
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
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/session.h3
-rw-r--r--libs/ardour/audioengine.cc1
-rw-r--r--libs/ardour/jack_slave.cc1
-rw-r--r--libs/ardour/session_process.cc6
-rw-r--r--libs/ardour/session_state.cc3
-rw-r--r--libs/ardour/session_transport.cc12
6 files changed, 1 insertions, 25 deletions
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;