mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
Update hyperion-remote.cpp
Former-commit-id: dec50a509837d19120ed9699a2618b61d77ec00d
This commit is contained in:
parent
5c670e4601
commit
1b50fdd74e
@ -79,7 +79,7 @@ int main(int argc, char * argv[])
|
|||||||
SwitchParameter<> & argHelp = parameters.add<SwitchParameter<> >('h', "help" , "Show this help message and exit");
|
SwitchParameter<> & argHelp = parameters.add<SwitchParameter<> >('h', "help" , "Show this help message and exit");
|
||||||
StringParameter & argIdC = parameters.add<StringParameter> ('y', "qualifier" , "Identifier(qualifier) of the correction to set");
|
StringParameter & argIdC = parameters.add<StringParameter> ('y', "qualifier" , "Identifier(qualifier) of the correction to set");
|
||||||
CorrectionParameter & argCorrection = parameters.add<CorrectionParameter>('Y', "correction" , "Set the correction of the leds (requires 3 space seperated values between 0 and 255)");
|
CorrectionParameter & argCorrection = parameters.add<CorrectionParameter>('Y', "correction" , "Set the correction of the leds (requires 3 space seperated values between 0 and 255)");
|
||||||
StringParameter & argIdT = parameters.add<StringParameter> ('z', "qualifier" , "Identifier(qualifier) of the temperature to set");
|
StringParameter & argIdT = parameters.add<StringParameter> ('z', "qualifier" , "Identifier(qualifier) of the temperature correction to set");
|
||||||
CorrectionParameter & argTemperature = parameters.add<CorrectionParameter>('Z', "temperature" , "Set the temperature correction of the leds (requires 3 space seperated values between 0 and 255)");
|
CorrectionParameter & argTemperature = parameters.add<CorrectionParameter>('Z', "temperature" , "Set the temperature correction of the leds (requires 3 space seperated values between 0 and 255)");
|
||||||
|
|
||||||
// set the default values
|
// set the default values
|
||||||
@ -100,9 +100,10 @@ int main(int argc, char * argv[])
|
|||||||
|
|
||||||
// check if at least one of the available color transforms is set
|
// check if at least one of the available color transforms is set
|
||||||
bool colorTransform = argSaturation.isSet() || argValue.isSet() || argSaturationL.isSet() || argLuminance.isSet() || argThreshold.isSet() || argGamma.isSet() || argBlacklevel.isSet() || argWhitelevel.isSet();
|
bool colorTransform = argSaturation.isSet() || argValue.isSet() || argSaturationL.isSet() || argLuminance.isSet() || argThreshold.isSet() || argGamma.isSet() || argBlacklevel.isSet() || argWhitelevel.isSet();
|
||||||
|
bool colorModding = colorTransform || argCorrection.isSet() || argTemperature.isSet();
|
||||||
|
|
||||||
// check that exactly one command was given
|
// check that exactly one command was given
|
||||||
int commandCount = count({argColor.isSet(), argImage.isSet(), argEffect.isSet(), argServerInfo.isSet(), argClear.isSet(), argClearAll.isSet(), colorTransform, argCorrection.isSet(), argTemperature.isSet()});
|
int commandCount = count({argColor.isSet(), argImage.isSet(), argEffect.isSet(), argServerInfo.isSet(), argClear.isSet(), argClearAll.isSet(), colorModding});
|
||||||
if (commandCount != 1)
|
if (commandCount != 1)
|
||||||
{
|
{
|
||||||
std::cerr << (commandCount == 0 ? "No command found." : "Multiple commands found.") << " Provide exactly one of the following options:" << std::endl;
|
std::cerr << (commandCount == 0 ? "No command found." : "Multiple commands found.") << " Provide exactly one of the following options:" << std::endl;
|
||||||
@ -112,7 +113,7 @@ int main(int argc, char * argv[])
|
|||||||
std::cerr << " " << argServerInfo.usageLine() << std::endl;
|
std::cerr << " " << argServerInfo.usageLine() << std::endl;
|
||||||
std::cerr << " " << argClear.usageLine() << std::endl;
|
std::cerr << " " << argClear.usageLine() << std::endl;
|
||||||
std::cerr << " " << argClearAll.usageLine() << std::endl;
|
std::cerr << " " << argClearAll.usageLine() << std::endl;
|
||||||
std::cerr << "one or more of the available color transformations:" << std::endl;
|
std::cerr << "or one or more of the available color modding operations:" << std::endl;
|
||||||
std::cerr << " " << argId.usageLine() << std::endl;
|
std::cerr << " " << argId.usageLine() << std::endl;
|
||||||
std::cerr << " " << argSaturation.usageLine() << std::endl;
|
std::cerr << " " << argSaturation.usageLine() << std::endl;
|
||||||
std::cerr << " " << argValue.usageLine() << std::endl;
|
std::cerr << " " << argValue.usageLine() << std::endl;
|
||||||
@ -122,10 +123,8 @@ int main(int argc, char * argv[])
|
|||||||
std::cerr << " " << argGamma.usageLine() << std::endl;
|
std::cerr << " " << argGamma.usageLine() << std::endl;
|
||||||
std::cerr << " " << argBlacklevel.usageLine() << std::endl;
|
std::cerr << " " << argBlacklevel.usageLine() << std::endl;
|
||||||
std::cerr << " " << argWhitelevel.usageLine() << std::endl;
|
std::cerr << " " << argWhitelevel.usageLine() << std::endl;
|
||||||
std::cerr << "one or more of the available color corrections:" << std::endl;
|
|
||||||
std::cerr << " " << argIdC.usageLine() << std::endl;
|
std::cerr << " " << argIdC.usageLine() << std::endl;
|
||||||
std::cerr << " " << argCorrection.usageLine() << std::endl;
|
std::cerr << " " << argCorrection.usageLine() << std::endl;
|
||||||
std::cerr << "or one or more of the available color temperature adjustment:" << std::endl;
|
|
||||||
std::cerr << " " << argIdT.usageLine() << std::endl;
|
std::cerr << " " << argIdT.usageLine() << std::endl;
|
||||||
std::cerr << " " << argTemperature.usageLine() << std::endl;
|
std::cerr << " " << argTemperature.usageLine() << std::endl;
|
||||||
return 1;
|
return 1;
|
||||||
@ -160,7 +159,34 @@ int main(int argc, char * argv[])
|
|||||||
{
|
{
|
||||||
connection.clearAll();
|
connection.clearAll();
|
||||||
}
|
}
|
||||||
else if (colorTransform)
|
else if (colorModding)
|
||||||
|
{
|
||||||
|
if (argCorrection.isSet())
|
||||||
|
{
|
||||||
|
std::string corrId;
|
||||||
|
ColorCorrectionValues correction;
|
||||||
|
|
||||||
|
if (argIdC.isSet()) corrId = argIdC.getValue();
|
||||||
|
if (argCorrection.isSet()) correction = argCorrection.getValue();
|
||||||
|
|
||||||
|
connection.setCorrection(
|
||||||
|
argIdC.isSet() ? &corrId : nullptr,
|
||||||
|
argCorrection.isSet() ? &correction : nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (argTemperature.isSet())
|
||||||
|
{
|
||||||
|
std::string tempId;
|
||||||
|
ColorCorrectionValues temperature;
|
||||||
|
|
||||||
|
if (argIdT.isSet()) tempId = argIdT.getValue();
|
||||||
|
if (argTemperature.isSet()) temperature = argTemperature.getValue();
|
||||||
|
|
||||||
|
connection.setTemperature(
|
||||||
|
argIdT.isSet() ? &tempId : nullptr,
|
||||||
|
argTemperature.isSet() ? &temperature : nullptr);
|
||||||
|
}
|
||||||
|
if (colorTransform)
|
||||||
{
|
{
|
||||||
std::string transId;
|
std::string transId;
|
||||||
double saturation, value, saturationL, luminance;
|
double saturation, value, saturationL, luminance;
|
||||||
@ -187,29 +213,6 @@ int main(int argc, char * argv[])
|
|||||||
argBlacklevel.isSet() ? &blacklevel : nullptr,
|
argBlacklevel.isSet() ? &blacklevel : nullptr,
|
||||||
argWhitelevel.isSet() ? &whitelevel : nullptr);
|
argWhitelevel.isSet() ? &whitelevel : nullptr);
|
||||||
}
|
}
|
||||||
else if (argCorrection.isSet())
|
|
||||||
{
|
|
||||||
std::string corrId;
|
|
||||||
ColorCorrectionValues correction;
|
|
||||||
|
|
||||||
if (argIdC.isSet()) corrId = argIdC.getValue();
|
|
||||||
if (argCorrection.isSet()) correction = argCorrection.getValue();
|
|
||||||
|
|
||||||
connection.setCorrection(
|
|
||||||
argIdC.isSet() ? &corrId : nullptr,
|
|
||||||
argCorrection.isSet() ? &correction : nullptr);
|
|
||||||
}
|
|
||||||
else if (argTemperature.isSet())
|
|
||||||
{
|
|
||||||
std::string tempId;
|
|
||||||
ColorCorrectionValues temperature;
|
|
||||||
|
|
||||||
if (argIdT.isSet()) tempId = argIdT.getValue();
|
|
||||||
if (argTemperature.isSet()) temperature = argTemperature.getValue();
|
|
||||||
|
|
||||||
connection.setTemperature(
|
|
||||||
argIdT.isSet() ? &tempId : nullptr,
|
|
||||||
argTemperature.isSet() ? &temperature : nullptr);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (const std::runtime_error & e)
|
catch (const std::runtime_error & e)
|
||||||
|
Loading…
Reference in New Issue
Block a user