dynamic keyframes, textbox rework, andrea ffmpeg.opts, perpetual chkpt undo, lv2...
[goodguy/history.git] / cinelerra-5.1 / plugins / swapchannels / swapchannels.C
index 99e36b744f04fc555c52f1eb5e635934653581f4..cf169d26c99049b48f1dce1fa3b3a67fb6a53ae2 100644 (file)
@@ -208,7 +208,7 @@ void SwapMain::reset()
 }
 
 
-const char* SwapMain::plugin_title()  { return _("Swap channels"); }
+const char* SwapMain::plugin_title() { return N_("Swap channels"); }
 int SwapMain::is_synthesis() { return 1; }
 int SwapMain::is_realtime()  { return 1; }
 
@@ -220,7 +220,7 @@ void SwapMain::save_data(KeyFrame *keyframe)
        FileXML output;
 
 // cause data to be stored directly in text
-       output.set_shared_output(keyframe->get_data(), MESSAGESIZE);
+       output.set_shared_output(keyframe->xbuf);
        output.tag.set_title("SWAPCHANNELS");
        output.tag.set_property("RED", config.red);
        output.tag.set_property("GREEN", config.green);
@@ -238,7 +238,7 @@ void SwapMain::read_data(KeyFrame *keyframe)
 {
        FileXML input;
 
-       input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data()));
+       input.set_shared_input(keyframe->xbuf);
 
        int result = 0;
 
@@ -497,13 +497,13 @@ int SwapMain::handle_opengl()
        get_output()->clear_pbuffer();
        get_output()->bind_texture(0);
 
-       unsigned int shader_id = VFrame::make_shader(0,
-               output_frag,
-               0);
-       glUseProgram(shader_id);
-       glUniform1i(glGetUniformLocation(shader_id, "tex"), 0);
-       glUniform1f(glGetUniformLocation(shader_id, "chroma_offset"),
-               BC_CModels::is_yuv(get_output()->get_color_model()) ? 0.5 : 0.0);
+       unsigned int shader = VFrame::make_shader(0, output_frag, 0);
+       if( shader > 0 ) {
+               glUseProgram(shader);
+               glUniform1i(glGetUniformLocation(shader, "tex"), 0);
+               glUniform1f(glGetUniformLocation(shader, "chroma_offset"),
+                       BC_CModels::is_yuv(get_output()->get_color_model()) ? 0.5 : 0.0);
+       }
 
        get_output()->draw_texture();
        glUseProgram(0);