Mercurial > hg > ishara
view sinks/@sinkfun/sinkfun.m @ 61:eff6bddf82e3 tip
Finally implemented perceptual brightness thing.
author | samer |
---|---|
date | Sun, 11 Oct 2015 10:20:42 +0100 |
parents | 3f77126f7b5f |
children |
line wrap: on
line source
% sinkfun - sink that calls given function with samples. classdef sinkfun < sinkbase properties (GetAccess=private,SetAccess=immutable) fun % [[C,N]]->void end methods function s=sinkfun(fun,channels,rate) s.fun=fun; s=s@sinkbase(channels,rate); end function s=tostring(sig) s=sprintf('sinkfun(%s)',tostring(sig.fun)); end function s=construct(sig) fun=sig.fun; t=0; s.start = @nop; s.stop = @nop; s.dispose = @nop; s.writer = @writer; function w=writer(n) w = @next; T=(0:n-1)/rate(sig); dt=1/rate(sig); function rem=next(x), m=size(x,2); fun(t+T(1:m),x); rem=0; t=t+n*dt; end end end end end