diff options
Diffstat (limited to 'src/wx/audio_panel.cc')
| -rw-r--r-- | src/wx/audio_panel.cc | 36 |
1 files changed, 36 insertions, 0 deletions
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 (); @@ -246,6 +260,27 @@ AudioPanel::processor_changed () } void +AudioPanel::setup_description () +{ + AudioContentList ac = _parent->selected_audio (); + if (ac.size () != 1) { + _description->SetLabel (""); + return; + } + + shared_ptr<AudioContent> 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) { AudioContentList c = _parent->selected_audio (); @@ -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); } |
