- if string.sub(value,#value)=="%" then
- vlc.var.set(input,"position",tonumber(string.sub(value,1,#value-1))/100.)
- else
- vlc.var.set(input,"time",tonumber(value))
+ if input ~= nil and value ~= nil then
+ if string.sub(value,-1) == "%" then
+ local number = tonumber(string.sub(value,1,-2))
+ if number ~= nil then
+ local posPercent = tonumber( string.sub(value,1,-2))/100.
+ if string.sub(value,1,1) == "+" or string.sub(value,1,1) == "-" then
+ vlc.var.set(input,"position",vlc.var.get(input,"position") + posPercent)
+ else
+ vlc.var.set(input,"position",posPercent)
+ end
+ end
+ else
+ local posTime = parsetime(value)
+ if string.sub(value,1,1) == "+" or string.sub(value,1,1) == "-" then
+ vlc.var.set(input,"time",vlc.var.get(input,"time") + posTime)
+ else
+ vlc.var.set(input,"time",posTime)
+ end
+ end