Animation player
Usage: anim-web [-m side] <n-frames> <url%d.cpi> Example: anim-web -m top 137 https://kc.is.being.pet/f/ccpi/rivulet/frame%03d.cpi
This commit is contained in:
parent
38cce4226a
commit
a00dca3be1
|
@ -0,0 +1,41 @@
|
||||||
|
local ccpi = require("ccpi")
|
||||||
|
local args = { ... }
|
||||||
|
|
||||||
|
local terminal = term.current()
|
||||||
|
if args[1] == "-m" then
|
||||||
|
table.remove(args, 1)
|
||||||
|
print("Using monitor: " .. args[1])
|
||||||
|
terminal = peripheral.wrap(table.remove(args, 1))
|
||||||
|
end
|
||||||
|
|
||||||
|
local frames = {}
|
||||||
|
local n_frames = tonumber(args[1])
|
||||||
|
local base_path = args[2]
|
||||||
|
|
||||||
|
for i = 1, n_frames do
|
||||||
|
local url = string.format(base_path, i)
|
||||||
|
print("GET " .. url)
|
||||||
|
local req, err = http.get(url, nil, true)
|
||||||
|
if not req then
|
||||||
|
printError(err)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local img, err = ccpi.parse(req)
|
||||||
|
if not img then
|
||||||
|
printError(err)
|
||||||
|
return
|
||||||
|
else
|
||||||
|
print(img.w .. "x" .. img.h)
|
||||||
|
end
|
||||||
|
table.insert(frames, img)
|
||||||
|
req.close()
|
||||||
|
end
|
||||||
|
|
||||||
|
local frame_no = 0
|
||||||
|
while true do
|
||||||
|
local frame = frames[(frame_no % #frames) + 1]
|
||||||
|
ccpi.draw(frame, 1, 1, terminal)
|
||||||
|
os.sleep(0.0)
|
||||||
|
frame_no = frame_no + 1
|
||||||
|
end
|
||||||
|
|
Loading…
Reference in New Issue