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/revalue.pd_lua | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 examples/revalue.pd_lua (limited to 'examples/revalue.pd_lua') diff --git a/examples/revalue.pd_lua b/examples/revalue.pd_lua new file mode 100644 index 0000000..e2503df --- /dev/null +++ b/examples/revalue.pd_lua @@ -0,0 +1,39 @@ +local Revalue = pd.Class:new():register("revalue") + +function Revalue:initialize(sel, atoms) + self.inlets = 2 + self.outlets = 2 + if type(atoms[1]) == "string" then + self.name = atoms[1] + else + self.name = nil + end + return true +end + +-- get a value or report if it doesn't exist +function Revalue:in_1_bang() + if self.name ~= nil then + local r = pd.getvalue(self.name) + if r ~= nil then + self:outlet(1, "float", { r }) + return + end + end + self:outlet(2, "bang", { }) +end + +-- set a value or report if it doesn't exist +function Revalue:in_1_float(f) + if self.name ~= nil then + if pd.setvalue(self.name, f) then + return + end + end + self:outlet(2, "bang", { }) +end + +-- set the [value] name +function Revalue:in_2_symbol(s) + self.name = s +end -- cgit v1.2.1