summaryrefslogtreecommitdiff
path: root/src/wx/audio_dialog.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/wx/audio_dialog.cc')
-rw-r--r--src/wx/audio_dialog.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/wx/audio_dialog.cc b/src/wx/audio_dialog.cc
index 11efc153c..32864ca15 100644
--- a/src/wx/audio_dialog.cc
+++ b/src/wx/audio_dialog.cc
@@ -54,6 +54,9 @@ AudioDialog::AudioDialog (wxWindow* parent, boost::shared_ptr<Film> film)
void
AudioDialog::set_film (boost::shared_ptr<Film> f)
{
+ _film_connection.disconnect ();
+ _film = f;
+
shared_ptr<AudioAnalysis> a;
try {
@@ -70,6 +73,8 @@ AudioDialog::set_film (boost::shared_ptr<Film> f)
}
_channel->SetSelection (0);
+
+ _film_connection = f->Changed.connect (bind (&AudioDialog::film_changed, this, _1));
}
void
@@ -77,3 +82,11 @@ AudioDialog::channel_changed (wxCommandEvent &)
{
_plot->set_channel (_channel->GetSelection ());
}
+
+void
+AudioDialog::film_changed (Film::Property p)
+{
+ if (p == Film::AUDIO_GAIN) {
+ _plot->set_gain (_film->audio_gain ());
+ }
+}