59 lines
1.6 KiB
Lua
59 lines
1.6 KiB
Lua
--Update to Seth-Bling's MarI/O app
|
|
local gui = gui
|
|
|
|
local base = string.gsub(@@LUA_SCRIPT_FILENAME@@, "(.*[/\\])(.*)", "%1")
|
|
|
|
local pool = dofile(base.."/pool.lua")
|
|
local util = dofile(base.."/util.lua")()
|
|
|
|
local statusLine = nil
|
|
local statusColor = 0x0000ff00
|
|
|
|
pool.onMessage(function(msg, color)
|
|
print(msg)
|
|
local stderrColor = util.nearestColor(color, {
|
|
-- Green
|
|
['92'] = { r = 0 , g = 255, b = 0 },
|
|
-- Red
|
|
['91'] = { r = 255, g = 0 , b = 0 },
|
|
-- Yellow
|
|
['93'] = { r = 255, g = 255, b = 0 },
|
|
-- Blue
|
|
['94'] = { r = 0 , g = 0 , b = 255},
|
|
-- Magenta
|
|
['95'] = { r = 255, g = 0 , b = 255},
|
|
-- Cyan
|
|
['96'] = { r = 0 , g = 255, b = 255},
|
|
-- White
|
|
['97'] = { r = 255, g = 255, b = 255},
|
|
})
|
|
io.stderr:write('\x1b['..stderrColor..'m'..msg..'\x1b[0m\n')
|
|
statusLine = msg
|
|
statusColor = color
|
|
end)
|
|
|
|
local guiHeight = 0
|
|
local guiWidth = 0
|
|
pool.onRenderForm(function(form)
|
|
guiWidth, guiHeight = gui.resolution()
|
|
gui.left_gap(500)
|
|
gui.top_gap(0)
|
|
gui.bottom_gap(0)
|
|
gui.right_gap(0)
|
|
form:draw(-500, 0)
|
|
|
|
if statusLine ~= nil then
|
|
gui.rectangle(-500, guiHeight - 20, guiWidth, 20, 1, 0x00000000, statusColor)
|
|
gui.text(-500, guiHeight - 20, statusLine, 0x00000000)
|
|
end
|
|
end)
|
|
|
|
pool.run():next(function()
|
|
print("The pool finished running!!!")
|
|
end):catch(function(error)
|
|
if type(error) == "table" then
|
|
error = "\n"..table.concat(error, "\n")
|
|
end
|
|
io.stderr:write(string.format("There was a problem running the pool: %s", error))
|
|
print(string.format("There was a problem running the pool: %s", error))
|
|
end)
|