terminate keyframe string in edl output
[goodguy/history.git] / cinelerra-5.1 / plugins / zoom / zoom.C
index 1ab1a7e3d4f322c6a55bc3d6d9d906c0fbdf70ce..a7e26353c7dc55f407356f7af3dcd682e115d718 100644 (file)
@@ -144,7 +144,7 @@ ZoomMain::~ZoomMain()
        delete temp;
 }
 
-const char* ZoomMain::plugin_title() { return _("Zoom"); }
+const char* ZoomMain::plugin_title() { return N_("Zoom"); }
 int ZoomMain::is_video() { return 1; }
 int ZoomMain::is_transition() { return 1; }
 int ZoomMain::uses_gui() { return 1; }
@@ -156,7 +156,7 @@ int ZoomMain::uses_gui() { return 1; }
 void ZoomMain::save_data(KeyFrame *keyframe)
 {
        FileXML output;
-       output.set_shared_output(keyframe->get_data(), MESSAGESIZE);
+       output.set_shared_output(keyframe->xbuf);
        output.tag.set_title("ZOOMTRANSITION");
        output.tag.set_property("MAGNIFICATION_X", max_magnification_x);
        output.tag.set_property("MAGNIFICATION_Y", max_magnification_y);
@@ -170,7 +170,7 @@ void ZoomMain::read_data(KeyFrame *keyframe)
 {
        FileXML input;
 
-       input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data()));
+       input.set_shared_input(keyframe->xbuf);
 
        while(!input.read_tag())
        {
@@ -253,41 +253,22 @@ int ZoomMain::process_realtime(VFrame *incoming, VFrame *outgoing)
 
        if(is_before)
        {
-               if(!temp) temp = new VFrame(outgoing->get_w(),
-                       outgoing->get_h(),
-                       outgoing->get_color_model());
+               if(!temp) temp = new VFrame(outgoing->get_w(), outgoing->get_h(),
+                       outgoing->get_color_model(), 0);
                temp->clear_frame();
-               overlayer->overlay(temp,
-                       outgoing,
-                       in_x,
-                       in_y,
-                       in_x + in_w,
-                       in_y + in_h,
-                       0,
-                       0,
-                       temp->get_w(),
-                       temp->get_h(),
-                       1.0,
-                       TRANSFER_REPLACE,
-                       CUBIC_LINEAR);
+               overlayer->overlay(temp, outgoing,
+                       in_x, in_y, in_x + in_w, in_y + in_h,
+                       0, 0, temp->get_w(), temp->get_h(),
+                       1.0, TRANSFER_REPLACE, CUBIC_LINEAR);
                outgoing->copy_from(temp);
        }
        else
        {
                outgoing->clear_frame();
-               overlayer->overlay(outgoing,
-                       incoming,
-                       in_x,
-                       in_y,
-                       in_x + in_w,
-                       in_y + in_h,
-                       0,
-                       0,
-                       temp->get_w(),
-                       temp->get_h(),
-                       1.0,
-                       TRANSFER_REPLACE,
-                       CUBIC_LINEAR);
+               overlayer->overlay(outgoing, incoming,
+                       in_x, in_y, in_x + in_w, in_y + in_h,
+                       0, 0, outgoing->get_w(), outgoing->get_h(),
+                       1.0, TRANSFER_REPLACE, CUBIC_LINEAR);
        }
 
        return 0;