[PD-cvs] externals/grill/vst/src main.cpp,1.23,1.24 main.h,1.8,1.9 vsthost.cpp,1.4,1.5 vsthost.h,1.4,1.5 vstmaster.cpp,1.2,1.3
Thomas Grill
xovo at users.sourceforge.net
Sun Mar 13 06:02:30 CET 2005
Update of /cvsroot/pure-data/externals/grill/vst/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30512/src
Modified Files:
main.cpp main.h vsthost.cpp vsthost.h vstmaster.cpp
Log Message:
fixed bug with param method
minimal
updated for new flext function naming
feedback attribute for parameter reporting
added event processing (like Midi in)
Index: vstmaster.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/vst/src/vstmaster.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** vstmaster.cpp 12 Mar 2005 04:59:16 -0000 1.2
--- vstmaster.cpp 13 Mar 2005 05:02:28 -0000 1.3
***************
*** 79,87 ****
switch (opcode) {
case audioMasterAutomate: // 0
! #ifdef FLEXT_LOGGING
! post("Automate index=%li value=%li opt=%f",index,value,opt);
! #endif
! // index, value given
! //! \todo set effect parameter
return 0;
--- 79,88 ----
switch (opcode) {
case audioMasterAutomate: // 0
! if(th && th->feedback && th->responder) {
! t_atom lst[2];
! SetInt(lst[0],index);
! SetFloat(lst[1],opt);
! th->responder->Respond(sym_param,2,lst);
! }
return 0;
***************
*** 124,127 ****
--- 125,129 ----
if(th->playing) time.flags |= kVstTransportPlaying;
if(th->looping) time.flags |= kVstTransportCycleActive;
+ // if(th->feedback) time.flags |= kVstAutomationWriting;
time.sampleRate = th->samplerate;
***************
*** 189,192 ****
--- 191,198 ----
return flext::GetThreadId() == flext::GetSysThreadId()?2:1;
+ case audioMasterGetAutomationState: // 24
+ // return th?(th->feedback?2:1):0;
+ return 0;
+
case audioMasterGetVendorString: // 32
strcpy((char*)ptr,vendor);
Index: vsthost.h
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/vst/src/vsthost.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** vsthost.h 11 Mar 2005 04:58:01 -0000 1.4
--- vsthost.h 13 Mar 2005 05:02:28 -0000 1.5
***************
*** 215,218 ****
--- 215,220 ----
void SetLooping(bool p) { if(looping != p) transchg = true,looping = p; }
bool GetLooping() const { return looping; }
+ void SetFeedback(bool p) { feedback = p; }
+ bool GetFeedback() const { return feedback; }
void SetSamplePos(double p) { if(samplepos != p) transchg = true,samplepos = p; }
***************
*** 241,245 ****
private:
! bool playing,looping;
float samplerate;
bool transchg;
--- 243,247 ----
private:
! bool playing,looping,feedback;
float samplerate;
bool transchg;
***************
*** 308,311 ****
--- 310,314 ----
static long VSTCALLBACK Master(AEffect *effect, long opcode, long index, long value, void *ptr, float opt);
+ static const t_symbol *sym_param;
static const t_symbol *sym_event,*sym_evmidi,*sym_evaudio,*sym_evvideo,*sym_evparam,*sym_evtrigger,*sym_evsysex,*sym_ev_;
static const t_symbol *sym_midi[8];
Index: vsthost.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/vst/src/vsthost.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** vsthost.cpp 11 Mar 2005 04:58:01 -0000 1.4
--- vsthost.cpp 13 Mar 2005 05:02:28 -0000 1.5
***************
*** 12,15 ****
--- 12,16 ----
const t_symbol
+ *VSTPlugin::sym_param,
*VSTPlugin::sym_event,
*VSTPlugin::sym_evmidi,
***************
*** 24,27 ****
--- 25,29 ----
void VSTPlugin::Setup()
{
+ sym_param = flext::MakeSymbol("param");
sym_event = flext::MakeSymbol("event");
sym_evmidi = flext::MakeSymbol("midi");
***************
*** 51,55 ****
, paramnamecnt(0)
, transchg(true)
! , playing(false),looping(false)
, samplerate(0)
, samplepos(0),ppqpos(0)
--- 53,57 ----
, paramnamecnt(0)
, transchg(true)
! , playing(false),looping(false),feedback(false)
, samplerate(0)
, samplepos(0),ppqpos(0)
Index: main.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/vst/src/main.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** main.cpp 12 Mar 2005 04:59:16 -0000 1.23
--- main.cpp 13 Mar 2005 05:02:27 -0000 1.24
***************
*** 27,31 ****
! #define VST_VERSION "0.1.0pre20"
--- 27,31 ----
! #define VST_VERSION "0.1.0pre21"
***************
*** 41,48 ****
protected:
! virtual void m_dsp(int n,t_signalvec const *insigs,t_signalvec const *outsigs);
! virtual void m_signal(int n,t_sample *const *insigs,t_sample *const *outsigs);
! virtual void m_click() { ms_edit(true); }
bool ms_plug(int argc,const t_atom *argv);
--- 41,48 ----
protected:
! virtual bool CbDsp();
! virtual void CbSignal();
! virtual void CbClick() { ms_edit(true); }
bool ms_plug(int argc,const t_atom *argv);
***************
*** 111,114 ****
--- 111,116 ----
void mg_looping(bool &p) { p = plug && plug->GetLooping(); }
void ms_looping(bool p) { if(plug) plug->SetLooping(p); }
+ void mg_feedback(bool &p) { p = plug && plug->GetFeedback(); }
+ void ms_feedback(bool p) { if(plug) plug->SetFeedback(p); }
void mg_samplepos(float &p) { p = plug?(float)plug->GetSamplePos():0; }
void ms_samplepos(float p) { if(plug) plug->SetSamplePos(p); }
***************
*** 211,214 ****
--- 213,217 ----
FLEXT_CALLVAR_B(mg_playing,ms_playing)
FLEXT_CALLVAR_B(mg_looping,ms_looping)
+ FLEXT_CALLVAR_B(mg_feedback,ms_feedback)
FLEXT_CALLVAR_F(mg_samplepos,ms_samplepos)
FLEXT_CALLVAR_F(mg_ppqpos,ms_ppqpos)
***************
*** 262,266 ****
FLEXT_CADDATTR_VAR(c,"pnames",paramnames,ms_paramnames);
FLEXT_CADDMETHOD_2(c,0,"param",ms_param,int,float);
! FLEXT_CADDMETHOD_2(c,0,"param",ms_params,t_symptr,float);
FLEXT_CADDMETHOD_(c,0,"getparam",mg_param);
FLEXT_CADDMETHOD_(c,0,"getparam",mg_params);
--- 265,269 ----
FLEXT_CADDATTR_VAR(c,"pnames",paramnames,ms_paramnames);
FLEXT_CADDMETHOD_2(c,0,"param",ms_param,int,float);
! FLEXT_CADDMETHOD_(c,0,"param",ms_params);
FLEXT_CADDMETHOD_(c,0,"getparam",mg_param);
FLEXT_CADDMETHOD_(c,0,"getparam",mg_params);
***************
*** 287,290 ****
--- 290,294 ----
FLEXT_CADDATTR_VAR(c,"playing",mg_playing,ms_playing);
FLEXT_CADDATTR_VAR(c,"looping",mg_looping,ms_looping);
+ FLEXT_CADDATTR_VAR(c,"feedback",mg_feedback,ms_feedback);
FLEXT_CADDATTR_VAR(c,"samplepos",mg_samplepos,ms_samplepos);
FLEXT_CADDATTR_VAR(c,"ppqpos",mg_ppqpos,ms_ppqpos);
***************
*** 567,571 ****
}
! void vst::m_dsp(int n,t_signalvec const *,t_signalvec const *)
{
if(plug) {
--- 571,575 ----
}
! bool vst::CbDsp()
{
if(plug) {
***************
*** 580,590 ****
}
}
}
! void vst::m_signal(int n,t_sample *const *insigs,t_sample *const *outsigs)
{
if(mute)
! flext_dsp::m_signal(n,insigs,outsigs);
else if(bypass) {
// copy as many channels as possible and zero dangling ones
--- 584,599 ----
}
}
+ return true;
}
! void vst::CbSignal()
{
if(mute)
! flext_dsp::CbSignal();
else if(bypass) {
+ const int n = Blocksize();
+ t_sample *const *insigs = InSig();
+ t_sample *const *outsigs = OutSig();
+
// copy as many channels as possible and zero dangling ones
***************
*** 616,625 ****
}
else if(plug) {
- const int inputs = plug->GetNumInputs(),outputs = plug->GetNumOutputs();
-
if(sigmatch)
! (plug->*vstfun)(const_cast<t_sample **>(insigs),const_cast<t_sample **>(outsigs),n);
else {
const int cntin = CntInSig(),cntout = CntOutSig();
t_sample **inv,**outv;
--- 625,636 ----
}
else if(plug) {
if(sigmatch)
! (plug->*vstfun)(const_cast<t_sample **>(InSig()),const_cast<t_sample **>(OutSig()),Blocksize());
else {
+ const int inputs = plug->GetNumInputs(),outputs = plug->GetNumOutputs();
const int cntin = CntInSig(),cntout = CntOutSig();
+ const int n = Blocksize();
+ t_sample *const *insigs = InSig();
+ t_sample *const *outsigs = OutSig();
t_sample **inv,**outv;
***************
*** 661,665 ****
}
else
! flext_dsp::m_signal(n,insigs,outsigs);
}
--- 672,676 ----
}
else
! flext_dsp::CbSignal();
}
Index: main.h
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/vst/src/main.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** main.h 11 Mar 2005 04:58:01 -0000 1.8
--- main.h 13 Mar 2005 05:02:28 -0000 1.9
***************
*** 15,20 ****
#include <flext.h>
! #if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 405)
! #error You need at least flext version 0.4.5
#endif
--- 15,20 ----
#include <flext.h>
! #if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 500)
! #error You need at least flext version 0.5.0
#endif
More information about the Pd-cvs
mailing list