[PD-cvs] externals/grill/vst/src editorwin.hpp,1.3,1.4 main.cpp,1.27,1.28 vsthost.cpp,1.8,1.9 vsthost.h,1.8,1.9 vstmaster.cpp,1.4,1.5

Thomas Grill xovo at users.sourceforge.net
Fri Mar 25 05:55:13 CET 2005


Update of /cvsroot/pure-data/externals/grill/vst/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7901/src

Modified Files:
	editorwin.hpp main.cpp vsthost.cpp vsthost.h vstmaster.cpp 
Log Message:
small OSX things
experimenting a bit....
clean handling of plugin deletion (potentially open editor window etc.)


Index: vstmaster.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/vst/src/vstmaster.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** vstmaster.cpp	16 Mar 2005 04:59:35 -0000	1.4
--- vstmaster.cpp	25 Mar 2005 04:55:11 -0000	1.5
***************
*** 71,77 ****
  long VSTPlugin::Master(AEffect *effect, long opcode, long index, long value, void *ptr, float opt)
  {
! #ifdef FLEXT_LOGGING
!   	post("VST -> host: Eff = 0x%.8X, Opcode = %d, Index = %d, Value = %d, PTR = %.8X, OPT = %.3f\n",(int)effect, opcode,index,value,(int)ptr,opt);
! #endif
  
      VSTPlugin *th = effect?(VSTPlugin *)effect->user:NULL;
--- 71,76 ----
  long VSTPlugin::Master(AEffect *effect, long opcode, long index, long value, void *ptr, float opt)
  {
!     if(opcode != audioMasterGetTime)
!   	    FLEXT_LOG6("VST -> host: Eff = 0x%.8X, Opcode = %d, Index = %d, Value = %d, PTR = %.8X, OPT = %.3f\n",(int)effect, opcode,index,value,(int)ptr,opt);
  
      VSTPlugin *th = effect?(VSTPlugin *)effect->user:NULL;
***************
*** 102,114 ****
  		//! \todo set connection state correctly (if possible..)
  		// index=pin, value=0..input, else..output
! #ifdef FLEXT_LOGGING
!         post("Pin connected pin=%li conn=%li",index,value);
! #endif
  		return 0; // 0 means connected
  
  	case audioMasterWantMidi: // 6
! #ifdef FLEXT_LOGGING
!         post("Want MIDI = %li",value);
! #endif
  		return 0; // VST header says: "currently ignored"
  
--- 101,109 ----
  		//! \todo set connection state correctly (if possible..)
  		// index=pin, value=0..input, else..output
!         FLEXT_LOG2("Pin connected pin=%li conn=%li",index,value);
  		return 0; // 0 means connected
  
  	case audioMasterWantMidi: // 6
!         FLEXT_LOG1("Want MIDI = %li",value);
  		return 0; // VST header says: "currently ignored"
  
***************
*** 167,173 ****
      case audioMasterSetTime: { // 9
          VstTimeInfo *tminfo = static_cast<VstTimeInfo *>(ptr);
! #ifdef FLEXT_DEBUG
!         post("TimeInfo pos=%lf rate=%lf filter=%li",tminfo->samplePos,tminfo->sampleRate,value);
! #endif
          return 0; // not supported
      }
--- 162,166 ----
      case audioMasterSetTime: { // 9
          VstTimeInfo *tminfo = static_cast<VstTimeInfo *>(ptr);
!         FLEXT_LOG3("TimeInfo pos=%lf rate=%lf filter=%li",tminfo->samplePos,tminfo->sampleRate,value);
          return 0; // not supported
      }
***************
*** 207,213 ****
  
  	case audioMasterCanDo: // 37
! #ifdef FLEXT_LOGGING
!     	post("\taudioMasterCanDo PTR = %s",ptr);
! #endif
          if(!strcmp((char *)ptr,"sendVstEvents"))
              return 1;
--- 200,204 ----
  
  	case audioMasterCanDo: // 37
!     	FLEXT_LOG1("\taudioMasterCanDo PTR = %s",ptr);
          if(!strcmp((char *)ptr,"sendVstEvents"))
              return 1;
***************
*** 260,272 ****
  
      case audioMasterUpdateDisplay: // 42
! #ifdef FLEXT_LOGGING
!         post("UPDATE DISPLAY");
! #endif
          return 0;
  
      default:
! #ifdef FLEXT_DEBUG
!         post("Unknown opcode %li",opcode);
! #endif
          return 0;
      }
--- 251,259 ----
  
      case audioMasterUpdateDisplay: // 42
!         FLEXT_LOG("UPDATE DISPLAY");
          return 0;
  
      default:
!         FLEXT_LOG1("Unknown opcode %li",opcode);
          return 0;
      }

Index: vsthost.h
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/vst/src/vsthost.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** vsthost.h	20 Mar 2005 04:57:22 -0000	1.8
--- vsthost.h	25 Mar 2005 04:55:11 -0000	1.9
***************
*** 217,221 ****
  	void AddPitchBend(int value)
      {
! 	    AddMIDI(MIDI_PITCHBEND+midichannel,((value>>7)&127),(value&127));
      }
  
--- 217,221 ----
  	void AddPitchBend(int value)
      {
! 	    AddMIDI(MIDI_PITCHBEND+midichannel,(value&127),((value>>7)&127));
      }
  
***************
*** 292,310 ****
  
  public:
