void reset_film(shared_ptr<Film> film = std::make_shared<Film>(boost::none))
{
_film = film;
+ film_changed();
+
_viewer.set_film(_film);
+ _viewer.seek(DCPTime(), true);
+ _info->triggered_update();
+ set_menu_sensitivity();
+
_controls->set_film (_film);
- film_changed();
}
/* Update anything that depends on properties of the film or its contents */
}
}
- _viewer.seek(DCPTime(), true);
- _info->triggered_update ();
-
- set_menu_sensitivity ();
-
auto old = _cpl_menu->GetMenuItems();
for (auto const& i: old) {
_cpl_menu->Remove (i);
dcp->add_ov (wx_to_std(c->GetPath()));
auto job = make_shared<ExamineContentJob>(_film, dcp, true);
- _examine_job_connection = job->Finished.connect(boost::bind(&DOMFrame::film_changed, this));
+
+ 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));
JobManager::instance()->add(job);
display_progress(variant::wx::dcpomatic_player(), _("Loading content"));