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