/*
- Copyright (C) 2012-2013 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
- 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 <http://www.gnu.org/licenses/>.
*/
+
#include "lib/audio_mapping.h"
-#include "film_editor_panel.h"
+#include "content_sub_panel.h"
#include "content_widget.h"
+
class wxSpinCtrlDouble;
class wxButton;
class wxChoice;
class wxStaticText;
class AudioMappingView;
class AudioDialog;
+class LanguageTagWidget;
-class AudioPanel : public FilmEditorPanel
+
+class AudioPanel : public ContentSubPanel
{
public:
- AudioPanel (FilmEditor *);
+ explicit AudioPanel (ContentPanel *);
+ ~AudioPanel ();
void film_changed (Film::Property);
void film_content_changed (int);
void content_selection_changed ();
-
+ void set_film (std::shared_ptr<Film>);
+
private:
- void gain_calculate_button_clicked ();
void show_clicked ();
- void stream_changed ();
+ void gain_calculate_button_clicked ();
void mapping_changed (AudioMapping);
void setup_description ();
- void setup_stream_description ();
+ void setup_peak ();
+ void active_jobs_changed (boost::optional<std::string>, boost::optional<std::string>);
+ void setup_sensitivity ();
+ void reference_clicked ();
+ void add_to_grid ();
+ void enable_language_clicked ();
+ void language_changed ();
+ boost::optional<float> peak () const;
+ wxCheckBox* _reference;
+ wxStaticText* _reference_note;
+ wxButton* _show;
+ wxStaticText* _gain_label;
+ wxStaticText* _gain_db_label;
ContentSpinCtrlDouble<AudioContent>* _gain;
wxButton* _gain_calculate_button;
- wxButton* _show;
+ wxStaticText* _peak;
+ wxStaticText* _delay_label;
+ wxStaticText* _delay_ms_label;
ContentSpinCtrl<AudioContent>* _delay;
- wxChoice* _stream;
- wxStaticText* _stream_description;
+ wxCheckBox* _enable_language = nullptr;
+ LanguageTagWidget* _language = nullptr;
AudioMappingView* _mapping;
wxStaticText* _description;
AudioDialog* _audio_dialog;
+
+ boost::signals2::scoped_connection _mapping_connection;
+ boost::signals2::scoped_connection _active_jobs_connection;
};