From f6ac50837aabd69c6ea5892a858359f51f40ee03 Mon Sep 17 00:00:00 2001 From: Pixel Date: Wed, 23 Dec 2009 00:11:30 +0100 Subject: Mbmbmlmlm \r is evil. --- dalos-limiter.lua | 118 +++++++++++++++++++++++++++--------------------------- 1 file changed, 59 insertions(+), 59 deletions(-) (limited to 'dalos-limiter.lua') diff --git a/dalos-limiter.lua b/dalos-limiter.lua index 99bd07f..b8387e3 100644 --- a/dalos-limiter.lua +++ b/dalos-limiter.lua @@ -1,59 +1,59 @@ -dalosp.limiter = { - configure = function (self) - local accept, limit = iup.GetParam(self.name .. " configuration", nil, [[ -Limit: %i{The actual size this limiter is going to produce} -]], self.op or 0, self.maximize and 1 or 0) - if accept then - self.extra.limit = limit - self:input_change() - end - end, - - get_settings = function (self) - return { limit = self.extra.limit } - end, - - input_change = function (self, ind) - local h = self:get_linked_input(1) - if h then - self.color = cd.GREEN - local obj = { - h = h, - size = math.max(h:getsize(), self.limit), - getname = function () return self.name end, - do_read = function (self, count, userdata) - return self.h:read(count, userdata) - end, - do_seek = function (self) - self.h:seek(self.offset, SEEK_SET) - end, - } - self:set_houtput(dalos.luahandle(obj)) - self.dcanvas:draw() - else - self.color = cd.YELLOW - self:set_houtput(nil) - self.dcanvas:draw() - end - end, - - create = function (d, tab, settings) - tab.ninputs = 1 - tab.noutputs = 1 - tab.otype = dalos.objtype.LUA_FILTER - tab.configure = dalosp.limiter.configure - tab.input_change = dalosp.limiter.input_change - tab.default_name = "Limiter" - tab.ntype = "Limiter" - tab.get_settings = dalosp.limiter.get_settings - local extra = { } - if settings then extra.limit = settings.limit end - - local obj = dalos.object(d, tab, extra) - - return obj - end, -} - -dalos.limiter = dalosp.limiter.create -dalos:register_obj("Limiter", dalos.limiter) +dalosp.limiter = { + configure = function (self) + local accept, limit = iup.GetParam(self.name .. " configuration", nil, [[ +Limit: %i{The actual size this limiter is going to produce} +]], self.op or 0, self.maximize and 1 or 0) + if accept then + self.extra.limit = limit + self:input_change() + end + end, + + get_settings = function (self) + return { limit = self.extra.limit } + end, + + input_change = function (self, ind) + local h = self:get_linked_input(1) + if h then + self.color = cd.GREEN + local obj = { + h = h, + size = math.max(h:getsize(), self.limit), + getname = function () return self.name end, + do_read = function (self, count, userdata) + return self.h:read(count, userdata) + end, + do_seek = function (self) + self.h:seek(self.offset, SEEK_SET) + end, + } + self:set_houtput(dalos.luahandle(obj)) + self.dcanvas:draw() + else + self.color = cd.YELLOW + self:set_houtput(nil) + self.dcanvas:draw() + end + end, + + create = function (d, tab, settings) + tab.ninputs = 1 + tab.noutputs = 1 + tab.otype = dalos.objtype.LUA_FILTER + tab.configure = dalosp.limiter.configure + tab.input_change = dalosp.limiter.input_change + tab.default_name = "Limiter" + tab.ntype = "Limiter" + tab.get_settings = dalosp.limiter.get_settings + local extra = { } + if settings then extra.limit = settings.limit end + + local obj = dalos.object(d, tab, extra) + + return obj + end, +} + +dalos.limiter = dalosp.limiter.create +dalos:register_obj("Limiter", dalos.limiter) -- cgit v1.2.3