proxy toggle fix, rework preview range setup
[goodguy/history.git] / cinelerra-5.1 / cinelerra / edl.C
index cbde2640730df60673f6099fcd9e79f13050e544..a114f3c995ec3df962b516caf2fe19f216ac7408 100644 (file)
@@ -1145,13 +1145,15 @@ void EDL::set_index_file(Indexable *indexable)
 void EDL::optimize()
 {
 //printf("EDL::optimize 1\n");
-       if( local_session->preview_start < 0 ) local_session->preview_start = 0;
        double length = tracks->total_length();
-       if( local_session->preview_end > length ) local_session->preview_end = length;
-       if( local_session->preview_start >= local_session->preview_end  ) {
-               local_session->preview_start = 0;
-               local_session->preview_end = length;
-       }
+       double preview_start = local_session->preview_start;
+       double preview_end = local_session->preview_end;
+       if( preview_end < 0 || preview_end > length )
+               preview_end = length;
+       if( preview_start == 0 && preview_end >= length )
+               local_session->preview_end = -1;
+       if( preview_start > preview_end )
+               local_session->preview_start = preview_end;
        for( Track *current=tracks->first; current; current=NEXT )
                current->optimize();
 }