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