tweak zoom/fullscr to remember cwdw scale after fullscr
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / indexfile.C
index 7bbd295586bedb4c85f0f2b897df5f9054e89c35..3c6fd97f742e735d3941d9a0e775e52682e26d41 100644 (file)
@@ -232,6 +232,15 @@ void IndexFile::delete_index(Preferences *preferences,
        remove_file(index_filename);
 }
 
+void IndexFile::delete_index_files(Preferences *preferences,
+       Indexable *indexable)
+{
+       delete_index(preferences, indexable, ".toc");
+       delete_index(preferences, indexable, ".idx");
+       delete_index(preferences, indexable, ".mkr");
+}
+
+
 int IndexFile::open_file()
 {
        int result = 0;
@@ -328,6 +337,11 @@ int IndexFile::open_source()
                        FileSystem fs;
                        asset->index_state->index_bytes = fs.get_size(asset->path);
                        source_length = source->get_audio_length();
+                       int proxy_scale = asset->proxy_scale;
+                       if( proxy_scale > 0 ) {
+                               asset->width = asset->actual_width * proxy_scale;
+                               asset->height = asset->actual_height * proxy_scale;
+                       }
                }
        }
        else
@@ -772,7 +786,7 @@ SET_TRACE
 // A different algorithm has to be used if it's 1 sample per pixel and the
 // index is used.  Now the min and max values are equal so we join the max samples.
                if(mwindow->edl->local_session->zoom_sample == 1) {
-                       canvas->draw_line(x2 - 1, prev_y1, x2, y1, pixmap);
+                       canvas->draw_line(x2 - 1, !rect_audio ? prev_y1 : center_pixel, x2, y1, pixmap);
                }
                else {
 // Extend line height if it doesn't connect to previous line
@@ -783,7 +797,7 @@ SET_TRACE
                        else {
                                first_frame = 0;
                        }
-                       canvas->draw_line(x2, y1, x2, y2, pixmap);
+                       canvas->draw_line(x2, y1, x2, !rect_audio ? y2 : center_pixel, pixmap);
                }
                prev_y1 = next_y1;
                prev_y2 = next_y2;