Initial
This commit is contained in:
140
vst/GainEdit.cpp
Normal file
140
vst/GainEdit.cpp
Normal file
@@ -0,0 +1,140 @@
|
||||
#include <common/StringBuffer.hpp>
|
||||
#include <common/window.hpp>
|
||||
#include <common/purehdc.hpp>
|
||||
#include <vst/GainEdit.hpp>
|
||||
|
||||
char GainEditor::szClassName[]={"GainControl"};
|
||||
int GainEditor::smUseCount=0;
|
||||
|
||||
GainEditor::GainEditor(AudioEffect *effect)
|
||||
: AEffEditor(effect), mWheelController(::GetModuleHandle("GainEdit"))
|
||||
{
|
||||
mResBitmap=::new ResBitmap("MAIN",::GetModuleHandle("GainEdit"));
|
||||
mResBitmap.disposition(PointerDisposition::Delete);
|
||||
mRect.left=0;
|
||||
mRect.top=0;
|
||||
mRect.right=mResBitmap->width()-1;
|
||||
mRect.bottom=mResBitmap->height()-1;
|
||||
mPaintHandler.setCallback(this,&GainEditor::paintHandler);
|
||||
mCreateHandler.setCallback(this,&GainEditor::createHandler);
|
||||
mGainWindow.insertHandler(VectorHandler::PaintHandler,&mPaintHandler);
|
||||
mGainWindow.insertHandler(VectorHandler::CreateHandler,&mCreateHandler);
|
||||
effect->setEditor(this);
|
||||
}
|
||||
|
||||
GainEditor::~GainEditor()
|
||||
{
|
||||
mGainWindow.removeHandler(VectorHandler::PaintHandler,&mPaintHandler);
|
||||
mGainWindow.removeHandler(VectorHandler::CreateHandler,&mCreateHandler);
|
||||
mGainWindow.destroy();
|
||||
}
|
||||
|
||||
long GainEditor::getRect(ERect **eRect)
|
||||
{
|
||||
*eRect=&mRect;
|
||||
return true;
|
||||
}
|
||||
|
||||
long GainEditor::open(void *ptr)
|
||||
{
|
||||
smUseCount++;
|
||||
mpSystemWindow=(HWND)ptr;
|
||||
registerClass();
|
||||
createWindow();
|
||||
return true;
|
||||
}
|
||||
|
||||
void GainEditor::close()
|
||||
{
|
||||
mGainWindow.destroy();
|
||||
smUseCount--;
|
||||
if(0==smUseCount)::UnregisterClass(szClassName,mGainWindow.processInstance());
|
||||
}
|
||||
|
||||
void GainEditor::idle()
|
||||
{
|
||||
AEffEditor::idle();
|
||||
}
|
||||
|
||||
void GainEditor::update(void)
|
||||
{
|
||||
//SendMessage (delayFader, TBM_SETPOS, (WPARAM) TRUE, (LPARAM) effect->getParameter (kDelay)
|
||||
//SendMessage (feedbackFader, TBM_SETPOS, (WPARAM) TRUE, (LPARAM) effect->getParameter(kFeedBack));
|
||||
//SendMessage (volumeFader, TBM_SETPOS, (WPARAM) TRUE, (LPARAM) effect->getParameter (kOut));
|
||||
}
|
||||
|
||||
void GainEditor::setValue(void* fader, int value)
|
||||
{
|
||||
message("setValue");
|
||||
//if (fader == delayFader)
|
||||
//effect->setParameterAutomated (kDelay, (float)value / 100.f);
|
||||
//else if (fader == feedbackFader)
|
||||
//effect->setParameterAutomated (kFeedBack, (float)value / 100.f);
|
||||
//else if (fader == volumeFader)
|
||||
//effect->setParameterAutomated (kOut, (float)value / 100.f);
|
||||
}
|
||||
|
||||
void GainEditor::registerClass()
|
||||
{
|
||||
WNDCLASS wndClass;
|
||||
|
||||
if(::GetClassInfo(mGainWindow.processInstance(),szClassName,(WNDCLASS FAR*)&wndClass))return;
|
||||
wndClass.style =CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS|CS_OWNDC;
|
||||
wndClass.lpfnWndProc =(WNDPROC)GUIWindow::WndProc;
|
||||
wndClass.cbClsExtra =0;
|
||||
wndClass.cbWndExtra =sizeof(GainEditor*);
|
||||
wndClass.hInstance =mGainWindow.processInstance();
|
||||
wndClass.hIcon =0;
|
||||
wndClass.hCursor =0;
|
||||
wndClass.hbrBackground =(HBRUSH)::GetSysColorBrush(COLOR_BTNFACE);
|
||||
wndClass.lpszMenuName =0;
|
||||
wndClass.lpszClassName =szClassName;
|
||||
::RegisterClass(&wndClass);
|
||||
}
|
||||
|
||||
void GainEditor::createWindow()
|
||||
{
|
||||
mGainWindow.createWindow(0,szClassName,"Window",WS_CHILD|WS_VISIBLE,Rect(0,0,mResBitmap->width(),mResBitmap->height()),mpSystemWindow,0,mGainWindow.processInstance(),&mGainWindow);
|
||||
mGainWindow.show(SW_SHOW);
|
||||
mGainWindow.update();
|
||||
}
|
||||
|
||||
CallbackData::ReturnType GainEditor::createHandler(CallbackData &someCallbackData)
|
||||
{
|
||||
PureDevice pureDevice(mGainWindow);
|
||||
mDIBitmap=::new DIB24();
|
||||
mDIBitmap.disposition(PointerDisposition::Delete);
|
||||
mDIBitmap->create(mResBitmap->width(),mResBitmap->height(),pureDevice);
|
||||
mDIBitmap->copyBits(*mResBitmap);
|
||||
return (CallbackData::ReturnType)FALSE;
|
||||
}
|
||||
|
||||
CallbackData::ReturnType GainEditor::paintHandler(CallbackData &someCallbackData)
|
||||
{
|
||||
PureDevice pureDevice(mGainWindow);
|
||||
// mResBitmap->getPalette().usePalette(pureDevice,true);
|
||||
mDIBitmap->bitBlt(pureDevice,Rect(0,0,mGainWindow.width(),mGainWindow.height()),Point());
|
||||
mWheelController.drawImage(pureDevice,Point(0,0),0);
|
||||
// mResBitmap->getPalette().usePalette(pureDevice,false);
|
||||
return (CallbackData::ReturnType)FALSE;
|
||||
}
|
||||
|
||||
void GainEditor::message(String message)
|
||||
{
|
||||
::MessageBox(0,"GainEditor",message.str(),MB_OK);
|
||||
}
|
||||
|
||||
// ******************************************************************************************************************
|
||||
|
||||
GainEdit::GainEdit(AudioMasterCallback audioMaster)
|
||||
: Gain(audioMaster)
|
||||
{
|
||||
setUniqueID('GNed');
|
||||
editor=new GainEditor(this);
|
||||
// if(!editor)oome=true;
|
||||
}
|
||||
|
||||
GainEdit::~GainEdit()
|
||||
{
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user