2 Copyright (C) 2012-2018 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/>.
21 /** @file src/lib/video_panel.h
22 * @brief VideoPanel class.
25 #include "content_sub_panel.h"
26 #include "content_widget.h"
37 * @brief The video tab of the film editor.
39 class VideoPanel : public ContentSubPanel
42 explicit VideoPanel (ContentPanel *);
44 void film_changed (Film::Property);
45 void film_content_changed (int);
46 void content_selection_changed ();
49 void reference_clicked ();
50 void colour_conversion_changed ();
51 void edit_colour_conversion_clicked ();
52 void range_changed ();
53 void fade_in_changed ();
54 void fade_out_changed ();
56 void scale_fit_clicked ();
57 void scale_custom_clicked ();
58 bool scale_custom_edit_clicked ();
59 void left_right_link_clicked ();
60 void top_bottom_link_clicked ();
61 void left_crop_changed ();
62 void right_crop_changed ();
63 void top_crop_changed ();
64 void bottom_crop_changed ();
66 void setup_description ();
67 void setup_sensitivity ();
69 wxCheckBox* _reference;
70 wxStaticText* _reference_note;
71 wxStaticText* _type_label;
72 ContentChoice<VideoContent, VideoFrameType>* _frame_type;
73 wxStaticText* _crop_label;
74 wxStaticText* _left_crop_label;
75 ContentSpinCtrl<VideoContent>* _left_crop;
76 wxToggleButton* _left_right_link;
77 wxStaticText* _right_crop_label;
78 ContentSpinCtrl<VideoContent>* _right_crop;
79 wxStaticText* _top_crop_label;
80 ContentSpinCtrl<VideoContent>* _top_crop;
81 wxToggleButton* _top_bottom_link;
82 wxStaticText* _bottom_crop_label;
83 ContentSpinCtrl<VideoContent>* _bottom_crop;
84 wxStaticText* _fade_in_label;
85 Timecode<dcpomatic::ContentTime>* _fade_in;
86 wxStaticText* _fade_out_label;
87 Timecode<dcpomatic::ContentTime>* _fade_out;
88 wxStaticText* _scale_label;
89 wxRadioButton* _scale_fit;
90 wxRadioButton* _scale_custom;
91 wxButton* _scale_custom_edit;
92 wxStaticText* _description;
93 wxStaticText* _colour_conversion_label;
94 wxChoice* _colour_conversion;
95 wxButton* _edit_colour_conversion_button;
96 wxStaticText* _range_label;