X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fdcp_panel.cc;h=e4cc0c558626b646a3209bdde7445d31306125a7;hb=d5c059a2ff9bab5c2973db6bc4860591679dd42b;hp=61dfd7507d4c2ddcd47d63413ab7a495a36efbba;hpb=8a3d5a7729e10a901132ff00efbd5d80e38b2455;p=dcpomatic.git diff --git a/src/wx/dcp_panel.cc b/src/wx/dcp_panel.cc index 61dfd7507..e4cc0c558 100644 --- a/src/wx/dcp_panel.cc +++ b/src/wx/dcp_panel.cc @@ -32,36 +32,37 @@ #include "smpte_metadata_dialog.h" #include "static_text.h" #include "wx_util.h" -#include "lib/ratio.h" +#include "lib/audio_content.h" +#include "lib/audio_processor.h" #include "lib/config.h" +#include "lib/dcp_content.h" #include "lib/dcp_content_type.h" -#include "lib/util.h" -#include "lib/film.h" #include "lib/ffmpeg_content.h" -#include "lib/audio_processor.h" -#include "lib/video_content.h" +#include "lib/film.h" +#include "lib/ratio.h" #include "lib/text_content.h" -#include "lib/dcp_content.h" -#include "lib/audio_content.h" +#include "lib/util.h" +#include "lib/video_content.h" #include -#include -#include +#include +LIBDCP_DISABLE_WARNINGS #include +#include #include +#include +LIBDCP_ENABLE_WARNINGS #include -#include -using std::cout; using std::list; -using std::string; -using std::vector; -using std::pair; -using std::max; using std::make_pair; -using boost::lexical_cast; +using std::max; +using std::pair; using std::shared_ptr; +using std::string; +using std::vector; using std::weak_ptr; +using boost::lexical_cast; #if BOOST_VERSION >= 106100 using namespace boost::placeholders; #endif @@ -478,6 +479,9 @@ DCPPanel::film_changed (Film::Property p) setup_sensitivity (); break; } + case Film::Property::AUDIO_FRAME_RATE: + checked_set (_audio_sample_rate, _film->audio_frame_rate() == 48000 ? 0 : 1); + break; case Film::Property::CONTENT_VERSIONS: case Film::Property::VERSION_NUMBER: case Film::Property::RELEASE_TERRITORY: @@ -623,6 +627,7 @@ DCPPanel::set_film (shared_ptr film) film_changed (Film::Property::REEL_LENGTH); film_changed (Film::Property::REENCODE_J2K); film_changed (Film::Property::AUDIO_LANGUAGE); + film_changed (Film::Property::AUDIO_FRAME_RATE); set_general_sensitivity(static_cast(_film)); } @@ -891,6 +896,9 @@ DCPPanel::make_audio_panel () _audio_channels = new wxChoice (panel, wxID_ANY); setup_audio_channels_choice (_audio_channels, minimum_allowed_audio_channels ()); + _audio_sample_rate_label = create_label (panel, _("Sample rate"), true); + _audio_sample_rate = new wxChoice (panel, wxID_ANY); + _processor_label = create_label (panel, _("Processor"), true); _audio_processor = new wxChoice (panel, wxID_ANY); add_audio_processors (); @@ -898,9 +906,13 @@ DCPPanel::make_audio_panel () _show_audio = new Button (panel, _("Show graph of audio levels...")); _audio_channels->Bind (wxEVT_CHOICE, boost::bind (&DCPPanel::audio_channels_changed, this)); + _audio_sample_rate->Bind (wxEVT_CHOICE, boost::bind(&DCPPanel::audio_sample_rate_changed, this)); _audio_processor->Bind (wxEVT_CHOICE, boost::bind (&DCPPanel::audio_processor_changed, this)); _show_audio->Bind (wxEVT_BUTTON, boost::bind (&DCPPanel::show_audio_clicked, this)); + _audio_sample_rate->Append (_("48kHz")); + _audio_sample_rate->Append (_("96kHz")); + add_audio_panel_to_grid (); return panel; @@ -916,6 +928,10 @@ DCPPanel::add_audio_panel_to_grid () _audio_grid->Add (_audio_channels, wxGBPosition (r, 1)); ++r; + add_label_to_sizer (_audio_grid, _audio_sample_rate_label, true, wxGBPosition(r, 0)); + _audio_grid->Add (_audio_sample_rate, wxGBPosition(r, 1)); + ++r; + add_label_to_sizer (_audio_grid, _processor_label, true, wxGBPosition (r, 0)); _audio_grid->Add (_audio_processor, wxGBPosition (r, 1)); ++r; @@ -1018,3 +1034,10 @@ DCPPanel::edit_audio_language_clicked () d->Destroy (); } + +void +DCPPanel::audio_sample_rate_changed () +{ + _film->set_audio_frame_rate (_audio_sample_rate->GetSelection() == 0 ? 48000 : 96000); +} +