refresh frame fix, dblclk proxy viewer fix, vicon refresh fix for awdw resize, fix...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / vmodule.C
index 0c8e1b7fdec53176caf4bb0f0288f17ecf4f15e3..1958ef78222efb1959728f87c265e46d223ba714 100644 (file)
@@ -159,9 +159,10 @@ int VModule::import_frame(VFrame *output, VEdit *current_edit,
                        __LINE__, nested_edl, current_edit->nested_edl);
 
 // Convert requested direction to command
-               if(renderengine->command->command == CURRENT_FRAME)
+               if( renderengine->command->command == CURRENT_FRAME ||
+                   renderengine->command->command == LAST_FRAME )
                {
-                       command = CURRENT_FRAME;
+                       command = renderengine->command->command;
                }
                else
                if(direction == PLAY_REVERSE)
@@ -293,7 +294,7 @@ int VModule::import_frame(VFrame *output, VEdit *current_edit,
                        }
                        else
                        {
-                               max_position = Units::to_int64(nested_edl->tracks->total_playable_length() *
+                               max_position = Units::to_int64(nested_edl->tracks->total_length() *
                                        frame_rate - 1);
                        }
 
@@ -478,12 +479,9 @@ int VModule::import_frame(VFrame *output, VEdit *current_edit,
 
                                if(!(*input))
                                {
-                                       (*input) = new VFrame(0,
-                                               -1,
-                                               asset_w,
-                                               asset_h,
-                                               get_edl()->session->color_model,
-                                               -1);
+                                       (*input) =
+                                               new VFrame(asset_w, asset_h,
+                                                       get_edl()->session->color_model);
                                }
 
 
@@ -989,12 +987,9 @@ int VModule::render(VFrame *output,
 // Load incoming frame
                if(!(*transition_input))
                {
-                       (*transition_input) = new VFrame(0,
-                               -1,
-                               track->track_w,
-                               track->track_h,
-                               get_edl()->session->color_model,
-                               -1);
+                       (*transition_input) =
+                               new VFrame(track->track_w, track->track_h,
+                                       get_edl()->session->color_model);
                }
 
                (*transition_input)->copy_stacks(output);