X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Findexfile.C;h=3c6fd97f742e735d3941d9a0e775e52682e26d41;hp=7bbd295586bedb4c85f0f2b897df5f9054e89c35;hb=32a609a6bd1181993569399ab51f314dc7cb4fba;hpb=8cad02a7b02e4a8543bc5514892b51aed877a193 diff --git a/cinelerra-5.1/cinelerra/indexfile.C b/cinelerra-5.1/cinelerra/indexfile.C index 7bbd2955..3c6fd97f 100644 --- a/cinelerra-5.1/cinelerra/indexfile.C +++ b/cinelerra-5.1/cinelerra/indexfile.C @@ -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;