Plugin window doesnt show in hosts-FL, EnergyXT, Chainer...

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Hi there,

I have a plugin (SynthMaster 2.0), whose GUI is written using VSTGUI.

The AEffEditor::open(void *ptr) function is called by the host apps, without problem.

On hosts like Fruity Loops, Cantabile, Chainer, EnergyXT the user interface is not drawn.

On hosts like Reaper, Ableton Live, the user interface is drawn.

Just couldnt figure out what the difference between those hosts is???

Thanks for any help, pointers, etc...

Bulent
Works at KV331 Audio
SynthMaster voted #1 in MusicRadar's "Best Synth of 2019" poll
SynthMaster One voted #4 in MusicRadar's "Best Synth of 2019" poll

Post

It's really weird. When I use the Spy++ tool that comes with Visual Studio 2005, I see the plugin windows, with the correct size. But its parent window's size is 0x0 :( Why is that?

Bulent
Works at KV331 Audio
SynthMaster voted #1 in MusicRadar's "Best Synth of 2019" poll
SynthMaster One voted #4 in MusicRadar's "Best Synth of 2019" poll

Post

Some hosts call AEffGUIEditor::getRect() before AEffGUIEditor::open(), have you initialized the rect.width and rect.height in the construction method of the CPluginEditor() ??
Last edited by asseca on Wed Jul 15, 2009 3:43 pm, edited 1 time in total.

Post

Thanks so much! I'll check that out immediately!
Works at KV331 Audio
SynthMaster voted #1 in MusicRadar's "Best Synth of 2019" poll
SynthMaster One voted #4 in MusicRadar's "Best Synth of 2019" poll

Post

Thanks so much. That was the issue! Problem solved!
Works at KV331 Audio
SynthMaster voted #1 in MusicRadar's "Best Synth of 2019" poll
SynthMaster One voted #4 in MusicRadar's "Best Synth of 2019" poll

Post

AUTO-ADMIN: Non-MP3, WAV, OGG, SoundCloud, YouTube, Vimeo, Twitter and Facebook links in this post have been protected automatically. Once the member reaches 5 posts the links will function as normal.
Hi guys,

I think I'm having the same problem as here but I'm not sure, I didn't want to start another thread since it seems very similar. I'm pretty new to c++ but I've got the hang of the processing and now I'm struggling with vstgui (using sdk2.4).

I've tried to do the SurroundDelay editor example but when I do it compiles just fine and but when I open it in a host the parent window it opens is of zero size. It does the same for my own plugins when I modify the editor files.

This happens in any host I've tried. In fact, it doesn't work in Reaper, though it did for kv331 so it may be a different problem...

I initially thought it was the same problem as here but I can't get it working no matter what I do. I think it's a problem of inexperience so if anyone can help then I'd be greatly appreciative!

I've included the code from my .cpp for one of my plugins I've been working on that I assume the problem lies in:

Code: Select all (#)


//-----------------------------------------------------------------------------
// UHJeditor class implementation
//-----------------------------------------------------------------------------
UHJeditor::UHJeditor (AudioEffect *effect)
: AEffGUIEditor (effect) 
{
	angleFader    = 0;
	volumeFader   = 0;
	angleDisplay  = 0;
	volumeDisplay = 0;
	
	// load the background bitmap
	// we don't need to load all bitmaps, this could be done when open is called
	hBackground = new CBitmap (kBackgroundId);
	
	// init the size of the plugin
	rect.left   = 0;
	rect.top    = 0;
	rect.right  = (short)hBackground->getWidth ();
	rect.bottom = (short)hBackground->getHeight ();
}

...

//-----------------------------------------------------------------------------
bool UHJeditor::open (void *ptr)
{
	// !!! always call this !!!
	AEffGUIEditor::open (ptr);
	
	//--load some bitmaps
	CBitmap* hFaderBody   = new CBitmap (kFaderBodyId);
	CBitmap* hFaderHandle = new CBitmap (kFaderHandleId);
	
	//--init background frame-----------------------------------------------
	// We use a local CFrame object so that calls to setParameter won't call into objects which may not exist yet. 
	// If all GUI objects are created we assign our class member to this one. See bottom of this method.
	CRect size (0, 0, hBackground->getWidth (), hBackground->getHeight ());
	CFrame* lFrame = new CFrame (size, ptr, this);
	lFrame->setBackground (hBackground);
	
...
}




Post

Scratch that! I made the stupid mistake of not having the .bmp files linked to the project so it wasn't seeing them! Sorry about that. :oops:

Post Reply

Return to “DSP and Plugin Development”