Add buttons to set trim from current playhead position (#372).
[dcpomatic.git] / src / wx / timing_panel.h
index 0aaabcc659acc51fc2d66f7ccf47a41c5bec6609..e300e4975cf32b698dca2a1b2b452b9d164070d2 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2013 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 
 */
 
-#include "film_editor_panel.h"
+#include "content_sub_panel.h"
+#include "timecode.h"
 
-class Timecode;
+class FilmViewer;
 
-class TimingPanel : public FilmEditorPanel
+class TimingPanel : public ContentSubPanel
 {
 public:
-       TimingPanel (FilmEditor *);
-
-       void film_content_changed (
-               boost::shared_ptr<Content>,
-               boost::shared_ptr<AudioContent>,
-               boost::shared_ptr<SubtitleContent>,
-               boost::shared_ptr<FFmpegContent>,
-               int);
+       TimingPanel (ContentPanel *, FilmViewer* viewer);
+
+       void film_changed (Film::Property);
+       void film_content_changed (int);
+       void content_selection_changed ();
        
 private:
-       void start_changed ();
-       void length_changed ();
+       void position_changed ();
+       void full_length_changed ();
+       void trim_start_changed ();
+       void trim_start_to_playhead_clicked ();
+       void trim_end_changed ();
+       void trim_end_to_playhead_clicked ();
+       void play_length_changed ();
+       void video_frame_rate_changed ();
+       void set_video_frame_rate ();
+       void update_full_length ();
+       void update_play_length ();
+
+       FilmViewer* _viewer;
        
-       Timecode* _start;
-       Timecode* _length;
+       Timecode<DCPTime>* _position;
+       Timecode<DCPTime>* _full_length;
+       Timecode<DCPTime>* _trim_start;
+       wxButton* _trim_start_to_playhead;
+       wxButton* _trim_end_to_playhead;
+       Timecode<DCPTime>* _trim_end;
+       Timecode<DCPTime>* _play_length;
+       wxTextCtrl* _video_frame_rate;
+       wxButton* _set_video_frame_rate;
 };