diff options
author | Pixel <pixel@nobis-crew.org> | 2009-12-23 00:11:30 +0100 |
---|---|---|
committer | Pixel <pixel@nobis-crew.org> | 2009-12-23 00:11:30 +0100 |
commit | f6ac50837aabd69c6ea5892a858359f51f40ee03 (patch) | |
tree | fd6f7007d543de2cca7a813e8efbf156089aa0eb /dalos-limiter.lua | |
parent | 95b71cfc474f247e7e1081ea67c7a2166ddd3805 (diff) |
Mbmbmlmlm \r is evil.
Diffstat (limited to 'dalos-limiter.lua')
-rw-r--r-- | dalos-limiter.lua | 118 |
1 files changed, 59 insertions, 59 deletions
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) |