aboutsummaryrefslogtreecommitdiff
path: root/examples/requirer.pd_lua
diff options
context:
space:
mode:
authorMartin Peach <mrpeach@users.sourceforge.net>2012-03-01 19:19:51 +0000
committerIOhannes m zmölnig <zmoelnig@iem.at>2015-10-14 14:28:31 +0200
commit80ba9b7a2031d3159932eb9e306b3c110c01cea6 (patch)
treeac475f2aa00d89e8545e7b9593734c39a8378566 /examples/requirer.pd_lua
parent0138fb52c1c1df46650641f8afdf939d2c3e1bde (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_lua20
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
+