X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Fmoveobj%2Fmoveobj.C;h=a3c9a89684552c6d38447f13c8c5bc23dd33fe89;hp=e64575552c1974989b34608d61f4eee62e3902e3;hb=b2eb290b3f6e5c233393017aa152e67c76243130;hpb=9d8694b7d2e0f4202e025eaf78d096340184b4e6 diff --git a/cinelerra-5.1/plugins/moveobj/moveobj.C b/cinelerra-5.1/plugins/moveobj/moveobj.C index e6457555..a3c9a896 100644 --- a/cinelerra-5.1/plugins/moveobj/moveobj.C +++ b/cinelerra-5.1/plugins/moveobj/moveobj.C @@ -101,7 +101,7 @@ void MoveObj::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("MOVEOBJ"); output.tag.set_property("DRAW_VECTORS", config.draw_vectors); output.tag.set_property("DO_STABILIZATION", config.do_stabilization); @@ -119,7 +119,7 @@ void MoveObj::save_data(KeyFrame *keyframe) void MoveObj::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; while( !(result = input.read_tag()) ) { @@ -334,7 +334,7 @@ int MoveObj::process_buffer(VFrame *frame, int64_t start_position, double frame_ // interpolate with identity matrix accum_matrix = w0*identity + w1*accum_matrix; - AffineMatrix matrix; + AffineMatrix &matrix = affine->matrix; for( int i=0,k=0; i<3; ++i ) for( int j=0; j<3; ++j ) matrix.values[i][j] = amat[k++]; @@ -342,7 +342,6 @@ int MoveObj::process_buffer(VFrame *frame, int64_t start_position, double frame_ //printf("MoveObj::process_buffer %d %jd matrix=\n", __LINE__, start_position); //matrix.dump(); - affine->set_matrix(&matrix); // iframe is always temp, if we get here output->clear_frame(); affine->process(output, iframe, 0, AffineEngine::TRANSFORM,