X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fwx%2Fdcp_panel.h;h=31d58e1f88ed527c188476a67e7ff346e9cc84f3;hb=fecfda4c913da3f60ab4329d1f4f412bc27d19a7;hp=69fc65532fdc4e3d046ece232d6dd9bb0bd2c62d;hpb=8755ef75cb001cf7fba230ffa98fb40eb2547849;p=dcpomatic.git diff --git a/src/wx/dcp_panel.h b/src/wx/dcp_panel.h index 69fc65532..31d58e1f8 100644 --- a/src/wx/dcp_panel.h +++ b/src/wx/dcp_panel.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2019 Carl Hetherington + Copyright (C) 2012-2022 Carl Hetherington This file is part of DCP-o-matic. @@ -18,10 +18,12 @@ */ + #include "lib/config.h" -#include -#include +#include "lib/film.h" + +class Button; class wxNotebook; class wxPanel; class wxBoxSizer; @@ -35,21 +37,26 @@ class wxSizer; class wxGridBagSizer; class AudioDialog; -class MarkersDialog; -class MetadataDialog; +class Choice; class Film; class FilmViewer; +class InteropMetadataDialog; +class MarkersDialog; class Ratio; +class SMPTEMetadataDialog; -class DCPPanel : public boost::noncopyable +class DCPPanel { public: - DCPPanel (wxNotebook *, boost::shared_ptr, boost::weak_ptr viewer); + DCPPanel(wxNotebook *, std::shared_ptr, FilmViewer& viewer); + + DCPPanel (DCPPanel const&) = delete; + DCPPanel& operator= (DCPPanel const&) = delete; - void set_film (boost::shared_ptr); + void set_film (std::shared_ptr); void set_general_sensitivity (bool); - void film_changed (int); + void film_changed (Film::Property); void film_content_changed (int); wxPanel* panel () const { @@ -59,7 +66,6 @@ public: 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 (); @@ -73,15 +79,16 @@ private: void three_d_changed (); void standard_changed (); 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 markers_clicked (); void metadata_clicked (); void reencode_j2k_changed (); + void enable_audio_language_toggled (); + void edit_audio_language_clicked (); + void audio_sample_rate_changed (); void setup_frame_rate_widget (); void setup_container (); @@ -112,51 +119,52 @@ private: wxTextCtrl* _name; wxStaticText* _dcp_name; wxCheckBox* _use_isdcf_name; + wxCheckBox* _enable_audio_language = nullptr; + wxStaticText* _audio_language = nullptr; + Button* _edit_audio_language = nullptr; wxStaticText* _container_label; - wxChoice* _container; + Choice* _container; wxStaticText* _container_size; - wxButton* _edit_isdcf_button; wxButton* _copy_isdcf_name_button; wxStaticText* _j2k_bandwidth_label; wxStaticText* _mbits_label; wxSpinCtrl* _j2k_bandwidth; wxStaticText* _dcp_content_type_label; - wxChoice* _dcp_content_type; + Choice* _dcp_content_type; wxStaticText* _frame_rate_label; - wxChoice* _frame_rate_choice; + Choice* _frame_rate_choice; wxSpinCtrl* _frame_rate_spin; wxSizer* _frame_rate_sizer; wxStaticText* _channels_label; - wxChoice* _audio_channels; + Choice* _audio_channels; + wxStaticText* _audio_sample_rate_label = nullptr; + wxChoice* _audio_sample_rate = nullptr; wxStaticText* _processor_label; - wxChoice* _audio_processor; + Choice* _audio_processor; wxButton* _show_audio; wxButton* _best_frame_rate; wxCheckBox* _three_d; wxCheckBox* _reencode_j2k; wxStaticText* _resolution_label; - wxChoice* _resolution; + Choice* _resolution; wxStaticText* _standard_label; - wxChoice* _standard; + Choice* _standard; wxCheckBox* _encrypted; - wxStaticText* _key_label; - wxStaticText* _key; - wxButton* _edit_key; wxStaticText* _reels_label; - wxChoice* _reel_type; + Choice* _reel_type; wxStaticText* _reel_length_label; wxStaticText* _reel_length_gb_label; wxSpinCtrl* _reel_length; - wxCheckBox* _upload_after_make_dcp; wxButton* _markers; wxButton* _metadata; wxSizer* _audio_panel_sizer; - AudioDialog* _audio_dialog; - MarkersDialog* _markers_dialog; - MetadataDialog* _metadata_dialog; + AudioDialog* _audio_dialog = nullptr; + MarkersDialog* _markers_dialog = nullptr; + InteropMetadataDialog* _interop_metadata_dialog = nullptr; + SMPTEMetadataDialog* _smpte_metadata_dialog = nullptr; - boost::shared_ptr _film; - boost::weak_ptr _viewer; + std::shared_ptr _film; + FilmViewer& _viewer; bool _generally_sensitive; };