KarLoff wrote:What is totally not clear from the specification of getChunk(): Why is data a 2D array and what does the isPreset parameter mean? I guess data is a 2D array, so we can have a separate block of memory ("sub chunk") for each program, i.e. the j-th byte of the i-th program is stored at data[j].
it's not a 2D array
void** data is a pointer to a pointer
the Host creates a void pointer "void* data" and then passes its address to your plugin, then, you have to assign to that pointer the address of the chunk
*data = reinterpret_cast<void*>(&mychunk);
and then, return the size (in bytes)