Add recipe for MDA VST plugins

This commit is contained in:
Sergei Reznikov
2015-04-22 14:32:29 +03:00
parent a2ba834398
commit c987426afd
2 changed files with 404 additions and 0 deletions

View File

@@ -0,0 +1,96 @@
SUMMARY="audio processing plug-ins in VST format"
DESCRIPTION="
These free effect plug-ins work with Cubase and other VST compatible \
applications.
This package provides Paul Kellett's MDA VST plugins:
* Ambience - Reverb effect
* Bandisto - Multi-band distortion
* BeatBox - Drum replacer
* Combo - Amp & speaker simulation
* De-ess - High frequency dynamics processor
* Degrade - Sample quality reduction
* Delay - Simple stereo delay with feedback tone control
* Detune - Simple up/down pitch shifting thickener
* Dither - Range of dither types including noise shaping
* DubDelay - Delay with feedback saturation and time/pitch modulation
* Dynamics - Compressor / Limiter / Gate
* DX10 - FM Synthesizer
* Envelope - Envelope follower / VCA
* Image - Stereo image adjustment and M-S matrix
* JX10 - 2-Oscillator analog synthesizer
* Leslie - Rotary speaker simulator
* Limiter - Opto-electronic style limiter
* Looplex - Looping plugin
* Loudness - Equal loudness contours for bass EQ and mix correction
* Multiband - Multi-band compressor with M-S processing modes
* Overdrive - Soft distortion
* RePsycho - Drum loop pitch changer
* RezFilter - Resonant filter with LFO and envelope follower
* RingMod - Ring modulator with sine-wave oscillator
* Round Panner - 3D panner
* SpecMeter - VU-meter
* Splitter - Frequency / level crossover for setting up dynamic processing
* Stereo Simulator - Haas delay and comb filtering
* Sub-Bass Synthesizer - Several low frequency enhancement methods
* Talkbox - High resolution vocoder
* Thru-Zero Flanger - Classic tape-flanging simulation
* Tracker - Pitch tracking oscillator, or pitch tracking EQ
* Transient - Transient shaper
* Vocoder - Switchable 8 or 16 band vocoder
* VocInput - Pitch tracking oscillator for generating vocoder carrier input
"
LICENSE="MIT"
COPYRIGHT="Paul Kellett (paul.kellett@mda-vst.com)"
HOMEPAGE="http://sourceforge.net/projects/mda-vst"
SRC_URI="svn://svn.code.sf.net/p/mda-vst/code"
SRC_URI_2="svn+https://github.com/kxproject/kx-audio-driver/trunk/vst"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
PATCHES="mda_vst-20100214.patchset"
PROVIDES="
mda_vst$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:g++$secondaryArchSuffix
cmd:make
"
BUILD()
{
cd $sourceDir
rm -rf vst
mkdir -p $sourceDir/vst/pluginterfaces
ln -sfn $sourceDir2/h $sourceDir/vst/pluginterfaces/vst2.x
mkdir -p $sourceDir/vst/public.sdk/source
ln -sfn $sourceDir2/vstlib $sourceDir/vst/public.sdk/source/vst2.x
cd $sourceDir/mda-vst.haiku
# fix line endings
sed -i 's/\r//' $sourceDir2/h/aeffect.h
sed -i 's/\r//' $sourceDir2/h/aeffectx.h
sed -i 's/\r//' $sourceDir2/h/vstfxstore.h
make all
}
INSTALL()
{
mkdir -p $addOnsDir/media/vstplugins
for i in $sourceDir/mda-vst.haiku/*.so; do cp "$i" "$addOnsDir/media/vstplugins/$(basename ${i%.so})"; done
}

View File

@@ -0,0 +1,308 @@
From 3f30f59b4897982ab38dc118031ddf0dd5ac3cd7 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 22 Apr 2015 16:27:39 +1000
Subject: Add makefile for Haiku
diff --git a/mda-vst.haiku/Makefile b/mda-vst.haiku/Makefile
new file mode 100644
index 0000000..61a9e77
--- /dev/null
+++ b/mda-vst.haiku/Makefile
@@ -0,0 +1,229 @@
+#========================================
+# S e t t i n g s
+#========================================
+CC = g++
+DYN = .so
+EXT =
+SRC = ../src/
+VST = ../vst/
+SDK = $(VST)public.sdk/source/vst2.x/
+INC = $(VST)pluginterfaces/vst2.x/
+FFLAGS =
+MFLAGS =
+CFLAGS = -Os -s -c $(MFLAGS) $(FFLAGS) -I$(VST) -I$(SDK) -I$(INC)
+LFLAGS = -s -shared -lroot
+
+#========================================
+# O b j e c t s
+#========================================
+# (common)
+#----------------------------------------
+OBJL = haikumain
+OBJM = vstplugmain
+OBJA = audioeffect
+OBJX = audioeffectx
+OBJC = $(OBJL).o $(OBJM).o $(OBJA).o $(OBJX).o
+
+$(OBJL).o : $(OBJL).cpp
+ $(CC) $(CFLAGS) $(OBJL).cpp
+
+$(OBJM).o : $(SDK)$(OBJM).cpp
+ $(CC) $(CFLAGS) $(SDK)$(OBJM).cpp
+
+$(OBJX).o : $(SDK)$(OBJX).cpp
+ $(CC) $(CFLAGS) $(SDK)$(OBJX).cpp
+
+$(OBJA).o : $(SDK)$(OBJA).cpp
+ $(CC) $(CFLAGS) $(SDK)$(OBJA).cpp
+#----------------------------------------
+# (output)
+#----------------------------------------
+OBJE = mdaAmbience mdaBandisto mdaBeatBox mdaCombo mdaDe-ess mdaDegrade mdaDelay mdaDetune mdaDither mdaDubDelay mdaDX10 mdaDynamics mdaEnvelope mdaImage mdaJX10 mdaLeslie mdaLimiter mdaLoudness mdaMultiBand mdaOverdrive mdaRePsycho! mdaRezFilter mdaRingMod mdaRoundPan mdaShepard mdaSplitter mdaStereo mdaSubSynth mdaTalkBox mdaThruZero mdaTracker mdaTransient mdaVocInput mdaVocoder
+
+OBJD = $(OBJE:=$(DYN))
+
+#========================================
+# B u i l d
+#========================================
+# all / clean
+#----------------------------------------
+all: $(OBJE)
+
+clean:
+ rm -f *.o $(OBJD)
+
+cleanobj:
+ rm -f *.o
+#----------------------------------------
+# individual
+#----------------------------------------
+mdaAmbience: $(OBJC) mdaAmbience.o
+ $(CC) $(LFLAGS) $(OBJC) mdaAmbience.o -o mdaAmbience$(DYN)
+mdaAmbience.o: $(SRC)mdaAmbience.cpp $(SRC)mdaAmbience.h
+ $(CC) $(CFLAGS) $(SRC)mdaAmbience.cpp
+#----------------------------------------
+mdaBandisto: $(OBJC) mdaBandisto.o
+ $(CC) $(LFLAGS) $(OBJC) mdaBandisto.o -o mdaBandisto$(DYN)
+mdaBandisto.o: $(SRC)mdaBandisto.cpp $(SRC)mdaBandisto.h
+ $(CC) $(CFLAGS) $(SRC)mdaBandisto.cpp
+#----------------------------------------
+mdaBeatBox: $(OBJC) mdaBeatBox.o
+ $(CC) $(LFLAGS) $(OBJC) mdaBeatBox.o -o mdaBeatBox$(DYN)
+mdaBeatBox.o: $(SRC)mdaBeatBox.cpp $(SRC)mdaBeatBox.h
+ $(CC) $(CFLAGS) $(SRC)mdaBeatBox.cpp
+#----------------------------------------
+mdaCombo: $(OBJC) mdaCombo.o
+ $(CC) $(LFLAGS) $(OBJC) mdaCombo.o -o mdaCombo$(DYN)
+mdaCombo.o: $(SRC)mdaCombo.cpp $(SRC)mdaCombo.h
+ $(CC) $(CFLAGS) $(SRC)mdaCombo.cpp
+#----------------------------------------
+mdaDe-ess: $(OBJC) mdaDe-ess.o
+ $(CC) $(LFLAGS) $(OBJC) mdaDe-ess.o -o mdaDe-ess$(DYN)
+mdaDe-ess.o: $(SRC)mdaDe-ess.cpp $(SRC)mdaDe-ess.h
+ $(CC) $(CFLAGS) $(SRC)mdaDe-ess.cpp
+#----------------------------------------
+mdaDegrade: $(OBJC) mdaDegrade.o
+ $(CC) $(LFLAGS) $(OBJC) mdaDegrade.o -o mdaDegrade$(DYN)
+mdaDegrade.o: $(SRC)mdaDegrade.cpp $(SRC)mdaDegrade.h
+ $(CC) $(CFLAGS) $(SRC)mdaDegrade.cpp
+#----------------------------------------
+mdaDelay: $(OBJC) mdaDelay.o
+ $(CC) $(LFLAGS) $(OBJC) mdaDelay.o -o mdaDelay$(DYN)
+mdaDelay.o: $(SRC)mdaDelay.cpp $(SRC)mdaDelay.h
+ $(CC) $(CFLAGS) $(SRC)mdaDelay.cpp
+#----------------------------------------
+mdaDetune: $(OBJC) mdaDetune.o
+ $(CC) $(LFLAGS) $(OBJC) mdaDetune.o -o mdaDetune$(DYN)
+mdaDetune.o: $(SRC)mdaDetune.cpp $(SRC)mdaDetune.h
+ $(CC) $(CFLAGS) $(SRC)mdaDetune.cpp
+#----------------------------------------
+mdaDither: $(OBJC) mdaDither.o
+ $(CC) $(LFLAGS) $(OBJC) mdaDither.o -o mdaDither$(DYN)
+mdaDither.o: $(SRC)mdaDither.cpp $(SRC)mdaDither.h
+ $(CC) $(CFLAGS) $(SRC)mdaDither.cpp
+#----------------------------------------
+mdaDubDelay: $(OBJC) mdaDubDelay.o
+ $(CC) $(LFLAGS) $(OBJC) mdaDubDelay.o -o mdaDubDelay$(DYN)
+mdaDubDelay.o: $(SRC)mdaDubDelay.cpp $(SRC)mdaDubDelay.h
+ $(CC) $(CFLAGS) $(SRC)mdaDubDelay.cpp
+#----------------------------------------
+mdaDX10: $(OBJC) mdaDX10.o
+ $(CC) $(LFLAGS) $(OBJC) mdaDX10.o -o mdaDX10$(DYN)
+mdaDX10.o: $(SRC)mdaDX10.cpp $(SRC)mdaDX10.h
+ $(CC) $(CFLAGS) $(SRC)mdaDX10.cpp
+#----------------------------------------
+mdaDynamics: $(OBJC) mdaDynamics.o
+ $(CC) $(LFLAGS) $(OBJC) mdaDynamics.o -o mdaDynamics$(DYN)
+mdaDynamics.o: $(SRC)mdaDynamics.cpp $(SRC)mdaDynamics.h
+ $(CC) $(CFLAGS) $(SRC)mdaDynamics.cpp
+#----------------------------------------
+mdaEnvelope: $(OBJC) mdaEnvelope.o
+ $(CC) $(LFLAGS) $(OBJC) mdaEnvelope.o -o mdaEnvelope$(DYN)
+mdaEnvelope.o: $(SRC)mdaEnvelope.cpp $(SRC)mdaEnvelope.h
+ $(CC) $(CFLAGS) $(SRC)mdaEnvelope.cpp
+#----------------------------------------
+mdaImage: $(OBJC) mdaImage.o
+ $(CC) $(LFLAGS) $(OBJC) mdaImage.o -o mdaImage$(DYN)
+mdaImage.o: $(SRC)mdaImage.cpp $(SRC)mdaImage.h
+ $(CC) $(CFLAGS) $(SRC)mdaImage.cpp
+#----------------------------------------
+mdaJX10: $(OBJC) mdaJX10.o
+ $(CC) $(LFLAGS) $(OBJC) mdaJX10.o -o mdaJX10$(DYN)
+mdaJX10.o: $(SRC)mdaJX10.cpp $(SRC)mdaJX10.h
+ $(CC) $(CFLAGS) $(SRC)mdaJX10.cpp
+#----------------------------------------
+mdaLeslie: $(OBJC) mdaLeslie.o
+ $(CC) $(LFLAGS) $(OBJC) mdaLeslie.o -o mdaLeslie$(DYN)
+mdaLeslie.o: $(SRC)mdaLeslie.cpp $(SRC)mdaLeslie.h
+ $(CC) $(CFLAGS) $(SRC)mdaLeslie.cpp
+#----------------------------------------
+mdaLimiter: $(OBJC) mdaLimiter.o
+ $(CC) $(LFLAGS) $(OBJC) mdaLimiter.o -o mdaLimiter$(DYN)
+mdaLimiter.o: $(SRC)mdaLimiter.cpp $(SRC)mdaLimiter.h
+ $(CC) $(CFLAGS) $(SRC)mdaLimiter.cpp
+#----------------------------------------
+mdaLoudness: $(OBJC) mdaLoudness.o
+ $(CC) $(LFLAGS) $(OBJC) mdaLoudness.o -o mdaLoudness$(DYN)
+mdaLoudness.o: $(SRC)mdaLoudness.cpp $(SRC)mdaLoudness.h
+ $(CC) $(CFLAGS) $(SRC)mdaLoudness.cpp
+#----------------------------------------
+mdaMultiBand: $(OBJC) mdaMultiBand.o
+ $(CC) $(LFLAGS) $(OBJC) mdaMultiBand.o -o mdaMultiBand$(DYN)
+mdaMultiBand.o: $(SRC)mdaMultiBand.cpp $(SRC)mdaMultiBand.h
+ $(CC) $(CFLAGS) $(SRC)mdaMultiBand.cpp
+#----------------------------------------
+mdaOverdrive: $(OBJC) mdaOverdrive.o
+ $(CC) $(LFLAGS) $(OBJC) mdaOverdrive.o -o mdaOverdrive$(DYN)
+mdaOverdrive.o: $(SRC)mdaOverdrive.cpp $(SRC)mdaOverdrive.h
+ $(CC) $(CFLAGS) $(SRC)mdaOverdrive.cpp
+#----------------------------------------
+mdaRePsycho!: $(OBJC) mdaRePsycho!.o
+ $(CC) $(LFLAGS) $(OBJC) mdaRePsycho!.o -o mdaRePsycho!$(DYN)
+mdaRePsycho!.o: $(SRC)mdaRePsycho!.cpp $(SRC)mdaRePsycho!.h
+ $(CC) $(CFLAGS) $(SRC)mdaRePsycho!.cpp
+#----------------------------------------
+mdaRezFilter: $(OBJC) mdaRezFilter.o
+ $(CC) $(LFLAGS) $(OBJC) mdaRezFilter.o -o mdaRezFilter$(DYN)
+mdaRezFilter.o: $(SRC)mdaRezFilter.cpp $(SRC)mdaRezFilter.h
+ $(CC) $(CFLAGS) $(SRC)mdaRezFilter.cpp
+#----------------------------------------
+mdaRingMod: $(OBJC) mdaRingMod.o
+ $(CC) $(LFLAGS) $(OBJC) mdaRingMod.o -o mdaRingMod$(DYN)
+mdaRingMod.o: $(SRC)mdaRingMod.cpp $(SRC)mdaRingMod.h
+ $(CC) $(CFLAGS) $(SRC)mdaRingMod.cpp
+#----------------------------------------
+mdaRoundPan: $(OBJC) mdaRoundPan.o
+ $(CC) $(LFLAGS) $(OBJC) mdaRoundPan.o -o mdaRoundPan$(DYN)
+mdaRoundPan.o: $(SRC)mdaRoundPan.cpp $(SRC)mdaRoundPan.h
+ $(CC) $(CFLAGS) $(SRC)mdaRoundPan.cpp
+#----------------------------------------
+mdaShepard: $(OBJC) mdaShepard.o
+ $(CC) $(LFLAGS) $(OBJC) mdaShepard.o -o mdaShepard$(DYN)
+mdaShepard.o: $(SRC)mdaShepard.cpp $(SRC)mdaShepard.h
+ $(CC) $(CFLAGS) $(SRC)mdaShepard.cpp
+#----------------------------------------
+mdaSplitter: $(OBJC) mdaSplitter.o
+ $(CC) $(LFLAGS) $(OBJC) mdaSplitter.o -o mdaSplitter$(DYN)
+mdaSplitter.o: $(SRC)mdaSplitter.cpp $(SRC)mdaSplitter.h
+ $(CC) $(CFLAGS) $(SRC)mdaSplitter.cpp
+#----------------------------------------
+mdaStereo: $(OBJC) mdaStereo.o
+ $(CC) $(LFLAGS) $(OBJC) mdaStereo.o -o mdaStereo$(DYN)
+mdaStereo.o: $(SRC)mdaStereo.cpp $(SRC)mdaStereo.h
+ $(CC) $(CFLAGS) $(SRC)mdaStereo.cpp
+#----------------------------------------
+mdaSubSynth: $(OBJC) mdaSubSynth.o
+ $(CC) $(LFLAGS) $(OBJC) mdaSubSynth.o -o mdaSubSynth$(DYN)
+mdaSubSynth.o: $(SRC)mdaSubSynth.cpp $(SRC)mdaSubSynth.h
+ $(CC) $(CFLAGS) $(SRC)mdaSubSynth.cpp
+#----------------------------------------
+mdaTalkBox: $(OBJC) mdaTalkBox.o
+ $(CC) $(LFLAGS) $(OBJC) mdaTalkBox.o -o mdaTalkBox$(DYN)
+mdaTalkBox.o: $(SRC)mdaTalkBox.cpp $(SRC)mdaTalkBox.h
+ $(CC) $(CFLAGS) $(SRC)mdaTalkBox.cpp
+#----------------------------------------
+mdaThruZero: $(OBJC) mdaThruZero.o
+ $(CC) $(LFLAGS) $(OBJC) mdaThruZero.o -o mdaThruZero$(DYN)
+mdaThruZero.o: $(SRC)mdaThruZero.cpp $(SRC)mdaThruZero.h
+ $(CC) $(CFLAGS) $(SRC)mdaThruZero.cpp
+#----------------------------------------
+mdaTracker: $(OBJC) mdaTracker.o
+ $(CC) $(LFLAGS) $(OBJC) mdaTracker.o -o mdaTracker$(DYN)
+mdaTracker.o: $(SRC)mdaTracker.cpp $(SRC)mdaTracker.h
+ $(CC) $(CFLAGS) $(SRC)mdaTracker.cpp
+#----------------------------------------
+mdaTransient: $(OBJC) mdaTransient.o
+ $(CC) $(LFLAGS) $(OBJC) mdaTransient.o -o mdaTransient$(DYN)
+mdaTransient.o: $(SRC)mdaTransient.cpp $(SRC)mdaTransient.h
+ $(CC) $(CFLAGS) $(SRC)mdaTransient.cpp
+#----------------------------------------
+mdaVocInput: $(OBJC) mdaVocInput.o
+ $(CC) $(LFLAGS) $(OBJC) mdaVocInput.o -o mdaVocInput$(DYN)
+mdaVocInput.o: $(SRC)mdaVocInput.cpp $(SRC)mdaVocInput.h
+ $(CC) $(CFLAGS) $(SRC)mdaVocInput.cpp
+#----------------------------------------
+mdaVocoder: $(OBJC) mdaVocoder.o
+ $(CC) $(LFLAGS) $(OBJC) mdaVocoder.o -o mdaVocoder$(DYN)
+mdaVocoder.o: $(SRC)mdaVocoder.cpp $(SRC)mdaVocoder.h
+ $(CC) $(CFLAGS) $(SRC)mdaVocoder.cpp
+
diff --git a/mda-vst.haiku/haikumain.cpp b/mda-vst.haiku/haikumain.cpp
new file mode 100644
index 0000000..f36b379
--- /dev/null
+++ b/mda-vst.haiku/haikumain.cpp
@@ -0,0 +1,21 @@
+// adds "main" to the exported symbols
+
+#include "pluginterfaces/vst2.x/aeffectx.h" // Version 2.x 'C' Extensions and Structures
+
+extern "C"
+{
+
+#define VST_EXPORT __attribute__ ((visibility ("default")))
+
+ extern VST_EXPORT AEffect * VSTPluginMain(audioMasterCallback audioMaster);
+
+ AEffect * main_plugin (audioMasterCallback audioMaster) asm ("main");
+
+#define main main_plugin
+
+ VST_EXPORT AEffect * main(audioMasterCallback audioMaster)
+ {
+ return VSTPluginMain(audioMaster);
+ }
+}
+
diff --git a/vst/put VST2.4 SDK files here b/vst/put VST2.4 SDK files here
deleted file mode 100644
index e69de29..0000000
--
2.2.2
From be2196b06f03c004374c362b327d71392bf2f719 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 22 Apr 2015 20:13:22 +1000
Subject: Fix export
diff --git a/mda-vst.haiku/haikumain.cpp b/mda-vst.haiku/haikumain.cpp
index f36b379..d296404 100644
--- a/mda-vst.haiku/haikumain.cpp
+++ b/mda-vst.haiku/haikumain.cpp
@@ -4,16 +4,10 @@
extern "C"
{
-
-#define VST_EXPORT __attribute__ ((visibility ("default")))
-
- extern VST_EXPORT AEffect * VSTPluginMain(audioMasterCallback audioMaster);
-
- AEffect * main_plugin (audioMasterCallback audioMaster) asm ("main");
-
+ extern AEffect * VSTPluginMain(audioMasterCallback audioMaster);
+ extern "C" __declspec(dllexport) AEffect * main_plugin (audioMasterCallback audioMaster);
#define main main_plugin
-
- VST_EXPORT AEffect * main(audioMasterCallback audioMaster)
+ AEffect * main(audioMasterCallback audioMaster)
{
return VSTPluginMain(audioMaster);
}
--
2.2.2