From 27da08004c5f024a0f35e3cb4c2b3942548ebcfa Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Fri, 11 Mar 2005 04:58:01 +0000 Subject: restructured VSThost code better shell support fix for build system update for flext build systemcleanups VSTTime info added event processing (like Midi in) svn path=/trunk/; revision=2617 --- externals/grill/vst/src/vstedit.cpp | 76 +++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 externals/grill/vst/src/vstedit.cpp (limited to 'externals/grill/vst/src/vstedit.cpp') diff --git a/externals/grill/vst/src/vstedit.cpp b/externals/grill/vst/src/vstedit.cpp new file mode 100644 index 00000000..804e83ca --- /dev/null +++ b/externals/grill/vst/src/vstedit.cpp @@ -0,0 +1,76 @@ +/* +vst~ - VST plugin object for PD +based on the work of Jarno Seppänen and Mark Williamson + +Copyright (c)2003-2005 Thomas Grill (gr@grrrr.org) +For information on usage and redistribution, and for a DISCLAIMER OF ALL +WARRANTIES, see the file, "license.txt," in this distribution. +*/ + +#include "vsthost.h" +#include "editor.h" + + +void VSTPlugin::Edit(bool open) +{ + if(Is()) { + if(open) { + if(HasEditor() && !IsEdited()) + StartEditor(this); + } + else if(IsEdited()) + StopEditor(this); + } +} + +void VSTPlugin::StartEditing(WHandle h) +{ + FLEXT_ASSERT(h != NULL); + Dispatch(effEditOpen,0,0,hwnd = h); +// Dispatch(effEditTop); + + TitleEditor(this,title.c_str()); +} + +void VSTPlugin::StopEditing() +{ + if(Is()) { + Dispatch(effEditClose); + hwnd = NULL; + } +} + +void VSTPlugin::Visible(bool vis) +{ + if(Is() && IsEdited()) ShowEditor(this,vis); +} + +bool VSTPlugin::IsVisible() const +{ + return Is() && IsEdited() && IsEditorShown(this); +} + + +void VSTPlugin::SetPos(int x,int y,bool upd) +{ + if(Is()) { + posx = x; posy = y; + if(upd && IsEdited()) MoveEditor(this,posx,posy); + } +} + +void VSTPlugin::SetCaption(bool c) +{ + if(Is()) { + caption = c; + if(IsEdited()) CaptionEditor(this,c); + } +} + +void VSTPlugin::SetTitle(const char *t) +{ + if(Is()) { + title = t; + if(IsEdited()) TitleEditor(this,t); + } +} -- cgit v1.2.1