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: fidInd=['responses/' dat.sesDat.id,'_',dat.sesDat.sesScript]; b@0: fid=fopen(fidInd,'a'); b@2: fprintf(fid,'%i ', sndId); % log that this sound has been played b@2: dat.playVec(sndId,1) = 1; % check sample as 'played' b@2: 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@2: b@2: % avoid 'Stop Audio' becoming red b@2: if(str2double(obj.String)<=dat.nbScale*(dat.nbSnd+4)+1) 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@7: else b@7: % if dat.test.sndRef b@7: % if ~isempty(find(dat.test.sndRef==sndId)) b@7: % return b@7: % end b@7: % end b@7: drag=1; b@7: end b@0: b@7: case 'open' % double-click % ? is this used at all? 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