Add messages for [COMBO] types

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
This commit is contained in:
Alexis Maiquez 2023-02-11 05:51:35 +01:00
parent 5e384d968d
commit e2d80a074c

View File

@ -685,6 +685,7 @@ namespace WallpaperEngine::Render::Shaders
{ {
json data = json::parse (content); json data = json::parse (content);
auto combo = jsonFindRequired (data, "combo", "cannot parse combo information"); auto combo = jsonFindRequired (data, "combo", "cannot parse combo information");
auto type = data.find ("type");
auto defvalue = data.find ("default"); auto defvalue = data.find ("default");
// add line feed just in case // add line feed just in case
@ -700,28 +701,39 @@ namespace WallpaperEngine::Render::Shaders
// so only define the ones that are not already defined // so only define the ones that are not already defined
if (entry == this->m_combos->end ()) if (entry == this->m_combos->end ())
{ {
// if no combo is defined just load the default settings if (type != data.end () && (*type) == "audioprocessingoptions")
if (defvalue == data.end ()) {
{ sLog.out ("Found audioprocessing value, nothing working yet");
// TODO: PROPERLY SUPPORT EMPTY COMBOS this->m_combos->insert (std::make_pair <std::string, int> (*combo, 1));
this->m_combos->insert (std::make_pair <std::string, int> (*combo, (int) defaultValue)); }
} else
else if ((*defvalue).is_number_float ()) {
{ if (type != data.end ())
sLog.exception ("float combos are not supported in shader ", this->m_file, ". ", *combo); sLog.error ("Resorting to default value as type ", *type, " is unknown");
}
else if ((*defvalue).is_number_integer ()) // if no combo is defined just load the default settings
{ if (defvalue == data.end ())
this->m_combos->insert (std::make_pair <std::string, int> (*combo, (*defvalue).get <int> ())); {
} // TODO: PROPERLY SUPPORT EMPTY COMBOS
else if ((*defvalue).is_string ()) this->m_combos->insert (std::make_pair <std::string, int> (*combo, (int) defaultValue));
{ }
sLog.exception ("string combos are not supported in shader ", this->m_file, ". ", *combo); else if ((*defvalue).is_number_float ())
} {
else sLog.exception ("float combos are not supported in shader ", this->m_file, ". ", *combo);
{ }
sLog.exception ("cannot parse combo information ", *combo, ". unknown type for ", defvalue->dump ()); else if ((*defvalue).is_number_integer ())
} {
this->m_combos->insert (std::make_pair <std::string, int> (*combo, (*defvalue).get <int> ()));
}
else if ((*defvalue).is_string ())
{
sLog.exception ("string combos are not supported in shader ", this->m_file, ". ", *combo);
}
else
{
sLog.exception ("cannot parse combo information ", *combo, ". unknown type for ", defvalue->dump ());
}
}
} }
} }