wxPanel* overall_panel = new wxPanel (this, wxID_ANY);
_viewer = new FilmViewer (overall_panel, false, false);
+ _viewer->set_dcp_decode_reduction (Config::instance()->decode_reduction ());
_info = new PlayerInformation (overall_panel, _viewer);
wxSizer* main_sizer = new wxBoxSizer (wxVERTICAL);
main_sizer->Add (_viewer, 1, wxEXPAND | wxALL, 6);
{
_viewer->set_dcp_decode_reduction (reduction);
_info->triggered_update ();
+ Config::instance()->set_decode_reduction (reduction);
}
void load_dcp (boost::filesystem::path dir)
shared_ptr<Job> last = jm->get().back();
if (last->finished_in_error()) {
- error_dialog (this, std_to_wx (last->error_summary()) + ".\n");
+ error_dialog(this, std_to_wx(last->error_summary()) + ".\n", std_to_wx(last->error_details()));
return;
}
#endif
wxMenu* view = new wxMenu;
- view->AppendRadioItem (ID_view_scale_appropriate, _("Set decode resolution to match display"));
- view->AppendRadioItem (ID_view_scale_full, _("Decode at full resolution"));
- view->AppendRadioItem (ID_view_scale_half, _("Decode at half resolution"));
- view->AppendRadioItem (ID_view_scale_quarter, _("Decode at quarter resolution"));
+ optional<int> c = Config::instance()->decode_reduction();
+ view->AppendRadioItem(ID_view_scale_appropriate, _("Set decode resolution to match display"))->Check(!static_cast<bool>(c));
+ view->AppendRadioItem(ID_view_scale_full, _("Decode at full resolution"))->Check(c && c.get() == 0);
+ view->AppendRadioItem(ID_view_scale_half, _("Decode at half resolution"))->Check(c && c.get() == 1);
+ view->AppendRadioItem(ID_view_scale_quarter, _("Decode at quarter resolution"))->Check(c && c.get() == 2);
wxMenu* tools = new wxMenu;
tools->Append (ID_tools_check_for_updates, _("Check for updates"));
DCPOMATIC_ASSERT (dcp);
dcp->add_ov (wx_to_std(c->GetPath()));
dcp->examine (shared_ptr<Job>());
+ /* Maybe we just gained some subtitles */
+ if (dcp->subtitle) {
+ dcp->subtitle->set_use (true);
+ }
}
c->Destroy ();