diff options
author | Chris Xiong <chirs241097@gmail.com> | 2020-05-01 17:25:08 +0800 |
---|---|---|
committer | Chris Xiong <chirs241097@gmail.com> | 2020-05-01 17:25:08 +0800 |
commit | afeb558e50ad8d80f044439d39193d1cbc566580 (patch) | |
tree | b5a692ee2994ced73a3d5832857db1a5e4597b88 /visualization/renderer/qmpsettingsro.cpp | |
parent | 893bec26cd1bc83fd85bb7dfdfd6225d9f6ee5b5 (diff) | |
download | QMidiPlayer-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.cpp | 58 |
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())); } |