function plot_chroma(C,T)
% plot_chroma(C,T)
%    Plot chroma array in spectrogram style.
%    C is a 12xN chroma array, and T gives the start times of each
%    column.
%    If first element is an ENA struct, simply plot the pitches 
%    on the segment timebase.
% 2010-04-13 Dan Ellis [email protected]

if isstruct(C)
  ENA = C;
  C = ENA.pitches;
  T = ENA.segment;
  D = ENA.duration;
else
  % predict that last segment will be the same length as
  % next-to-last one
  D = T(end) + (T(end) - T(end-1));
end

[nchr, ntim] = size(C);

if length(T) == 1
  % Scalar T means uniform spacing
  T = [0:ntim] * T; % ntim + 1 times to include end of last one
end

if length(T) ~= ntim+1
  T = [T,D]; % add duration as end of last segment
end

tres = 0.05;
tt = 0:tres:D;

CR = resample_mx(C,T,tt);

disp(['CR is ', num2str(size(CR,1)), ' x ', num2str(size(CR,2))]);

imagesc(tt,1:nchr,CR); axis xy
set(gca,'YTick',[1 3 5 8 10 12]);
set(gca,'YTickLabel','C|D|E|G|A|B');

color(1-gray);