summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-06-21 11:55:40 +0200
committerCarl Hetherington <cth@carlh.net>2025-07-10 23:13:14 +0200
commitd1c151cfdedbf1946d30e9072dc4a5b2ea5f2f80 (patch)
tree6d1d8858662199ceaf2e98c8b918ce83481ef089
parent1ddb4b09a852a1d950dfbde0eb0e0afe7f1a27b1 (diff)
Rename film_changed() and move some stuff into it.
-rw-r--r--src/tools/dcpomatic_player.cc31
1 files changed, 12 insertions, 19 deletions
diff --git a/src/tools/dcpomatic_player.cc b/src/tools/dcpomatic_player.cc
index d40bd11bd..77f7fa29e 100644
--- a/src/tools/dcpomatic_player.cc
+++ b/src/tools/dcpomatic_player.cc
@@ -474,19 +474,13 @@ public:
void reset_film(shared_ptr<Film> film = std::make_shared<Film>(boost::none))
{
_film = film;
- film_changed();
+ prepare_to_play_film();
- _viewer.set_film(_film);
- _viewer.seek(DCPTime(), true);
- _viewer.set_eyes(_view_eye_left->IsChecked() ? Eyes::LEFT : Eyes::RIGHT);
- _info->triggered_update();
- set_menu_sensitivity();
- _controls->set_film (_film);
}
- /* Update anything that depends on properties of the film or its contents */
- void film_changed()
+ /* _film is now something new: set up to play it */
+ void prepare_to_play_film()
{
if (_viewer.playing()) {
_viewer.stop();
@@ -573,6 +567,14 @@ public:
} else {
_film->set_container(auto_ratio);
}
+
+ _viewer.set_film(_film);
+ _viewer.seek(DCPTime(), true);
+ _viewer.set_eyes(_view_eye_left->IsChecked() ? Eyes::LEFT : Eyes::RIGHT);
+ _info->triggered_update();
+ set_menu_sensitivity();
+
+ _controls->set_film (_film);
}
void load_stress_script (boost::filesystem::path path)
@@ -772,16 +774,7 @@ private:
}
auto job = make_shared<ExamineContentJob>(_film, dcp, true);
-
- auto film_ready = [this]() {
- film_changed();
- _viewer.set_film(_film);
- _viewer.seek(DCPTime(), true);
- _info->triggered_update();
- set_menu_sensitivity();
- };
-
- _examine_job_connection = job->Finished.connect(boost::bind<void>(film_ready));
+ _examine_job_connection = job->Finished.connect(boost::bind(&DOMFrame::prepare_to_play_film, this);
JobManager::instance()->add(job);
display_progress(variant::wx::dcpomatic_player(), _("Loading content"));