X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Faudio_panel.h;h=5f03de42404811a37b210e685632abf0e044ffac;hb=fe851f2e6e57d3a8781ecc173089c19632c521e3;hp=9c0d2a8775c0d28743849551fd73fafdf7daf3ce;hpb=4e4b758bb59cde29fcd85ed1a59a42a32536f230;p=dcpomatic.git diff --git a/src/wx/audio_panel.h b/src/wx/audio_panel.h index 9c0d2a877..5f03de424 100644 --- a/src/wx/audio_panel.h +++ b/src/wx/audio_panel.h @@ -1,54 +1,88 @@ /* - Copyright (C) 2012-2013 Carl Hetherington + Copyright (C) 2012-2022 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ -#include "film_editor_panel.h" -class wxSpinCtrl; +#include "content_sub_panel.h" +#include "content_widget.h" +#include "timecode.h" +#include "lib/audio_mapping.h" + + +class AudioDialog; +class AudioMappingView; +class CheckBox; +class LanguageTagWidget; class wxButton; class wxChoice; +class wxSpinCtrlDouble; class wxStaticText; -class AudioMappingView; -class AudioDialog; -class AudioPanel : public FilmEditorPanel + +class AudioPanel : public ContentSubPanel { public: - AudioPanel (FilmEditor *); + explicit AudioPanel (ContentPanel *); + + void create () override; + void film_changed (Film::Property) override; + void film_content_changed (int) override; + void content_selection_changed () override; + void set_film (std::shared_ptr); - void film_changed (Film::Property); - void film_content_changed (boost::shared_ptr, int); - private: - void gain_changed (); - void gain_calculate_button_clicked (); void show_clicked (); - void delay_changed (); - void stream_changed (); + void gain_calculate_button_clicked (); void mapping_changed (AudioMapping); - void setup_stream_description (); + void setup_description (); + void setup_peak (); + void active_jobs_changed (boost::optional, boost::optional); + void setup_sensitivity (); + void reference_clicked (); + void add_to_grid () override; + boost::optional peak () const; + void fade_in_changed (); + void fade_out_changed (); + void use_same_fades_as_video_changed (); - wxSpinCtrl* _gain; - wxButton* _gain_calculate_button; + CheckBox* _reference; + wxStaticText* _reference_note; wxButton* _show; - wxSpinCtrl* _delay; - wxChoice* _stream; - wxStaticText* _description; + wxStaticText* _gain_label; + wxStaticText* _gain_db_label; + ContentSpinCtrlDouble* _gain; + wxButton* _gain_calculate_button; + wxStaticText* _peak; + wxStaticText* _delay_label; + wxStaticText* _delay_ms_label; + ContentSpinCtrl* _delay; + wxStaticText* _fade_in_label; + Timecode* _fade_in; + wxStaticText* _fade_out_label; + Timecode* _fade_out; + CheckBox* _use_same_fades_as_video; AudioMappingView* _mapping; - AudioDialog* _audio_dialog; + wxStaticText* _description; + wx_ptr _audio_dialog; + + boost::signals2::scoped_connection _mapping_connection; + boost::signals2::scoped_connection _active_jobs_connection; + + static std::map _peak_cache; };