matthiasm@8: function parts2csv(song, filename, varargin) matthiasm@8: if nargin > 2 && strcmp(varargin{1}, 'integrated') matthiasm@8: parts = song.integratedparts; matthiasm@8: else matthiasm@8: parts = song.parts; matthiasm@8: end matthiasm@8: matthiasm@8: beattimes = song.beattimes; matthiasm@8: % beattimes = [0; beattimes]; matthiasm@8: indices = []; matthiasm@8: levels = []; matthiasm@8: letters = {}; matthiasm@8: matthiasm@8: for iPart = 1:length(parts) matthiasm@8: for iInstance = 1:length(parts(iPart).indices) matthiasm@8: indices = [indices parts(iPart).indices(iInstance)]; matthiasm@8: levels = [levels parts(iPart).level]; matthiasm@8: letters = [letters parts(iPart).letter]; matthiasm@8: end matthiasm@8: end matthiasm@8: matthiasm@8: [sorted, sortind] = sort(indices); matthiasm@8: matthiasm@8: f = fopen(filename,'w'); matthiasm@8: matthiasm@8: for iSeg = 1:length(indices) matthiasm@8: fprintf(f,'%1.2f,%1.3f,"%s"\n',beattimes(sorted(iSeg)),levels(sortind(iSeg)),letters{sortind(iSeg)}); matthiasm@8: end matthiasm@8: matthiasm@8: fclose(f); matthiasm@8: