Add system information dialog with OpenGL version.
authorCarl Hetherington <cth@carlh.net>
Thu, 9 May 2019 00:02:41 +0000 (01:02 +0100)
committerCarl Hetherington <cth@carlh.net>
Fri, 10 May 2019 22:43:55 +0000 (23:43 +0100)
src/tools/dcpomatic.cc
src/wx/gl_video_view.cc
src/wx/system_information_dialog.cc [new file with mode: 0644]
src/wx/system_information_dialog.h [new file with mode: 0644]
src/wx/wscript

index 508390a..ee51d07 100644 (file)
@@ -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<FilmViewer> _film_viewer;
        StandardControls* _controls;
        VideoWaveformDialog* _video_waveform_dialog;
+       SystemInformationDialog* _system_information_dialog;
        HintsDialog* _hints_dialog;
        ServersListDialog* _servers_list_dialog;
        wxPreferencesEditor* _config_dialog;
index a5537b3..5c18d28 100644 (file)
@@ -116,9 +116,6 @@ GLVideoView::paint (wxPaintEvent &)
 void
 GLVideoView::set_image (shared_ptr<const Image> 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 (file)
index 0000000..3a2b3bb
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+    Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
+
+    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 <http://www.gnu.org/licenses/>.
+
+*/
+
+#include "system_information_dialog.h"
+#include "wx_util.h"
+
+#ifdef DCPOMATIC_OSX
+#include <OpenGL/glu.h>
+#include <OpenGL/glext.h>
+#else
+#include <GL/glu.h>
+#include <GL/glext.h>
+#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 (file)
index 0000000..b82c634
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+    Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
+
+    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 <http://www.gnu.org/licenses/>.
+
+*/
+
+#include "table_dialog.h"
+
+class SystemInformationDialog : public TableDialog
+{
+public:
+       SystemInformationDialog (wxWindow* parent);
+
+};
index 580e493..9847187 100644 (file)
@@ -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