iPlug2 Forum

Any up-to-date iGraphics tutorial?


I’m getting into serious plugin development, and I’ve been trying to come to grips with iPlug2 and, obviously, iGraphics.

I’ve been struggling quite a bit, for days now, with trying to get started with iGraphics.

I’m quite used to drag & drop style development, like in Will Pirkle’s RackAFX / ASPiK, which uses Steinberg’s VstGui.
Not saying that’s better, it’s not, it’s just entirely different.

I know of course of Martin Finke’s tutorial, but it’s very much out of date.

Is there a more up-to-date iGraphics tutorial, either written or in video format, discussing the philosophy, and how to get things done, how to place controls, how to tie them together and connect them to plugin parameters, etc?

Anything to get me started quicker is appreciated!

Many thanks!


Not really.

hopefully you know about the wiki https://github.com/iPlug2/iPlug2/wiki

and the docs https://iplug2.github.io/iPlug2

and the quite extensive examples/tests in the repo, which are vastly more than what there has ever been in iPlug

There is a WIP gui editor a bit like VSTGUI’s, but its not ready yet

If you’re not already a sponsor, please consider supporting all this work.


Hi Oli,
Many thanks.
Yes, I know these.
No worries, I’ll keep on struggling, and hopefully progressing.
It’s just not going anywhere near as quickly as I would like.
I guess it’s just a mindset I will need to get into.
Many thanks again,
Have a nice evening,

Hi Oli,

For instance now, I am completely stuck, and I have no idea how to continue…

I am trying to get a rotary knob (created with KnobMan, each frame 96x96, 256 frames stacked vertically, so the image is 96x24576) to show up on my plugin.

The actual PNG file is stored in resources/DanPlugGreen.png.
It shows up in Visual Studio under resources as DanPlugGreen.png.

I have the following code in my project:

  • In config.h:

#define KNOB_FN "resources/DanPlugGreen.png"

  • In my main plugin .cpp file:

const IBitmap knobBitmap = pGraphics->LoadBitmap(KNOB_FN, 256);
pGraphics->AttachControl(new IBKnobControl(IRECT(0, 0, 96, 96), knobBitmap, kParamDrive));

  • In main.rc:


It compiles without errors, and runs.
However, it only shows a black 96x96 square on my plugin, no knob showing:


You mentioned donating.
I will, once I can.
I am currently on Universal Credit, and this is my last-ditch attempt to make something of my life and hopefully generate some income…
But I am doing this alone, and I have no other help available.

Any help would be greatly appreciated.

Many thanks!


It’s possible your texture is too tall, can you try the same thing with a smaller bitmap stack? With nano VG, the default graphics back and there is a limit on the size of textures

1 Like

l gave it a try and l created a quick knob with 300 frames and Logic crashed with the following error:

validateTextureDimensions:1216: failed assertion `MTLTextureDescriptor has height (30000) greater than the maximum allowed size of 16384.’

so probably 163 states is the limit for 100x100 knobs

1 Like

Yes, indeed that seemed to have been the issue.
I limited the knob size to 127 images and it worked!


great, will try and produce a warning about this