From f58d6d91b5b681b64ef4278d7cdf4d888a0d2877 Mon Sep 17 00:00:00 2001 From: Alexander Bock Date: Thu, 18 Jun 2015 14:29:34 +0200 Subject: [PATCH] Enable setting the capabilities verbosity using the configuration file --- apps/OpenSpace/main.cpp | 2 +- include/openspace/engine/configurationmanager.h | 1 + modules/newhorizons/util/imagesequencer2.cpp | 1 + src/engine/configurationmanager.cpp | 1 + src/engine/openspaceengine.cpp | 16 +++++++++++++++- 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/apps/OpenSpace/main.cpp b/apps/OpenSpace/main.cpp index 0edbe2edc9..3b36a36c76 100644 --- a/apps/OpenSpace/main.cpp +++ b/apps/OpenSpace/main.cpp @@ -53,7 +53,7 @@ std::pair supportedOpenGLVersion () { //On OS X we need to explicitly set the version and specify that we are using CORE profile //to be able to use glGetIntegerv(GL_MAJOR_VERSION, &major) and glGetIntegerv(GL_MINOR_VERSION, &minor) //explicitly setting to OGL 3.3 CORE works since all Mac's now support at least 3.3 -#if __APPLE__ +#ifdef __APPLE__ glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); diff --git a/include/openspace/engine/configurationmanager.h b/include/openspace/engine/configurationmanager.h index bd11a2dd23..c87c9183ab 100644 --- a/include/openspace/engine/configurationmanager.h +++ b/include/openspace/engine/configurationmanager.h @@ -49,6 +49,7 @@ public: static const std::string KeyLogLevel; static const std::string KeyLogImmediateFlush; static const std::string KeyLogs; + static const std::string KeyCapabilitiesVerbosity; static const std::string KeyDisableMasterRendering; static const std::string KeyDownloadRequestURL; diff --git a/modules/newhorizons/util/imagesequencer2.cpp b/modules/newhorizons/util/imagesequencer2.cpp index aea8dd4238..cc880b7214 100644 --- a/modules/newhorizons/util/imagesequencer2.cpp +++ b/modules/newhorizons/util/imagesequencer2.cpp @@ -306,6 +306,7 @@ void ImageSequencer2::runSequenceParser(SequenceParser* parser){ std::vector in5 = parser->getCaptureProgression(); // check for sanity + // TODO: This cannot crash the program! ---abock ghoul_assert(in1.size() > 0, "Sequencer failed to load Translation" ); ghoul_assert(in2.size() > 0, "Sequencer failed to load Image data" ); ghoul_assert(in3.size() > 0, "Sequencer failed to load Instrument Switching schedule"); diff --git a/src/engine/configurationmanager.cpp b/src/engine/configurationmanager.cpp index 5c2c9bf3ed..e8a423df53 100644 --- a/src/engine/configurationmanager.cpp +++ b/src/engine/configurationmanager.cpp @@ -57,6 +57,7 @@ const std::string ConfigurationManager::KeySpiceLeapsecondKernel = "SpiceKernel. const std::string ConfigurationManager::KeyLogLevel = "Logging.LogLevel"; const std::string ConfigurationManager::KeyLogImmediateFlush = "Logging.ImmediateFlush"; const std::string ConfigurationManager::KeyLogs = "Logging.Logs"; +const std::string ConfigurationManager::KeyCapabilitiesVerbosity = "Logging.CapabilitiesVerbosity"; const std::string ConfigurationManager::KeyDisableMasterRendering = "DisableRenderingOnMaster"; const std::string ConfigurationManager::KeyDownloadRequestURL = "DownloadRequestURL"; diff --git a/src/engine/openspaceengine.cpp b/src/engine/openspaceengine.cpp index 0b9ec647ba..2e1421fe2e 100644 --- a/src/engine/openspaceengine.cpp +++ b/src/engine/openspaceengine.cpp @@ -288,7 +288,21 @@ bool OpenSpaceEngine::initialize() { SysCap.addComponent(new ghoul::systemcapabilities::GeneralCapabilitiesComponent); SysCap.addComponent(new ghoul::systemcapabilities::OpenGLCapabilitiesComponent); SysCap.detectCapabilities(); - SysCap.logCapabilities(); + + using Verbosity = ghoul::systemcapabilities::SystemCapabilitiesComponent::Verbosity; + Verbosity verbosity = Verbosity::Default; + if (configurationManager()->hasKeyAndValue(ConfigurationManager::KeyCapabilitiesVerbosity)) { + std::map verbosityMap = { + { "Minimal", Verbosity::Minimal }, + { "Default", Verbosity::Default }, + { "Full", Verbosity::Full } + }; + + std::string v = configurationManager()->value(ConfigurationManager::KeyCapabilitiesVerbosity); + if (verbosityMap.find(v) != verbosityMap.end()) + verbosity = verbosityMap[v]; + } + SysCap.logCapabilities(verbosity); std::string requestURL = ""; bool success = configurationManager()->getValue(ConfigurationManager::KeyDownloadRequestURL, requestURL);