[SCM] calf/master: + Framework: make modules.cpp dependent only on plugin metadata, not actual DSP code
js at users.alioth.debian.org
js at users.alioth.debian.org
Tue May 7 15:38:22 UTC 2013
The following commit has been merged in the master branch:
commit 58971c000577b857f0fa81cefa0c5c9562230569
Author: Krzysztof Foltman <wdev at foltman.com>
Date: Wed Nov 5 20:30:35 2008 +0000
+ Framework: make modules.cpp dependent only on plugin metadata, not actual DSP code
diff --git a/src/calf/metadata.h b/src/calf/metadata.h
index a6215ac..31dcee1 100644
--- a/src/calf/metadata.h
+++ b/src/calf/metadata.h
@@ -2,6 +2,7 @@
* Audio module (plugin) metadata - header file
*
* Copyright (C) 2007-2008 Krzysztof Foltman
+ * Copyright (C) 2008 Thor Harald Johansen <thj at thj.no>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -50,6 +51,13 @@ struct filter_metadata: public plugin_metadata<filter_metadata>
bool is_cv(int param_no) { return param_no != par_mode && param_no != par_inertia; }
};
+struct reverb_metadata: public plugin_metadata<reverb_metadata>
+{
+ enum { par_decay, par_hfdamp, par_roomsize, par_diffusion, par_amount, param_count };
+ enum { in_count = 2, out_count = 2, support_midi = false, require_midi = false, rt_capable = true };
+ PLUGIN_NAME_ID_LABEL("reverb", "reverb", "Reverb")
+};
+
struct vintage_delay_metadata: public plugin_metadata<vintage_delay_metadata>
{
enum { par_bpm, par_divide, par_time_l, par_time_r, par_feedback, par_amount, par_mixmode, par_medium, param_count };
@@ -74,6 +82,7 @@ public:
PLUGIN_NAME_ID_LABEL("multichorus", "multichorus", "Multi Chorus")
};
+/// Monosynth - metadata
struct monosynth_metadata: public plugin_metadata<monosynth_metadata>
{
enum { wave_saw, wave_sqr, wave_pulse, wave_sine, wave_triangle, wave_varistep, wave_skewsaw, wave_skewsqr, wave_test1, wave_test2, wave_test3, wave_test4, wave_test5, wave_test6, wave_test7, wave_test8, wave_count };
@@ -85,6 +94,16 @@ struct monosynth_metadata: public plugin_metadata<monosynth_metadata>
const char *get_gui_xml();
};
+/// Thor's compressor - metadata
+struct compressor_metadata: public plugin_metadata<compressor_metadata>
+{
+ enum { in_count = 2, out_count = 2, support_midi = false, require_midi = false, rt_capable = true };
+ enum { param_threshold, param_ratio, param_attack, param_release, param_makeup, param_knee, param_detection, param_stereo_link, param_aweighting, param_compression, param_peak, param_clip, param_bypass, param_count };
+ PLUGIN_NAME_ID_LABEL("compressor", "compressor", "Compressor")
+};
+
+/// Organ - enums for parameter IDs etc. (this mess is caused by organ split between plugin and generic class - which was
+/// a bad design decision and should be sorted out some day) XXXKF @todo
struct organ_enums
{
enum {
@@ -154,6 +173,7 @@ struct organ_enums
};
};
+/// Organ - metadata
struct organ_metadata: public organ_enums, public plugin_metadata<organ_metadata>
{
enum { in_count = 0, out_count = 2, support_midi = true, require_midi = true, rt_capable = true };
diff --git a/src/calf/modules.h b/src/calf/modules.h
index 1dda7ae..efea3e2 100644
--- a/src/calf/modules.h
+++ b/src/calf/modules.h
@@ -191,14 +191,6 @@ public:
}
};
-struct reverb_metadata: public plugin_metadata<reverb_metadata>
-{
- enum { par_decay, par_hfdamp, par_roomsize, par_diffusion, par_amount, param_count };
- enum { in_count = 2, out_count = 2, support_midi = false, require_midi = false, rt_capable = true };
- PLUGIN_NAME_ID_LABEL("reverb", "reverb", "Reverb")
-};
-
-
class reverb_audio_module: public audio_module<reverb_metadata>
{
public:
diff --git a/src/calf/modules_dev.h b/src/calf/modules_dev.h
index bbf8ac3..2c6a3ea 100644
--- a/src/calf/modules_dev.h
+++ b/src/calf/modules_dev.h
@@ -27,13 +27,6 @@ namespace calf_plugins {
#if ENABLE_EXPERIMENTAL
-struct compressor_metadata: public plugin_metadata<compressor_metadata>
-{
- enum { in_count = 2, out_count = 2, support_midi = false, require_midi = false, rt_capable = true };
- enum { param_threshold, param_ratio, param_attack, param_release, param_makeup, param_knee, param_detection, param_stereo_link, param_aweighting, param_compression, param_peak, param_clip, param_bypass, param_count };
- PLUGIN_NAME_ID_LABEL("compressor", "compressor", "Compressor")
-};
-
class compressor_audio_module: public audio_module<compressor_metadata> {
private:
float linslope, clip, peak;
diff --git a/src/modules.cpp b/src/modules.cpp
index e2e887b..05c785c 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -25,8 +25,7 @@
#include <jack/jack.h>
#endif
#include <calf/giface.h>
-#include <calf/modules.h>
-#include <calf/modules_dev.h>
+#include <calf/metadata.h>
using namespace dsp;
using namespace calf_plugins;
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list