[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