annotate listeningTest/multiComp/MpushIc.m @ 1:b64c9fb34bd0

Response folder included in package (put README in it).
author Brecht <b.deman@qmul.ac.uk>
date Wed, 30 Jul 2014 12:38:47 +0100
parents 4fd284285159
children 5e72201496c8
rev   line source
b@0 1 function MpushIc(hf)
b@0 2
b@0 3 sel=get(hf,'selectiontype');
b@0 4 dat=get(hf,'userdata');
b@0 5 drag=dat.drag;
b@0 6
b@0 7 obj=get(gcf,'currentobject');
b@0 8 sndId=get(obj,'userdata');
b@0 9
b@0 10 switch sel
b@0 11
b@0 12 case 'normal'
b@0 13 % BRECHT: log plays in response log
b@0 14 fidInd=['responses/' dat.sesDat.id,'_',dat.sesDat.sesScript];
b@0 15 fid=fopen(fidInd,'a');
b@0 16 fprintf(fid,'%i ', sndId);
b@0 17 dat.playVec(sndId,1) = 1; % check sample as 'played'
b@0 18 set(hf,'userdata',dat); % write dat away already here (avoid 'not all sounds played')
b@0 19
b@0 20 set(dat.hIcon,'backgroundcolor',[.6 .9 .6]); % all icons turn green
b@0 21 if(obj<=dat.nbScale*(dat.nbSnd+4)+1) % value depends on number of sounds (avoid 'Stop Audio' becoming red)
b@0 22 set(obj,'backgroundcolor','r');
b@0 23 end
b@0 24 playSound(dat.sesDat.cuSndList(sndId));
b@0 25
b@0 26
b@0 27 case 'alt' % right mouse (ctrl+button)
b@0 28 if drag
b@0 29 drag=0;
b@0 30 else
b@0 31 if dat.test.sndRef
b@0 32 if ~isempty(find(dat.test.sndRef==sndId))
b@0 33 return
b@0 34 end
b@0 35 end
b@0 36 drag=1;
b@0 37 end
b@0 38
b@0 39 case 'open' % double-click % ?
b@0 40 % BRECHT: log plays in response log
b@0 41 fid=['responses/' dat.sesDat.id,'_',dat.sesDat.sesScript];
b@0 42 fprintf(fid,'%i', sndId);
b@0 43 dat.vector(sndId,1) = 1; % check sample as 'played'
b@0 44
b@0 45 obj=get(gcf,'currentobject');
b@0 46 set(dat.hIcon,'backgroundcolor',[.6 .9 .6]);
b@0 47 set(obj,'backgroundcolor','r');
b@0 48 playSound(dat.sesDat.cuSndList(get(obj,'userdata')));
b@0 49
b@0 50 end
b@0 51
b@0 52 saveMultiComp(hf);
b@0 53
b@0 54 try % in case audio is still playing when finishing
b@0 55 dat.drag=drag;
b@0 56 set(hf,'userdata',dat);
b@0 57 catch err
b@0 58 end