fix coloradjustment via hyperion remote (#362)

* - fix coloradjustment via hyperion remote
- several small cleanups/refactorings

* fix color is shown as unknown in json serverinfo

* fix active color is not shown when autoselect is reactivated
This commit is contained in:
redPanther
2017-01-10 19:58:41 +01:00
committed by GitHub
parent ef14eb08c9
commit b2a6366176
15 changed files with 96 additions and 118 deletions

View File

@@ -17,25 +17,25 @@ std::map<std::string,Logger*> *Logger::LoggerMap = nullptr;
Logger::LogLevel Logger::GLOBAL_MIN_LOG_LEVEL = Logger::UNSET;
LoggerManager* LoggerManager::_instance = nullptr;
Logger* Logger::getInstance(std::string name, Logger::LogLevel minLevel)
Logger* Logger::getInstance(QString name, Logger::LogLevel minLevel)
{
std::string loggerName = name.toStdString();
Logger* log = nullptr;
if (LoggerMap == nullptr)
{
LoggerMap = new std::map<std::string,Logger*>;
}
if ( LoggerMap->find(name) == LoggerMap->end() )
if ( LoggerMap->find(loggerName) == LoggerMap->end() )
{
log = new Logger(name,minLevel);
LoggerMap->insert(std::pair<std::string,Logger*>(name,log)); // compat version, replace it with following line if we have 100% c++11
//LoggerMap->emplace(name,log); // not compat with older linux distro's e.g. wheezy
log = new Logger(loggerName,minLevel);
LoggerMap->insert(std::pair<std::string,Logger*>(loggerName,log)); // compat version, replace it with following line if we have 100% c++11
//LoggerMap->emplace(loggerName,log); // not compat with older linux distro's e.g. wheezy
connect(log, SIGNAL(newLogMessage(Logger::T_LOG_MESSAGE)), LoggerManager::getInstance(), SLOT(handleNewLogMessage(Logger::T_LOG_MESSAGE)));
}
else
{
log = LoggerMap->at(name);
log = LoggerMap->at(loggerName);
}
return log;
@@ -71,7 +71,7 @@ void Logger::setLogLevel(LogLevel level,std::string name)
}
else
{
Logger* log = Logger::getInstance(name,level);
Logger* log = Logger::getInstance(QString::fromStdString(name),level);
log->setMinLevel(level);
}
}
@@ -83,7 +83,7 @@ Logger::LogLevel Logger::getLogLevel(std::string name)
return GLOBAL_MIN_LOG_LEVEL;
}
Logger* log = Logger::getInstance(name);
Logger* log = Logger::getInstance(QString::fromStdString(name));
return log->getMinLevel();
}

View File

@@ -6,12 +6,16 @@
// Utils includes
#include <utils/RgbChannelAdjustment.h>
RgbChannelAdjustment::RgbChannelAdjustment()
RgbChannelAdjustment::RgbChannelAdjustment(QString channelName)
: _channelName(channelName)
, _log(Logger::getInstance(channelName))
{
setAdjustment(UINT8_MAX, UINT8_MAX, UINT8_MAX);
//setAdjustment(UINT8_MAX, UINT8_MAX, UINT8_MAX);
}
RgbChannelAdjustment::RgbChannelAdjustment(uint8_t adjustR, uint8_t adjustG, uint8_t adjustB)
RgbChannelAdjustment::RgbChannelAdjustment(uint8_t adjustR, uint8_t adjustG, uint8_t adjustB, QString channelName)
: _channelName(channelName)
, _log(Logger::getInstance(channelName))
{
setAdjustment(adjustR, adjustG, adjustB);
}
@@ -75,6 +79,7 @@ uint8_t RgbChannelAdjustment::getAdjustmentB(uint8_t inputB) const
void RgbChannelAdjustment::initializeMapping()
{
Debug(_log, "initialize mapping with %d,%d,%d", _adjust[RED], _adjust[GREEN], _adjust[BLUE]);
// initialize linear mapping
for (unsigned channel=0; channel<3; channel++)
for (unsigned idx=0; idx<=UINT8_MAX; idx++)