seems working

Lucas Cordiviola 4 weeks ago
parent af7afaf8b2
commit ae2a0507ce
  1. 8
      build/Release64/Pd_Chunks-test/Pd_Chunks-test.pd
  2. 12
      vst-template/pdvst.cpp
  3. 1
      vst-template/pdvstTransfer.h

@ -1,4 +1,4 @@
#N canvas 0 265 595 358 12; #N canvas 0 265 818 358 12;
#X obj 78 87 adc~, f 6; #X obj 78 87 adc~, f 6;
#X obj 73 241 loadbang; #X obj 73 241 loadbang;
#X msg 73 271 \; pd dsp 1 \;; #X msg 73 271 \; pd dsp 1 \;;
@ -13,10 +13,11 @@
#X obj 242 263 dbtorms; #X obj 242 263 dbtorms;
#X obj 242 290 s gain; #X obj 242 290 s gain;
#X obj 300 225 s svstparameter0; #X obj 300 225 s svstparameter0;
#X obj 277 75 vsl 50 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 #X obj 277 75 vsl 50 128 0 1 0 0 empty empty empty 0 -9 0 10 #fcfcfc #000000 #000000 0 1;
-1 -1 0 1;
#X msg 277 42 set \$1; #X msg 277 42 set \$1;
#X text 355 117 range is 0..1; #X text 355 117 range is 0..1;
#X obj 498 10 r rvstplugname;
#X symbolatom 498 48 17 0 0 0 - - - 0;
#X connect 0 0 7 0; #X connect 0 0 7 0;
#X connect 0 1 6 0; #X connect 0 1 6 0;
#X connect 1 0 2 0; #X connect 1 0 2 0;
@ -33,3 +34,4 @@
#X connect 14 0 13 0; #X connect 14 0 13 0;
#X connect 14 0 10 0; #X connect 14 0 10 0;
#X connect 15 0 14 0; #X connect 15 0 14 0;
#X connect 17 0 18 0;

@ -227,6 +227,7 @@ pdvst::pdvst(audioMasterCallback audioMaster)
timeFromStartup=GetTickCount(); timeFromStartup=GetTickCount();
// JYG } // JYG }
programsAreChunks(true); programsAreChunks(true);
sendPlugName(globalPluginName);
} }
pdvst::~pdvst() pdvst::~pdvst()
@ -609,7 +610,16 @@ VstInt32 pdvst::getChunk (void** data, bool isPreset)
} }
VstInt32 pdvst::setChunk (void* data, VstInt32 byteSize, bool isPreset) VstInt32 pdvst::setChunk (void* data, VstInt32 byteSize, bool isPreset)
{ {
WaitForSingleObject(pdvstTransferMutex, 10);
{
pdvstData->datachunk.direction = PD_RECEIVE;
pdvstData->datachunk.type = STRING_TYPE;
strcpy(pdvstData->datachunk.value.stringData,(char *)data);
pdvstData->datachunk.updated = 1;
ReleaseMutex(pdvstTransferMutex);
}
MessageBox(0,"setchunk","debug",MB_OK); MessageBox(0,"setchunk","debug",MB_OK);
debugLog("setchunk: %s", data); debugLog("setchunk: %s", data);
return 1; return 1;

@ -121,6 +121,7 @@ typedef struct _pdvstTransferData
pdvstMidiMessage midiQueue[MAXMIDIQUEUESIZE]; pdvstMidiMessage midiQueue[MAXMIDIQUEUESIZE];
pdvstParameter guiState; pdvstParameter guiState;
pdvstParameter plugName; // transmitted by host pdvstParameter plugName; // transmitted by host
pdvstParameter datachunk; // get/set chunk from .fxp file
pdvstParameter guiName; // transmitted by pd : name of gui window to be embedded pdvstParameter guiName; // transmitted by pd : name of gui window to be embedded
// #ifdef VSTMIDIOUTENABLE // #ifdef VSTMIDIOUTENABLE
int midiOutQueueSize; int midiOutQueueSize;

Loading…
Cancel
Save