diff options
-rw-r--r-- | chugins/Clipper.cpp | 22 | ||||
-rw-r--r-- | chugins/Makefile | 15 | ||||
-rw-r--r-- | lib.ck | 2 | ||||
-rw-r--r-- | lib/ClipperGraph.ck (renamed from lib/Clipper.ck) | 2 | ||||
-rwxr-xr-x | start_chuck | 6 |
5 files changed, 43 insertions, 4 deletions
diff --git a/chugins/Clipper.cpp b/chugins/Clipper.cpp new file mode 100644 index 0000000..7c80793 --- /dev/null +++ b/chugins/Clipper.cpp @@ -0,0 +1,22 @@ +#include <chuck_dl.h> +#include <chuck_def.h> + +CK_DLL_TICK(clipper_tick); + +CK_DLL_QUERY(Clipper) +{ + QUERY->setname(QUERY, "Clipper"); + + QUERY->begin_class(QUERY, "Clipper", "UGen"); + QUERY->add_ugen_func(QUERY, clipper_tick, NULL, 1, 1); + QUERY->end_class(QUERY); + + return TRUE; +} + +CK_DLL_TICK(clipper_tick) +{ + *out = in > 1. ? 1. : (in < -1. ? -1. : in); + + return TRUE; +} diff --git a/chugins/Makefile b/chugins/Makefile new file mode 100644 index 0000000..f75e667 --- /dev/null +++ b/chugins/Makefile @@ -0,0 +1,15 @@ +CFLAGS ?= -O3 + +CFLAGS += -m32 +CPPFLAGS += -I/usr/include/chuck -D__LINUX_JACK__ +LDFLAGS += -m32 + +CXXFLAGS += $(CFLAGS) + +all : Clipper.chug + +%.chug : %.o + $(CXX) -shared $(LDFLAGS) -o $@ $^ + +clean: + $(RM) *.chug *.o @@ -2,7 +2,7 @@ Machine.add("lib/ChubgraphStd.ck"); Machine.add("lib/LiSaX.ck"); Machine.add("lib/SampOsc.ck"); -Machine.add("lib/Clipper.ck"); +Machine.add("lib/ClipperGraph.ck"); Machine.add("lib/ClipperGen.ck"); Machine.add("lib/Element.ck"); Machine.add("lib/List.ck"); diff --git a/lib/Clipper.ck b/lib/ClipperGraph.ck index eb45ea2..86e6183 100644 --- a/lib/Clipper.ck +++ b/lib/ClipperGraph.ck @@ -1,7 +1,7 @@ /* * clip signal within -1 to 1 with simple UGens */ -public class Clipper extends ChubgraphStd { +public class ClipperGraph extends ChubgraphStd { /* calculate a from HalfRect(inlet + 1) */ Step __one; 1 => __one.next; inlet => HalfRect __a; diff --git a/start_chuck b/start_chuck index 9c4aebf..c711c61 100755 --- a/start_chuck +++ b/start_chuck @@ -11,5 +11,7 @@ jack.scope -n 3 -w 512 -b 96512 >/dev/null & # ChucK server # NOTE: Last three output ports are for jack.scope -chuck --srate:44100 --in:3 --out:7 --loop lib.ck - +chuck $* \ + --srate:44100 --in:3 --out:7 \ + --chugin-path:chugins/ \ + --loop lib.ck |