- double loop_start = command->get_edl()->local_session->loop_start;
- double loop_end = command->get_edl()->local_session->loop_end;
+ double loop_start, loop_end;
+ int play_loop = command->play_loop ? 1 : 0;
+ EDL *edl = command->get_edl();
+ int loop_playback = edl->local_session->loop_playback ? 1 : 0;
+ if( play_loop || !loop_playback ) {
+ loop_start = command->start_position;
+ loop_end = command->end_position;
+ }
+ else {
+ loop_start = edl->local_session->loop_start;
+ loop_end = edl->local_session->loop_end;
+ play_loop = 1;
+ }