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"
30 #include "lib/film_property.h"
31 #include "lib/video_frame_type.h"
43 * @brief The video tab of the film editor.
45 class VideoPanel : public ContentSubPanel
48 explicit VideoPanel (ContentPanel *);
50 void create () override;
51 void film_changed(FilmProperty) override;
52 void film_content_changed (int) override;
53 void content_selection_changed () override;
56 void reference_clicked ();
57 void colour_conversion_changed ();
58 void edit_colour_conversion_clicked ();
59 void range_changed ();
60 void fade_in_changed ();
61 void fade_out_changed ();
62 void add_to_grid () override;
63 void scale_fit_clicked ();
64 void scale_custom_clicked ();
65 bool scale_custom_edit_clicked ();
66 void left_right_link_clicked ();
67 void top_bottom_link_clicked ();
68 void left_crop_changed ();
69 void right_crop_changed ();
70 void top_crop_changed ();
71 void bottom_crop_changed ();
73 void setup_description ();
74 void setup_sensitivity ();
77 wxStaticText* _reference_note;
78 wxStaticText* _type_label;
79 ContentChoice<VideoContent, VideoFrameType>* _frame_type;
80 wxStaticText* _crop_label;
81 wxStaticText* _left_crop_label;
82 ContentSpinCtrl<VideoContent>* _left_crop;
83 wxToggleButton* _left_right_link;
84 wxStaticText* _right_crop_label;
85 ContentSpinCtrl<VideoContent>* _right_crop;
86 wxStaticText* _top_crop_label;
87 ContentSpinCtrl<VideoContent>* _top_crop;
88 wxToggleButton* _top_bottom_link;
89 wxStaticText* _bottom_crop_label;
90 ContentSpinCtrl<VideoContent>* _bottom_crop;
91 wxStaticText* _fade_in_label;
92 Timecode<dcpomatic::ContentTime>* _fade_in;
93 wxStaticText* _fade_out_label;
94 Timecode<dcpomatic::ContentTime>* _fade_out;
95 wxStaticText* _scale_label;
96 wxRadioButton* _scale_fit;
97 wxRadioButton* _scale_custom;
98 wxButton* _scale_custom_edit;
99 wxStaticText* _description;
100 wxStaticText* _colour_conversion_label;
101 wxChoice* _colour_conversion;
102 wxButton* _edit_colour_conversion_button;
103 wxStaticText* _range_label;
106 bool _left_changed_last = true;
107 bool _top_changed_last = true;