[SCM] calf/master: + Small modules: new plugin - control-rate clipper, changed default range in between plugin

js at users.alioth.debian.org js at users.alioth.debian.org
Tue May 7 15:37:38 UTC 2013


The following commit has been merged in the master branch:
commit cdfc6c50bcd500676702dc6a500af7afc8e5c43b
Author: kfoltman <kfoltman at 78b06b96-2940-0410-b7fc-879d825d01d8>
Date:   Fri Sep 26 20:34:05 2008 +0000

    + Small modules: new plugin - control-rate clipper, changed default range in between plugin
    
    
    
    git-svn-id: https://calf.svn.sourceforge.net/svnroot/calf/trunk@304 78b06b96-2940-0410-b7fc-879d825d01d8

diff --git a/src/calf/modulelist.h b/src/calf/modulelist.h
index 24d0d9e..8bd3b3d 100644
--- a/src/calf/modulelist.h
+++ b/src/calf/modulelist.h
@@ -44,6 +44,7 @@
     PER_SMALL_MODULE_ITEM(schmitt_c, "schmitt_c")
     PER_SMALL_MODULE_ITEM(between_c, "between_c")
     PER_SMALL_MODULE_ITEM(less_c, "less_c")
+    PER_SMALL_MODULE_ITEM(clip_c, "clip_c")
 #endif
 #undef PER_MODULE_ITEM
 #undef PER_SMALL_MODULE_ITEM
diff --git a/src/modules_small.cpp b/src/modules_small.cpp
index 55d999f..d02bea0 100644
--- a/src/modules_small.cpp
+++ b/src/modules_small.cpp
@@ -514,7 +514,7 @@ public:
         pii->names("between_c", "Between (C)", "kf:MathOperatorPlugin");
         pii->control_port("in", "In", 0.f).input();
         pii->control_port("low", "Low threshold", 0).input();
-        pii->control_port("high", "High threshold", 0.5).input();
+        pii->control_port("high", "High threshold", 1).input();
         pii->control_port("out", "Out", 0.f).output();
     }
     void process(uint32_t count)
@@ -524,6 +524,30 @@ public:
     }
 };
 
+/// Clip to range
+class clip_c_audio_module: public null_small_audio_module
+{
+public:    
+    enum { in_signal, in_min, in_max, in_count };
+    enum { out_signal, out_count };
+    float *ins[in_count]; 
+    float *outs[out_count];
+    
+    static void plugin_info(plugin_info_iface *pii)
+    {
+        pii->names("clip_c", "Clip (C)", "kf:MathOperatorPlugin", "clip");
+        pii->control_port("in", "In", 0.f).input();
+        pii->control_port("min", "Min", 0).input();
+        pii->control_port("max", "Max", 1).input();
+        pii->control_port("out", "Out", 0.f).output();
+    }
+    void process(uint32_t count)
+    {
+        float value = *ins[in_signal];
+        *outs[out_signal] = std::min(*ins[in_max], std::max(value, *ins[in_min]));
+    }
+};
+
 /// Two input control crossfader
 class crossfader2_c_audio_module: public null_small_audio_module
 {

-- 
calf audio plugins packaging



More information about the pkg-multimedia-commits mailing list