rework proxy scaler, fix crop-gui coord, video_data tweak for proxy_format
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / indexfile.C
index 7bbd295586bedb4c85f0f2b897df5f9054e89c35..3e1ce389fa7ae911af92717c78f18e5aefd9982d 100644 (file)
@@ -328,6 +328,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 +777,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 +788,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;