diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-10-14 12:51:28 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-10-14 12:51:28 +0100 |
| commit | 30917783d3e5c639b61935b616049d745213942f (patch) | |
| tree | eadc46e9616db74420d253ab670079328ff01fa7 /src | |
| parent | 2610abb85fc82056c51c540d7a3d8f691dfe3403 (diff) | |
Only show existing DCP channels in the audio dialog (#715).
Diffstat (limited to 'src')
| -rw-r--r-- | src/wx/audio_dialog.cc | 11 | ||||
| -rw-r--r-- | src/wx/audio_dialog.h | 1 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/wx/audio_dialog.cc b/src/wx/audio_dialog.cc index 814dc596f..8e672150e 100644 --- a/src/wx/audio_dialog.cc +++ b/src/wx/audio_dialog.cc @@ -40,6 +40,7 @@ using boost::dynamic_pointer_cast; AudioDialog::AudioDialog (wxWindow* parent, shared_ptr<Film> film, shared_ptr<AudioContent> content) : wxDialog (parent, wxID_ANY, _("Audio"), wxDefaultPosition, wxSize (640, 512), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxFULL_REPAINT_ON_RESIZE) , _film (film) + , _channels (film->audio_channels ()) , _plot (0) { wxFont subheading_font (*wxNORMAL_FONT); @@ -65,7 +66,7 @@ AudioDialog::AudioDialog (wxWindow* parent, shared_ptr<Film> film, shared_ptr<Au right->Add (m, 1, wxALIGN_CENTER_VERTICAL | wxTOP | wxBOTTOM, 16); } - for (int i = 0; i < MAX_DCP_AUDIO_CHANNELS; ++i) { + for (int i = 0; i < _channels; ++i) { _channel_checkbox[i] = new wxCheckBox (this, wxID_ANY, std_to_wx (audio_channel_name (i))); right->Add (_channel_checkbox[i], 0, wxEXPAND | wxALL, 3); _channel_checkbox[i]->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&AudioDialog::channel_clicked, this, _1)); @@ -157,11 +158,11 @@ AudioDialog::try_to_load_analysis () /* Set up some defaults if no check boxes are checked */ int i = 0; - while (i < MAX_DCP_AUDIO_CHANNELS && (!_channel_checkbox[i] || !_channel_checkbox[i]->GetValue ())) { + while (i < _channels && (!_channel_checkbox[i] || !_channel_checkbox[i]->GetValue ())) { ++i; } - if (i == MAX_DCP_AUDIO_CHANNELS && _channel_checkbox[0]) { + if (i == _channels && _channel_checkbox[0]) { _channel_checkbox[0]->SetValue (true); _plot->set_channel_visible (0, true); } @@ -202,11 +203,11 @@ void AudioDialog::channel_clicked (wxCommandEvent& ev) { int c = 0; - while (c < MAX_DCP_AUDIO_CHANNELS && ev.GetEventObject() != _channel_checkbox[c]) { + while (c < _channels && ev.GetEventObject() != _channel_checkbox[c]) { ++c; } - DCPOMATIC_ASSERT (c < MAX_DCP_AUDIO_CHANNELS); + DCPOMATIC_ASSERT (c < _channels); _plot->set_channel_visible (c, _channel_checkbox[c]->GetValue ()); } diff --git a/src/wx/audio_dialog.h b/src/wx/audio_dialog.h index c99261150..588f71159 100644 --- a/src/wx/audio_dialog.h +++ b/src/wx/audio_dialog.h @@ -45,6 +45,7 @@ private: boost::shared_ptr<AudioAnalysis> _analysis; boost::weak_ptr<Film> _film; + int _channels; boost::shared_ptr<const Playlist> _playlist; AudioPlot* _plot; wxStaticText* _peak_time; |
