b@0: function MpushIc(hf) b@0: b@0: sel=get(hf,'selectiontype'); b@0: dat=get(hf,'userdata'); b@0: drag=dat.drag; b@0: b@0: obj=get(gcf,'currentobject'); b@0: sndId=get(obj,'userdata'); b@0: b@0: switch sel b@0: b@0: case 'normal' b@0: % BRECHT: log plays in response log b@0: fidInd=['responses/' dat.sesDat.id,'_',dat.sesDat.sesScript]; b@0: fid=fopen(fidInd,'a'); b@0: fprintf(fid,'%i ', sndId); b@0: dat.playVec(sndId,1) = 1; % check sample as 'played' b@0: set(hf,'userdata',dat); % write dat away already here (avoid 'not all sounds played') b@0: b@0: set(dat.hIcon,'backgroundcolor',[.6 .9 .6]); % all icons turn green b@0: if(obj<=dat.nbScale*(dat.nbSnd+4)+1) % value depends on number of sounds (avoid 'Stop Audio' becoming red) b@0: set(obj,'backgroundcolor','r'); b@0: end b@0: playSound(dat.sesDat.cuSndList(sndId)); b@0: b@0: b@0: case 'alt' % right mouse (ctrl+button) b@0: if drag b@0: drag=0; b@0: else b@0: if dat.test.sndRef b@0: if ~isempty(find(dat.test.sndRef==sndId)) b@0: return b@0: end b@0: end b@0: drag=1; b@0: end b@0: b@0: case 'open' % double-click % ? b@0: % BRECHT: log plays in response log b@0: fid=['responses/' dat.sesDat.id,'_',dat.sesDat.sesScript]; b@0: fprintf(fid,'%i', sndId); b@0: dat.vector(sndId,1) = 1; % check sample as 'played' b@0: b@0: obj=get(gcf,'currentobject'); b@0: set(dat.hIcon,'backgroundcolor',[.6 .9 .6]); b@0: set(obj,'backgroundcolor','r'); b@0: playSound(dat.sesDat.cuSndList(get(obj,'userdata'))); b@0: b@0: end b@0: b@0: saveMultiComp(hf); b@0: b@0: try % in case audio is still playing when finishing b@0: dat.drag=drag; b@0: set(hf,'userdata',dat); b@0: catch err b@0: end