X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Faudio_panel.cc;h=b7d6979d35f20e0988f0b3135c5f0e0acc6fac5f;hb=cb990adba9c57e5107ef2aa9716cf0a26c1df83d;hp=82604763c8e690b8e3c884703617794b2e475b6f;hpb=cc27c2716f755305d67f1e1ba828ecf37f8405dd;p=dcpomatic.git diff --git a/src/wx/audio_panel.cc b/src/wx/audio_panel.cc index 82604763c..b7d6979d3 100644 --- a/src/wx/audio_panel.cc +++ b/src/wx/audio_panel.cc @@ -94,6 +94,15 @@ AudioPanel::AudioPanel (ContentPanel* p) _mapping = new AudioMappingView (this); _sizer->Add (_mapping, 1, wxEXPAND | wxALL, 6); + ++r; + + _description = new wxStaticText (this, wxID_ANY, wxT (" \n"), wxDefaultPosition, wxDefaultSize); + _sizer->Add (_description, 0, wxALL, 12); + wxFont font = _description->GetFont(); + font.SetStyle (wxFONTSTYLE_ITALIC); + font.SetPointSize (font.GetPointSize() - 1); + _description->SetFont (font); + ++r; _gain->wrapped()->SetRange (-60, 60); _gain->wrapped()->SetDigits (1); @@ -117,6 +126,9 @@ AudioPanel::film_changed (Film::Property property) _mapping->set_channels (_parent->film()->audio_channels ()); _sizer->Layout (); break; + case Film::VIDEO_FRAME_RATE: + setup_description (); + break; default: break; } @@ -136,6 +148,8 @@ AudioPanel::film_content_changed (int property) if (property == AudioContentProperty::AUDIO_MAPPING) { _mapping->set (acs ? acs->audio_mapping () : AudioMapping ()); _sizer->Layout (); + } else if (property == AudioContentProperty::AUDIO_FRAME_RATE) { + setup_description (); } else if (property == FFmpegContentProperty::AUDIO_STREAM) { _mapping->set (acs ? acs->audio_mapping () : AudioMapping ()); _sizer->Layout (); @@ -245,6 +259,27 @@ AudioPanel::processor_changed () } } +void +AudioPanel::setup_description () +{ + AudioContentList ac = _parent->selected_audio (); + if (ac.size () != 1) { + _description->SetLabel (""); + return; + } + + shared_ptr acs = ac.front (); + if (acs->audio_frame_rate() != acs->resampled_audio_frame_rate ()) { + _description->SetLabel (wxString::Format ( + _("Audio will be resampled from %.3fkHz to %.3fkHz."), + acs->audio_frame_rate() / 1000.0, + acs->resampled_audio_frame_rate() / 1000.0 + )); + } else { + _description->SetLabel (_("Audio will not be resampled.")); + } +} + void AudioPanel::mapping_changed (AudioMapping m) { @@ -276,6 +311,7 @@ AudioPanel::content_selection_changed () film_content_changed (AudioContentProperty::AUDIO_MAPPING); film_content_changed (AudioContentProperty::AUDIO_PROCESSOR); + film_content_changed (AudioContentProperty::AUDIO_FRAME_RATE); film_content_changed (FFmpegContentProperty::AUDIO_STREAM); film_content_changed (FFmpegContentProperty::AUDIO_STREAMS); }