diff options
author | Martin Peach <mrpeach@users.sourceforge.net> | 2012-03-01 19:19:51 +0000 |
---|---|---|
committer | IOhannes m zmölnig <zmoelnig@iem.at> | 2015-10-14 14:28:31 +0200 |
commit | 80ba9b7a2031d3159932eb9e306b3c110c01cea6 (patch) | |
tree | ac475f2aa00d89e8545e7b9593734c39a8378566 /examples/requirer.pd_lua | |
parent | 0138fb52c1c1df46650641f8afdf939d2c3e1bde (diff) |
Modified to handle errors a bit better. Help patch changed to add some modules that will definitely load.
svn path=/trunk/externals/loaders/pdlua/; revision=16046
Diffstat (limited to 'examples/requirer.pd_lua')
-rw-r--r-- | examples/requirer.pd_lua | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/examples/requirer.pd_lua b/examples/requirer.pd_lua index 4b6c4e9..b9fadce 100644 --- a/examples/requirer.pd_lua +++ b/examples/requirer.pd_lua @@ -1,15 +1,21 @@ -complex = require("complex") -sqlite3 = require("luasql.sqlite3") -- evil hack, below is lame - local R = pd.Class:new():register("requirer") function R:initialize(sel, atoms) - if type(atoms[1]) ~= "string" then return false end - -- require(atoms[1]) -- will this ever work? - for k,v in pairs(_G[atoms[1]]) do - pd.post(atoms[1].. "." .. tostring(k) .. " = " .. tostring(v)) + if type(atoms[1]) ~= "string" then + pd.post(self._name .. ": Missing module name") + return false + end + pd.post (self._name .. ": Looking for " .. atoms[1]) + require(atoms[1]) -- load the module + if _G[atoms[1]] == nil then + pd.post (self._name .. ": No such module (" .. atoms[1] .. ")") + else -- print out module contents + for k,v in pairs(_G[atoms[1]]) do + pd.post(atoms[1].. "." .. tostring(k) .. " = " .. tostring(v)) + end end self.inlets = 0 self.outlets = 0 return true end + |