- fixed crash on setStateInformation/setCurrentStateInformation
- fixed crash on getStateInformation/getCurrentStateInformation
This commit is contained in:
@@ -707,7 +707,7 @@ void JaySynthAudioProcessor::commitEditBuffer()
|
||||
|
||||
void JaySynthAudioProcessor::patch2xml(XmlElement *xml, JaySynthSound const *patch)
|
||||
{
|
||||
ScopedPointer<XmlElement> xml_patch = xml->createNewChildElement("Patch");
|
||||
XmlElement *xml_patch = xml->createNewChildElement("Patch");
|
||||
xml_patch->setAttribute ("NAME", patch->getName());
|
||||
for (int i=0; i < SYNTH_NUM_PARAMS; i++)
|
||||
{
|
||||
@@ -739,10 +739,10 @@ void JaySynthAudioProcessor::xml2patch(const XmlElement *xml, JaySynthSound *pat
|
||||
|
||||
void JaySynthAudioProcessor::bank2xml(XmlElement *xml)
|
||||
{
|
||||
ScopedPointer<XmlElement> xml_bank = xml->createNewChildElement("Bank");
|
||||
XmlElement *xml_bank = xml->createNewChildElement("Bank");
|
||||
for (int i=0; i < NUM_PROGRAMS; i++)
|
||||
{
|
||||
ScopedPointer<XmlElement> xml_program = xml_bank->createNewChildElement (String("Program_") + String(i));
|
||||
XmlElement *xml_program = xml_bank->createNewChildElement (String("Program_") + String(i));
|
||||
JaySynthSound *pPatch = &patches[i];
|
||||
xml_program->setAttribute ("ID", i);
|
||||
patch2xml(xml_program, pPatch);
|
||||
@@ -778,7 +778,7 @@ void JaySynthAudioProcessor::getStateInformation (MemoryBlock& destData)
|
||||
commitEditBuffer();
|
||||
|
||||
// Create an outer XML element..
|
||||
XmlElement *xml = new XmlElement("JSynth");
|
||||
ScopedPointer <XmlElement> xml = new XmlElement("JSynth");
|
||||
bank2xml(xml);
|
||||
|
||||
setCurrentProgram(getCurrentProgram());
|
||||
@@ -814,11 +814,11 @@ void JaySynthAudioProcessor::setStateInformation (const void* data, int sizeInBy
|
||||
{
|
||||
if (xml->hasTagName ("JSynth"))
|
||||
{
|
||||
xml = xml->getFirstChildElement();
|
||||
if (xml->hasTagName ("Bank"))
|
||||
XmlElement *xml2 = xml->getFirstChildElement();
|
||||
if (xml2->hasTagName ("Bank"))
|
||||
{
|
||||
xml = xml->getFirstChildElement();
|
||||
xml2bank(xml);
|
||||
XmlElement *xml3 = xml2->getFirstChildElement();
|
||||
xml2bank(xml3);
|
||||
}
|
||||
}
|
||||
setCurrentProgram(getCurrentProgram());
|
||||
|
||||
Reference in New Issue
Block a user