| 293 | } |
| 294 | |
| 295 | bool NyquistBase::SaveSettings( |
| 296 | const EffectSettings&, CommandParameters& parms) const |
| 297 | { |
| 298 | if (mIsPrompt) |
| 299 | { |
| 300 | parms.Write(KEY_Command, mInputCmd); |
| 301 | parms.Write(KEY_Parameters, mParameters); |
| 302 | |
| 303 | return true; |
| 304 | } |
| 305 | |
| 306 | for (size_t c = 0, cnt = mControls.size(); c < cnt; c++) |
| 307 | { |
| 308 | const NyqControl& ctrl = mControls[c]; |
| 309 | double d = ctrl.val; |
| 310 | |
| 311 | if (d == UNINITIALIZED_CONTROL && ctrl.type != NYQ_CTRL_STRING) |
| 312 | { |
| 313 | d = GetCtrlValue(ctrl.valStr); |
| 314 | } |
| 315 | |
| 316 | if ( |
| 317 | ctrl.type == NYQ_CTRL_FLOAT || ctrl.type == NYQ_CTRL_FLOAT_TEXT || |
| 318 | ctrl.type == NYQ_CTRL_TIME) |
| 319 | { |
| 320 | parms.Write(ctrl.var, d); |
| 321 | } |
| 322 | else if (ctrl.type == NYQ_CTRL_INT || ctrl.type == NYQ_CTRL_INT_TEXT) |
| 323 | { |
| 324 | parms.Write(ctrl.var, (int)d); |
| 325 | } |
| 326 | else if (ctrl.type == NYQ_CTRL_CHOICE) |
| 327 | { |
| 328 | // untranslated |
| 329 | parms.WriteEnum( |
| 330 | ctrl.var, (int)d, ctrl.choices.data(), ctrl.choices.size()); |
| 331 | } |
| 332 | else if (ctrl.type == NYQ_CTRL_STRING) |
| 333 | { |
| 334 | parms.Write(ctrl.var, ctrl.valStr); |
| 335 | } |
| 336 | else if (ctrl.type == NYQ_CTRL_FILE) |
| 337 | { |
| 338 | // Convert the given path string to platform-dependent equivalent |
| 339 | resolveFilePath(const_cast<wxString&>(ctrl.valStr)); |
| 340 | parms.Write(ctrl.var, ctrl.valStr); |
| 341 | } |
| 342 | } |
| 343 | |
| 344 | return true; |
| 345 | } |
| 346 | |
| 347 | bool NyquistBase::LoadSettings( |
| 348 | const CommandParameters& parms, EffectSettings& settings) const |