Update PluginProcessor.cpp
Fixed XML assert issues
This commit is contained in:
parent
9ed9acdc2b
commit
0295e85aed
1 changed files with 18 additions and 6 deletions
|
@ -347,7 +347,7 @@ void ObxdAudioProcessor::getStateInformation(MemoryBlock& destData)
|
||||||
|
|
||||||
for (int k = 0; k < PARAM_COUNT; ++k)
|
for (int k = 0; k < PARAM_COUNT; ++k)
|
||||||
{
|
{
|
||||||
xpr->setAttribute(String(k), programs.programs[i].values[k]);
|
xpr->setAttribute("Val_" + String(k), programs.programs[i].values[k]);
|
||||||
}
|
}
|
||||||
|
|
||||||
xprogs->addChildElement(xpr);
|
xprogs->addChildElement(xpr);
|
||||||
|
@ -357,7 +357,7 @@ void ObxdAudioProcessor::getStateInformation(MemoryBlock& destData)
|
||||||
|
|
||||||
for (int i = 0; i < 255; ++i)
|
for (int i = 0; i < 255; ++i)
|
||||||
{
|
{
|
||||||
xmlState.setAttribute(String(i), bindings.controllers[i]);
|
xmlState.setAttribute("Val_" + String(i), bindings.controllers[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
copyXmlToBinary(xmlState, destData);
|
copyXmlToBinary(xmlState, destData);
|
||||||
|
@ -369,7 +369,7 @@ void ObxdAudioProcessor::getCurrentProgramStateInformation(MemoryBlock& destData
|
||||||
|
|
||||||
for (int k = 0; k < PARAM_COUNT; ++k)
|
for (int k = 0; k < PARAM_COUNT; ++k)
|
||||||
{
|
{
|
||||||
xmlState.setAttribute(String(k), programs.currentProgramPtr->values[k]);
|
xmlState.setAttribute("Val_" + String(k), programs.currentProgramPtr->values[k]);
|
||||||
}
|
}
|
||||||
|
|
||||||
xmlState.setAttribute(S("voiceCount"), Motherboard::MAX_VOICES);
|
xmlState.setAttribute(S("voiceCount"), Motherboard::MAX_VOICES);
|
||||||
|
@ -398,7 +398,13 @@ void ObxdAudioProcessor::setStateInformation(const void* data, int sizeInBytes)
|
||||||
|
|
||||||
for (int k = 0; k < PARAM_COUNT; ++k)
|
for (int k = 0; k < PARAM_COUNT; ++k)
|
||||||
{
|
{
|
||||||
float value = float(e->getDoubleAttribute(String(k), programs.programs[i].values[k]));
|
float value = 0.0;
|
||||||
|
if (e->hasAttribute("Val_" + String(k))){
|
||||||
|
value = float(e->getDoubleAttribute("Val_" + String(k), programs.programs[i].values[k]));
|
||||||
|
} else {
|
||||||
|
value = float(e->getDoubleAttribute(String(k), programs.programs[i].values[k]));
|
||||||
|
}
|
||||||
|
|
||||||
if (!newFormat && k == VOICE_COUNT) value *= 0.25f;
|
if (!newFormat && k == VOICE_COUNT) value *= 0.25f;
|
||||||
programs.programs[i].values[k] = value;
|
programs.programs[i].values[k] = value;
|
||||||
}
|
}
|
||||||
|
@ -411,7 +417,7 @@ void ObxdAudioProcessor::setStateInformation(const void* data, int sizeInBytes)
|
||||||
|
|
||||||
for (int i = 0; i < 255; ++i)
|
for (int i = 0; i < 255; ++i)
|
||||||
{
|
{
|
||||||
bindings.controllers[i] = xmlState->getIntAttribute(String(i), 0);
|
bindings.controllers[i] = xmlState->getIntAttribute("Val_" + String(i), 0);
|
||||||
}
|
}
|
||||||
#if ! DEMOVERSION
|
#if ! DEMOVERSION
|
||||||
setCurrentProgram(xmlState->getIntAttribute(S("currentProgram"), 0));
|
setCurrentProgram(xmlState->getIntAttribute(S("currentProgram"), 0));
|
||||||
|
@ -438,7 +444,13 @@ void ObxdAudioProcessor::setCurrentProgramStateInformation(const void* data, in
|
||||||
bool newFormat = e->hasAttribute("voiceCount");
|
bool newFormat = e->hasAttribute("voiceCount");
|
||||||
for (int k = 0; k < PARAM_COUNT; ++k)
|
for (int k = 0; k < PARAM_COUNT; ++k)
|
||||||
{
|
{
|
||||||
float value = float(e->getDoubleAttribute(String(k), programs.currentProgramPtr->values[k]));
|
float value = 0.0 ;
|
||||||
|
if (e->hasAttribute("Val_" + String(k))){
|
||||||
|
value = float(e->getDoubleAttribute("Val_" + String(k), programs.currentProgramPtr->values[k]));
|
||||||
|
} else {
|
||||||
|
value = float(e->getDoubleAttribute(String(k), programs.currentProgramPtr->values[k]));
|
||||||
|
}
|
||||||
|
|
||||||
if (!newFormat && k == VOICE_COUNT) value *= 0.25f;
|
if (!newFormat && k == VOICE_COUNT) value *= 0.25f;
|
||||||
programs.currentProgramPtr->values[k] = value;
|
programs.currentProgramPtr->values[k] = value;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue