bluebanana fixes and enhancements
[goodguy/history.git] / cinelerra-5.1 / plugins / bluebanana / bluebananaconfig.h
1 /*
2  * Cinelerra :: Blue Banana - color modification plugin for Cinelerra-CV
3  * Copyright (C) 2012-2013 Monty <monty@xiph.org>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  *
19  */
20
21 #ifndef BLUEBANANACONFIG_H
22 #define BLUEBANANACONFIG_H
23
24 #include <stdint.h>
25
26 class BluebananaConfig{
27
28 public:
29         BluebananaConfig();
30         int equivalent(BluebananaConfig &that);
31         void copy_from(BluebananaConfig &that);
32         void interpolate(BluebananaConfig &prev,
33                          BluebananaConfig &next,
34                          int64_t prev_frame,
35                          int64_t next_frame,
36                          int64_t current_frame);
37
38 // non-auto
39         int mark;
40
41 // auto
42         int op;
43         int active;
44         int use_mask;
45         int capture_mask;
46         int invert_selection;
47
48         int Hsel_active;
49         float Hsel_lo; /* range of 0 to 360 */
50         float Hsel_hi; /* strictly greater than lo, so may extend 0 to 720 */
51         float Hsel_over;
52
53         int Ssel_active;
54         float Ssel_lo;
55         float Ssel_hi;
56         float Ssel_over;
57
58         int Vsel_active;
59         float Vsel_lo;
60         float Vsel_hi;
61         float Vsel_over;
62
63         int Fsel_active;
64         int Fsel_erode;
65         float Fsel_lo;
66         float Fsel_mid;
67         float Fsel_hi;
68         float Fsel_over;
69
70         int Hadj_active;
71         float Hadj_val;
72
73         int Sadj_active;
74         float Sadj_lo;
75         float Sadj_gamma; //*100
76         float Sadj_hi;
77
78         int Vadj_active;
79         float Vadj_lo;
80         float Vadj_gamma;
81         float Vadj_hi;
82
83         int Radj_active;
84         float Radj_lo;
85         float Radj_gamma;
86         float Radj_hi;
87
88         int Gadj_active;
89         float Gadj_lo;
90         float Gadj_gamma;
91         float Gadj_hi;
92
93         int Badj_active;
94         float Badj_lo;
95         float Badj_gamma;
96         float Badj_hi;
97
98         int Oadj_active;
99         float Oadj_val;
100         int Aadj_active;
101         float Aadj_val;
102
103 };
104
105
106 #endif
107
108
109