diff options
Diffstat (limited to 'apps/plugins/lua/include_lua/timer.lua')
| -rw-r--r-- | apps/plugins/lua/include_lua/timer.lua | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/apps/plugins/lua/include_lua/timer.lua b/apps/plugins/lua/include_lua/timer.lua deleted file mode 100644 index 6797874..0000000 --- a/apps/plugins/lua/include_lua/timer.lua +++ /dev/null @@ -1,114 +0,0 @@ ---[[ Lua Timer functions -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2017 William Wilgus - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ -]] - ---[[ Exposed Functions - - _timer.active - _timer.check - _timer.split - _timer.start - _timer.stop - -]] - -local _timer = {} do - - --internal constants - local _NIL = nil -- _NIL placeholder - - -- newer versions of lua use table.unpack - local unpack = unpack or table.unpack - - --stores time elapsed at call to split; only vaid for unique timers - local function split(index) - if type(index) ~= "table" then return end - index[#index + 1] = rb.current_tick() - _timer[index] - end - - -- starts a new timer, if index is not specified a unique index is returned - -- numeric or string indices are valid to use directly for permanent timers - -- in this case its up to you to make sure you keep the index unique - local function start(index) - if index == _NIL then - ---if you have _timer.start create timer it returns a unique Id which - -- then has the same methods of _timer :start :stop :check :split - index = setmetatable({}, {__index = _timer}) - end - if _timer[index] == _NIL then - _timer[index] = rb.current_tick() - end - return index - end - - -- returns time elapsed in centiseconds, assigning bCheckonly keeps timer active - local function stop(index, bCheckonly) - - local time_end = rb.current_tick() - index = index or 0 - if not _timer[index] then - return 0 - else - local time_start = _timer[index] - if not bCheckonly then _timer[index] = _NIL end -- destroy timer - if type(index) ~= "table" then - return time_end - time_start - else - return time_end - time_start, unpack(index) - end - end - end - - -- returns time elapsed in centiseconds, assigning to bUpdate.. updates timer - local function check(index, bUpdate) - local elapsed = stop(index, true) - if bUpdate ~= _NIL and index then - _timer[index] = rb.current_tick() - end - return elapsed - end - - -- returns table of active timers - local function active() - local t_active = {} - local n = 0 - for k,v in pairs(_timer) do - if type(_timer[k]) ~= "function" then - n = n + 1 - t_active[n]=(k) - end - end - return n, t_active - end - - -- expose functions to the outside through _timer table - _timer.active = active - _timer.check = check - _timer.split = split - _timer.start = start - _timer.stop = stop - - -- allows a call to _timer.start() by just calling _timer() - _timer = setmetatable(_timer,{__call = function(t, i) return start(i) end}) -end -- timer functions - -return _timer |