Merge CV, ver=5.1; ops/methods from HV, and interface from CV where possible
[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 active;
43         int use_mask;
44         int capture_mask;
45         int invert_selection;
46
47         int Hsel_active;
48         float Hsel_lo; /* range of 0 to 360 */
49         float Hsel_hi; /* strictly greater than lo, so may extend 0 to 720 */
50         float Hsel_over;
51
52         int Ssel_active;
53         float Ssel_lo;
54         float Ssel_hi;
55         float Ssel_over;
56
57         int Vsel_active;
58         float Vsel_lo;
59         float Vsel_hi;
60         float Vsel_over;
61
62         int Fsel_active;
63         int Fsel_erode;
64         float Fsel_lo;
65         float Fsel_mid;
66         float Fsel_hi;
67         float Fsel_over;
68
69         int Hadj_active;
70         float Hadj_val;
71
72         int Sadj_active;
73         float Sadj_lo;
74         float Sadj_gamma; //*100
75         float Sadj_hi;
76
77         int Vadj_active;
78         float Vadj_lo;
79         float Vadj_gamma;
80         float Vadj_hi;
81
82         int Radj_active;
83         float Radj_lo;
84         float Radj_gamma;
85         float Radj_hi;
86
87         int Gadj_active;
88         float Gadj_lo;
89         float Gadj_gamma;
90         float Gadj_hi;
91
92         int Badj_active;
93         float Badj_lo;
94         float Badj_gamma;
95         float Badj_hi;
96
97         int Oadj_active;
98         float Oadj_val;
99
100 };
101
102
103 #endif
104
105
106