aboutsummaryrefslogtreecommitdiff
path: root/visualization/renderer/qmpsettingsro.cpp
diff options
context:
space:
mode:
authorGravatar Chris Xiong <chirs241097@gmail.com> 2020-05-01 17:25:08 +0800
committerGravatar Chris Xiong <chirs241097@gmail.com> 2020-05-01 17:25:08 +0800
commitafeb558e50ad8d80f044439d39193d1cbc566580 (patch)
treeb5a692ee2994ced73a3d5832857db1a5e4597b88 /visualization/renderer/qmpsettingsro.cpp
parent893bec26cd1bc83fd85bb7dfdfd6225d9f6ee5b5 (diff)
downloadQMidiPlayer-afeb558e50ad8d80f044439d39193d1cbc566580.tar.xz
Fixed visualization viewport randomly reverting to default.
Fixed unexpected pitch wheel activity in rendered video. Remove type checking in the option syntax.
Diffstat (limited to 'visualization/renderer/qmpsettingsro.cpp')
-rw-r--r--visualization/renderer/qmpsettingsro.cpp58
1 files changed, 3 insertions, 55 deletions
diff --git a/visualization/renderer/qmpsettingsro.cpp b/visualization/renderer/qmpsettingsro.cpp
index a66943b..bf8096f 100644
--- a/visualization/renderer/qmpsettingsro.cpp
+++ b/visualization/renderer/qmpsettingsro.cpp
@@ -168,59 +168,7 @@ void qmpSettingsRO::load(const char *path)
void qmpSettingsRO::setopt(std::string key, std::string val)
{
- if(options.find(key)==options.end())
- {
- std::string nkey="Visualization/"+key;
- if(options.find(nkey)==options.end())
- {
- qDebug("invalid option key %s",key.c_str());
- return;
- }
- else key=nkey;
- }
- char *rptr;
- switch(options[key].type)
- {
- case qmpOptionR::ParameterType::parameter_int:
- {
- long long v=strtoll(val.c_str(),&rptr,10);
- if(rptr==val.c_str()||v>INT_MAX||v<INT_MIN)
- qDebug("invalid value for option %s",key.c_str());
- setOptionInt(key,static_cast<int>(v));
- }
- break;
- case qmpOptionR::ParameterType::parameter_uint:
- {
- long long v=strtoll(val.c_str(),&rptr,10);
- if(rptr==val.c_str()||v>UINT32_MAX||v<0)
- qDebug("invalid value for option %s",key.c_str());
- setOptionUint(key,static_cast<uint32_t>(v));
- }
- break;
- case qmpOptionR::ParameterType::parameter_double:
- {
- errno=0;
- double v=strtod(val.c_str(),&rptr);
- if(rptr==val.c_str()||errno)
- qDebug("invalid value for option %s",key.c_str());
- setOptionDouble(key,v);
- }
- break;
- case qmpOptionR::ParameterType::parameter_bool:
- {
- if(val!="true"&&val!="false")
- qDebug("invalid value for option %s",key.c_str());
- setOptionBool(key,val=="true");
- }
- break;
- case qmpOptionR::ParameterType::parameter_str:
- case qmpOptionR::ParameterType::parameter_url:
- setOptionString(key,val);
- break;
- case qmpOptionR::ParameterType::parameter_enum:
- setOptionEnumIntOptName(key,val);
- break;
- default:
- break;
- }
+ settings.insert(QString(key.c_str()),QString(val.c_str()));
+ if(key.find("Visualization/")!=0)
+ settings.insert("Visualization/"+QString(key.c_str()),QString(val.c_str()));
}