[SCM] calf/master: + Wavetable: new synth (the name is temporary)
js at users.alioth.debian.org
js at users.alioth.debian.org
Tue May 7 15:39:23 UTC 2013
The following commit has been merged in the master branch:
commit 4c36059fc389a6cc22cd0c8b61c95d73f0bcf04b
Author: Krzysztof Foltman <wdev at foltman.com>
Date: Sat Feb 28 13:24:58 2009 +0000
+ Wavetable: new synth (the name is temporary)
diff --git a/src/Makefile.am b/src/Makefile.am
index 7836b41..cb4e1a7 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -51,7 +51,7 @@ calfbenchmark_CXXFLAGS = $(AM_CXXFLAGS) -DTEST_OSC
calfbenchmark_LDADD += libcalfgui.la
endif
-calf_la_SOURCES = modules.cpp modules_dsp.cpp modules_small.cpp fluidsynth.cpp giface.cpp monosynth.cpp organ.cpp osctl.cpp osctlnet.cpp plugin.cpp preset.cpp synth.cpp utils.cpp
+calf_la_SOURCES = modules.cpp modules_dsp.cpp modules_small.cpp fluidsynth.cpp giface.cpp monosynth.cpp organ.cpp osctl.cpp osctlnet.cpp plugin.cpp preset.cpp synth.cpp utils.cpp wavetable.cpp
calf_la_LIBADD ?= $(FLUIDSYNTH_DEPS_LIBS)
if USE_DEBUG
calf_la_LDFLAGS = -rpath $(ladspadir) -avoid-version -module -lexpat -disable-static
@@ -68,7 +68,7 @@ calflv2gui_la_LDFLAGS = -rpath $(lv2dir) -avoid-version -module -lexpat -export-
endif
endif
-libcalfstatic_la_SOURCES = modules.cpp modules_dsp.cpp modules_small.cpp fluidsynth.cpp giface.cpp monosynth.cpp organ.cpp osctl.cpp osctlnet.cpp preset.cpp synth.cpp utils.cpp
+libcalfstatic_la_SOURCES = modules.cpp modules_dsp.cpp modules_small.cpp fluidsynth.cpp giface.cpp monosynth.cpp organ.cpp osctl.cpp osctlnet.cpp preset.cpp synth.cpp utils.cpp wavetable.cpp
libcalfstatic_la_LDFLAGS = -static -lexpat -disable-shared $(FLUIDSYNTH_DEPS_LIBS)
if USE_GUI
diff --git a/src/calf/metadata.h b/src/calf/metadata.h
index 248ea3b..39fb67c 100644
--- a/src/calf/metadata.h
+++ b/src/calf/metadata.h
@@ -211,6 +211,17 @@ struct fluidsynth_metadata: public plugin_metadata<fluidsynth_metadata>
const char **get_default_configure_vars();
};
+/// Wavetable - metadata
+struct wavetable_metadata: public plugin_metadata<wavetable_metadata>
+{
+ enum {
+ par_o1wave, par_o1offset, par_o1transpose, par_o1detune, par_o1level,
+ param_count };
+ enum { in_count = 0, out_count = 2, support_midi = true, require_midi = true, rt_capable = true };
+ enum { step_size = 64 };
+ PLUGIN_NAME_ID_LABEL("wavetable", "wavetable", "Wavetable")
+};
+
};
#endif
diff --git a/src/calf/modulelist.h b/src/calf/modulelist.h
index 1ba573d..0c9f0b8 100644
--- a/src/calf/modulelist.h
+++ b/src/calf/modulelist.h
@@ -12,6 +12,7 @@
PER_MODULE_ITEM(compressor, false, "compressor")
#ifdef ENABLE_EXPERIMENTAL
PER_MODULE_ITEM(fluidsynth, true, "fluidsynth")
+ PER_MODULE_ITEM(wavetable, true, "wavetable")
#endif
#undef PER_MODULE_ITEM
#endif
diff --git a/src/calf/modules_synths.h b/src/calf/modules_synths.h
index 66b79a7..6e054c7 100644
--- a/src/calf/modules_synths.h
+++ b/src/calf/modules_synths.h
@@ -255,4 +255,10 @@ public:
};
+#if ENABLE_EXPERIMENTAL
+
+#include "wavetable.h"
+
+#endif
+
#endif
diff --git a/src/modules.cpp b/src/modules.cpp
index da48666..3dde553 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -504,6 +504,24 @@ CALF_PORT_PROPS(fluidsynth) = {
////////////////////////////////////////////////////////////////////////////
+const char *wavetable_init_soundfont = "";
+
+CALF_PORT_NAMES(wavetable) = {
+ "Out L", "Out R",
+};
+
+CALF_PLUGIN_INFO(wavetable) = { 0x8701, "Wavetable", "Calf Wavetable", "Krzysztof Foltman", calf_plugins::calf_copyright_info, "SynthesizerPlugin" };
+
+CALF_PORT_PROPS(wavetable) = {
+ { 0, 0, organ_enums::wave_count - 1, 0, PF_ENUM | PF_SCALE_LINEAR | PF_CTL_COMBO, organ_wave_names, "o1wave", "Osc1 Wave" },
+ { 0.5, 0, 1, 0, PF_FLOAT | PF_SCALE_PERC | PF_CTL_KNOB | PF_UNIT_COEF, NULL, "o1offset", "Osc1 Ctl"},
+ { 0, -48, 48, 48*2+1, PF_INT | PF_SCALE_LINEAR | PF_CTL_KNOB | PF_UNIT_SEMITONES, NULL, "o1trans", "Osc1 Transpose" },
+ { 0, -100, 100, 0, PF_INT | PF_SCALE_LINEAR | PF_CTL_KNOB | PF_UNIT_CENTS, NULL, "o1detune", "Osc1 Detune" },
+ { 1, 0, 1, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_KNOB | PF_UNIT_COEF | PF_PROP_NOBOUNDS, NULL, "o1level", "Osc1 Level" },
+};
+
+////////////////////////////////////////////////////////////////////////////
+
void calf_plugins::get_all_plugins(std::vector<plugin_metadata_iface *> &plugins)
{
#define PER_MODULE_ITEM(name, isSynth, jackname) plugins.push_back(new name##_metadata);
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list