samer@1: classdef sigconst < signal samer@1: properties (GetAccess=private, SetAccess=immutable) samer@1: val samer@1: fs samer@1: end samer@1: methods samer@1: function s=sigconst(val,rate) samer@1: if nargin<2, rate=nan; end samer@1: s.val=reshape(val,size(val,1),1); samer@1: s.fs=rate; samer@1: end samer@1: samer@1: function s=tostring(sig), s=sprintf('sigconst(%s)',mat2str(sig.val)); end samer@1: function c=channels(s), c=size(s.val,1); end samer@1: function c=rate(s), c=s.fs; end samer@1: function s=construct(sig) samer@1: s.start = @nop; samer@1: s.stop = @nop; samer@1: s.dispose = @nop; samer@1: s.reader = @reader; samer@1: samer@1: function r=reader(n) samer@1: r = @next; samer@1: buf=repmat(sig.val,1,double(n)); samer@1: function [x,rem]=next, x=buf; rem=0; end samer@1: end samer@1: end samer@1: end samer@1: end