2 Copyright (C) 2012-2020 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 #include "content_sub_panel.h"
23 #include "suspender.h"
27 class TimingPanel : public ContentSubPanel
30 TimingPanel(ContentPanel *, FilmViewer& viewer);
32 void create () override;
33 void film_changed(FilmProperty) override;
34 void film_content_changed (int) override;
35 void content_selection_changed () override;
38 void position_changed ();
39 void move_to_start_of_reel_clicked ();
40 void full_length_changed ();
41 void trim_start_changed ();
42 void trim_start_to_playhead_clicked ();
43 void trim_end_changed ();
44 void trim_end_to_playhead_clicked ();
45 void play_length_changed ();
46 void update_full_length ();
47 void update_play_length ();
48 void setup_sensitivity ();
49 void add_to_grid () override;
53 wxStaticText* _h_label;
54 wxStaticText* _m_label;
55 wxStaticText* _s_label;
56 wxStaticText* _f_label;
57 wxStaticText* _colon[3];
58 wxStaticText* _position_label;
59 Timecode<dcpomatic::DCPTime>* _position;
60 wxButton* _move_to_start_of_reel;
61 wxStaticText* _full_length_label;
62 Timecode<dcpomatic::DCPTime>* _full_length;
63 wxStaticText* _trim_start_label;
64 Timecode<dcpomatic::ContentTime>* _trim_start;
65 wxButton* _trim_start_to_playhead;
66 wxButton* _trim_end_to_playhead;
67 wxStaticText* _trim_end_label;
68 Timecode<dcpomatic::ContentTime>* _trim_end;
69 wxStaticText* _play_length_label;
70 Timecode<dcpomatic::DCPTime>* _play_length;
72 Suspender _film_content_changed_suspender;