Credit Andrew - improve in-tree documentation
[goodguy/cinelerra.git] / cinelerra / auto.C
1
2 /*
3  * CINELERRA
4  * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  *
20  */
21
22 #include "auto.h"
23 #include "autos.h"
24 #include "filexml.h"
25
26 Auto::Auto()
27  : ListItem<Auto>()
28 {
29         this->edl = 0;
30         this->autos = 0;
31         position = 0;
32         skip = 0;
33         WIDTH = 10;
34         HEIGHT = 10;
35         is_default = 0;
36 }
37
38 Auto::Auto(EDL *edl, Autos *autos)
39  : ListItem<Auto>()
40 {
41         this->edl = edl;
42         this->autos = autos;
43         position = 0;
44         skip = 0;
45         WIDTH = 10;
46         HEIGHT = 10;
47         is_default = 0;
48 }
49
50 Auto& Auto::operator=(Auto& that)
51 {
52         copy_from(&that);
53         return *this;
54 }
55
56 int Auto::operator==(Auto &that)
57 {
58         printf("Auto::operator== called\n");
59         return 0;
60 }
61
62 void Auto::copy(int64_t start, int64_t end, FileXML *file, int default_only)
63 {
64         printf("Auto::copy called\n");
65 }
66
67 void Auto::copy_from(Auto *that)
68 {
69         this->position = that->position;
70 }
71
72 int Auto::interpolate_from(Auto *a1, Auto *a2, int64_t new_position, Auto *templ)
73 {
74         if( !templ ) templ = a1;
75         if( !templ ) templ = previous;
76         if( !templ && this->autos )
77                 templ = this->autos->default_auto;
78         if( templ )
79                 copy_from(templ);
80         position = new_position;
81         return 0;
82 }
83
84 void Auto::load(FileXML *xml)
85 {
86         printf("Auto::load\n");
87 }
88
89