X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Faudio_panel.cc;h=7a7b4674cab0de3599ac9c4b689ebf09a62f9e67;hb=86346ad4f67810e1dadad5d22fbc676b02c7faa7;hp=82604763c8e690b8e3c884703617794b2e475b6f;hpb=e80e6a8567dd107f5ea3b708975cb5fd92112a57;p=dcpomatic.git diff --git a/src/wx/audio_panel.cc b/src/wx/audio_panel.cc index 82604763c..7a7b4674c 100644 --- a/src/wx/audio_panel.cc +++ b/src/wx/audio_panel.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2014 Carl Hetherington + Copyright (C) 2012-2015 Carl Hetherington This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -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); @@ -105,7 +114,7 @@ AudioPanel::AudioPanel (ContentPanel* p) _gain_calculate_button->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&AudioPanel::gain_calculate_button_clicked, this)); _processor->Bind (wxEVT_COMMAND_CHOICE_SELECTED, boost::bind (&AudioPanel::processor_changed, this)); - _mapping->Changed.connect (boost::bind (&AudioPanel::mapping_changed, this, _1)); + _mapping_connection = _mapping->Changed.connect (boost::bind (&AudioPanel::mapping_changed, this, _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 (); @@ -164,9 +178,9 @@ void AudioPanel::gain_calculate_button_clicked () { GainCalculatorDialog* d = new GainCalculatorDialog (this); - d->ShowModal (); + int const r = d->ShowModal (); - if (d->wanted_fader() == 0 || d->actual_fader() == 0) { + if (r == wxID_CANCEL || d->wanted_fader() == 0 || d->actual_fader() == 0) { d->Destroy (); return; } @@ -245,6 +259,18 @@ AudioPanel::processor_changed () } } +void +AudioPanel::setup_description () +{ + AudioContentList ac = _parent->selected_audio (); + if (ac.size () != 1) { + _description->SetLabel (""); + return; + } + + _description->SetLabel (std_to_wx (ac.front()->processing_description ())); +} + void AudioPanel::mapping_changed (AudioMapping m) { @@ -276,6 +302,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); }