diff options
Diffstat (limited to 'chugins')
| -rw-r--r-- | chugins/Clipper.cpp | 22 | ||||
| -rw-r--r-- | chugins/Makefile | 15 |
2 files changed, 37 insertions, 0 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 |
