Update of /cvsroot/pure-data/externals/grill/vst/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12028/src
Modified Files:
EditorWin.cpp VstHost.cpp VstHost.h main.cpp
Log Message:
""
Index: main.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/vst/src/main.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** main.cpp 25 Aug 2004 02:42:06 -0000 1.18
--- main.cpp 11 Sep 2004 04:09:17 -0000 1.19
***************
*** 20,24 ****
! #define VST_VERSION "0.1.0pre15"
--- 20,24 ----
! #define VST_VERSION "0.1.0pre16"
***************
*** 53,58 ****
V ms_wincaption(bool c) { if(plug) plug->SetCaption(c); }
V mg_wincaption(bool &c) const { c = plug && plug->GetCaption(); }
! V ms_wintitle(const t_symbol *t) { if(plug) plug->SetTitle(GetString(t)); }
! V mg_wintitle(const t_symbol *&t) const { t = plug?MakeSymbol(plug->GetTitle()):sym__; }
V mg_chnsin(I &c) const { c = plug?plug->GetNumInputs():0; }
--- 53,58 ----
V ms_wincaption(bool c) { if(plug) plug->SetCaption(c); }
V mg_wincaption(bool &c) const { c = plug && plug->GetCaption(); }
! V ms_wintitle(const AtomList &t);
! V mg_wintitle(AtomList &t) const { if(plug) { t(1); SetString(t[0],plug->GetTitle()); } }
V mg_chnsin(I &c) const { c = plug?plug->GetNumInputs():0; }
***************
*** 149,153 ****
FLEXT_CALLVAR_I(mg_winy,ms_winy)
FLEXT_CALLVAR_B(mg_wincaption,ms_wincaption)
! FLEXT_CALLVAR_S(mg_wintitle,ms_wintitle)
FLEXT_CALLGET_I(mg_chnsin)
--- 149,153 ----
FLEXT_CALLVAR_I(mg_winy,ms_winy)
FLEXT_CALLVAR_B(mg_wincaption,ms_wincaption)
! FLEXT_CALLVAR_V(mg_wintitle,ms_wintitle)
FLEXT_CALLGET_I(mg_chnsin)
***************
*** 633,636 ****
--- 633,644 ----
}
+ V vst::ms_wintitle(const AtomList &t)
+ {
+ if(plug) {
+ char txt[256];
+ t.Print(txt,sizeof txt);
+ plug->SetTitle(txt);
+ }
+ }
/**
Index: VstHost.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/vst/src/VstHost.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** VstHost.cpp 25 Aug 2004 02:42:06 -0000 1.13
--- VstHost.cpp 11 Sep 2004 04:09:17 -0000 1.14
***************
*** 67,72 ****
*_sProductName = 0;
! Dispatch( effGetProductString, 0, 0, &_sProductName, 0.0f);
! if(_sProductName) {
// no product name given by plugin -> extract it from the filename
--- 67,72 ----
*_sProductName = 0;
! ret = Dispatch( effGetProductString, 0, 0, _sProductName, 0.0f);
! if(!*_sProductName) {
// no product name given by plugin -> extract it from the filename
***************
*** 92,96 ****
if(*_sProductName) {
! char tmp[256];
sprintf(tmp,"vst~ - %s",_sProductName);
title = tmp;
--- 92,96 ----
if(*_sProductName) {
! char tmp[512];
sprintf(tmp,"vst~ - %s",_sProductName);
title = tmp;
***************
*** 100,104 ****
*_sVendorName = 0;
! Dispatch( effGetVendorString, 0, 0, &_sVendorName, 0.0f);
_sDllName = dllname;
--- 100,104 ----
*_sVendorName = 0;
! Dispatch( effGetVendorString, 0, 0,_sVendorName, 0.0f);
_sDllName = dllname;
***************
*** 273,276 ****
--- 273,279 ----
FLEXT_ASSERT(h != NULL);
Dispatch(effEditOpen,0,0,hwnd = h);
+ // Dispatch(effEditTop);
+
+ TitleEditor(this,title.c_str());
}
***************
*** 423,427 ****
long VSTPlugin::Master(AEffect *effect, long opcode, long index, long value, void *ptr, float opt)
{
! #if 0
audioMasterEnum op = (audioMasterEnum)opcode;
audioMasterEnumx opx = (audioMasterEnumx)opcode;
--- 426,430 ----
long VSTPlugin::Master(AEffect *effect, long opcode, long index, long value, void *ptr, float opt)
{
! #if 1
audioMasterEnum op = (audioMasterEnum)opcode;
audioMasterEnumx opx = (audioMasterEnumx)opcode;
***************
*** 435,439 ****
case audioMasterAutomate: // 0
#ifdef FLEXT_DEBUG
! post("Automate index=%li value=%li",index,value);
#endif
// index, value given
--- 438,442 ----
case audioMasterAutomate: // 0
#ifdef FLEXT_DEBUG
! post("Automate index=%li value=%li opt=%f",index,value,opt);
#endif
// index, value given
***************
*** 442,450 ****
case audioMasterVersion: // 1
// support VST 2.3
! return 2300;
case audioMasterCurrentId: // 2
return 0;
case audioMasterIdle: // 3
! // effect->dispatcher(effect, effEditIdle, 0, 0, NULL, 0.0f);
return 0;
case audioMasterPinConnected: // 4
--- 445,454 ----
case audioMasterVersion: // 1
// support VST 2.3
! // return 2300;
! return 2;
case audioMasterCurrentId: // 2
return 0;
case audioMasterIdle: // 3
! effect->dispatcher(effect, effEditIdle, 0, 0, NULL, 0.0f);
return 0;
case audioMasterPinConnected: // 4
***************
*** 493,496 ****
--- 497,504 ----
case audioMasterGetNumAutomatableParameters: // 11
return 0; // not supported
+ case audioMasterSizeWindow: // 15
+ return 0;
+ // case audioMasterGetSampleRate: // 16
+ // case audioMasterGetBlockSize: // 17
case audioMasterGetCurrentProcessLevel: // 23
// return thread state
***************
*** 508,511 ****
--- 516,546 ----
post("\taudioMasterCanDo PTR = %s",ptr);
#endif
+ if(!strcmp((char *)ptr,"sendVstEvents"))
+ return 1;
+ else if(!strcmp((char *)ptr,"sendVstMidiEvent"))
+ return 1;
+ else if(!strcmp((char *)ptr,"sendVstTimeInfo"))
+ return 1; // NOT YET
+ else if(!strcmp((char *)ptr,"receiveVstEvents"))
+ return 1;
+ else if(!strcmp((char *)ptr,"receiveVstMidiEvent"))
+ return 1;
+ else if(!strcmp((char *)ptr,"receiveVstTimeInfo"))
+ return 1; // NOT YET
+ else if(!strcmp((char *)ptr,"reportConnectionChanges"))
+ return 0; // \TODO PD has hard times supporting that...
+ else if(!strcmp((char *)ptr,"acceptIOChanges"))
+ return 0; // \TODO what does this means exactly?
+ else if(!strcmp((char *)ptr,"supplyIdle"))
+ return 1;
+ else if(!strcmp((char *)ptr,"sizeWindow"))
+ return 1;
+ else if(!strcmp((char *)ptr,"supportShell"))
+ return 0; // NOT YET!
+ else if(!strcmp((char *)ptr,"offline"))
+ return 0; // not supported
+ else if(!strcmp((char *)ptr,"asyncProcessing"))
+ return 0; // not supported
+
return 0; // not supported
case audioMasterGetLanguage: // 38
***************
*** 514,517 ****
--- 549,557 ----
// return full path of plugin
return 0; // not supported
+ case audioMasterUpdateDisplay: // 42
+ #ifdef FLEXT_DEBUG
+ post("UPDATE DISPLAY");
+ #endif
+ return 0;
default:
#ifdef FLEXT_DEBUG
Index: VstHost.h
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/vst/src/VstHost.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** VstHost.h 25 Aug 2004 02:42:06 -0000 1.9
--- VstHost.h 11 Sep 2004 04:09:17 -0000 1.10
***************
*** 114,118 ****
bool IsVisible() const;
! // void Paint(ERect &r) const { Dispatch(effEditDraw,0,0,&r); }
void processReplacing( float **inputs, float **outputs, long sampleframes );
--- 114,118 ----
bool IsVisible() const;
! void Paint(ERect &r) const { Dispatch(effEditDraw,0,0,&r); }
void processReplacing( float **inputs, float **outputs, long sampleframes );
***************
*** 151,156 ****
inline bool HasFlags(long msk) const { return _pEffect && (_pEffect->flags&msk); }
! char _sProductName[64];
! char _sVendorName[64];
std::string _sDllName; // Contains dll name
--- 151,156 ----
inline bool HasFlags(long msk) const { return _pEffect && (_pEffect->flags&msk); }
! char _sProductName[300];
! char _sVendorName[300];
std::string _sDllName; // Contains dll name
Index: EditorWin.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/vst/src/EditorWin.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** EditorWin.cpp 25 Aug 2004 02:42:06 -0000 1.4
--- EditorWin.cpp 11 Sep 2004 04:09:17 -0000 1.5
***************
*** 56,65 ****
PostQuitMessage(0);
break;
! case WM_TIMER:
! // plug->Dispatch(effEditIdle, 0, 0, NULL, 0.0f);
! // break;
case WM_ENTERIDLE:
plug->EditorIdle();
break;
case WM_MOVE: {
// ignore after WM_CLOSE so that x,y positions are preserved
--- 56,65 ----
PostQuitMessage(0);
break;
!
! case WM_TIMER: // fall through
case WM_ENTERIDLE:
plug->EditorIdle();
break;
+
case WM_MOVE: {
// ignore after WM_CLOSE so that x,y positions are preserved
***************
*** 75,87 ****
break;
}
! /*
case WM_PAINT: {
// Paint the window's client area.
RECT rect;
! GetUpdateRect(hwnd,rect,FALSE);
! plug->Paint(rect);
break;
}
! */
#if 0 //def FLEXT_DEBUG
case WM_SIZE: {
--- 75,94 ----
break;
}
!
! #if 0 // NOT needed for Windows
case WM_PAINT: {
// Paint the window's client area.
RECT rect;
! GetUpdateRect(hwnd,&rect,FALSE);
! ERect erect;
! erect.left = rect.left;
! erect.top = rect.top;
! erect.right = rect.right;
! erect.bottom = rect.bottom;
! plug->Paint(erect);
break;
}
! #endif
!
#if 0 //def FLEXT_DEBUG
case WM_SIZE: {
***************
*** 95,98 ****
--- 102,109 ----
default:
+ #ifdef FLEXT_DEBUG
+ flext::post("WND MSG %i, WP=%i, lp=%i",msg,wp,lp);
+ #endif
+
res = DefWindowProc(hwnd,msg,wp,lp);
}