% tool
% 
%   INPUT VALUES:
%  
%   RETURN VALUE:
%
% 
% (c) 2003-2008, University of Cambridge, Medical Research Council 
% Maintained by Tom Walters (tcw24@cam.ac.uk), written by Stefan Bleeck (stefan@bleeck.de)
% http://www.pdn.cam.ac.uk/cnbh/aim2006
% $Date: 2008-06-10 18:00:16 +0100 (Tue, 10 Jun 2008) $
% $Revision: 585 $

function sig=dots2sig(dots,nr_bins)
% usage: sig=dots2sig(dots)
% makes a signal from the dots by adding them to bins according to their octave shift
% the dots must have pitchstrength in the region from 0 to 1
% the outsignal has nr_bins points and a length of 1


if nargin < 2
    nr_bins=100;
end

sig=signal(1,nr_bins);

nr=max(size(dots));
for i=1:nr
    shift=dots{i}.octave_shift;
    old_val=gettimevalue(sig,shift);
    new_val=dots{i}.pitchstrength;
    sig=settimevalue(sig,shift,old_val+new_val);
end
