From d2b5151c8fa2652b32be42d9a79419040e1c99a4 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Thu, 28 Jan 2016 07:45:53 +0100 Subject: Add debug --- vst/drumgizmo_vst.cc | 444 +++++++++++++++++++++++++++++---------------------- 1 file changed, 255 insertions(+), 189 deletions(-) (limited to 'vst') diff --git a/vst/drumgizmo_vst.cc b/vst/drumgizmo_vst.cc index 70d0847..c4bd3ab 100644 --- a/vst/drumgizmo_vst.cc +++ b/vst/drumgizmo_vst.cc @@ -36,270 +36,313 @@ #define NUM_PROGRAMS 0 #define NUM_PARAMS 0 -DGEditor::DGEditor(AudioEffect* effect) +DGEditor::DGEditor(AudioEffect* effect) { - DEBUG(dgeditor, "Create DGEditor\n"); - dgeff = (DrumGizmoVst*)effect; - plugingui = NULL; - drumgizmo = dgeff->drumgizmo; + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); + dgeff = (DrumGizmoVst*)effect; + plugingui = nullptr; + drumgizmo = dgeff->drumgizmo; } bool DGEditor::open(void* ptr) { - DEBUG(dgeditor, "open GUI (new PluginGUI)\n"); - if(plugingui) delete plugingui; + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); + if(plugingui) + { + delete plugingui; + } - plugingui = new GUI::PluginGUI(); - // plugingui->setChangeMidimapCallback(midimapHandler, dgeff); - - // plugingui->show(); - return true; + plugingui = new GUI::PluginGUI(); + plugingui->show(); + return true; } void DGEditor::close() { - DEBUG(dgeditor, "close GUI (delete PluginGUI)\n"); - // plugingui->hide(); - if(plugingui) delete plugingui; - plugingui = NULL; + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); + + if(plugingui) + { + delete plugingui; + } + + plugingui = nullptr; } bool DGEditor::isOpen() { - DEBUG(vst, "isOpen\n"); - return plugingui != NULL; + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); + return plugingui != nullptr; } void DGEditor::idle() { - DEBUG(vst, "idle\n"); - // if(plugingui) plugingui->processEvents(); + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); + // if(plugingui) plugingui->processEvents(); } AudioEffect* createEffectInstance(audioMasterCallback audioMaster) { - DEBUG(vst, "createEffectInstance\n"); + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); return new DrumGizmoVst(audioMaster); } DrumGizmoVst::DrumGizmoVst(audioMasterCallback audioMaster) - : AudioEffectX(audioMaster, NUM_PROGRAMS, NUM_PARAMS) + : AudioEffectX(audioMaster, NUM_PROGRAMS, NUM_PARAMS) { - hug_status_t status = hug_init(HUG_FLAG_OUTPUT_TO_SYSLOG | HUG_FLAG_USE_MUTEX, - HUG_OPTION_SYSLOG_HOST, "192.168.0.10", - HUG_OPTION_SYSLOG_PORT, 514, - HUG_OPTION_END); + hug_status_t status = hug_init( + HUG_FLAG_OUTPUT_TO_SYSLOG | HUG_FLAG_USE_MUTEX, HUG_OPTION_SYSLOG_HOST, + "192.168.0.10", HUG_OPTION_SYSLOG_PORT, 514, HUG_OPTION_END); - if(status != HUG_STATUS_OK) { - printf("Error: %d\n", status); - } + if(status != HUG_STATUS_OK) + { + printf("Error: %d\n", status); + } - INFO(example, "We are up and running"); + INFO(example, "We are up and running"); - DEBUG(vst, "DrumGizmoVst()\n"); + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); - pos = 0; - buffer = NULL; - buffer_size = 0; + pos = 0; + buffer = nullptr; + buffer_size = 0; - output = NULL; - input = NULL; - drumgizmo = NULL; - - output = new OutputVST(); - input = new InputVST(); - drumgizmo = new DrumGizmo(output, input); + output = nullptr; + input = nullptr; + drumgizmo = nullptr; + + output = new OutputVST(); + input = new InputVST(); + drumgizmo = new DrumGizmo(output, input); // initialize programs - //programs = new DrumGizmoVstProgram[kNumPrograms]; - //for(VstInt32 i = 0; i < 16; i++) channelPrograms[i] = i; + // programs = new DrumGizmoVstProgram[kNumPrograms]; + // for(VstInt32 i = 0; i < 16; i++) channelPrograms[i] = i; + + // if(programs) setProgram(0); - //if(programs) setProgram(0); - - if(audioMaster) { + if(audioMaster) + { setNumInputs(0); // no audio inputs setNumOutputs(NUM_OUTPUTS); canProcessReplacing(); isSynth(); - union { - char cid[4]; - unsigned int iid; - } id; + union + { + char cid[4]; + unsigned int iid; + } id; - memcpy(id.cid, "DGV5", 4); // Four bytes typecasted into an unsigned integer + memcpy(id.cid, "DGV5", 4); // Four bytes typecasted into an unsigned integer setUniqueID(id.iid); - // setUniqueID((unsigned int)time(NULL)); - + // setUniqueID((unsigned int)time(nullptr)); } initProcess(); suspend(); - editor = new DGEditor(this); - setEditor(editor); + editor = new DGEditor(this); + setEditor(editor); - programsAreChunks(true); + programsAreChunks(true); - // getChunk - // file:///home/deva/docs/c/drumgizmo/vst/vstsdk2.4/doc/html/class_audio_effect.html#42883c327783d7d31ed513b10c9204fc + // getChunk + // file:///home/deva/docs/c/drumgizmo/vst/vstsdk2.4/doc/html/class_audio_effect.html#42883c327783d7d31ed513b10c9204fc - // setChunk - // file:///home/deva/docs/c/drumgizmo/vst/vstsdk2.4/doc/html/class_audio_effect.html#b6e4c31c1acf8d1fc4046521912787b1 + // setChunk + // file:///home/deva/docs/c/drumgizmo/vst/vstsdk2.4/doc/html/class_audio_effect.html#b6e4c31c1acf8d1fc4046521912787b1 } DrumGizmoVst::~DrumGizmoVst() { - DEBUG(vst, "~DrumGizmoVst(1)\n"); - if(drumgizmo) delete drumgizmo; - DEBUG(vst, "~DrumGizmoVst(2)\n"); - if(input) delete input; - DEBUG(vst, "~DrumGizmoVst(3)\n"); - if(output) delete output; - DEBUG(vst, "~DrumGizmoVst(4)\n"); + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); + + DEBUG(vst, "~DrumGizmoVst(1)\n"); + if(drumgizmo) + delete drumgizmo; + DEBUG(vst, "~DrumGizmoVst(2)\n"); + if(input) + delete input; + DEBUG(vst, "~DrumGizmoVst(3)\n"); + if(output) + delete output; + DEBUG(vst, "~DrumGizmoVst(4)\n"); - hug_close(); + hug_close(); } -VstInt32 DrumGizmoVst::getChunk(void **data, bool isPreset) +VstInt32 DrumGizmoVst::getChunk(void** data, bool isPreset) { - DEBUG(vst, "getChunk(data: %p isPreset: %d)\n", *data, isPreset?1:0); - std::string cfg = drumgizmo->configString(); - DEBUG(vst, "drumgizmo->config := %s\n", cfg.c_str()); - char *config = strdup(cfg.c_str()); - *data = config; - return cfg.length(); + DEBUG(dgeditor, "%s - data: %p isPreset: %d\n", + __PRETTY_FUNCTION__, *data, isPreset ? 1 : 0); + std::string cfg = drumgizmo->configString(); + DEBUG(vst, "drumgizmo->config := %s\n", cfg.c_str()); + char* config = strdup(cfg.c_str()); + *data = config; + return cfg.length(); } -VstInt32 DrumGizmoVst::setChunk(void *data, VstInt32 byteSize, bool isPreset) +VstInt32 DrumGizmoVst::setChunk(void* data, VstInt32 byteSize, bool isPreset) { - std::string config; - config.append((const char*)data, (size_t)byteSize); - DEBUG(vst, "setChunk(isPreset: %d): [%d] %s\n", - isPreset?1:0, byteSize, config.c_str()); + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); + + std::string config; + config.append((const char*)data, (size_t)byteSize); + DEBUG(vst, "setChunk(isPreset: %d): [%d] %s\n", isPreset ? 1 : 0, byteSize, + config.c_str()); - if(!drumgizmo->setConfigString(config)) { - ERR(vst, "setConfigString failed...\n"); - return 1; - } + if(!drumgizmo->setConfigString(config)) + { + ERR(vst, "setConfigString failed...\n"); + return 1; + } - return 0; + return 0; } -void DrumGizmoVst::setProgram(VstInt32 program) {} -void DrumGizmoVst::setProgramName(char* name) {} -void DrumGizmoVst::getProgramName(char* name) { name[0] = '\0'; } +void DrumGizmoVst::setProgram(VstInt32 program) +{ + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); +} +void DrumGizmoVst::setProgramName(char* name) +{ + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); +} +void DrumGizmoVst::getProgramName(char* name) +{ + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); + name[0] = '\0'; +} void DrumGizmoVst::getParameterLabel(VstInt32 index, char* label) { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); label[0] = '\0'; /* switch(index) { - case kWaveform1: - case kWaveform2: - vst_strncpy(label, "Shape", kVstMaxParamStrLen); - break; - - case kFreq1: - case kFreq2: - vst_strncpy(label, "Hz", kVstMaxParamStrLen); - break; - - case kVolume1: - case kVolume2: - case kVolume: - vst_strncpy(label, "dB", kVstMaxParamStrLen); - break; + case kWaveform1: + case kWaveform2: + vst_strncpy(label, "Shape", kVstMaxParamStrLen); + break; + + case kFreq1: + case kFreq2: + vst_strncpy(label, "Hz", kVstMaxParamStrLen); + break; + + case kVolume1: + case kVolume2: + case kVolume: + vst_strncpy(label, "dB", kVstMaxParamStrLen); + break; } */ } void DrumGizmoVst::getParameterDisplay(VstInt32 index, char* text) { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); text[0] = 0; /* switch(index) { - case kWaveform1: - if(fWaveform1 < .5) - vst_strncpy(text, "Sawtooth", kVstMaxParamStrLen); - else - vst_strncpy(text, "Pulse", kVstMaxParamStrLen); - break; - - case kFreq1: float2string(fFreq1, text, kVstMaxParamStrLen); break; - case kVolume1: dB2string(fVolume1, text, kVstMaxParamStrLen); break; - - case kWaveform2: - if(fWaveform2 < .5) - vst_strncpy(text, "Sawtooth", kVstMaxParamStrLen); - else - vst_strncpy(text, "Pulse", kVstMaxParamStrLen); - break; - - case kFreq2: float2string(fFreq2, text, kVstMaxParamStrLen); break; - case kVolume2: dB2string(fVolume2, text, kVstMaxParamStrLen); break; - case kVolume: dB2string(fVolume, text, kVstMaxParamStrLen); break; + case kWaveform1: + if(fWaveform1 < .5) + vst_strncpy(text, "Sawtooth", kVstMaxParamStrLen); + else + vst_strncpy(text, "Pulse", kVstMaxParamStrLen); + break; + + case kFreq1: float2string(fFreq1, text, kVstMaxParamStrLen); + break; + case kVolume1: dB2string(fVolume1, text, kVstMaxParamStrLen); + break; + + case kWaveform2: + if(fWaveform2 < .5) + vst_strncpy(text, "Sawtooth", kVstMaxParamStrLen); + else + vst_strncpy(text, "Pulse", kVstMaxParamStrLen); + break; + + case kFreq2: float2string(fFreq2, text, kVstMaxParamStrLen); + break; + case kVolume2: dB2string(fVolume2, text, kVstMaxParamStrLen); + break; + case kVolume: dB2string(fVolume, text, kVstMaxParamStrLen); + break; } */ } void DrumGizmoVst::getParameterName(VstInt32 index, char* label) { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); /* switch(index) { - case kWaveform1: vst_strncpy(label, "Wave 1", kVstMaxParamStrLen); break; - case kFreq1: vst_strncpy(label, "Freq 1", kVstMaxParamStrLen); break; - case kVolume1: vst_strncpy(label, "Levl 1", kVstMaxParamStrLen); break; - case kWaveform2: vst_strncpy(label, "Wave 2", kVstMaxParamStrLen); break; - case kFreq2: vst_strncpy(label, "Freq 2", kVstMaxParamStrLen); break; - case kVolume2: vst_strncpy(label, "Levl 2", kVstMaxParamStrLen); break; - case kVolume: vst_strncpy(label, "Volume", kVstMaxParamStrLen); break; + case kWaveform1: vst_strncpy(label, "Wave 1", kVstMaxParamStrLen); + break; + case kFreq1: vst_strncpy(label, "Freq 1", kVstMaxParamStrLen); + break; + case kVolume1: vst_strncpy(label, "Levl 1", kVstMaxParamStrLen); + break; + case kWaveform2: vst_strncpy(label, "Wave 2", kVstMaxParamStrLen); + break; + case kFreq2: vst_strncpy(label, "Freq 2", kVstMaxParamStrLen); + break; + case kVolume2: vst_strncpy(label, "Levl 2", kVstMaxParamStrLen); + break; + case kVolume: vst_strncpy(label, "Volume", kVstMaxParamStrLen); + break; } */ } void DrumGizmoVst::setParameter(VstInt32 index, float value) { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); /* DrumGizmoVstProgram *ap = &programs[curProgram]; switch(index) { - case kWaveform1: fWaveform1 = ap->fWaveform1 = value; break; - case kFreq1: fFreq1 = ap->fFreq1 = value; break; - case kVolume1: fVolume1 = ap->fVolume1 = value; break; - case kWaveform2: fWaveform2 = ap->fWaveform2 = value; break; - case kFreq2: fFreq2 = ap->fFreq2 = value; break; - case kVolume2: fVolume2 = ap->fVolume2 = value; break; - case kVolume: fVolume = ap->fVolume = value; break; + case kWaveform1: fWaveform1 = ap->fWaveform1 = value; break; + case kFreq1: fFreq1 = ap->fFreq1 = value; break; + case kVolume1: fVolume1 = ap->fVolume1 = value; break; + case kWaveform2: fWaveform2 = ap->fWaveform2 = value; break; + case kFreq2: fFreq2 = ap->fFreq2 = value; break; + case kVolume2: fVolume2 = ap->fVolume2 = value; break; + case kVolume: fVolume = ap->fVolume = value; break; } */ } float DrumGizmoVst::getParameter(VstInt32 index) { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); float value = 0; /* switch(index) { - case kWaveform1: value = fWaveform1; break; - case kFreq1: value = fFreq1; break; - case kVolume1: value = fVolume1; break; - case kWaveform2: value = fWaveform2; break; - case kFreq2: value = fFreq2; break; - case kVolume2: value = fVolume2; break; - case kVolume: value = fVolume; break; + case kWaveform1: value = fWaveform1; break; + case kFreq1: value = fFreq1; break; + case kVolume1: value = fVolume1; break; + case kWaveform2: value = fWaveform2; break; + case kFreq2: value = fFreq2; break; + case kVolume2: value = fVolume2; break; + case kVolume: value = fVolume; break; } */ return value; } -bool DrumGizmoVst::getOutputProperties(VstInt32 index, - VstPinProperties* properties) +bool DrumGizmoVst::getOutputProperties( + VstInt32 index, VstPinProperties* properties) { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); if(index < NUM_OUTPUTS) { vst_strncpy(properties->label, "Channel ", 63); @@ -314,56 +357,67 @@ bool DrumGizmoVst::getOutputProperties(VstInt32 index, return false; } -bool DrumGizmoVst::getProgramNameIndexed(VstInt32 category, VstInt32 index, - char* text) +bool DrumGizmoVst::getProgramNameIndexed( + VstInt32 category, VstInt32 index, char* text) { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); return false; } bool DrumGizmoVst::getEffectName(char* name) { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); vst_strncpy(name, "DrumGizmo4", kVstMaxEffectNameLen); return true; } bool DrumGizmoVst::getVendorString(char* text) { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); vst_strncpy(text, "Aasimon.org", kVstMaxVendorStrLen); return true; } bool DrumGizmoVst::getProductString(char* text) { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); vst_strncpy(text, "Vst Synth", kVstMaxProductStrLen); return true; } VstInt32 DrumGizmoVst::getVendorVersion() -{ - return 1000; +{ + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); + return 1000; } VstInt32 DrumGizmoVst::canDo(char* text) { - if(!strcmp(text, "receiveVstEvents")) return 1; - if(!strcmp(text, "receiveVstMidiEvent")) return 1; - //if(!strcmp(text, "midiProgramNames")) return 1; - return -1; // explicitly can't do; 0 => don't know + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); + if(!strcmp(text, "receiveVstEvents")) + return 1; + if(!strcmp(text, "receiveVstMidiEvent")) + return 1; + // if(!strcmp(text, "midiProgramNames")) return 1; + return -1; // explicitly can't do; 0 => don't know } VstInt32 DrumGizmoVst::getNumMidiInputChannels() { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); return 1; // we are monophonic } VstInt32 DrumGizmoVst::getNumMidiOutputChannels() { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); return 0; // no MIDI output back to Host app } -VstInt32 DrumGizmoVst::getMidiProgramName(VstInt32 channel, - MidiProgramName* mpn) +VstInt32 DrumGizmoVst::getMidiProgramName( + VstInt32 channel, MidiProgramName* mpn) { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); VstInt32 prg = mpn->thisProgramIndex; if(prg < 0 || prg >= 128) return 0; @@ -373,19 +427,22 @@ VstInt32 DrumGizmoVst::getMidiProgramName(VstInt32 channel, return 128L; } -VstInt32 DrumGizmoVst::getCurrentMidiProgram(VstInt32 channel, - MidiProgramName* mpn) +VstInt32 DrumGizmoVst::getCurrentMidiProgram( + VstInt32 channel, MidiProgramName* mpn) { - if(channel < 0 || channel >= 16 || !mpn) return -1; + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); + if(channel < 0 || channel >= 16 || !mpn) + return -1; VstInt32 prg = 0; mpn->thisProgramIndex = prg; fillProgram(channel, prg, mpn); return prg; } -void DrumGizmoVst::fillProgram(VstInt32 channel, VstInt32 prg, - MidiProgramName* mpn) +void DrumGizmoVst::fillProgram( + VstInt32 channel, VstInt32 prg, MidiProgramName* mpn) { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); mpn->midiBankMsb = mpn->midiBankLsb = -1; mpn->reserved = 0; mpn->flags = 0; @@ -395,19 +452,20 @@ void DrumGizmoVst::fillProgram(VstInt32 channel, VstInt32 prg, mpn->parentCategoryIndex = 0; } -VstInt32 DrumGizmoVst::getMidiProgramCategory(VstInt32 channel, - MidiProgramCategory* cat) +VstInt32 DrumGizmoVst::getMidiProgramCategory( + VstInt32 channel, MidiProgramCategory* cat) { - cat->parentCategoryIndex = -1; // -1:no parent category - cat->flags = 0; // reserved, none defined yet, zero. - // VstInt32 category = cat->thisCategoryIndex; + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); + cat->parentCategoryIndex = -1; // -1:no parent category + cat->flags = 0; // reserved, none defined yet, zero. + // VstInt32 category = cat->thisCategoryIndex; vst_strncpy(cat->name, "Drums", 63); return 1; } bool DrumGizmoVst::hasMidiProgramsChanged(VstInt32 channel) { - return false; // updateDisplay() + return false; // updateDisplay() } bool DrumGizmoVst::getMidiKeyName(VstInt32 channel, MidiKeyName* key) @@ -416,56 +474,64 @@ bool DrumGizmoVst::getMidiKeyName(VstInt32 channel, MidiKeyName* key) // if keyName is "" the standard name of the key will be displayed. // if false is returned, no MidiKeyNames defined for 'thisProgramIndex'. { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); // key->thisProgramIndex; // >= 0. fill struct for this program index. // key->thisKeyNumber; // 0 - 127. fill struct for this key number. key->keyName[0] = 0; - key->reserved = 0; // zero - key->flags = 0; // reserved, none defined yet, zero. + key->reserved = 0; // zero + key->flags = 0; // reserved, none defined yet, zero. return false; } void DrumGizmoVst::setSampleRate(float sampleRate) { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); AudioEffectX::setSampleRate(sampleRate); - drumgizmo->setSamplerate(sampleRate); + drumgizmo->setSamplerate(sampleRate); } void DrumGizmoVst::setBlockSize(VstInt32 blockSize) { + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); AudioEffectX::setBlockSize(blockSize); } void DrumGizmoVst::initProcess() { - // drumgizmo->loadkit(getenv("DRUMGIZMO_DRUMKIT")); - drumgizmo->init(); + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); + // drumgizmo->loadkit(getenv("DRUMGIZMO_DRUMKIT")); + drumgizmo->init(); } -void DrumGizmoVst::processReplacing(float** inputs, float** outputs, - VstInt32 sampleFrames) +void DrumGizmoVst::processReplacing( + float** inputs, float** outputs, VstInt32 sampleFrames) { - long lvl = getCurrentProcessLevel(); - // 0 = realtime/normal - // 1 = non-realtime/rendering - // 2 = offline processing - drumgizmo->setFreeWheel(lvl != 0); + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); + long lvl = getCurrentProcessLevel(); + // 0 = realtime/normal + // 1 = non-realtime/rendering + // 2 = offline processing + drumgizmo->setFreeWheel(lvl != 0); - output->setOutputs(outputs); + output->setOutputs(outputs); - if(buffer_size != (size_t)sampleFrames) { - if(buffer) free(buffer); - buffer_size = sampleFrames; - buffer = (sample_t*)malloc(sizeof(sample_t) * buffer_size); - drumgizmo->setFrameSize(buffer_size); - } + if(buffer_size != (size_t)sampleFrames) + { + if(buffer) + free(buffer); + buffer_size = sampleFrames; + buffer = (sample_t*)malloc(sizeof(sample_t) * buffer_size); + drumgizmo->setFrameSize(buffer_size); + } - drumgizmo->run(pos, buffer, buffer_size); + drumgizmo->run(pos, buffer, buffer_size); - pos += sampleFrames; + pos += sampleFrames; } VstInt32 DrumGizmoVst::processEvents(VstEvents* ev) { - input->processEvents(ev); + DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); + input->processEvents(ev); return 1; } -- cgit v1.2.3