Decided to upgrade my old project on the IPlug of the first version to the IPlug2 and encountered a very unpleasant fact, which is that a black square is drawn in the place where the knob is to be drawn. However, in the first version of IPlug everything works well.
I tried to reduce the number of bitmap frames from 201 to 101, and a miracle happened, the control began to be displayed on the screen! In an experienced way, I found out that the maximum number of frames in which the control is adequately drawn on the screen is 161.
It is true that the question is brewing - where and in what constant is the limitation of bitmap given? However, in the first version of IPlug, there is no such restriction.
By the way, I have already noticed that the author of the code places restrictions on the size of data, for example, I tried to save the preset as a blob by means of the function DumpPresetBlob(), but received an error, as it turned out in the function
Code:
void IPluginBase::DumpPresetBlob()
...
char buf[MAX_BLOB_LENGTH]; // <- Here is the cause of the error, the size of the chank is larger than this constant
where the maximum size was set by the constant
MAX_BLOB_LENGTH. In my case, the size of the data exceeded this size, and it was decided to set the buffer size dynamically, and this error no longer occurs.
Therefore, I think that this error with bitmap drawing arises for a similar reason, but step-by-step code tracing has not encountered any restrictions, so the question remains - how can you remove these restrictions with bitmap sizes for correct drawing of the knob control in the GUI of the plugin?