diff --git a/companion/src/firmwares/edgetx/yaml_customfunctiondata.cpp b/companion/src/firmwares/edgetx/yaml_customfunctiondata.cpp index 010095551..8fcf1a113 100644 --- a/companion/src/firmwares/edgetx/yaml_customfunctiondata.cpp +++ b/companion/src/firmwares/edgetx/yaml_customfunctiondata.cpp @@ -153,7 +153,7 @@ Node convert::encode(const CustomFunctionData& rhs) def += LookupValue(trainerLut, p1); break; case FuncPlaySound: - def += std::to_string(rhs.param); + def += LookupValue(soundLut, rhs.param); break; case FuncPlayPrompt: case FuncPlayScript: @@ -252,13 +252,17 @@ bool convert::decode(const Node& node, def >> rhs.param; } break; case FuncTrainer: { + std::string value_str; + getline(def, value_str, ','); int value=0; - Node(def.str()) >> trainerLut >> value; + Node(value_str) >> trainerLut >> value; rhs.func = (AssignFunc)((int)rhs.func + value); } break; - case FuncPlaySound: - Node(def.str()) >> soundLut >> rhs.param; - break; + case FuncPlaySound: { + std::string snd; + getline(def, snd, ','); + Node(snd) >> soundLut >> rhs.param; + } break; case FuncPlayPrompt: case FuncPlayScript: case FuncBackgroundMusic: {