private:
+ void examine_content ()
+ {
+ DCPOMATIC_ASSERT (_film);
+ auto dcp = dynamic_pointer_cast<DCPContent>(_film->content().front());
+ DCPOMATIC_ASSERT (dcp);
+ dcp->examine (_film, shared_ptr<Job>());
+
+ /* Examining content re-creates the TextContent objects, so we must re-enable them */
+ for (auto i: dcp->text) {
+ i->set_use (true);
+ }
+ }
+
bool report_errors_from_last_job (wxWindow* parent) const
{
auto jm = JobManager::instance ();
DCPOMATIC_ASSERT (dcp);
try {
if (dcp) {
+ _viewer->set_coalesce_player_changes (true);
dcp->add_kdm (dcp::EncryptedKDM(dcp::file_to_string(wx_to_std(d->GetPath()), MAX_KDM_SIZE)));
- dcp->examine (_film, shared_ptr<Job>());
+ examine_content();
+ _viewer->set_coalesce_player_changes (false);
}
} catch (exception& e) {
error_dialog (this, wxString::Format (_("Could not load KDM.")), std_to_wx(e.what()));
--id;
}
+ _viewer->set_coalesce_player_changes (true);
dcp->set_cpl ((*i)->id());
- dcp->examine (_film, shared_ptr<Job>());
+ examine_content ();
+ _viewer->set_coalesce_player_changes (false);
+
_info->triggered_update ();
}
return;
}
- if (uc->state() == UpdateChecker::YES) {
+ if (uc->state() == UpdateChecker::State::YES) {
auto dialog = new UpdateDialog (this, uc->stable (), uc->test ());
dialog->ShowModal ();
dialog->Destroy ();
- } else if (uc->state() == UpdateChecker::FAILED) {
+ } else if (uc->state() == UpdateChecker::State::FAILED) {
error_dialog (this, _("The DCP-o-matic download server could not be contacted."));
} else {
error_dialog (this, _("There are no new versions of DCP-o-matic available."));