MMC related fixes

git-svn-id: svn://localhost/ardour2/branches/3.0@6192 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2009-11-28 00:39:03 +00:00
parent e5b6e06f83
commit e9c1fe206d
3 changed files with 6 additions and 3 deletions

View file

@ -494,7 +494,7 @@ Session::setup_midi_control ()
void void
Session::spp_start (Parser &, nframes_t /*timestamp*/) Session::spp_start (Parser &, nframes_t /*timestamp*/)
{ {
if (Config->get_mmc_control() && (config.get_external_sync() && config.get_sync_source() != MTC)) { if (Config->get_mmc_control() && (!config.get_external_sync() || config.get_sync_source() != JACK)) {
request_transport_speed (1.0); request_transport_speed (1.0);
} }
} }
@ -539,7 +539,7 @@ Session::midi_clock_stop (Parser& ignored, nframes_t timestamp)
void void
Session::mmc_deferred_play (MIDI::MachineControl &/*mmc*/) Session::mmc_deferred_play (MIDI::MachineControl &/*mmc*/)
{ {
if (Config->get_mmc_control() && (config.get_external_sync() && (config.get_sync_source() != MTC))) { if (Config->get_mmc_control() && (!config.get_external_sync() || (config.get_sync_source() != JACK))) {
request_transport_speed (1.0); request_transport_speed (1.0);
} }
} }

View file

@ -311,6 +311,7 @@ Session::process_with_events (nframes_t nframes)
*/ */
if (_send_timecode_update) { if (_send_timecode_update) {
send_full_time_code(nframes); send_full_time_code(nframes);
deliver_mmc (MIDI::MachineControl::cmdLocate, _transport_frame);
} }
if (!process_can_proceed()) { if (!process_can_proceed()) {

View file

@ -946,7 +946,9 @@ Session::set_transport_speed (double speed, bool abort, bool clear_state)
} else { } else {
if (!get_record_enabled() && Config->get_stop_at_session_end() && _transport_frame >= current_end_frame()) { /* if not recording, don't roll forward past end if told to stop there */
if (!get_record_enabled() && (speed > 0.0 && Config->get_stop_at_session_end() && _transport_frame >= current_end_frame())) {
return; return;
} }