Carbon Views in Logic 6.3.3
Carbon Views in Logic 6.3.3
- Subject: Carbon Views in Logic 6.3.3
- From: "Muon Software Ltd - Dave" <email@hidden>
- Date: Tue, 11 Oct 2005 11:04:26 +0100
- Importance: Normal
I've managed to get my AU to pass validation, but I'm having now having
problems with the plugin's editor in various hosts. Since this is a direct
port of a VST plugin that uses VSTGUI3 I used the drawtest example code
(downloadable from the VSTGUI CVS with the tag vstgui_300) to get me started
and so far it works pretty well.
The editor is drawn at the correct location in the host's window in Logic
7.1.1, Garageband and AU Lab. However in Logic 6.3.3 the editor is drawn
over the top of the toolbar Logic adds to the top of the window, and a white
border appears at the bottom.
There's a commented out line in the drawtest example which I copied from as
follows:-
OSStatus VSTGUIAUView::CreateUI(Float32 xoffset, Float32 yoffset)
{
m_ptrPlugin=NULL;
UInt32 propertySize=sizeof(m_ptrPlugin);
if
(AudioUnitGetProperty(GetEditAudioUnit(),kTachyonPointerProperty,kAudioUnitS
cope_Global,0,&m_ptrPlugin,&propertySize)==noErr)
{
assert(m_ptrPlugin!=NULL);
editor = new CMuonTachyonEditor (m_ptrPlugin);
WindowRef window = GetCarbonWindow ();
editor->open (window);
m_ptrPlugin->setPtrEditor((CMuonTachyonEditor*)editor);
// HIViewMoveBy ((HIViewRef)editor->getFrame ()->getPlatformControl (),
xoffset, yoffset);
EmbedControl ((HIViewRef)editor->getFrame ()->getPlatformControl ());
CRect fsize = editor->getFrame ()->getViewSize (fsize);
SizeControl (mCarbonPane, fsize.width (), fsize.height ());
CreateEventLoopTimer (kEventDurationSecond, kEventDurationSecond / 24);
HIViewSetVisible ((HIViewRef)editor->getFrame ()->getPlatformControl (),
true);
HIViewSetNeedsDisplay ((HIViewRef)editor->getFrame ()->getPlatformControl
(), true);
}
return noErr;
};
If I uncomment the line "HIViewMoveBy", the editor appears correctly in
Logic 6.3.3, but my editor's dynamic pop-up menus appear in the wrong
position when triggered - they are shifted down by roughly the same amount
as the editor is from the top of the host window. It is as if the mouse
coordinates used to work out where the context menu should appear are
relative to the top of the window (not the top of the editor!) and are then
shifted again by the editor offset. The editor and context menus appear
correctly in Logic 7.1.1 etc. regardless of whether or not the HIViewMoveBy
call is commented out or not.
Anyone got any suggestions?
Dave
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden