From 676737031d1957bc39814e7104257b8fe93f11bb Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 9 May 2019 01:02:41 +0100 Subject: [PATCH] Add system information dialog with OpenGL version. --- src/tools/dcpomatic.cc | 15 +++++++++++ src/wx/gl_video_view.cc | 3 --- src/wx/system_information_dialog.cc | 41 +++++++++++++++++++++++++++++ src/wx/system_information_dialog.h | 28 ++++++++++++++++++++ src/wx/wscript | 1 + 5 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 src/wx/system_information_dialog.cc create mode 100644 src/wx/system_information_dialog.h diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc index 508390a38..ee51d0717 100644 --- a/src/tools/dcpomatic.cc +++ b/src/tools/dcpomatic.cc @@ -40,6 +40,7 @@ #include "wx/content_panel.h" #include "wx/report_problem_dialog.h" #include "wx/video_waveform_dialog.h" +#include "wx/system_information_dialog.h" #include "wx/save_template_dialog.h" #include "wx/templates_dialog.h" #include "wx/nag_dialog.h" @@ -229,6 +230,7 @@ enum { ID_jobs_open_dcp_in_player, ID_view_closed_captions, ID_view_video_waveform, + ID_view_system_information, ID_tools_hints, ID_tools_encoding_servers, ID_tools_manage_templates, @@ -251,6 +253,7 @@ public: explicit DOMFrame (wxString const & title) : wxFrame (NULL, -1, title) , _video_waveform_dialog (0) + , _system_information_dialog (0) , _hints_dialog (0) , _servers_list_dialog (0) , _config_dialog (0) @@ -319,6 +322,7 @@ public: Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_open_dcp_in_player, this), ID_jobs_open_dcp_in_player); Bind (wxEVT_MENU, boost::bind (&DOMFrame::view_closed_captions, this), ID_view_closed_captions); Bind (wxEVT_MENU, boost::bind (&DOMFrame::view_video_waveform, this), ID_view_video_waveform); + Bind (wxEVT_MENU, boost::bind (&DOMFrame::view_system_information, this), ID_view_system_information); Bind (wxEVT_MENU, boost::bind (&DOMFrame::tools_hints, this), ID_tools_hints); Bind (wxEVT_MENU, boost::bind (&DOMFrame::tools_encoding_servers, this), ID_tools_encoding_servers); Bind (wxEVT_MENU, boost::bind (&DOMFrame::tools_manage_templates, this), ID_tools_manage_templates); @@ -987,6 +991,15 @@ private: _video_waveform_dialog->Show (); } + void view_system_information () + { + if (!_system_information_dialog) { + _system_information_dialog = new SystemInformationDialog (this); + } + + _system_information_dialog->Show (); + } + void tools_hints () { if (!_hints_dialog) { @@ -1268,6 +1281,7 @@ private: wxMenu* view = new wxMenu; add_item (view, _("Closed captions..."), ID_view_closed_captions, NEEDS_FILM); add_item (view, _("Video waveform..."), ID_view_video_waveform, NEEDS_FILM); + add_item (view, _("System information..."), ID_view_system_information, 0); wxMenu* tools = new wxMenu; add_item (tools, _("Hints..."), ID_tools_hints, NEEDS_FILM); @@ -1422,6 +1436,7 @@ private: boost::shared_ptr _film_viewer; StandardControls* _controls; VideoWaveformDialog* _video_waveform_dialog; + SystemInformationDialog* _system_information_dialog; HintsDialog* _hints_dialog; ServersListDialog* _servers_list_dialog; wxPreferencesEditor* _config_dialog; diff --git a/src/wx/gl_video_view.cc b/src/wx/gl_video_view.cc index a5537b3a4..5c18d28cb 100644 --- a/src/wx/gl_video_view.cc +++ b/src/wx/gl_video_view.cc @@ -116,9 +116,6 @@ GLVideoView::paint (wxPaintEvent &) void GLVideoView::set_image (shared_ptr image) { - /* XXX: put this somewhere sensible */ - cout << glGetString (GL_VERSION) << "\n"; - DCPOMATIC_ASSERT (image->pixel_format() == AV_PIX_FMT_RGB24); DCPOMATIC_ASSERT (!image->aligned()); diff --git a/src/wx/system_information_dialog.cc b/src/wx/system_information_dialog.cc new file mode 100644 index 000000000..3a2b3bbf6 --- /dev/null +++ b/src/wx/system_information_dialog.cc @@ -0,0 +1,41 @@ +/* + Copyright (C) 2014 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + +#include "system_information_dialog.h" +#include "wx_util.h" + +#ifdef DCPOMATIC_OSX +#include +#include +#else +#include +#include +#endif + +using std::string; + +SystemInformationDialog::SystemInformationDialog (wxWindow* parent) + : TableDialog (parent, _("System information"), 2, 1, false) +{ + add (_("OpenGL version"), true); + add (std_to_wx((char const *) glGetString(GL_VERSION)), false); + + layout (); +} diff --git a/src/wx/system_information_dialog.h b/src/wx/system_information_dialog.h new file mode 100644 index 000000000..b82c6341b --- /dev/null +++ b/src/wx/system_information_dialog.h @@ -0,0 +1,28 @@ +/* + Copyright (C) 2014 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + +#include "table_dialog.h" + +class SystemInformationDialog : public TableDialog +{ +public: + SystemInformationDialog (wxWindow* parent); + +}; diff --git a/src/wx/wscript b/src/wx/wscript index 580e49308..9847187c6 100644 --- a/src/wx/wscript +++ b/src/wx/wscript @@ -120,6 +120,7 @@ sources = """ static_text.cc subtitle_appearance_dialog.cc system_font_dialog.cc + system_information_dialog.cc table_dialog.cc templates_dialog.cc text_panel.cc -- 2.30.2