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 ();
}