X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ffilm_editor.h;h=89065c97d9cc5b4401d48c2393fef1b4a098fe2d;hb=3e2e2fa63ce6e42efba734ced0099a2d87cd3290;hp=ffffc1e76de853ffb03b045ff2c84d96517bb34e;hpb=28dbf4fd074d2046a3c8ddebac9a537a80fd457a;p=dcpomatic.git diff --git a/src/wx/film_editor.h b/src/wx/film_editor.h index ffffc1e76..89065c97d 100644 --- a/src/wx/film_editor.h +++ b/src/wx/film_editor.h @@ -33,7 +33,9 @@ class wxListCtrl; class wxListEvent; class Film; class AudioDialog; +class TimelineDialog; class AudioMappingView; +class Format; /** @class FilmEditor * @brief A wx widget to edit a film's metadata, and perform various functions. @@ -48,7 +50,7 @@ public: boost::signals2::signal FileChanged; private: - void make_film_panel (); + void make_dcp_panel (); void make_content_panel (); void make_video_panel (); void make_audio_panel (); @@ -65,19 +67,11 @@ private: void bottom_crop_changed (wxCommandEvent &); void trust_content_headers_changed (wxCommandEvent &); void content_selection_changed (wxListEvent &); - void content_activated (wxListEvent &); void content_add_clicked (wxCommandEvent &); void content_remove_clicked (wxCommandEvent &); - void content_edit_clicked (wxCommandEvent &); - void content_earlier_clicked (wxCommandEvent &); - void content_later_clicked (wxCommandEvent &); void imagemagick_video_length_changed (wxCommandEvent &); - void format_changed (wxCommandEvent &); - void trim_start_changed (wxCommandEvent &); - void trim_end_changed (wxCommandEvent &); - void trim_type_changed (wxCommandEvent &); + void container_changed (wxCommandEvent &); void dcp_content_type_changed (wxCommandEvent &); - void ab_toggled (wxCommandEvent &); void scaler_changed (wxCommandEvent &); void audio_gain_changed (wxCommandEvent &); void audio_gain_calculate_button_clicked (wxCommandEvent &); @@ -88,11 +82,15 @@ private: void subtitle_scale_changed (wxCommandEvent &); void colour_lut_changed (wxCommandEvent &); void j2k_bandwidth_changed (wxCommandEvent &); - void ffmpeg_audio_stream_changed (wxCommandEvent &); - void ffmpeg_subtitle_stream_changed (wxCommandEvent &); void dcp_frame_rate_changed (wxCommandEvent &); void best_dcp_frame_rate_clicked (wxCommandEvent &); void edit_filters_clicked (wxCommandEvent &); + void loop_content_toggled (wxCommandEvent &); + void loop_count_changed (wxCommandEvent &); + void content_timeline_clicked (wxCommandEvent &); + void audio_stream_changed (wxCommandEvent &); + void subtitle_stream_changed (wxCommandEvent &); + void audio_mapping_changed (AudioMapping); /* Handle changes to the model */ void film_changed (Film::Property); @@ -101,26 +99,24 @@ private: void set_things_sensitive (bool); void setup_formats (); void setup_subtitle_control_sensitivity (); - void setup_streams (); - void setup_audio_details (); void setup_dcp_name (); void setup_show_audio_sensitivity (); void setup_scaling_description (); - void setup_notebook_size (); - void setup_frame_rate_description (); + void setup_main_notebook_size (); void setup_content (); - void setup_format (); - void setup_length (); - void setup_content_information (); - void setup_content_button_sensitivity (); + void setup_container (); + void setup_content_sensitivity (); + void setup_loop_sensitivity (); void active_jobs_changed (bool); boost::shared_ptr selected_content (); - void edit_content (boost::shared_ptr); + boost::shared_ptr selected_video_content (); + boost::shared_ptr selected_audio_content (); - wxNotebook* _notebook; - wxPanel* _film_panel; - wxSizer* _film_sizer; + wxNotebook* _main_notebook; + wxNotebook* _content_notebook; + wxPanel* _dcp_panel; + wxSizer* _dcp_sizer; wxPanel* _content_panel; wxSizer* _content_sizer; wxPanel* _video_panel; @@ -132,21 +128,21 @@ private: /** The film we are editing */ boost::shared_ptr _film; - /** The Film's name */ wxTextCtrl* _name; wxStaticText* _dcp_name; wxCheckBox* _use_dci_name; + wxChoice* _container; wxListCtrl* _content; wxButton* _content_add; wxButton* _content_remove; - wxButton* _content_edit; wxButton* _content_earlier; wxButton* _content_later; - wxTextCtrl* _content_information; + wxButton* _content_timeline; + wxCheckBox* _loop_content; + wxSpinCtrl* _loop_count; wxButton* _edit_dci_button; wxChoice* _format; wxStaticText* _format_description; - wxCheckBox* _trust_content_headers; wxStaticText* _scaling_description; wxSpinCtrl* _left_crop; wxSpinCtrl* _right_crop; @@ -159,10 +155,7 @@ private: wxButton* _audio_gain_calculate_button; wxButton* _show_audio; wxSpinCtrl* _audio_delay; - wxChoice* _ffmpeg_audio_stream; - AudioMappingView* _audio_mapping; wxCheckBox* _with_subtitles; - wxChoice* _ffmpeg_subtitle_stream; wxSpinCtrl* _subtitle_offset; wxSpinCtrl* _subtitle_scale; wxChoice* _colour_lut; @@ -170,19 +163,14 @@ private: wxChoice* _dcp_content_type; wxChoice* _dcp_frame_rate; wxButton* _best_dcp_frame_rate; - wxStaticText* _frame_rate_description; - wxStaticText* _length; - /** The Film's audio details */ - wxStaticText* _audio; - - wxSpinCtrl* _trim_start; - wxSpinCtrl* _trim_end; - wxChoice* _trim_type; - /** Selector to generate an A/B comparison DCP */ - wxCheckBox* _ab; + wxChoice* _audio_stream; + wxStaticText* _audio_description; + wxChoice* _subtitle_stream; + AudioMappingView* _audio_mapping; std::vector _formats; bool _generally_sensitive; AudioDialog* _audio_dialog; + TimelineDialog* _timeline_dialog; };