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
This commit is contained in:
Paul Davis 2008-10-08 15:16:19 +00:00
parent 5f3c82e8ba
commit 445d254d2f
6 changed files with 1 additions and 25 deletions

View file

@ -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 ();

View file

@ -970,7 +970,6 @@ AudioEngine::transport_stop ()
void
AudioEngine::transport_start ()
{
// cerr << "tell JACK to start\n";
if (_jack) {
jack_transport_start (_jack);
}

View file

@ -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) {

View file

@ -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 ();

View file

@ -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;

View file

@ -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;