I think I found an issue with this function:
Althogh the parallel one getXmlFromBinary() works fine because of the writeByte(0) so it knowns where the string ends,
but the stated size of it is wrong ( destData.getData()) ) because destData.getSize() is not the amout of data written to the block but rather the pre-allocated size of the block.
I found this because I've added a binary item after the xml.
void AudioProcessor::copyXmlToBinary (const XmlElement& xml, juce::MemoryBlock& destData)
MemoryOutputStream out (destData, false);
xml.writeToStream (out, String(), true, false);
// go back and write the string length..
= ByteOrder::swapIfBigEndian ((uint32) destData.getSize() - 9);
Hope everything is good, and keep on the good work!!