summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-09-01 21:47:12 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-09-01 21:47:12 +0200
commit67f12c2a798b8e1113ab0fac6642a8c09fdd6142 (patch)
tree452a741ce9acb444d8e8469f04303806939fd337
parent3a3c8efdd9f7efed52d45946def6f45f557d180e (diff)
downloaddigitale-debutanten-67f12c2a798b8e1113ab0fac6642a8c09fdd6142.tar.gz
added "GainMod" chugin (essentially sample multiplication like Pure Data [~*])
-rw-r--r--chugins/GainMod.cpp22
-rw-r--r--chugins/Makefile2
2 files changed, 23 insertions, 1 deletions
diff --git a/chugins/GainMod.cpp b/chugins/GainMod.cpp
new file mode 100644
index 0000000..a117e5e
--- /dev/null
+++ b/chugins/GainMod.cpp
@@ -0,0 +1,22 @@
+#include <chuck_dl.h>
+#include <chuck_def.h>
+
+CK_DLL_TICKF(gainmod_tick);
+
+CK_DLL_QUERY(GainMod)
+{
+ QUERY->setname(QUERY, "GainMod");
+
+ QUERY->begin_class(QUERY, "GainMod", "UGen_Stereo");
+ QUERY->add_ugen_funcf(QUERY, gainmod_tick, NULL, 2, 1);
+ QUERY->end_class(QUERY);
+
+ return TRUE;
+}
+
+CK_DLL_TICKF(gainmod_tick)
+{
+ *out = in[0] * in[1];
+
+ return TRUE;
+}
diff --git a/chugins/Makefile b/chugins/Makefile
index f75e667..653dc8b 100644
--- a/chugins/Makefile
+++ b/chugins/Makefile
@@ -6,7 +6,7 @@ LDFLAGS += -m32
CXXFLAGS += $(CFLAGS)
-all : Clipper.chug
+all : Clipper.chug GainMod.chug
%.chug : %.o
$(CXX) -shared $(LDFLAGS) -o $@ $^