2 Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
4 This file is part of DCP-o-matic.
6 DCP-o-matic 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.
11 DCP-o-matic 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.
16 You should have received a copy of the GNU General Public License
17 along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
22 /** @file src/lib/video_panel.h
23 * @brief VideoPanel class.
27 #include "content_sub_panel.h"
28 #include "content_widget.h"
40 * @brief The video tab of the film editor.
42 class VideoPanel : public ContentSubPanel
45 explicit VideoPanel (ContentPanel *);
47 void create () override;
48 void film_changed (Film::Property) override;
49 void film_content_changed (int) override;
50 void content_selection_changed () override;
53 void reference_clicked ();
54 void colour_conversion_changed ();
55 void edit_colour_conversion_clicked ();
56 void range_changed ();
57 void fade_in_changed ();
58 void fade_out_changed ();
59 void add_to_grid () override;
60 void scale_fit_clicked ();
61 void scale_custom_clicked ();
62 bool scale_custom_edit_clicked ();
63 void left_right_link_clicked ();
64 void top_bottom_link_clicked ();
65 void left_crop_changed ();
66 void right_crop_changed ();
67 void top_crop_changed ();
68 void bottom_crop_changed ();
70 void setup_description ();
71 void setup_sensitivity ();
73 wxCheckBox* _reference;
74 wxStaticText* _reference_note;
75 wxStaticText* _type_label;
76 ContentChoice<VideoContent, VideoFrameType>* _frame_type;
77 wxStaticText* _crop_label;
78 wxStaticText* _left_crop_label;
79 ContentSpinCtrl<VideoContent>* _left_crop;
80 wxToggleButton* _left_right_link;
81 wxStaticText* _right_crop_label;
82 ContentSpinCtrl<VideoContent>* _right_crop;
83 wxStaticText* _top_crop_label;
84 ContentSpinCtrl<VideoContent>* _top_crop;
85 wxToggleButton* _top_bottom_link;
86 wxStaticText* _bottom_crop_label;
87 ContentSpinCtrl<VideoContent>* _bottom_crop;
88 wxStaticText* _fade_in_label;
89 Timecode<dcpomatic::ContentTime>* _fade_in;
90 wxStaticText* _fade_out_label;
91 Timecode<dcpomatic::ContentTime>* _fade_out;
92 wxStaticText* _scale_label;
93 wxRadioButton* _scale_fit;
94 wxRadioButton* _scale_custom;
95 wxButton* _scale_custom_edit;
96 wxStaticText* _description;
97 wxStaticText* _colour_conversion_label;
98 wxChoice* _colour_conversion;
99 wxButton* _edit_colour_conversion_button;
100 wxStaticText* _range_label;
103 bool _left_changed_last = true;
104 bool _top_changed_last = true;