- 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)
|
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());
|
xml_patch->setAttribute ("NAME", patch->getName());
|
||||||
for (int i=0; i < SYNTH_NUM_PARAMS; i++)
|
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)
|
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++)
|
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];
|
JaySynthSound *pPatch = &patches[i];
|
||||||
xml_program->setAttribute ("ID", i);
|
xml_program->setAttribute ("ID", i);
|
||||||
patch2xml(xml_program, pPatch);
|
patch2xml(xml_program, pPatch);
|
||||||
@@ -778,7 +778,7 @@ void JaySynthAudioProcessor::getStateInformation (MemoryBlock& destData)
|
|||||||
commitEditBuffer();
|
commitEditBuffer();
|
||||||
|
|
||||||
// Create an outer XML element..
|
// Create an outer XML element..
|
||||||
XmlElement *xml = new XmlElement("JSynth");
|
ScopedPointer <XmlElement> xml = new XmlElement("JSynth");
|
||||||
bank2xml(xml);
|
bank2xml(xml);
|
||||||
|
|
||||||
setCurrentProgram(getCurrentProgram());
|
setCurrentProgram(getCurrentProgram());
|
||||||
@@ -814,11 +814,11 @@ void JaySynthAudioProcessor::setStateInformation (const void* data, int sizeInBy
|
|||||||
{
|
{
|
||||||
if (xml->hasTagName ("JSynth"))
|
if (xml->hasTagName ("JSynth"))
|
||||||
{
|
{
|
||||||
xml = xml->getFirstChildElement();
|
XmlElement *xml2 = xml->getFirstChildElement();
|
||||||
if (xml->hasTagName ("Bank"))
|
if (xml2->hasTagName ("Bank"))
|
||||||
{
|
{
|
||||||
xml = xml->getFirstChildElement();
|
XmlElement *xml3 = xml2->getFirstChildElement();
|
||||||
xml2bank(xml);
|
xml2bank(xml3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
setCurrentProgram(getCurrentProgram());
|
setCurrentProgram(getCurrentProgram());
|
||||||
|
|||||||
Reference in New Issue
Block a user