track->record = track->play = 0;
}
zwindow->change_source(mixer_edl);
- zwindow->handle_mixer(command, wait_tracking,
+ zwindow->handle_mixer(command, 0,
use_inout, toggle_audio, loop_play, speed);
}
zwindows_lock->unlock();
void MWindow::init_shuttle()
{
#ifdef HAVE_SHUTTLE
- const char *dev_name = Shuttle::probe();
- if( dev_name ) {
+ int ret = Shuttle::probe();
+ if( ret >= 0 ) {
shuttle = new Shuttle(this);
- shuttle->start(dev_name);
+ if( shuttle->read_config_file() > 0 ) {
+ printf("shuttle: bad config file\n");
+ delete shuttle; shuttle = 0;
+ return;
+ }
+ shuttle->start(ret);
}
#endif
}
else {
// Stop and restart
int command = cwindow->playback_engine->command->command;
- cwindow->playback_engine->transport_stop();
// Waiting for tracking to finish would make the restart position more
// accurate but it can't lock the window to stop tracking for some reason.
// Not waiting for tracking gives a faster response but restart position is
// only as accurate as the last tracking update.
- cwindow->playback_engine->interrupt_playback(0);
+ cwindow->playback_engine->transport_stop(0);
cwindow->playback_engine->next_command->realtime = 1;
cwindow->playback_engine->transport_command(command, change_type, edl, 0);
}