Credit Andrew - fix vorbis audio which was scratchy and ensure aging plugin does...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / automation.inc
1
2 /*
3  * CINELERRA
4  * Copyright (C) 2008-2013 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 #ifndef AUTOMATION_INC
24 #define AUTOMATION_INC
25
26 class Automation;
27
28 // These must match the following arrays:
29 // xml_titles in autoconf.C and automation.C.
30 // auto_colors in trackcanvas.C
31 // auto_operations in trackcanvas.C
32 // auto_pixmaps in trackcanvas.C
33 // auto_text in gwindowgui.C
34 enum
35 {
36         AUTOMATION_MUTE,
37         AUTOMATION_CAMERA_X,
38         AUTOMATION_CAMERA_Y,
39         AUTOMATION_CAMERA_Z,
40         AUTOMATION_PROJECTOR_X,
41         AUTOMATION_PROJECTOR_Y,
42         AUTOMATION_PROJECTOR_Z,
43         AUTOMATION_FADE,
44         AUTOMATION_PAN,
45         AUTOMATION_MODE,
46         AUTOMATION_MASK,
47 // must be last or autos move when pasted due to speed pos shifts
48         AUTOMATION_SPEED,
49         AUTOMATION_TOTAL
50 };
51
52 // Non-Automation types
53 enum
54 {
55         NON_AUTOMATION_ASSETS,
56         NON_AUTOMATION_TITLES,
57         NON_AUTOMATION_TRANSITIONS,
58         NON_AUTOMATION_PLUGIN_AUTOS,
59         NON_AUTOMATION_HARD_EDGES,
60         NON_AUTOMATION_TOTAL
61 };
62
63
64 // Automation group types (used by the gui to control the ranges)
65
66 // These must match the following arrays:
67 // xml_autogrouptypes_* in localsession.C
68 // autogrouptypes_fixedrange in automation.C
69 enum
70 {
71         AUTOGROUPTYPE_AUDIO_FADE,
72         AUTOGROUPTYPE_VIDEO_FADE,
73         AUTOGROUPTYPE_ZOOM,
74         AUTOGROUPTYPE_SPEED,
75         AUTOGROUPTYPE_X,
76         AUTOGROUPTYPE_Y,
77         AUTOGROUPTYPE_INT255,
78         AUTOGROUPTYPE_COUNT
79 };
80
81
82
83 // Automation types
84 enum
85 {
86         AUTOMATION_TYPE_FLOAT,
87         AUTOMATION_TYPE_MASK,
88         AUTOMATION_TYPE_INT,
89         AUTOMATION_TYPE_PAN
90 };
91
92 #define SPEED_MIN 0.005
93 #define SPEED_MAX 200.0
94 #define ZOOM_MIN 0.001
95 #define ZOOM_MAX 1000.
96 #define XY_MIN -32767
97 #define XY_MAX 32767
98
99 #endif