summaryrefslogtreecommitdiff
path: root/src/wx/audio_dialog.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-08-19 01:04:59 +0100
committerCarl Hetherington <cth@carlh.net>2018-08-19 01:29:04 +0100
commit6c7489e5d778d3e71065d88a094a7383ba2c117d (patch)
treee3f05ad03095d88d297c7d61e03e265d28a97fa3 /src/wx/audio_dialog.cc
parent9a27d60ea7888d300a5a2414a477091428589b82 (diff)
Replace May/Done/NotDone signal sets with one signal and extend
this treatment to anything that caused Player::setup_pieces. This should fix out-of-sequence Player emissions caused by setup_pieces being called by one thread while the butler is calling pass().
Diffstat (limited to 'src/wx/audio_dialog.cc')
-rw-r--r--src/wx/audio_dialog.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/wx/audio_dialog.cc b/src/wx/audio_dialog.cc
index 8c015ab68..e1f7c15a6 100644
--- a/src/wx/audio_dialog.cc
+++ b/src/wx/audio_dialog.cc
@@ -150,7 +150,7 @@ AudioDialog::AudioDialog (wxWindow* parent, shared_ptr<Film> film, shared_ptr<Co
overall_sizer->Layout ();
overall_sizer->SetSizeHints (this);
- _film_connection = film->ContentChanged.connect (boost::bind (&AudioDialog::content_changed, this, _2));
+ _film_connection = film->ContentChange.connect (boost::bind (&AudioDialog::content_change, this, _1, _3));
DCPOMATIC_ASSERT (film->directory());
SetTitle(wxString::Format(_("DCP-o-matic audio - %s"), std_to_wx(film->directory().get().string())));
@@ -282,8 +282,12 @@ AudioDialog::channel_clicked (wxCommandEvent& ev)
}
void
-AudioDialog::content_changed (int p)
+AudioDialog::content_change (ChangeType type, int p)
{
+ if (type != CHANGE_TYPE_DONE) {
+ return;
+ }
+
if (p == AudioContentProperty::STREAMS) {
try_to_load_analysis ();
} else if (p == AudioContentProperty::GAIN) {