RafaMar + programmer friend Help button in Batch Render addition
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / auto.C
index f1cf457dd963ace9ac0dc75726f6dc731275bb0f..87a2ddafe08d4b58bff46f224b40811892ecf1ed 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "auto.h"
 #include "autos.h"
+#include "edl.h"
 #include "filexml.h"
 
 Auto::Auto()
@@ -29,10 +30,11 @@ Auto::Auto()
        this->edl = 0;
        this->autos = 0;
        position = 0;
-       skip = 0;
-       WIDTH = 10;
-       HEIGHT = 10;
+       WIDTH = xS(10);
+       HEIGHT = yS(10);
        is_default = 0;
+       id = EDL::next_id();
+       orig_id = id;
 }
 
 Auto::Auto(EDL *edl, Autos *autos)
@@ -41,10 +43,11 @@ Auto::Auto(EDL *edl, Autos *autos)
        this->edl = edl;
        this->autos = autos;
        position = 0;
-       skip = 0;
-       WIDTH = 10;
-       HEIGHT = 10;
+       WIDTH = xS(10);
+       HEIGHT = yS(10);
        is_default = 0;
+       id = EDL::next_id();
+       orig_id = id;
 }
 
 Auto& Auto::operator=(Auto& that)
@@ -66,6 +69,7 @@ void Auto::copy(int64_t start, int64_t end, FileXML *file, int default_only)
 
 void Auto::copy_from(Auto *that)
 {
+       this->orig_id = that->orig_id;
        this->position = that->position;
 }
 
@@ -75,8 +79,11 @@ int Auto::interpolate_from(Auto *a1, Auto *a2, int64_t new_position, Auto *templ
        if( !templ ) templ = previous;
        if( !templ && this->autos )
                templ = this->autos->default_auto;
-       if( templ )
+       if( templ ) {
+               int orig_id = this->orig_id;
                copy_from(templ);
+               this->orig_id = orig_id;
+       }
        position = new_position;
        return 0;
 }