diff options
Diffstat (limited to 'rx.lua')
| -rw-r--r-- | rx.lua | 21 |
1 files changed, 15 insertions, 6 deletions
@@ -240,19 +240,28 @@ end local programme_mt = { __index = function(t, k) - if k == 'active' then + if k == 'active' or k == 'ended' then local time = osd.redraw_time if t._exp and time < t._exp then - return t._active + if k == 'active' then + return t._active + end + return t._ended end local v = t.programme - local ret = time >= v.start and time < v.stop + local ended = time >= v.stop + local active = not ended and time >= v.start local exp = time < v.start and v.start or - ret and v.stop or nil - rawset(t, exp and '_active' or 'active', ret) + active and v.stop or nil + rawset(t, exp and '_active' or 'active', active) + rawset(t, exp and '_ended' or 'ended', ended) rawset(t, '_exp', exp) - return ret + + if k == 'active' then + return active + end + return ended end end, } |
