summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-05-10 02:11:31 +0100
committerCarl Hetherington <cth@carlh.net>2019-05-10 02:11:31 +0100
commit9d4773a47e7d05b3243d3a33a46fe3e850aa232d (patch)
treec4b0c3d343161b48bb05f1c94b9261ec6a14dba1
parentd338a9656de4a33a50a1eede482edc3e9d3351eb (diff)
Allow simple/GL config from the player.
-rw-r--r--src/wx/player_config_dialog.cc36
1 files changed, 35 insertions, 1 deletions
diff --git a/src/wx/player_config_dialog.cc b/src/wx/player_config_dialog.cc
index ef58bab00..6f4aaeb21 100644
--- a/src/wx/player_config_dialog.cc
+++ b/src/wx/player_config_dialog.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2019 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
@@ -102,6 +102,20 @@ private:
table->Add (_image_display, wxGBPosition(r, 1));
++r;
+ add_label_to_sizer (table, _panel, _("Video display mode"), true, wxGBPosition(r, 0));
+ _video_display_mode = new wxChoice (_panel, wxID_ANY);
+ _video_display_mode->Append (_("Simple (safer)"));
+ _video_display_mode->Append (_("OpenGL (faster)"));
+ table->Add (_video_display_mode, wxGBPosition(r, 1));
+ ++r;
+
+ wxStaticText* restart = add_label_to_sizer (table, _panel, _("(restart DCP-o-matic to change display mode)"), false, wxGBPosition(r, 0));
+ wxFont font = restart->GetFont();
+ font.SetStyle (wxFONTSTYLE_ITALIC);
+ font.SetPointSize (font.GetPointSize() - 1);
+ restart->SetFont (font);
+ ++r;
+
_respect_kdm = new CheckBox (_panel, _("Respect KDM validity periods"));
table->Add (_respect_kdm, wxGBPosition(r, 0), wxGBSpan(1, 2));
++r;
@@ -130,6 +144,7 @@ private:
_player_mode->Bind (wxEVT_CHOICE, bind(&PlayerGeneralPage::player_mode_changed, this));
_image_display->Bind (wxEVT_CHOICE, bind(&PlayerGeneralPage::image_display_changed, this));
+ _video_display_mode->Bind (wxEVT_CHOICE, bind(&PlayerGeneralPage::video_display_mode_changed, this));
_respect_kdm->Bind (wxEVT_CHECKBOX, bind(&PlayerGeneralPage::respect_kdm_changed, this));
_activity_log_file->Bind (wxEVT_FILEPICKER_CHANGED, bind(&PlayerGeneralPage::activity_log_file_changed, this));
_debug_log_file->Bind (wxEVT_FILEPICKER_CHANGED, bind(&PlayerGeneralPage::debug_log_file_changed, this));
@@ -157,6 +172,15 @@ private:
break;
}
+ switch (config->video_view_type()) {
+ case Config::VIDEO_VIEW_SIMPLE:
+ checked_set (_video_display_mode, 0);
+ break;
+ case Config::VIDEO_VIEW_OPENGL:
+ checked_set (_video_display_mode, 1);
+ break;
+ }
+
checked_set (_image_display, config->image_display());
checked_set (_respect_kdm, config->respect_kdm_validity_periods());
if (config->player_activity_log_file()) {
@@ -194,6 +218,15 @@ private:
Config::instance()->set_image_display(_image_display->GetSelection());
}
+ void video_display_mode_changed ()
+ {
+ if (_video_display_mode->GetSelection() == 0) {
+ Config::instance()->set_video_view_type (Config::VIDEO_VIEW_SIMPLE);
+ } else {
+ Config::instance()->set_video_view_type (Config::VIDEO_VIEW_OPENGL);
+ }
+ }
+
void respect_kdm_changed ()
{
Config::instance()->set_respect_kdm_validity_periods(_respect_kdm->GetValue());
@@ -223,6 +256,7 @@ private:
wxChoice* _player_mode;
wxChoice* _image_display;
+ wxChoice* _video_display_mode;
wxCheckBox* _respect_kdm;
FilePickerCtrl* _activity_log_file;
FilePickerCtrl* _debug_log_file;