dalosp.tee = { NTEE = 16, set_out = function (self, h, ind) local name = h:getname() local obj = { h = h, size = h:getsize(), getname = function () return name end, do_read = function (self, count, userdata) self.h:seek(self.offset, SEEK_SET) return self.h:read(count, userdata) end, } self:set_houtput(dalos.luahandle(obj), ind) end, input_change = function (self, ind) local h = self:get_linked_input(1) if h then self.color = cd.GREEN for ind = 1, 16 do self:set_out(h, ind) end self.dcanvas:draw() else self.color = cd.YELLOW for i = 1, dalosp.tee.NTEE do self:set_houtput(nil, i) end self.dcanvas:draw() end end, create = function (d, tab, settings) tab.ninputs = 1 tab.noutputs = dalosp.tee.NTEE tab.otype = dalos.objtype.LUA_FILTER tab.input_change = dalosp.tee.input_change tab.default_name = "Tee" tab.ntype = "Tee" local obj = dalos.object(d, tab) obj.set_out = dalosp.tee.set_out return obj end, } dalos.tee = dalosp.tee.create dalos:register_obj("Tee", dalos.tee, "Basic Filters")