From 267170167d52cab9e97f879d9127a1cf04f6bb58 Mon Sep 17 00:00:00 2001 From: Martin Peach Date: Tue, 15 Mar 2011 20:53:57 +0000 Subject: This is a version of Claude Heiland-Allen's lua for Pd. The objects are named pdlua and pdluax instead of lua and luax. So far it seems to work on linux. svn path=/trunk/externals/pdlua/; revision=15030 --- examples/lpipe.pd_lua | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 examples/lpipe.pd_lua (limited to 'examples/lpipe.pd_lua') diff --git a/examples/lpipe.pd_lua b/examples/lpipe.pd_lua new file mode 100644 index 0000000..3399476 --- /dev/null +++ b/examples/lpipe.pd_lua @@ -0,0 +1,30 @@ +-- reimplementation of [pipe] for any message +-- claude(+fbar) 2008 + +local M = pd.Class:new():register("lpipe") + +function M:initialize(name, atoms) + self.inlets = 2 + self.outlets = 1 + self.nextID = 0 + return true +end + +function M:in_2_float(f) + self.deltatime = math.max(0, f) +end + +function M:in_1(sel, atoms) + -- we need unique method names for our clock callbacks + self.nextID = self.nextID + 1 + local id = "trigger" .. self.nextID + local clock = pd.Clock:new():register(self, id) + -- the clock callback outlets the data and cleans up + self[id] = function(self) + self:outlet(1, sel, atoms) + clock:destruct() + self[id] = nil + end + -- now start the clock + clock:delay(self.deltatime) +end -- cgit v1.2.1