../
lets simplify even further.
each is a tutorial on how to blink in a different situation, yup, mhm.
Folder structre and safty
There were a couple of times where I acsidentally saved over other songs.
My folder structure was like this.
../
1.json
1-render.wav
2.json
2-render.wav
3.json
3-render.wav
It was too easy to click the wrong file when saving.
Structuring it like this seamed to help.
../
1/
1.json
1-render.wav
2/
2.json
2-render.wav
3/
3.json
3-render.wav
This helped alot.
Cover Art
This is my eye as viewed through a 200deg peephole.
I think it looks like an alien.
Videos
The videos were recorded like this.
The eye window is a love2d program.
The other is ultrabox in "Song Player" view. Open it with Shift+P or from the "file" menu.
These are then blended together into OBS using the "screen" blend mode.
Love2d program
lg = love.graphics
local open = lg.newImage('open.png')
local closed = lg.newImage('closed.png')
local current = open
local timer = 10
local width, height = open:getWidth(),open:getHeight()
local halfWidth,halfHeight = width/2,height/2
function love.load()
love.window.setMode(width, height)
end
local lastTimerChange = 0
local deb = false
function love.draw()
lg.setColor(1,1,1)
if timer <= 0 then
if current == open then
current = closed
--[[
The duration of a blink is on average 10010 seconds; actual rates vary by individual,
averaging around 17 blinks per minute in a
laboratory setting. However, when the eyes are
focused on an object for an extended period of
time, such as when reading, the rate of blinking
decreases to about 4 to 5 times per minute.
]]
-- 60*2 = 120
-- 60*10 = 600
timer = math.random(120,600)
end
lastTimerChange = timer
else
timer = timer - 1
end
lg.draw(current)
if deb then
lg.print(timer)
lg.print(lastTimerChange,0,20)
lg.line(halfWidth, height,halfWidth,0)
lg.line(0, halfHeight,width,halfHeight)
local mx,my = love.mouse.getPosition()
local dx,dy = mx-(halfWidth),my-(halfHeight)
local len = math.sqrt(dx*dx+dy*dy)
lg.circle('line',halfWidth,halfHeight,len)
end
end
function love.keypressed(key)
if key=='d' then
deb = not deb
end
end
Software Used
- Ultrabox (Music maker)
- Krita (cover art saturation and cropping)
- Love2d (blinking animation)
- Obs (recording and layering video)
- MystiQ (.mkv to .mp4 convertion)