diff options
| author | Bent Bisballe Nyeng <deva@aasimon.org> | 2016-03-20 08:56:55 +0100 | 
|---|---|---|
| committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2016-03-20 08:56:55 +0100 | 
| commit | 830769798357588cc68e67420a16f20504fa5d77 (patch) | |
| tree | 4e18fc57c9101b863d1b74de1c117bccf35b5fb8 /vst | |
| parent | 9486ad42e12884e2b3f40cbd76fba2cf889a416f (diff) | |
Remove obsolete files.
Diffstat (limited to 'vst')
| -rw-r--r-- | vst/Makefile.am | 53 | ||||
| -rw-r--r-- | vst/Makefile.mingw32.in | 150 | ||||
| -rw-r--r-- | vst/README.txt | 46 | ||||
| -rw-r--r-- | vst/constants.h | 32 | ||||
| -rw-r--r-- | vst/drumgizmo_vst.cc | 590 | ||||
| -rw-r--r-- | vst/drumgizmo_vst.h | 119 | ||||
| -rw-r--r-- | vst/input_vst.cc | 108 | ||||
| -rw-r--r-- | vst/input_vst.h | 59 | ||||
| -rw-r--r-- | vst/output_vst.cc | 86 | ||||
| -rw-r--r-- | vst/output_vst.h | 54 | 
10 files changed, 0 insertions, 1297 deletions
| diff --git a/vst/Makefile.am b/vst/Makefile.am deleted file mode 100644 index 1f337b6..0000000 --- a/vst/Makefile.am +++ /dev/null @@ -1,53 +0,0 @@ -include $(top_srcdir)/plugingui/Makefile.am.plugingui -include $(top_srcdir)/src/Makefile.am.drumgizmo - -VST_BASE = ${VST_SOURCE_PATH} -VST_SRC_BASE = ${VST_BASE}/public.sdk/source/vst2.x/ -VST_SOURCES = \ -	${VST_SRC_BASE}/audioeffectx.cpp \ -	${VST_SRC_BASE}/audioeffect.cpp \ -	${VST_SRC_BASE}/vstplugmain.cpp - -AM_CPPFLAGS = -I$(top_srcdir)/hugin -DWITH_HUG_SYSLOG -DWITH_HUG_MUTEX - -EXTRA_DIST = \ -	Makefile.mingw32.in \ -	constants.h \ -	drumgizmo_vst.cc \ -	drumgizmo_vst.h \ -	input_vst.cc \ -	input_vst.h \ -	output_vst.cc \ -	output_vst.h - -if ENABLE_VST -plugin_LTLIBRARIES = -plugindir = $(prefix)/lib/vst -plugin_LTLIBRARIES += drumgizmo_vst.la -noinst_LTLIBRARIES = libdg.la -endif - -libdg_la_SOURCES = \ -	$(DRUMGIZMO_SOURCES) \ -	$(PLUGIN_GUI_SOURCES) - -libdg_la_LDFLAGS = -all-static -static -static-libgcc -libdg_la_LIBADD = $(PLUGIN_GUI_LIBS) $(DRUMGIZMO_LIBS) -libdg_la_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/plugingui \ -	-I$(top_srcdir)/include $(SNDFILE_CXXFLAGS) \ -	$(PTHREAD_CFLAGS) $(EXPAT_CFLAGS) $(VST_CPPFLAGS) \ -	$(PLUGIN_GUI_CFLAGS) $(SSEFLAGS)\ -	-DUSE_THREAD $(SAMPLERATE_CFLAGS) - -nodist_drumgizmo_vst_la_SOURCES = \ -	$(VST_SOURCES) - -drumgizmo_vst_la_SOURCES = \ -	drumgizmo_vst.cc \ -	input_vst.cc \ -	output_vst.cc - -drumgizmo_vst_la_LDFLAGS = -shared -module -avoid-version -drumgizmo_vst_la_LIBADD = libdg.la -drumgizmo_vst_la_CXXFLAGS = -w $(VST_CPPFLAGS) \ -	-I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_srcdir)/plugingui
\ No newline at end of file diff --git a/vst/Makefile.mingw32.in b/vst/Makefile.mingw32.in deleted file mode 100644 index bf0e7f4..0000000 --- a/vst/Makefile.mingw32.in +++ /dev/null @@ -1,150 +0,0 @@ -VST_BASE=@VST_SOURCE_PATH@ -VST_SRC_BASE = ${VST_BASE}/public.sdk/source/vst2.x/ -VST_SRC = \ -	${VST_SRC_BASE}/audioeffectx.cpp \ -	${VST_SRC_BASE}/audioeffect.cpp \ -	${VST_SRC_BASE}/vstplugmain.cpp -VST_CFLAGS=-I$(VST_BASE) - -DG_SRC = \ -	@top_srcdir@/src/audiocachefile.cc \ -	@top_srcdir@/src/audiocache.cc \ -	@top_srcdir@/src/audiocacheeventhandler.cc \ -	@top_srcdir@/src/audiocacheidmanager.cc \ -	@top_srcdir@/src/audioinputenginemidi.cc \ -	@top_srcdir@/src/audiofile.cc \ -	@top_srcdir@/src/channel.cc \ -	@top_srcdir@/src/channelmixer.cc \ -	@top_srcdir@/src/chresampler.cc \ -	@top_srcdir@/src/configfile.cc \ -	@top_srcdir@/src/configuration.cc \ -	@top_srcdir@/src/configparser.cc \ -	@top_srcdir@/src/drumgizmo.cc \ -	@top_srcdir@/src/drumkit.cc \ -	@top_srcdir@/src/drumkitloader.cc \ -	@top_srcdir@/src/drumkitparser.cc \ -	@top_srcdir@/src/events.cc \ -	@top_srcdir@/src/instrument.cc \ -	@top_srcdir@/src/instrumentparser.cc \ -	@top_srcdir@/src/memchecker.cc \ -	@top_srcdir@/src/messagehandler.cc \ -	@top_srcdir@/src/messagereceiver.cc \ -	@top_srcdir@/src/midimapparser.cc \ -	@top_srcdir@/src/midimapper.cc \ -	@top_srcdir@/src/mutex.cc \ -	@top_srcdir@/src/path.cc \ -	@top_srcdir@/src/powerlist.cc \ -	@top_srcdir@/src/sample.cc \ -	@top_srcdir@/src/semaphore.cc \ -	@top_srcdir@/src/saxparser.cc \ -	@top_srcdir@/src/thread.cc \ -	@top_srcdir@/src/velocity.cc \ -	@top_srcdir@/src/versionstr.cc -DG_CFLAGS = -I.. -I../include -I../src -DSSE -msse -msse2 -# -DDISABLE_HUGIN - -GUI_SRC = \ -	@top_srcdir@/plugingui/dgwindow.cc \ -	@top_srcdir@/plugingui/nativewindow_win32.cc \ -	@top_srcdir@/plugingui/plugingui.cc \ -	@top_srcdir@/plugingui/pluginconfig.cc \ -	@top_srcdir@/plugingui/label.cc \ -	@top_srcdir@/plugingui/eventhandler.cc \ -	@top_srcdir@/plugingui/font.cc \ -	@top_srcdir@/plugingui/window.cc \ -	@top_srcdir@/plugingui/widget.cc \ -	@top_srcdir@/plugingui/colour.cc \ -	@top_srcdir@/plugingui/painter.cc \ -	@top_srcdir@/plugingui/button.cc \ -	@top_srcdir@/plugingui/pixelbuffer.cc \ -	@top_srcdir@/plugingui/lineedit.cc \ -	@top_srcdir@/plugingui/led.cc \ -	@top_srcdir@/plugingui/layout.cc \ -	@top_srcdir@/plugingui/checkbox.cc \ -	@top_srcdir@/plugingui/slider.cc \ -	@top_srcdir@/plugingui/scrollbar.cc \ -	@top_srcdir@/plugingui/textedit.cc \ -	@top_srcdir@/plugingui/listbox.cc \ -	@top_srcdir@/plugingui/listboxthin.cc \ -	@top_srcdir@/plugingui/listboxbasic.cc \ -	@top_srcdir@/plugingui/knob.cc \ -	@top_srcdir@/plugingui/filebrowser.cc \ -	@top_srcdir@/plugingui/directory.cc \ -	@top_srcdir@/plugingui/image.cc \ -	@top_srcdir@/plugingui/combobox.cc \ -	@top_srcdir@/plugingui/progressbar.cc \ -	@top_srcdir@/plugingui/verticalline.cc \ -	@top_srcdir@/plugingui/resource.cc \ -	@top_srcdir@/plugingui/resource_data.cc \ -	@top_srcdir@/plugingui/lodepng/lodepng.cpp - -GUI_CFLAGS=-I@top_srcdir@/plugingui/ -DUSE_THREAD @GUI_CFLAGS@ -GUI_LIBS=-lgdi32 -lsetupapi -lws2_32 - -DBG_SRC = \ -	@top_srcdir@/hugin/hugin.c \ -	@top_srcdir@/hugin/hugin_syslog.c - -DBG_CFLAGS=-I../hugin -DWITH_HUG_SYSLOG -DWITH_HUG_MUTEX -# -DDISABLE_HUGIN - -# -# http://old.nabble.com/using-VC%2B%2B-.lib-with-mingw-td23151303.html -# Given `-lfoo', the win32 build of GNU ld will search for libfoo.a and foo.lib -# - -EXPAT_CFLAGS=@EXPAT_CFLAGS@ -EXPAT_LIBS=@EXPAT_LIBS@ - -SNDFILE_CFLAGS=@SNDFILE_CFLAGS@ -SNDFILE_LIBS=@SNDFILE_LIBS@ - -SRC_CFLAGS=@SAMPLERATE_CFLAGS@ -SRC_LIBS=@SAMPLERATE_LIBS@ - -ZITA_CXXFLAGS=@ZITA_CPPFLAGS@ -ZITA_LIBS=@ZITA_LIBS@ - -SRC = \ -	drumgizmo_vst.cc \ -	input_vst.cc \ -	output_vst.cc - -####################### -# -#CXXFLAGS=-DWIN32 $(EXPAT_CFLAGS) $(SNDFILE_CFLAGS) $(DG_CFLAGS) $(GUI_CFLAGS) $(DBG_CFLAGS) $(VST_CFLAGS) -#CFLAGS=$(CXXFLAGS) -#LDFLAGS=$(EXPAT_LIBS) $(SNDFILE_LIBS) $(GUI_LIBS) $(DBG_LIBS) -# -#C_SOURCES=$(DBG_SRC) -#CXX_SOURCES=$(GUI_SRC) $(DG_SRC) -#CPP_SOURCES=$(VST_SRC) -# -#OBJECTS=$(CXX_SOURCES:.cc=.o) $(CPP_SOURCES:.cpp=.o) $(C_SOURCES:.c=.o) -#all: $(CXX_SOURCES) $(CPP_SOURCES) $(C_SOURCES) drumgizmo_vst.dll -# -#drumgizmo_vst.dll: $(OBJECTS) -#	g++ $(CXXFLAGS) $(OBJECTS) $(LDFLAGS) -shared -o drumgizmo_vst.dll -Wl,--out-implib,libdrumgizmo_vst.a -# -#%.o: %.cc -#	g++ -O3 -c $(CXXFLAGS) $(LDFLAGS) $< -o $(notdir $@) -# -#%.o: %.cpp -#	g++ -O3 -c $(CXXFLAGS) $(LDFLAGS) $< -o $(notdir $@) -# -#%.o: %.c -#	gcc -O3 -c $(CFLAGS) $(LDFLAGS) $< -o $@ -# -#clean: -#	del -f $(notdir $(OBJECTS)) drumgizmo_vst.dll libdrumgizmo_vst.a -# -######################## - - -all: -	gcc $(DBG_CFLAGS) @top_srcdir@/hugin/hugin.c -c -	gcc $(DBG_CFLAGS) @top_srcdir@/hugin/hugin_syslog.c -c -	g++ $(CXXFLAGS) -std=c++11 -static -static-libgcc -O2 -g -Wall $(DBG_CFLAGS) $(DG_CFLAGS) $(DG_LIBS) $(VST_CFLAGS) hugin.o hugin_syslog.o $(DG_SRC) $(VST_SRC) ${SRC} ${GUI_SRC} ${GUI_CFLAGS} $(GUI_LIBS) $(EXPAT_CFLAGS) $(SRC_CFLAGS) $(ZITA_CXXFLAGS) $(EXPAT_LIBS) $(SNDFILE_CFLAGS) $(SNDFILE_LIBS) $(SRC_LIBS) $(ZITA_LIBS) -shared -o drumgizmo_vst.dll -Wl,--out-implib,libdrumgizmo_vst.a - -clean: -	del -f drumgizmo_vst.dll libdrumgizmo_vst.a diff --git a/vst/README.txt b/vst/README.txt deleted file mode 100644 index 30aa640..0000000 --- a/vst/README.txt +++ /dev/null @@ -1,46 +0,0 @@ -== Installation ==
 -To install the DrumGizmo vst plugin, follow these simple steps:
 -1. Copy “drumgizmo_vst.dll” into the folder containing your VST plugins.
 -2. Done!
 -
 -When opening your VST host software (Cubase or the like), the plugin
 -should now show up as a VST Instrument.
 -
 -== How to use it ==
 -1.  Load the plugin as a VST Instrument.
 -2.  Now create a midi track to use with the plugin.
 -2a. (Optional) Choose “GM map” to use with the midi track.
 -3.  Select DrumGizmo as midi output for the track.
 -4.  Now open up the DrumGizmo VST interface.
 -5.  Load a drumkit by clicking on the "Load kit..." button and browse for
 -    the drumkit xml file. (Example: “C:\drumkit\drumkit.xml”).
 -    When the “led” to the right of the line edit turns green, it means
 -    that the drumkit has succesfully begun loading in the background. It
 -    might take a while before all drums are loaded, so be patient.
 -8.  Now click on the “Load map...” button and browse for the midimap xml
 -    file. (Example: “C:\drumkit\midimap.xml”). When the “led” to the
 -    right of the line edit turns green, it means that the midimap has
 -    been loaded succesfully.
 -
 -NOTE: DrumGizmo currently uses 16 channels of output, which should be
 -mapped manually in your software, just like you would do with any other
 -plugin. We can't describe this step since it varies depending on your
 -software.
 -
 -Now plot some midi notes, and play them. You should hear the sound of
 -the DrumGizmo drumkit coming from your speakers. Keep in mind that the
 -drumkit needs to load fully before everything will play as
 -expected. So be patient...!
 -
 -== More info ==
 -If you have suggestions, bugs or comments, feel free to visit
 -http://www.drumgizmo.org or visit the official DrumGizmo irc channel at
 -#drumgizmo on the freenode network.
 -
 -== Known problems ==
 -*   On Win7 64bit with 32bit Cubase you might have to install the dll
 -    in "c:\Program Files(x86)\Steinberg\VSTPlugins" instead of
 -    "c:\Program Files(x86)\Steinberg\Cubase Studio 5\VSTPlugins".
 -
 -Have fun!
 -// The Drumgizmo Team
 diff --git a/vst/constants.h b/vst/constants.h deleted file mode 100644 index 655bfc8..0000000 --- a/vst/constants.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            constants.h - * - *  Tue Sep 20 11:49:29 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 3 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#ifndef __DRUMGIZMO_CONSTANTS_H__ -#define __DRUMGIZMO_CONSTANTS_H__ - -#define NUM_OUTPUTS 16 - -#endif/*__DRUMGIZMO_CONSTANTS_H__*/ diff --git a/vst/drumgizmo_vst.cc b/vst/drumgizmo_vst.cc deleted file mode 100644 index 81b8875..0000000 --- a/vst/drumgizmo_vst.cc +++ /dev/null @@ -1,590 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            drumgizmo_vst.cc - * - *  Tue Sep 20 08:22:48 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 3 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#include "drumgizmo_vst.h" - -#include "constants.h" - -#include <time.h> -#include <drumgizmo.h> - -#include <hugin.hpp> -#include <stdlib.h> -#include <string> - -#define NUM_PROGRAMS 0 -#define NUM_PARAMS 0 - -DGEditor::DGEditor(AudioEffect* effect) -{ -	DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); -	dgeff = (DrumGizmoVst*)effect; -	plugingui = nullptr; -	drumgizmo = dgeff->drumgizmo; -} - -bool DGEditor::open(void* ptr) -{ -	DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); -	if(plugingui) -	{ -		delete plugingui; -	} - -	plugingui = new GUI::PluginGUI(); -	plugingui->show(); -	return true; -} - -void DGEditor::close() -{ -	DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); - -	if(plugingui) -	{ -		delete plugingui; -	} - -	plugingui = nullptr; -} - -bool DGEditor::isOpen() -{ -	DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); -	return plugingui != nullptr; -} - -void DGEditor::idle() -{ -	DEBUG(dgeditor, "%s\n", __PRETTY_FUNCTION__); -	//  if(plugingui) plugingui->processEvents(); -} - -AudioEffect* createEffectInstance(audioMasterCallback audioMaster) -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	return new DrumGizmoVst(audioMaster); -} - -DrumGizmoVst::DrumGizmoVst(audioMasterCallback audioMaster) -	: AudioEffectX(audioMaster, NUM_PROGRAMS, NUM_PARAMS) -{ -	hug_status_t status = HUG_STATUS_OK; - -	int hugin_flags = HUG_FLAG_USE_MUTEX; - -	const char* syslog_host_env = getenv("DG_SYSLOG_HOST"); - -	if(syslog_host_env) -	{ -		std::string syslog_host = syslog_host_env; -		int syslog_port = 514; -		const char* syslog_port_env = getenv("DG_SYSLOG_PORT"); -		if(syslog_port_env) -		{ -			syslog_port = atoi(syslog_port_env); -		} - -		status = hug_init(hugin_flags | HUG_FLAG_OUTPUT_TO_SYSLOG, -		                  HUG_OPTION_SYSLOG_HOST, syslog_host.c_str(), -		                  HUG_OPTION_SYSLOG_PORT, syslog_port, -		                  HUG_OPTION_END); -	} -	else -	{ -		status = hug_init(hugin_flags); -	} - -	if(status != HUG_STATUS_OK) -	{ -		printf("Error: %d\n", status); -	} - -	INFO(vst, "We are up and running"); - -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); - -	pos = 0; -	buffer = nullptr; -	buffer_size = 0; - -	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; - -	// if(programs) setProgram(0); - -	if(audioMaster) -	{ -		setNumInputs(0); // no audio inputs -		setNumOutputs(NUM_OUTPUTS); -		canProcessReplacing(); -		isSynth(); - -		union -		{ -			char cid[4]; -			unsigned int iid; -		} id; - -		memcpy(id.cid, "DGV5", 4); // Four bytes typecasted into an unsigned integer -		setUniqueID(id.iid); - -		//    setUniqueID((unsigned int)time(nullptr)); -	} - -	initProcess(); -	suspend(); - -	editor = new DGEditor(this); -	setEditor(editor); - -	programsAreChunks(true); - -	// 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 -} - -DrumGizmoVst::~DrumGizmoVst() -{ -	DEBUG(vst, "%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(); -} - -VstInt32 DrumGizmoVst::getChunk(void** data, bool isPreset) -{ -	DEBUG(vst, "%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) -{ -	DEBUG(vst, "%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; -	} - -	return 0; -} - -void DrumGizmoVst::setProgram(VstInt32 program) -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -} -void DrumGizmoVst::setProgramName(char* name) -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -} -void DrumGizmoVst::getProgramName(char* name) -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	name[0] = '\0'; -} - -void DrumGizmoVst::getParameterLabel(VstInt32 index, char* label) -{ -	DEBUG(vst, "%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; -	} -	*/ -} - -void DrumGizmoVst::getParameterDisplay(VstInt32 index, char* text) -{ -	DEBUG(vst, "%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; -	} -	*/ -} - -void DrumGizmoVst::getParameterName(VstInt32 index, char* label) -{ -	DEBUG(vst, "%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; -	} -	*/ -} - -void DrumGizmoVst::setParameter(VstInt32 index, float value) -{ -	DEBUG(vst, "%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; -	} -	*/ -} - -float DrumGizmoVst::getParameter(VstInt32 index) -{ -	DEBUG(vst, "%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; -	} -	*/ -	return value; -} - -bool DrumGizmoVst::getOutputProperties(VstInt32 index, -                                       VstPinProperties* properties) -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	if(index < NUM_OUTPUTS) -	{ -		vst_strncpy(properties->label, "Channel ", 63); -		char temp[11] = {0}; -		int2string(index + 1, temp, 10); -		vst_strncat(properties->label, temp, 63); - -		properties->flags = kVstPinIsActive; - -		return true; -	} -	return false; -} - -bool DrumGizmoVst::getProgramNameIndexed(VstInt32 category, VstInt32 index, -                                         char* text) -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	return false; -} - -bool DrumGizmoVst::getEffectName(char* name) -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	vst_strncpy(name, "DrumGizmo4", kVstMaxEffectNameLen); -	return true; -} - -bool DrumGizmoVst::getVendorString(char* text) -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	vst_strncpy(text, "Aasimon.org", kVstMaxVendorStrLen); -	return true; -} - -bool DrumGizmoVst::getProductString(char* text) -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	vst_strncpy(text, "Vst Synth", kVstMaxProductStrLen); -	return true; -} - -VstInt32 DrumGizmoVst::getVendorVersion() -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	return 1000; -} - -VstInt32 DrumGizmoVst::canDo(char* text) -{ -	DEBUG(vst, "%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(vst, "%s\n", __PRETTY_FUNCTION__); -	return 1; // we are monophonic -} - -VstInt32 DrumGizmoVst::getNumMidiOutputChannels() -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	return 0; // no MIDI output back to Host app -} - -VstInt32 DrumGizmoVst::getMidiProgramName(VstInt32 channel, -                                          MidiProgramName* mpn) -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	VstInt32 prg = mpn->thisProgramIndex; -	if((prg < 0) || (prg >= 128)) -	{ -		return 0; -	} - -	fillProgram(channel, prg, mpn); -	if(channel == 9) -	{ -		return 1; -	} - -	return 128L; -} - -VstInt32 DrumGizmoVst::getCurrentMidiProgram(VstInt32 channel, -                                             MidiProgramName* mpn) -{ -	DEBUG(vst, "%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) -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	mpn->midiBankMsb = mpn->midiBankLsb = -1; -	mpn->reserved = 0; -	mpn->flags = 0; - -	vst_strncpy(mpn->name, "Standard", 63); -	mpn->midiProgram = 0; -	mpn->parentCategoryIndex = 0; -} - -VstInt32 DrumGizmoVst::getMidiProgramCategory(VstInt32 channel, -                                              MidiProgramCategory* cat) -{ -	DEBUG(vst, "%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() -} - -bool DrumGizmoVst::getMidiKeyName(VstInt32 channel, MidiKeyName* key) -// struct will be filled with information for 'thisProgramIndex' and -//  'thisKeyNumber' -// if keyName is "" the standard name of the key will be displayed. -// if false is returned, no MidiKeyNames defined for 'thisProgramIndex'. -{ -	DEBUG(vst, "%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. -	return false; -} - -void DrumGizmoVst::setSampleRate(float sampleRate) -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	AudioEffectX::setSampleRate(sampleRate); -	drumgizmo->setSamplerate(sampleRate); -} - -void DrumGizmoVst::setBlockSize(VstInt32 blockSize) -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	AudioEffectX::setBlockSize(blockSize); -} - -void DrumGizmoVst::initProcess() -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	//  drumgizmo->loadkit(getenv("DRUMGIZMO_DRUMKIT")); -	drumgizmo->init(); -} - -void DrumGizmoVst::processReplacing(float** inputs, float** outputs, -                                    VstInt32 sampleFrames) -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	long lvl = getCurrentProcessLevel(); -	// 0 = realtime/normal -	// 1 = non-realtime/rendering -	// 2 = offline processing -	drumgizmo->setFreeWheel(lvl != 0); - -	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); -	} - -	drumgizmo->run(pos, buffer, buffer_size); - -	pos += sampleFrames; -} - -VstInt32 DrumGizmoVst::processEvents(VstEvents* ev) -{ -	DEBUG(vst, "%s\n", __PRETTY_FUNCTION__); -	input->processEvents(ev); -	return 1; -} diff --git a/vst/drumgizmo_vst.h b/vst/drumgizmo_vst.h deleted file mode 100644 index dde4cbb..0000000 --- a/vst/drumgizmo_vst.h +++ /dev/null @@ -1,119 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            drumgizmo_vst.h - * - *  Tue Sep 20 08:22:48 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 3 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#ifndef __DRUMGIZMO_DRUMGIZMO_VST_H__ -#define __DRUMGIZMO_DRUMGIZMO_VST_H__ - -#include <public.sdk/source/vst2.x/audioeffectx.h> -#include <public.sdk/source/vst2.x/aeffeditor.h> - -#include <drumgizmo.h> -#include <plugingui.h> - -#include "input_vst.h" -#include "output_vst.h" - -class DGEditor; - -class DrumGizmoVst : public AudioEffectX -{ -public: -	DrumGizmoVst(audioMasterCallback audioMaster); -	~DrumGizmoVst(); - -	void processReplacing(float** inputs, float** outputs, VstInt32 sampleFrames); -	VstInt32 processEvents(VstEvents* events); - -	void setProgram(VstInt32 program); -	void setProgramName(char* name); -	void getProgramName(char* name); -	bool getProgramNameIndexed(VstInt32 category, VstInt32 index, char* text); - -	void setParameter(VstInt32 index, float value); -	float getParameter(VstInt32 index); -	void getParameterLabel(VstInt32 index, char* label); -	void getParameterDisplay(VstInt32 index, char* text); -	void getParameterName(VstInt32 index, char* text); -	 -	void setSampleRate(float sampleRate); -	void setBlockSize(VstInt32 blockSize); -	 -	bool getOutputProperties(VstInt32 index, VstPinProperties* properties); -		 -	bool getEffectName(char* name); -	bool getVendorString(char* text); -	bool getProductString(char* text); -	VstInt32 getVendorVersion(); -	VstInt32 canDo(char* text); - -	VstInt32 getNumMidiInputChannels(); -	VstInt32 getNumMidiOutputChannels(); - -	VstInt32 getMidiProgramName(VstInt32 channel, -                              MidiProgramName* midiProgramName); -	VstInt32 getCurrentMidiProgram(VstInt32 channel, -                                 MidiProgramName* currentProgram); -	VstInt32 getMidiProgramCategory(VstInt32 channel, -                                  MidiProgramCategory* category); -	bool hasMidiProgramsChanged(VstInt32 channel); -	bool getMidiKeyName(VstInt32 channel, MidiKeyName* keyName); - -  VstInt32 getChunk(void **data, bool isPreset); -  VstInt32 setChunk(void *data, VstInt32 byteSize, bool isPreset); - -  DrumGizmo *drumgizmo; -  InputVST *input; -  OutputVST *output; - -private: -	void initProcess(); -  //	void noteOn(VstInt32 note, VstInt32 velocity, VstInt32 delta); -  //	void noteOff(); -	void fillProgram(VstInt32 channel, VstInt32 prg, MidiProgramName* mpn); - -  size_t pos; -  sample_t *buffer; -  size_t buffer_size; - -  DGEditor *editor; -}; - -class DGEditor : public AEffEditor { -public: -  DGEditor(AudioEffect* effect); - -  bool open(void* ptr); -  void close(); -  bool isOpen(); -	void idle(); - -private: -  DrumGizmoVst* dgeff; -  GUI::PluginGUI *plugingui; -  DrumGizmo *drumgizmo; -}; - -#endif/*__DRUMGIZMO_DRUMGIZMO_VST_H__*/ diff --git a/vst/input_vst.cc b/vst/input_vst.cc deleted file mode 100644 index 74ecb01..0000000 --- a/vst/input_vst.cc +++ /dev/null @@ -1,108 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            input_vst.cc - * - *  Tue Sep 20 10:40:10 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 3 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#include "input_vst.h" - -#include <midimapparser.h> -#include <hugin.hpp> - -InputVST::InputVST() -{ -  list = NULL; -  listsize = 0; -} - -InputVST::~InputVST() -{ -} - -bool InputVST::init(Instruments &i) -{ -  DEBUG(inputvst, "init\n"); -  instruments = &i; -  return true; -} - -void InputVST::setParm(std::string parm, std::string value) -{ -} - -bool InputVST::start() -{ -  return true; -} - -void InputVST::stop() -{ -} - -void InputVST::pre() -{ -} - -event_t *InputVST::run(size_t pos, size_t len, size_t *nevents) -{ -  *nevents = listsize; -  return list; -} - -void InputVST::post() -{ -  list = NULL; -  listsize = 0; -} - -void InputVST::processEvents(VstEvents* ev) -{ -  if(list == NULL) { -    list = (event_t *)malloc(sizeof(event_t) * 1000); -    //    listsize = 0; -  } - -	for(VstInt32 i = 0; i < ev->numEvents; i++)	{ -		if(ev->events[i]->type != kVstMidiType)	continue; - -		VstMidiEvent* event =(VstMidiEvent*)ev->events[i]; -		char* midiData = event->midiData; -		VstInt32 status = midiData[0] & 0xf0; // ignoring channel -		if(status == 0x90) { // we only look at notes -			VstInt32 note = midiData[1] & 0x7f; -			VstInt32 velocity = midiData[2] & 0x7f; - -      int i = mmap.lookup(note); -      DEBUG(inputvst, "Note: %d -> %d\n", note, i); -      if(velocity && i != -1) { -        list[listsize].type = TYPE_ONSET; -        list[listsize].instrument = i; -        list[listsize].velocity = velocity / 127.0; -        list[listsize].offset = event->deltaFrames; -        listsize++; -      } - -		} -		event++; -	} -} diff --git a/vst/input_vst.h b/vst/input_vst.h deleted file mode 100644 index 88a6d06..0000000 --- a/vst/input_vst.h +++ /dev/null @@ -1,59 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            input_vst.h - * - *  Tue Sep 20 10:40:10 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 3 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#ifndef __DRUMGIZMO_INPUT_VST_H__ -#define __DRUMGIZMO_INPUT_VST_H__ - -#include <audioinputenginemidi.h> - -#include <public.sdk/source/vst2.x/audioeffectx.h> - -class InputVST : public AudioInputEngineMidi { -public: -  InputVST(); -  virtual ~InputVST(); - -  bool init(Instruments &instruments); - -  void setParm(std::string parm, std::string value); - -  bool start(); -  void stop(); - -  void pre(); -  event_t *run(size_t pos, size_t len, size_t *nevents); -  void post(); - -  void processEvents(VstEvents* ev); - -private: -  event_t *list; -  size_t listsize; - -  Instruments *instruments; -}; - -#endif/*__DRUMGIZMO_INPUT_VST_H__*/ diff --git a/vst/output_vst.cc b/vst/output_vst.cc deleted file mode 100644 index 4a0d6d9..0000000 --- a/vst/output_vst.cc +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            output_vst.cc - * - *  Tue Sep 20 10:40:14 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 3 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#include "output_vst.h" - -#include <string.h> - -#include "constants.h" - -OutputVST::OutputVST() -{ -  outputs = NULL; -} - -OutputVST::~OutputVST() -{ -} - -bool OutputVST::init(Channels channels) -{ -  return true; -} - -void OutputVST::setParm(std::string parm, std::string value) -{ -} - -bool OutputVST::start() -{ -  return true; -} - -void OutputVST::stop() -{ -} - -void OutputVST::pre(size_t nsamples) -{ -  if(!outputs) return; - -  for(size_t ch = 0; ch < NUM_OUTPUTS; ch++) { -    memset(outputs[ch], 0, nsamples * sizeof(sample_t)); -  } -} - -void OutputVST::run(int ch, sample_t *samples, size_t nsamples) -{ -  if(!outputs) return; - -  if(ch < NUM_OUTPUTS) { -    memcpy(outputs[ch], samples, nsamples * sizeof(sample_t)); -  } -} - -void OutputVST::post(size_t nsamples) -{ -  outputs = NULL; -} - -void OutputVST::setOutputs(float **outputs) -{ -  this->outputs = outputs; -} diff --git a/vst/output_vst.h b/vst/output_vst.h deleted file mode 100644 index 914e2e8..0000000 --- a/vst/output_vst.h +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            output_vst.h - * - *  Tue Sep 20 10:40:14 CEST 2011 - *  Copyright 2011 Bent Bisballe Nyeng - *  deva@aasimon.org - ****************************************************************************/ - -/* - *  This file is part of DrumGizmo. - * - *  DrumGizmo is free software; you can redistribute it and/or modify - *  it under the terms of the GNU General Public License as published by - *  the Free Software Foundation; either version 3 of the License, or - *  (at your option) any later version. - * - *  DrumGizmo is distributed in the hope that it will be useful, - *  but WITHOUT ANY WARRANTY; without even the implied warranty of - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *  GNU General Public License for more details. - * - *  You should have received a copy of the GNU General Public License - *  along with DrumGizmo; if not, write to the Free Software - *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#ifndef __DRUMGIZMO_OUTPUT_VST_H__ -#define __DRUMGIZMO_OUTPUT_VST_H__ - -#include <audiooutputengine.h> - -class OutputVST : public AudioOutputEngine { -public: -  OutputVST(); -  ~OutputVST(); - -  bool init(Channels channels); - -  void setParm(std::string parm, std::string value); - -  bool start(); -  void stop(); - -  void pre(size_t nsamples); -  void run(int ch, sample_t *samples, size_t nsamples); -  void post(size_t nsamples); - -  void setOutputs(float **outputs); - -private: -  sample_t **outputs; -}; - -#endif/*__DRUMGIZMO_OUTPUT_VST_H__*/ | 
