gregoirelafay@22: function [] = pianoRollVisualization(sceneObjects,sceneSchedule,score,figNum,settingFigure,figuresOption,fileName) gregoirelafay@22: gregoirelafay@22: gregoirelafay@22: %% Producing a "piano roll" visualization gregoirelafay@22: gregoirelafay@22: switch figuresOption gregoirelafay@22: case 1 mathieu@34: f=figure('Visible', 'off'); gregoirelafay@22: case 2 mathieu@34: f=figure(figNum); gregoirelafay@22: end gregoirelafay@22: clf; gregoirelafay@22: grid on; gregoirelafay@22: gregoirelafay@22: for i=1:length(sceneObjects) gregoirelafay@22: text(0, i+.4, [num2str(sceneObjects(i).classLabel), ' '], 'HorizontalAlignment', 'right'); gregoirelafay@22: end gregoirelafay@22: gregoirelafay@22: for i=1:length(sceneSchedule) gregoirelafay@22: id = sceneSchedule(i).classId; gregoirelafay@22: if (sceneSchedule(i).isBackground) gregoirelafay@22: rectangle('Position', [0, id+.2, score.sceneDuration, .6], 'FaceColor', settingFigure.cmap(id,:)); gregoirelafay@22: else gregoirelafay@22: t1 = sceneSchedule(i).position; gregoirelafay@22: rectangle('Position', [t1, id+.1, sceneSchedule(i).duration, .8], 'FaceColor', settingFigure.cmap(id,:)); gregoirelafay@22: end gregoirelafay@22: end gregoirelafay@22: gregoirelafay@22: xlim([0 score.sceneDuration]) gregoirelafay@22: set(gca,'YTick', [],'YTicklabel', [],'xtick',0:20:score.sceneDuration); gregoirelafay@22: xlabel('time (sec)') gregoirelafay@22: mathieu@34: if figuresOption == 1 mathieu@34: set(f,'PaperUnits','centimeters') mathieu@34: set(f,'PaperPositionMode','manual') mathieu@34: set(f,'papersize',[settingFigure.width,settingFigure.height]) mathieu@34: set(f,'paperposition',[0,0,settingFigure.width,settingFigure.height]) mathieu@34: set(findall(f,'-property','FontSize'),'FontSize',settingFigure.FontSize) mathieu@34: set(findall(f,'-property','FontName'),'FontName','Arial') mathieu@34: mathieu@34: print(f,fileName,'-dpng') gregoirelafay@22: end gregoirelafay@22: mathieu@34: