Here is my code:
Code: Select all
VstInt32 myPlugin::getChunk(void** data, bool isPreset)
{
if (!data) return 0;
if (isPreset)
{
*data = &programs[curProgram];
return sizeof (myProgram);
}
else
{
*data = &programs;
return (sizeof(myProgram) * numPrograms) ;
}
}
VstInt32 myPlugin::setChunk(void* data, VstInt32 byteSize, bool isPreset)
{
if (!data) return 0;
if (isPreset)
{
.... // not isPreset
}
else
{
if (byteSize == (sizeof(myProgram) * numPrograms))
{
memcpy((void*)programs, data, byteSize); // here I get the wrong values
setProgram(curProgram);
}
else
return 0;
return 1;
}
}