! 	void processReplacing(float **inputs,float **outputs,long sampleframes )
      {
          FLEXT_ASSERT(effect);
!     	effect->processReplacing(effect,inputs,outputs,sampleframes);
          if(playing) updatepos(sampleframes);
      }
  
! 	void process(float **inputs,float **outputs,long sampleframes )
      {
          FLEXT_ASSERT(effect);
!     	effect->process(effect,inputs,outputs,sampleframes);
!         if(playing) updatepos(sampleframes);
      }
  
  private:
      void updatepos(long frames);
  
--- 292,312 ----
  
  public:
! 	bool processReplacing(float **inputs,float **outputs,long sampleframes )
      {
          FLEXT_ASSERT(effect);
!   	    effect->processReplacing(effect,inputs,outputs,sampleframes);
          if(playing) updatepos(sampleframes);
+         return true;
      }
  
! 	bool process(float **inputs,float **outputs,long sampleframes )
      {
          FLEXT_ASSERT(effect);
!    	    effect->process(effect,inputs,outputs,sampleframes);
!         return true;
      }
  
  private:
+ 
      void updatepos(long frames);
  

Index: vsthost.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/vst/src/vsthost.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** vsthost.cpp	20 Mar 2005 04:57:22 -0000	1.8
--- vsthost.cpp	25 Mar 2005 04:55:11 -0000	1.9
***************
*** 170,175 ****
  
  #if FLEXT_OS == FLEXT_OS_WIN
!     FLEXT_ASSERT(!hdll);
!     hdll = LoadLibrary(dllname.c_str());
      if(hdll) pluginmain = (PVSTMAIN)GetProcAddress(hdll,"main");
      audiomaster = Master;  
--- 170,174 ----
  
  #if FLEXT_OS == FLEXT_OS_WIN
!     hdll = LoadLibraryEx(dllname.c_str(),NULL,0 /*DONT_RESOLVE_DLL_REFERENCES*/);
      if(hdll) pluginmain = (PVSTMAIN)GetProcAddress(hdll,"main");
      audiomaster = Master;  

Index: editorwin.hpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/vst/src/editorwin.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** editorwin.hpp	16 Mar 2005 04:59:35 -0000	1.3
--- editorwin.hpp	25 Mar 2005 04:55:11 -0000	1.4
***************
*** 57,61 ****
          case WM_TIMER: // fall through
          case WM_ENTERIDLE:
!             plug->EditorIdle();		
              break; 
  #if 0
--- 57,61 ----
          case WM_TIMER: // fall through
          case WM_ENTERIDLE:
! //            plug->EditorIdle();		
              break; 
  #if 0
***************
*** 226,230 ****
--- 226,233 ----
              else {
                  TranslateMessage(&msg); 
+ //                double tm1 = flext::GetOSTime();
                  DispatchMessage(&msg); 
+ //                double tm2 = flext::GetOSTime();
+ //                if(tm2-tm1 > 0.01) FLEXT_LOG1("halt %lf",(tm2-tm1)*1000);
              }
          }

Index: main.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/vst/src/main.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -d -r1.27 -r1.28
*** main.cpp	20 Mar 2005 04:57:22 -0000	1.27
--- main.cpp	25 Mar 2005 04:55:11 -0000	1.28
***************
*** 13,18 ****
  #include "main.h"
  
! #include "Editor.h"
! #include "VstHost.h"
  
  #include <stdlib.h>
--- 13,18 ----
  #include "main.h"
  
! #include "editor.h"
! #include "vsthost.h"
  
  #include <stdlib.h>
***************
*** 27,31 ****
  
  
! #define VST_VERSION "0.1.0pre24"
  
  
--- 27,31 ----
  
  
! #define VST_VERSION "0.1.0pre26"
  
  
***************
*** 158,162 ****
  
      int blsz;
!     void (VSTPlugin::*vstfun)(t_sample **insigs,t_sample **outsigs,long n);
      bool sigmatch;
      t_sample **vstin,**vstout,**tmpin,**tmpout;
--- 158,162 ----
  
      int blsz;
!     bool (VSTPlugin::*vstfun)(t_sample **insigs,t_sample **outsigs,long n);
      bool sigmatch;
      t_sample **vstin,**vstout,**tmpin,**tmpout;
***************
*** 652,657 ****
              ZeroSamples(outsigs[i],n);
      }
!     else if(sigmatch)
!         (plug->*vstfun)(const_cast<t_sample **>(InSig()),const_cast<t_sample **>(OutSig()),Blocksize());
      else {
          const int inputs = plug->GetNumInputs(),outputs = plug->GetNumOutputs();
--- 652,661 ----
              ZeroSamples(outsigs[i],n);
      }
!     else if(sigmatch) {
!         if(!(plug->*vstfun)(const_cast<t_sample **>(InSig()),const_cast<t_sample **>(OutSig()),Blocksize())) {
!             for(int i = 0; i < CntOutSig(); ++i)
!                 ZeroSamples(OutSig()[i],Blocksize());
!         }
!     }
      else {
          const int inputs = plug->GetNumInputs(),outputs = plug->GetNumOutputs();
***************
*** 687,691 ****
  
          // call plugin DSP function
!         (plug->*vstfun)(inv,outv,n);
  
          if(more) {
--- 691,698 ----
  
          // call plugin DSP function
!         if(!(plug->*vstfun)(inv,outv,n)) {
!             for(int i = 0; i < outputs; ++i)
!                 ZeroSamples(outsigs[i],n);
!         }
  
          if(more) {





More information about the Pd-cvs mailing list