Initial stuff; mostly ok but some hints are still not implemented as warnings.
[dcpomatic.git] / src / wx / dcp_panel.h
index 88a9c4c51a1b1b869320a62e8a68778abc51132d..e0b6b89d9add897eac0a317a393e8b9a7574c181 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2014 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
@@ -17,7 +17,9 @@
 
 */
 
+#include <wx/bitmap.h>
 #include <boost/shared_ptr.hpp>
+#include <boost/noncopyable.hpp>
 
 class wxNotebook;
 class wxPanel;
@@ -29,10 +31,16 @@ class wxChoice;
 class wxButton;
 class wxSpinCtrl;
 class wxSizer;
+class wxStaticBitmap;
+class wxWindow;
+class wxGridBagSizer;
+
+class Warning;
+class AudioDialog;
 
 class Film;
 
-class DCPPanel
+class DCPPanel : public boost::noncopyable
 {
 public:
        DCPPanel (wxNotebook *, boost::shared_ptr<Film>);
@@ -51,9 +59,9 @@ private:
        void name_changed ();
        void use_isdcf_name_toggled ();
        void edit_isdcf_button_clicked ();
+       void copy_isdcf_name_button_clicked ();
        void container_changed ();
        void dcp_content_type_changed ();
-       void scaler_changed ();
        void j2k_bandwidth_changed ();
        void frame_rate_choice_changed ();
        void frame_rate_spin_changed ();
@@ -64,12 +72,21 @@ private:
        void three_d_changed ();
        void standard_changed ();
        void signed_toggled ();
-       void burn_subtitles_toggled ();
        void encrypted_toggled ();
+       void edit_key_clicked ();
+       void audio_processor_changed ();
+       void show_audio_clicked ();
+       void reel_type_changed ();
+       void reel_length_changed ();
+       void upload_after_make_dcp_changed ();
 
        void setup_frame_rate_widget ();
        void setup_container ();
        void setup_dcp_name ();
+       void setup_audio_channels_choice ();
+       void setup_warnings ();
+
+       int minimum_allowed_audio_channels () const;
 
        wxPanel* make_general_panel ();
        wxPanel* make_video_panel ();
@@ -84,22 +101,39 @@ private:
        wxTextCtrl* _name;
        wxStaticText* _dcp_name;
        wxCheckBox* _use_isdcf_name;
+       Warning* _container_warning;
        wxChoice* _container;
+       wxStaticText* _container_size;
        wxButton* _edit_isdcf_button;
-       wxChoice* _scaler;
+       wxButton* _copy_isdcf_name_button;
+       Warning* _j2k_bandwidth_warning;
        wxSpinCtrl* _j2k_bandwidth;
+       Warning* _frame_rate_warning;
        wxChoice* _dcp_content_type;
        wxChoice* _frame_rate_choice;
        wxSpinCtrl* _frame_rate_spin;
        wxSizer* _frame_rate_sizer;
-       wxSpinCtrl* _audio_channels;
+       Warning* _audio_channels_warning;
+       wxChoice* _audio_channels;
+       wxChoice* _audio_processor;
+       wxButton* _show_audio;
        wxButton* _best_frame_rate;
+       Warning* _three_d_warning;
        wxCheckBox* _three_d;
        wxChoice* _resolution;
+       Warning* _standard_warning;
        wxChoice* _standard;
        wxCheckBox* _signed;
-       wxCheckBox* _burn_subtitles;
        wxCheckBox* _encrypted;
+       wxStaticText* _key;
+       wxButton* _edit_key;
+       wxChoice* _reel_type;
+       wxSpinCtrl* _reel_length;
+       wxCheckBox* _upload_after_make_dcp;
+
+       wxGridBagSizer* _video_grid;
+
+       AudioDialog* _audio_dialog;
 
        boost::shared_ptr<Film> _film;
        bool _generally_sensitive;