From dragoblu at gmail.com Tue Feb 1 11:35:34 2011 From: dragoblu at gmail.com (EC) Date: Tue, 1 Feb 2011 03:35:34 -0800 Subject: Experiment Start timestamp In-Reply-To: <4d472c84.4972e70a.1156.ffffc0fdSMTPIN_ADDED@gmr-mx.google.com> Message-ID: > Hmm, you no doubt already know that SessionTime in the .edat file > records the clock time for the start of the experiment, but I suspect > you want something that records the clock time down the millisecond, > whereas SessionTime goes only to the second. That will be a tall > order, because typically Windows does not keep clock time down to ms > resolution, E-Prime only gets that by interposing DirectX > commands. E.g., you could use the Time$ function, but that goes down > only to seconds (and is what SessionTime already uses anyway, as you > can see by reading the generated E-Run code). Yes, I was looking for millisecond precision or at least something considerably smaller than 1 second so Time/Time$ and SessionTime weren't enough. > You might instead use some common signal to start both your EP > experiment and your external device at the same time, and then count > from there. The external device has a long setup and is usually started before Eprime runs because we need to use another software to check if the device is well setup and recording - so we cannot have Eprime running fullscreen with the experiment already. However, you made me realize that there may be still some way to send a signal and "restart" the external device when Eprime starts the experiment. I'll check this route too. > Or you might program your EP experiment to delay until > the clock time reaches some round value, although once again I would > not expect that to be accurate down to the millisecond. That's what I've been doing so far, using the following inline code before our first stimulus: Dim thisSecond thisSecond = Time Do 'Nothing Loop Until (thisSecond <> Time) Using this inline code, the stimulus is delayed until the "start of a new second" on "Time clock". (This code can actually contains some mistakes as I'm just writing the way I remember it, I do not have the code on this pc). No guarantee of a perfect millisecond precision obviously but it should be close enough. The inline code is placed right before the first stimulus of a trial, so each trial is "synchronized to the start of a second". On most runs infact I get this kind of values for my first stimulus OnSetTime: 3514 7514 13514 16530 18514 22514 The milliseconds part is on most cases identical, or different just by a few milliseconds (e.g. by a 16ms refresh), so this gives me confidence that the synchronization code is indeed working, and with a good precision too. However, when doing some test runs I've noticed the following happening: 3514 7500 9486 12465 15450 Instead of having a similar millisecond part, the syncronization seems to drift: I guess that this is the famous System Clock Drift that I've read about, although I do not get any warning about it from Eprime software (this is probably because its version is old - 1.2.1 I think - Clock hasn't got the System Drift Threshold property). This however does not happen on all runs and sometimes disappears completely. These tests were not done with the computer "properly setup" for time precision (e.g. all other software stopped, no internet connection, etc) so this might not be a problem if it doesn't happen when we start Eprime "alone" on the system. Anyway, even if this drift won't happen when the computer is setup properly I think I'll investigate the problem some more as I'm curious to know the cause of this drift (which looks quite linear when it happens, not a simple "random missed tick" caused by CPU being busy). Thank you for your reply! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 1 15:19:18 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 1 Feb 2011 10:19:18 -0500 Subject: Experiment Start timestamp In-Reply-To: <84d1aceb-6676-4663-b6ad-e61925c3a59f@y12g2000prf.googlegro ups.com> Message-ID: > > Or you might program your EP experiment to delay until > > the clock time reaches some round value, although once again I would > > not expect that to be accurate down to the millisecond. > >That's what I've been doing so far, using the following inline code >before our first stimulus: > >Dim thisSecond >thisSecond = Time >Do >'Nothing >Loop Until (thisSecond <> Time) > >Using this inline code, the stimulus is delayed until the "start of a >new second" on "Time clock". That's pretty much what I had in mind... >No guarantee of a perfect millisecond precision obviously but it >should be close enough. > >The inline code is placed right before the first stimulus of a trial, >so each trial is "synchronized to the start of a second". ... but I would not use this to resync on each trial. Instead, I would store the initial trial start time to a global variable, e.g., Dim thisSecond thisSecond = Time Do ' Nothing Loop Until (Time > thisSecond) g_t0 = Clock.Read ' g_t0 defined in global User Script area Thereafter, I would use Clock.Read to resynch each trial to a multiple of g_t0 (I leave this as an exercise), which would guarantee from this point on that everything is synched down to the millisecond. Or, depending on your experiment design (fully timed vs. self-paced, etc.), judicious use of Cumulative timing mode might take care of subsequent synchronizations once you have the first one done (I'm not prepared to write this up now, but try a message board search for "Cumulative"). >Instead of having a similar millisecond part, the syncronization seems >to drift: I guess that this is the famous System Clock Drift that I've >read about, although I do not get any warning about it from Eprime >software (this is probably because its version is old - 1.2.1 I think >- Clock hasn't got the System Drift Threshold property). Hmm, I think that Clock.SystemTimeDrift taps into a similar but different issue, so might be irrelevant here. But I do think that Time and Clock.Read use different hardware clocks, which might contribute to the problem. All the more why I would just synchonize once to Time, and then use Clock.Read for everything else. Just my $.02, -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From dbzgtfan4ever at gmail.com Wed Feb 2 19:21:08 2011 From: dbzgtfan4ever at gmail.com (Caleb J. Picker) Date: Wed, 2 Feb 2011 11:21:08 -0800 Subject: Fill an array from an (unreferenced) list? In-Reply-To: <200908041004.n74A4PhB006071@mail7.tpg.com.au> Message-ID: Hello, I have a question. I looked in the e-basic help and it says that the Input[#] function does this: Reads data from the file referenced by filenumber into the given variables. Why is it the case that when you type '...For Input as #1' that his necessarily reads one line at a time. What I am saying is, I do not understand this function. What does the Input [#] function really mean? If I were to change the '1' value to '2', would this input every other line? Would inputting a large integer value read every nth value of that integer? Thanks in advance. Caleb -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ekoren2 at gmail.com Wed Feb 2 20:34:35 2011 From: ekoren2 at gmail.com (Eli Koren) Date: Wed, 2 Feb 2011 22:34:35 +0200 Subject: No subject Message-ID: http://priec2power.co.cc/t31n5gh5r -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From schizophrenicdan at gmail.com Thu Feb 3 04:34:53 2011 From: schizophrenicdan at gmail.com (Daniel) Date: Wed, 2 Feb 2011 20:34:53 -0800 Subject: Using a list attribute to define the timing of an image display Message-ID: Hi, What I am trying to do is to use a list attribute to define the timing of an image display. This works perfectly fine if I use something like 1200 (to define a timing of 1200ms). But if I use an integer variable (ie. [IpCg1Dur] ) that is defined as 1200ms I get an error that says, "Factor Error: Can't resolve [IpCg1Dur] in this context." Is there a way to have an integer placeholder name in brackets as an attribute to inform an imagedisplay of the correct timing? The reason I want to do this is I am looking for a more efficient way to run a stop-switch task. This allows me to have only one procedure record all go and switch conditions instead of having separate procedures for each condition. I will try to figure out how to load a picture of what I am talking about if possible. Thanks -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From schizophrenicdan at gmail.com Thu Feb 3 04:47:49 2011 From: schizophrenicdan at gmail.com (Daniel) Date: Wed, 2 Feb 2011 20:47:49 -0800 Subject: list attribute to define the timing of an image display Message-ID: Hi, What I am trying to do is to use a list attribute to define the timing of an image display. This works perfectly fine if I use something like 1200 (to define a timing of 1200ms). But if I use an integer variable (ie. [IpCg1Dur] ) that is defined as 1200ms I get an error that says, "Factor Error: Can't resolve [IpCg1Dur] in this context." Is there a way to have an integer placeholder name in brackets as an attribute to inform an imagedisplay of the correct timing? The reason I want to do this is I am looking for a more efficient way to run a stop-switch task. This allows me to have only one procedure record all go and switch conditions instead of having separate procedures for each condition. http://i1139.photobucket.com/albums/n551/Danielw47181/E-primelistattributes.jpg That is a picture of what I am talking about. Sorry I could not figure out how to get the picture larger. If you go 9 columns across you will see the integers in [blue]. [Target1dur] is referenced in Target1 and [Target2dur] is referenced in Target2 to define the timing. Hope this makes sense Thanks -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Thu Feb 3 10:08:58 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Thu, 3 Feb 2011 10:08:58 +0000 Subject: list attribute to define the timing of an image display In-Reply-To: <255aa8ca-1b3e-4692-b145-438c40290dd8@w6g2000vbo.googlegroups.com> Message-ID: Hi Daniel, So, if I understand you correctly, you have something like: BlockList (with attribute IpCg1Dur, for instance) -Which runs some procedure, BlockProc --Which has TrialList, in which attribute Target1Dur is actually a reference to higher order IpCg1Dur. Something like that? This should actually work - the error you get suggests the TrialList can't 'find' attribute IpCg1Dur, which is either because of it is not within BlockList, or there's some other error going on. I do find E-Prime sometimes making a bit of a mess of attributes at the 'block' level and those at the 'trial' level (which you can easily see for yourself if you look at the generated .edat (use e-recovery on the .txt output should you not have one) - there'll be independent block / trial / subtrial columns) - with me, this often leads to some confusion. A suggestion, is to use one or more nested lists instead of referencing deeper and sometimes non-referable levels. Best, Michiel Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Daniel Sent: 03 February 2011 04:48 To: E-Prime Subject: list attribute to define the timing of an image display Hi, What I am trying to do is to use a list attribute to define the timing of an image display. This works perfectly fine if I use something like 1200 (to define a timing of 1200ms). But if I use an integer variable (ie. [IpCg1Dur] ) that is defined as 1200ms I get an error that says, "Factor Error: Can't resolve [IpCg1Dur] in this context." Is there a way to have an integer placeholder name in brackets as an attribute to inform an imagedisplay of the correct timing? The reason I want to do this is I am looking for a more efficient way to run a stop-switch task. This allows me to have only one procedure record all go and switch conditions instead of having separate procedures for each condition. http://i1139.photobucket.com/albums/n551/Danielw47181/E-primelistattributes.jpg That is a picture of what I am talking about. Sorry I could not figure out how to get the picture larger. If you go 9 columns across you will see the integers in [blue]. [Target1dur] is referenced in Target1 and [Target2dur] is referenced in Target2 to define the timing. Hope this makes sense Thanks -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu Feb 3 10:54:25 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 3 Feb 2011 02:54:25 -0800 Subject: Fill an array from an (unreferenced) list? In-Reply-To: <10709104.323.1296674468461.JavaMail.geo-discussion-forums@prfp36> Message-ID: If I remember correctly the number is simply a denominator for 'the input' ... so... in the above example I needed 3 different .txt files to be put into 3 different arrays... (one with positive words, one negative and one neutral). I'll check for you tomorrow but if I remember correctly I repeated the script three times but used input#1, input#2 and input#3. That would make the number just 'a name' given to that input function. "the file referenced by filenumber" would then refer to this line in the above code: Open "YOURFILE.txt" For Input As #1 On Feb 2, 8:21 pm, "Caleb J. Picker" wrote: > Hello, > > I have a question. I looked in the e-basic help and it says that the > Input[#] function does this: > > Reads data from the file referenced by filenumber into the given variables. > > Why is it the case that when you type '...For Input as #1' that his > necessarily reads one line at a time. What I am saying is, I do not > understand this function. What does the Input [#] function really mean? If I > were to change the '1' value to '2', would this input every other line? > Would inputting a large integer value read every nth value of that integer? > > Thanks in advance. > > Caleb -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu Feb 3 11:11:45 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 3 Feb 2011 03:11:45 -0800 Subject: list attribute to define the timing of an image display In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92BEDF1AAD8@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Hi Daniel, Could the problem be that the declaration of the variable that you're referring too (1pcg1dur) is located on a different procedure than the procedure in which it is referred too? Most variables are only valid within their context (c.)... this context is the procedure that they are on... I am not and ICT-educated person (So DMCF please correct me if I state this all wrong!) but what I get from it is that each of the variables and their references are resolved on the procedure level and that references can not be resolved to variables that are defined within a different procedure (context...). So.... the question is... in which procedure is this 1pcg1dur created (i.e. where is the dim line?). I got to guess that it is in the inline called 'initiatevar' that is locate on your sessionproc. If so... the solution is simple: user created variables are variables that somehow (...) overrule the whole procedure-defined context- thing... find your script window and in the lower left corner go to the tab called user. Here you located your dimline (dim 1pcg1dur as integer). Remove that same line from the initatevar inline. The initiatevarinline can keep the line stating "1pcg1dur = 1200". The above might solve your problem... or you might have already have a set-up like this in which case I have no clue what's going on :) best, AW On Feb 3, 11:08 am, Michiel Spape wrote: > Hi Daniel, > So, if I understand you correctly, you have something like: > BlockList (with attribute IpCg1Dur, for instance) > -Which runs some procedure, BlockProc > --Which has TrialList, in which attribute Target1Dur is actually a reference to higher order IpCg1Dur. > Something like that? This should actually work - the error you get suggests the TrialList can't 'find' attribute IpCg1Dur, which is either because of it is not within BlockList, or there's some other error going on. I do find E-Prime sometimes making a bit of a mess of attributes at the 'block' level and those at the 'trial' level (which you can easily see for yourself if you look at the generated .edat (use e-recovery on the .txt output should you not have one) - there'll be independent block / trial / subtrial columns) - with me, this often leads to some confusion. > A suggestion, is to use one or more nested lists instead of referencing deeper and sometimes non-referable levels. > > Best, > Michiel > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Daniel > Sent: 03 February 2011 04:48 > To: E-Prime > Subject: list attribute to define the timing of an image display > > Hi, > > What I am trying to do is to use a list attribute to define the timing > of an image display. This works perfectly fine if I use something like > 1200 (to define a timing of 1200ms). But if I use an integer variable > (ie. [IpCg1Dur] ) that is defined as 1200ms I get an error that says, > "Factor Error: Can't resolve [IpCg1Dur] in this context." Is there a > way to have an integer placeholder name in brackets as an attribute to > inform an imagedisplay of the correct timing? The reason I want to do > this is I am looking for a more efficient way to run a stop-switch > task. This allows me to have only one procedure record all go and > switch conditions instead of having separate procedures for each > condition. > > http://i1139.photobucket.com/albums/n551/Danielw47181/E-primelistattr... > > That is a picture of what I am talking about. Sorry I could not figure > out how to get the picture larger. If you go 9 columns across you will > see the integers in [blue]. [Target1dur] is referenced in Target1 and > [Target2dur] is referenced in Target2 to define the timing. > > Hope this makes sense > > Thanks > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From xingyupan at gmail.com Thu Feb 3 18:17:45 2011 From: xingyupan at gmail.com (Xingyu) Date: Thu, 3 Feb 2011 10:17:45 -0800 Subject: Has anyone used the automated reading/symmetry span task before? Message-ID: Hi, I am using the eprime version of automated reading/symmetry span task developed by Attention & WM lab at GaTech. I have problem terminating the task though. Every time it runs successfully to the end screen told subjects to "get the experimenter", while I can do nothing there but to hit ctrl+alt+shift to compulsorily terminate the task, this resulted in not getting the summary data.... I am just wondering if anyone has used that task before or if anyone knows what the problem might be and the possible solutions. btw, I only have the script for the task but not the .es file. Thank you! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From nitz.david at googlemail.com Thu Feb 3 20:14:46 2011 From: nitz.david at googlemail.com (Dave) Date: Thu, 3 Feb 2011 12:14:46 -0800 Subject: Has anyone used the automated reading/symmetry span task before? In-Reply-To: Message-ID: IIRC, you have to press the spacebar to get past the "get the experimenter screen". The Engle Lab distribute these span tasks with a readme / short instructions manual which should have info on this also. On Feb 3, 7:17 pm, Xingyu wrote: > Hi, I am using the eprime version of automated reading/symmetry span > task developed by Attention & WM lab at GaTech. I have problem > terminating the task though. Every time it runs successfully to the > end screen told subjects to "get the experimenter", while I can do > nothing there but to hit ctrl+alt+shift to compulsorily terminate the > task, this resulted in not getting the summary data.... > I am just wondering if anyone has used that task before or if anyone > knows what the problem might be and the possible solutions. btw, I > only have the script for the task but not the .es file. > Thank you! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Fri Feb 4 09:08:18 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Fri, 4 Feb 2011 09:08:18 +0000 Subject: Has anyone used the automated reading/symmetry span task before? In-Reply-To: <59521faf-7b59-4f37-bb60-317c8630484f@t13g2000vbo.googlegroups.com> Message-ID: Hiya, I give it 90% chance that the "Get the experimenter" screen is actually a 'secret button'. That is, I don't know what other people's conventions are, but whenever I make something like that, I just put in an non-obvious key as the only allowable - say, R (rather than something like {SPACE} or {ANY}). I'd just scroll through the .ebs file which you presumably do have, do a search for "get the experimenter" (which should be .text property of this object), have a look to see what the .allowable is. Alternatively, you can just try every key - it's not like e-prime got that many combinations :) 2. Of course, you have noticed the e-recovery piece of software, right? Just to be sure - some people overlook these little mini add-ons. On an unrelated note, and for the general amusement, I found out what the exact difference is between E-Prime 1 and 2 in terms of E-dataAid. Nada, that is, except that E-dataAid 2 makes .edat2/emrg2 files. These you CAN actually open in good old E-DataAid 1 but only after deleting the "2" from the extension! Tssk... Best, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Dave Sent: 03 February 2011 20:15 To: E-Prime Subject: Re: Has anyone used the automated reading/symmetry span task before? IIRC, you have to press the spacebar to get past the "get the experimenter screen". The Engle Lab distribute these span tasks with a readme / short instructions manual which should have info on this also. On Feb 3, 7:17 pm, Xingyu wrote: > Hi, I am using the eprime version of automated reading/symmetry span > task developed by Attention & WM lab at GaTech. I have problem > terminating the task though. Every time it runs successfully to the > end screen told subjects to "get the experimenter", while I can do > nothing there but to hit ctrl+alt+shift to compulsorily terminate the > task, this resulted in not getting the summary data.... > I am just wondering if anyone has used that task before or if anyone > knows what the problem might be and the possible solutions. btw, I > only have the script for the task but not the .es file. > Thank you! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Fri Feb 4 10:16:01 2011 From: liwenna at gmail.com (liwenna) Date: Fri, 4 Feb 2011 02:16:01 -0800 Subject: Has anyone used the automated reading/symmetry span task before? In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92BEDF1AB9D@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Hi! Such funny coincidence... my 'secret button' on this kind of screens is always 'r' as I kinda expect yours are too, Michiel? As for the data-aid thing... nice that you figured that out and share it... you never know when it might come in handy :) On Feb 4, 10:08 am, Michiel Spape wrote: > Hiya, > I give it 90% chance that the "Get the experimenter" screen is actually a 'secret button'. That is, I don't know what other people's conventions are, but whenever I make something like that, I just put in an non-obvious key as the only allowable - say, R (rather than something like {SPACE} or {ANY}). I'd just scroll through the .ebs file which you presumably do have, do a search for "get the experimenter" (which should be .text property of this object), have a look to see what the .allowable is. Alternatively, you can just try every key - it's not like e-prime got that many combinations :) > 2. Of course, you have noticed the e-recovery piece of software, right? Just to be sure - some people overlook these little mini add-ons. > > On an unrelated note, and for the general amusement, I found out what the exact difference is between E-Prime 1 and 2 in terms of E-dataAid. Nada, that is, except that E-dataAid 2 makes .edat2/emrg2 files. These you CAN actually open in good old E-DataAid 1 but only after deleting the "2" from the extension! Tssk... > > Best, > Mich > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Dave > Sent: 03 February 2011 20:15 > To: E-Prime > Subject: Re: Has anyone used the automated reading/symmetry span task before? > > IIRC, you have to press the spacebar to get past the "get the > experimenter screen". The Engle Lab distribute these span tasks with a > readme / short instructions manual which should have info on this > also. > > On Feb 3, 7:17 pm, Xingyu wrote: > > Hi, I am using the eprime version of automated reading/symmetry span > > task developed by Attention & WM lab at GaTech. I have problem > > terminating the task though. Every time it runs successfully to the > > end screen told subjects to "get the experimenter", while I can do > > nothing there but to hit ctrl+alt+shift to compulsorily terminate the > > task, this resulted in not getting the summary data.... > > I am just wondering if anyone has used that task before or if anyone > > knows what the problem might be and the possible solutions. btw, I > > only have the script for the task but not the .es file. > > Thank you! > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Fri Feb 4 12:41:39 2011 From: liwenna at gmail.com (liwenna) Date: Fri, 4 Feb 2011 04:41:39 -0800 Subject: Fill an array from an (unreferenced) list? In-Reply-To: <108ff1a1-609a-400d-bc7c-84c2593dc3f2@a8g2000pri.googlegroups.com> Message-ID: So I checked it and it is indeed like I described above... just a denominator, as far as I can see. In addition, I checked what would happen if I would use input #1 for the separate inputs and things work just fine... obviously in this script (partly pasted below) the first file is opened(as #1), the array is filled, and then #1 is closed before the next file is opened as input#1. If for some reason you'd first want to open several files simultaneously and only later fill arrays or whatever you're going to do with the info from the files... it would of course be needed to give a separate 'name' #1, #2, etc) to each of the inputs from different files. best, liw 'fill the array negwords 'Read in the stimuli into the array negwords Open "negativewords.txt" For Input As #1 For n = 0 To 17 Input #1, negwords(n) Next n Close #1 'fill the array poswords 'Read in the stimuli into the array poswords Open "positivewords.txt" For Input As #1 For n = 0 To 17 Input #1, poswords(n) Next n Close #1 On Feb 3, 11:54 am, liwenna wrote: > If I remember correctly the number is simply a denominator for 'the > input' ... > > so... in the above example I needed 3 different .txt files to be put > into 3 different arrays... (one with positive words, one negative and > one neutral). I'll check for you tomorrow but if I remember correctly > I repeated the script three times but used input#1, input#2 and > input#3. That would make the number just 'a name' given to that input > function. > > "the file referenced by filenumber"  would then refer to this line in > the above code: Open "YOURFILE.txt" For Input As #1 > > On Feb 2, 8:21 pm, "Caleb J. Picker" wrote: > > > Hello, > > > I have a question. I looked in the e-basic help and it says that the > > Input[#] function does this: > > > Reads data from the file referenced by filenumber into the given variables. > > > Why is it the case that when you type '...For Input as #1' that his > > necessarily reads one line at a time. What I am saying is, I do not > > understand this function. What does the Input [#] function really mean? If I > > were to change the '1' value to '2', would this input every other line? > > Would inputting a large integer value read every nth value of that integer? > > > Thanks in advance. > > > Caleb -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From atieh.moonlight at gmail.com Fri Feb 4 18:15:33 2011 From: atieh.moonlight at gmail.com (atieh bakhtiar) Date: Fri, 4 Feb 2011 13:15:33 -0500 Subject: Parallel Ports Message-ID: Hi We want to send markers via eprime for each stimuli in the experiment through parallel port to our recording system. Does anyone have any reference/codes for sending markers through parallel port in eprime? We have added the parallel port into our program and set its address, however we receive error message that it doesn't recognize the port. Thanks! -- Regards . Atieh Bakhtiar -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcfarla9 at msu.edu Fri Feb 4 19:56:11 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 4 Feb 2011 14:56:11 -0500 Subject: Fill an array from an (unreferenced) list? In-Reply-To: <10709104.323.1296674468461.JavaMail.geo-discussion-forums@ prfp36> Message-ID: Caleb, This is an elementary Visual Basic question. You should be able to find more detailed answers by doing a web search (e.g., "vba input function")., or look in the "VBA for Dummies" book. Best, -- David McFarlane, Professional Faultfinder At 2/2/2011 02:21 PM Wednesday, you wrote: >I have a question. I looked in the e-basic help and it says that the >Input[#] function does this: > >Reads data from the file referenced by filenumber into the given variables. > >Why is it the case that when you type '...For Input as #1' that his >necessarily reads one line at a time. What I am saying is, I do not >understand this function. What does the Input [#] function really >mean? If I were to change the '1' value to '2', would this input >every other line? Would inputting a large integer value read every >nth value of that integer? > >Thanks in advance. > >Caleb -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From hrpena2544 at gmail.com Tue Feb 8 04:33:59 2011 From: hrpena2544 at gmail.com (Hector Pena) Date: Mon, 7 Feb 2011 20:33:59 -0800 Subject: Help with adding key log Message-ID: Hi all, I was having a huge problem with my experiment design, it being a dot- probe, that I was having trouble adding "keys hit" or a "key log" to the end data sheet. The overall experiment is using both neutral and threat stimuli, and I have randomized wheather the neutral word may appear on top and the same with the threat word. I have also made the design only except both keys "1"(meaning the dot was on the bottom) and "4" (meaning the dot was on the top), but of course either can be hit during a trial. Here is the problem, when I complete all trials their is no way to find out if the participant hit 1 or 4. I would like to find out a way to add the key log to the final data sheet or find a way to set correct answers. Hope that was enough information to give you the gist of what I'm going for. YHN -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Tue Feb 8 10:15:43 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 8 Feb 2011 10:15:43 +0000 Subject: Help with adding key log In-Reply-To: Message-ID: Hi, 1. Go to the logging for the specific object which collects the data (i.e. the textdisplay) and turn on the .RESP. 2. This seems, unless I've missed the point, such a basic question that I would urge you to work through the tutorials and even the semi-famous E-Primer (on my website, free to download). It does take a few hours, but the only real alternative is to hire someone who can programme it for you. Best, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Hector Pena Sent: 08 February 2011 04:34 To: E-Prime Subject: Help with adding key log Hi all, I was having a huge problem with my experiment design, it being a dot- probe, that I was having trouble adding "keys hit" or a "key log" to the end data sheet. The overall experiment is using both neutral and threat stimuli, and I have randomized wheather the neutral word may appear on top and the same with the threat word. I have also made the design only except both keys "1"(meaning the dot was on the bottom) and "4" (meaning the dot was on the top), but of course either can be hit during a trial. Here is the problem, when I complete all trials their is no way to find out if the participant hit 1 or 4. I would like to find out a way to add the key log to the final data sheet or find a way to set correct answers. Hope that was enough information to give you the gist of what I'm going for. YHN -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Tue Feb 8 10:45:21 2011 From: liwenna at gmail.com (liwenna) Date: Tue, 8 Feb 2011 02:45:21 -0800 Subject: Help with adding key log In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92BEDF1AD82@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: And on a slightly unrelated note... consider switching to a probe- identification instead of a probe-location paradigm, i.e. use two types of probes (.. & : or E & F or whatever you prefer) and have your participant respond to the identity of the probe instead of the location. In a location variant of the probe partcipants can simply focus on one side of the screen (top or bottom) and respond correctly based on whether or not a probe appears on that side, without actually orienting their attention to the probe, thus kinda defying the whole point of the test. best, liw On 8 feb, 11:15, Michiel Spape wrote: > Hi, > 1. Go to the logging for the specific object which collects the data (i.e. the textdisplay) and turn on the .RESP. > 2. This seems, unless I've missed the point, such a basic question that I would urge you to work through the tutorials and even the semi-famous E-Primer (on my website, free to download). It does take a few hours, but the only real alternative is to hire someone who can programme it for you. > Best, > Mich > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Hector Pena > Sent: 08 February 2011 04:34 > To: E-Prime > Subject: Help with adding key log > > Hi all, > > I was having a huge problem with my experiment design, it being a dot- > probe, that I was having trouble adding "keys hit"  or a "key log" to > the end data sheet.  The overall experiment is using both neutral and > threat stimuli, and I have randomized wheather the neutral word may > appear on top and the same with the threat word.  I have also made the > design only except both keys "1"(meaning the dot was on the bottom) > and "4" (meaning the dot was on the top), but of course either can be > hit during a trial.  Here is the problem, when I complete all trials > their is no way to find out if the participant hit 1 or 4. I would > like to find out a way to add the key log to the final data sheet or > find a way to set correct answers. > > Hope that was enough information to give you the gist of what I'm > going for. > > YHN > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 8 16:18:43 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 8 Feb 2011 11:18:43 -0500 Subject: Parallel Ports In-Reply-To: Message-ID: Atieh, Please see the information on the PST web site (Knowledge Base, and Samples) about using the parallel port. Also, submit a request to Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp -- this is pretty much their substitute for proper documentation, so make full use of it. -- David McFarlane, Professional Faultfinder At 2/4/2011 01:15 PM Friday, you wrote: >We want to send markers via eprime for each stimuli in the >experiment through parallel port to our recording system. Does >anyone have any reference/codes for sending markers through parallel >port in eprime? We have added the parallel port into our program and >set its address, however we receive error message that it doesn't >recognize the port. > >Thanks! >-- >Regards . > >Atieh Bakhtiar -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From rprince at umn.edu Wed Feb 9 13:09:23 2011 From: rprince at umn.edu (Becky Prince) Date: Wed, 9 Feb 2011 05:09:23 -0800 Subject: Stim timing adjustment in a continous loop Message-ID: Dear Forum, I have to create a task where participants hear two tones in a loop and adjust the spacing between the tones (that is, they move the second tone forward or backward in time) until the participant perceives the tones to be rhythmic or isochronous. We'd like to use two keyboard keys as "+" and "-", which when pressed would move the second tone forward or backward (say, 50ms) within the continous loop of the two tones. To illustrate, let's say the tones are "A" and "B", and the dashes represent some unit of time: A---B-----------A---B-----------A---B----------- The duration of the loop (from onset of A to onset of A) remains the same, but the subject uses two keyboard keys to adjust B until the tones sound isochronous: A-------B-------A-------B-------A-------B------- I'm not new to E-Prime, but in the past I've always created standard standard probe-response type tasks. I have not tried to create a program like this one before, where the participant has dynamic control over the stimuli. So my questions are the following: 1) Is it even possible to create this task in E-Prime? 2) Have you done something at all similar, and if so, how did you do it? 3) If you haven't done anything like this, do you have any ideas about how it could work? My only thought is that perhaps I could set this up so that the two tones are not actually 'continous' but presented in pairs over many trials, and the temporal properties of trial n would be based on the response to trial n-1. However, I think this would create a delay between the end of one 'loop' and the beginning of the next, which would certainly affect the subject's perception of a continous rhythm... Any thoughts or suggestions would be greatly apprectiated. Thanks! Becky -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Wed Feb 9 15:51:11 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Wed, 9 Feb 2011 15:51:11 +0000 Subject: Stim timing adjustment in a continous loop In-Reply-To: <790d5eea-5452-47ba-9c5e-daee595f8bd6@x13g2000vbe.googlegroups.com> Message-ID: Hi, You mean, you use a classical method of adjustment? I made an experiment, I think in 2001 or so, pretty much doing exactly what you want, but with A-B----C------------ rather than B----C, and written in Turbo Pascal. Pascal was already outdated, but still pretty new compared to psychophysiology itself :) Anyway, 1. YES, you can do that using E-Prime. But it won't be very easy, and probably easier in Pascal 2. YES, I did (see above). 3. Know that E-Prime isn't brilliant with audio (as I've remarked here before), and audio tones may get cut. This is precisely what would horrify anyone with some psychophysiological training, it certainly does to me. What you might and really should do is: - Get syntrillium cooledit 2 (long out of date, called adobe audition nowadays, which is bloated - adobe-style - and doesn't offer much you'll find use for), or any wave-editing tool which offers millisecond time format for convenience. - Make ALL intervals, using generate tone and generate silence, like ----A----B--------, ---A------B--------, etc. Make sure to include a constant amount of silence before the first tone and after the second tone. Make sure both tones have a little envelope (fade in/out), to avoid clicks at the beginning and end of the tone. This may feel like an insane amount of work, but it's worth it, because A) you'll know your stimuli, B) you'll achieve 1 / 44.1 (about 0.02) ms timing accuracy (instead of 1 ms). Name them something like 50.wav, 100.wav etc, with each number being the timing. - Finally, in E-Prime, use a procedure like this: 1. short inline: Dim currentinterval as integer currentinterval = 1000 'base interval 2. Label1 3. next inline: c.SetAttrib "soundfilename", cstr(currentinterval) & ".wav" 4. SlideDisplay called SlideDisplay1 with duration = infinite, allowable response is {LEFT}{RIGHT}{ENTER}. On the SlideDisplay is placed a text with "Press left to make the interval shorter, right to make it longer, enter if satisfied" and a sound with filename [soundfilename]. 5. Last inline (sorry for the lack of case, David): If SlideDisplay1.Resp = "{LEFT}" then currentinterval = currentinterval - 50 if currentinterval < 50 then currentinterval = 50 'to avoid 0 interval goto Label1 else if SlideDisplay1.RESP = "{RIGHT}" then currentinterval = currentinterval + 50 if currentinterval > 2000 then currentinterval = 2000 'to keep a boundary end if end if Variations, like your looping business can be easily extrapolated from this simple example. That's it. Cheers, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Becky Prince Sent: 09 February 2011 13:09 To: E-Prime Subject: Stim timing adjustment in a continous loop Dear Forum, I have to create a task where participants hear two tones in a loop and adjust the spacing between the tones (that is, they move the second tone forward or backward in time) until the participant perceives the tones to be rhythmic or isochronous. We'd like to use two keyboard keys as "+" and "-", which when pressed would move the second tone forward or backward (say, 50ms) within the continous loop of the two tones. To illustrate, let's say the tones are "A" and "B", and the dashes represent some unit of time: A---B-----------A---B-----------A---B----------- The duration of the loop (from onset of A to onset of A) remains the same, but the subject uses two keyboard keys to adjust B until the tones sound isochronous: A-------B-------A-------B-------A-------B------- I'm not new to E-Prime, but in the past I've always created standard standard probe-response type tasks. I have not tried to create a program like this one before, where the participant has dynamic control over the stimuli. So my questions are the following: 1) Is it even possible to create this task in E-Prime? 2) Have you done something at all similar, and if so, how did you do it? 3) If you haven't done anything like this, do you have any ideas about how it could work? My only thought is that perhaps I could set this up so that the two tones are not actually 'continous' but presented in pairs over many trials, and the temporal properties of trial n would be based on the response to trial n-1. However, I think this would create a delay between the end of one 'loop' and the beginning of the next, which would certainly affect the subject's perception of a continous rhythm... Any thoughts or suggestions would be greatly apprectiated. Thanks! Becky -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tybeet at gmail.com Wed Feb 9 16:33:01 2011 From: tybeet at gmail.com (Tyler) Date: Wed, 9 Feb 2011 08:33:01 -0800 Subject: Variables don't seem to be updating Message-ID: I have an experiment that presents a stimulus, and captures a rating on 5 Likert scales before presenting a new stimulus. I would like to track ratings to prevent subjects from mindlessly clicking the same rating over and over. So basically I need to declare two variables: ratingPrevious - which holds the value of the previous rating ratingRepeat - which counts if a rating is repeated and how many times So I begin with this inside my procedure: Dim ratingRepeat As Integer Dim ratingPrevious As Integer If c.GetAttrib("Rating") > 0 Then ratingPrevious = c.GetAttrib("Rating") End If Immediately after my script that captures a rating and places it in the Rating attribute I have this: If ratingPrevious = c.GetAttrib("Rating") Then ratingRepeat = ratingRepeat + 1 ElseIf ratingPrevious <> c.GetAttrib("Rating") Then ratingRepeat = 0 End If And then for debugging purposes I have a script that tells me what these values are: cnvs.Text sX, sY, c.GetAttrib("Rating") cnvs.Text sX, sY, ratingRepeat cnvs.Text sX, sY, ratingPrevious The behaviour that I observe is that ratingPrevious is capturing the very first rating, but then it stops being updated with additional ratings. In addition, regardless of whether the current and previous ratings are equal, ratingRepeat never gets incremented beyond the first time that it reads Rating = ratingPrevious, so it gets stuck at "1". You can see the structure of my design here: http://gyazo.com/5e6f1f8c7f87ed02a84e90e708c5c248.png Snippet 1, Snippet 2, and Snippet 3 correspond to the code I pasted above. Clearly, the program is reading these pieces of code because it's presenting the scales, and for each rating after the first one the value of Rating is necessarily greater than 0, so it should be processing the part that updates ratingPrevious (ratingPrevious = c.GetAttrib("Rating")). So why isn't this value changing? My feeling is that it is only satisfying these If statements once, and then ignoring them thereafter. Does anyone have any ideas? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tybeet at gmail.com Wed Feb 9 16:41:51 2011 From: tybeet at gmail.com (Tyler) Date: Wed, 9 Feb 2011 08:41:51 -0800 Subject: Variables don't seem to be updating In-Reply-To: Message-ID: A related problem I am having is that I would also like to track the number of trials completed. I have a trialCount variable (Dim trialCount As Integer) and after each rating scale, I have an increment (trialCount = trialCount + 1). This is my design: http://gyazo.com/7c6a09b277aa9d502dcbb5b811dd16c2.png where Inittrialcount refers to the Dim trialCount... and Increment refers to trialCount + 1. In this case, I don't see trialCount increment even once. I think these issues may be related, but I'm not sure what I'm doing wrong? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tybeet at gmail.com Wed Feb 9 16:33:50 2011 From: tybeet at gmail.com (Tyler) Date: Wed, 9 Feb 2011 08:33:50 -0800 Subject: Variables don't seem to be updating In-Reply-To: Message-ID: Sorry, I mean Snippet 1, 3, and 4. On Feb 9, 11:33 am, Tyler wrote: > I have an experiment that presents a stimulus, and captures a rating > on 5 Likert scales before presenting a new stimulus. > I would like to track ratings to prevent subjects from mindlessly > clicking the same rating over and over. > > So basically I need to declare two variables: > ratingPrevious - which holds the value of the previous rating > ratingRepeat - which counts if a rating is repeated and how many times > > So I begin with this inside my procedure: > >      Dim ratingRepeat As Integer >      Dim ratingPrevious As Integer > >      If c.GetAttrib("Rating") > 0 Then >                 ratingPrevious = c.GetAttrib("Rating") >      End If > > Immediately after my script that captures a rating and places it in > the Rating attribute I have this: > >      If ratingPrevious = c.GetAttrib("Rating") Then >                      ratingRepeat = ratingRepeat + 1 >      ElseIf ratingPrevious <> c.GetAttrib("Rating") Then >                      ratingRepeat = 0 >      End If > > And then for debugging purposes I have a script that tells me what > these values are: > >      cnvs.Text sX, sY, c.GetAttrib("Rating") >      cnvs.Text sX, sY, ratingRepeat >      cnvs.Text sX, sY, ratingPrevious > > The behaviour that I observe is that ratingPrevious is capturing the > very first rating, but then it stops being updated with additional > ratings. > In addition, regardless of whether the current and previous ratings > are equal, ratingRepeat never gets incremented beyond the first time > that it reads Rating = ratingPrevious, so it gets stuck at "1". > > You can see the structure of my design here:http://gyazo.com/5e6f1f8c7f87ed02a84e90e708c5c248.png > > Snippet 1, Snippet 2, and Snippet 3 correspond to the code I pasted > above. Clearly, the program is reading these pieces of code because > it's presenting the scales, and for each rating after the first one > the value of Rating is necessarily greater than 0, so it should be > processing the part that updates ratingPrevious (ratingPrevious = > c.GetAttrib("Rating")). So why isn't this value changing? > > My feeling is that it is only satisfying these If statements once, and > then ignoring them thereafter. > > Does anyone have any ideas? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From susangc7 at gmail.com Wed Feb 9 17:53:08 2011 From: susangc7 at gmail.com (Susan) Date: Wed, 9 Feb 2011 09:53:08 -0800 Subject: Variables don't seem to be updating In-Reply-To: <47896351-d302-4168-9288-8580d779df33@8g2000prb.googlegroups.com> Message-ID: Hi Tyler, I expect you're getting several replies right now, because we've all made the same mistake at least once. Your variables are actually declared within the procedure, so they get reinitialized every time the procedure runs and re-zeroed. You can make them global variables (and reset them where you need to) by putting the Dim statements in the user script instead of in the procedure. HTH, Susan On Feb 9, 11:41 am, Tyler wrote: > A related problem I am having is that I would also like to track the > number of trials completed. > > I have a trialCount variable (Dim trialCount As Integer) and after > each rating scale, I have an increment (trialCount = trialCount + 1). > > This is my design:http://gyazo.com/7c6a09b277aa9d502dcbb5b811dd16c2.png > where Inittrialcount refers to the Dim trialCount... and Increment > refers to trialCount + 1. > > In this case, I don't see trialCount increment even once. I think > these issues may be related, but I'm not sure what I'm doing wrong? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tybeet at gmail.com Wed Feb 9 18:58:11 2011 From: tybeet at gmail.com (Tyler) Date: Wed, 9 Feb 2011 10:58:11 -0800 Subject: Variables don't seem to be updating In-Reply-To: Message-ID: Thank you Susan. Moving the declarations to the User tab in the Script window solved my issue with trialCount not incrementing - now it's working as it should. I've also figured out a solution to my other variables not updating. I simply took ratingPrevious = c.GetAttrib("Rating") out of the If statement and moved it further down in my procedure (after it grabs the first rating) and voila! It updates and now ratingRepeat works too! Cheers, Tyler On Feb 9, 12:53 pm, Susan wrote: > Hi Tyler, > > I expect you're getting several replies right now, because we've all > made the same mistake at least once. Your variables are actually > declared within the procedure, so they get reinitialized every time > the procedure runs and re-zeroed. You can make them global variables > (and reset them where you need to) by putting the Dim statements in > the user script instead of in the procedure. > > HTH, > Susan > > On Feb 9, 11:41 am, Tyler wrote: > > > > > > > > > A related problem I am having is that I would also like to track the > > number of trials completed. > > > I have a trialCount variable (Dim trialCount As Integer) and after > > each rating scale, I have an increment (trialCount = trialCount + 1). > > > This is my design:http://gyazo.com/7c6a09b277aa9d502dcbb5b811dd16c2.png > > where Inittrialcount refers to the Dim trialCount... and Increment > > refers to trialCount + 1. > > > In this case, I don't see trialCount increment even once. I think > > these issues may be related, but I'm not sure what I'm doing wrong? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From rprince at umn.edu Thu Feb 10 12:27:04 2011 From: rprince at umn.edu (Becky Prince) Date: Thu, 10 Feb 2011 04:27:04 -0800 Subject: Stim timing adjustment in a continous loop In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92BEDF1AF09@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Hi Mich, Thanks for the quick response - this is exactly what I needed! The E-Prime code seems pretty straight forward, but I suppose I wont know until I get a chance to try it. You're right about audio problems in E-Prime, and the timing issues don't help the case for using E-Prime either. I'll look into using Pascal for the task (although I'm hoping that audacity will work as well as the syntrillium/adobe program for audio editing). Thanks again, I really appreciate the help! Cheers, Becky On Feb 9, 3:51 pm, Michiel Spape wrote: > Hi, > You mean, you use a classical method of adjustment? I made an experiment, I think in 2001 or so, pretty much doing exactly what you want, but with A-B----C------------ rather than B----C, and written in Turbo Pascal. Pascal was already outdated, but still pretty new compared to psychophysiology itself :) > Anyway, > 1. YES, you can do that using E-Prime. But it won't be very easy, and probably easier in Pascal > 2. YES, I did (see above). > 3. Know that E-Prime isn't brilliant with audio (as I've remarked here before), and audio tones may get cut. This is precisely what would horrify anyone with some psychophysiological training, it certainly does to me. What you might and really should do is: > - Get syntrillium cooledit 2 (long out of date, called adobe audition nowadays, which is bloated - adobe-style - and doesn't offer much you'll find use for), or any wave-editing tool which offers millisecond time format for convenience. > - Make ALL intervals, using generate tone and generate silence, like ----A----B--------, ---A------B--------, etc. Make sure to include a constant amount of silence before the first tone and after the second tone. Make sure both tones have a little envelope (fade in/out), to avoid clicks at the beginning and end of the tone. This may feel like an insane amount of work, but it's worth it, because A) you'll know your stimuli, B) you'll achieve 1 / 44.1 (about 0.02) ms timing accuracy (instead of 1 ms). Name them something like 50.wav, 100.wav etc, with each number being the timing. > - Finally, in E-Prime, use a procedure like this: > 1. short inline: >         Dim currentinterval as integer   >         currentinterval = 1000 'base interval > 2. Label1 > 3. next inline: >         c.SetAttrib "soundfilename", cstr(currentinterval) & ".wav" > 4. SlideDisplay called SlideDisplay1 with duration = infinite, allowable response is {LEFT}{RIGHT}{ENTER}. On the SlideDisplay is placed a text with "Press left to make the interval shorter, right to make it longer, enter if satisfied" and a sound with filename [soundfilename]. > 5. Last inline (sorry for the lack of case, David): > >         If SlideDisplay1.Resp = "{LEFT}" then >                 currentinterval = currentinterval - 50 >                 if currentinterval < 50 then currentinterval = 50 'to avoid 0 interval >                 goto Label1 >         else >            if SlideDisplay1.RESP = "{RIGHT}" then >                 currentinterval = currentinterval + 50 >                 if currentinterval > 2000 then currentinterval = 2000 'to keep a boundary >            end if >        end if > > Variations, like your looping business can be easily extrapolated from this simple example. > That's it. > Cheers, > Mich > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Becky Prince > Sent: 09 February 2011 13:09 > To: E-Prime > Subject: Stim timing adjustment in a continous loop > > Dear Forum, > > I have to create a task where participants hear two tones in a loop > and adjust the spacing between the tones (that is, they move the > second tone forward or backward in time) until the participant > perceives the tones to be rhythmic or isochronous.  We'd like to use > two keyboard keys as "+" and "-", which when pressed would move the > second tone forward or backward (say, 50ms) within the continous loop > of the two tones. > > To illustrate, let's say the tones are "A" and "B", and the dashes > represent some unit of time: > A---B-----------A---B-----------A---B----------- > The duration of the loop (from onset of A to onset of A) remains the > same, but the subject uses two keyboard keys to adjust B until the > tones sound isochronous: > A-------B-------A-------B-------A-------B------- > > I'm not new to E-Prime, but in the past I've always created standard > standard probe-response type tasks.  I have not tried to create a > program like this one before, where the participant has dynamic > control over the stimuli. > > So my questions are the following: > > 1) Is it even possible to create this task in E-Prime? > > 2) Have you done something at all similar, and if so, how did you do > it? > > 3) If you haven't done anything like this, do you have any ideas about > how it could work? > > My only thought is that perhaps I could set this up so that the two > tones are not actually 'continous' but presented in pairs over many > trials, and the temporal properties of trial n would be based on the > response to trial n-1.  However, I think this would create a delay > between the end of one 'loop' and the beginning of the next, which > would certainly affect the subject's perception of a continous > rhythm... > > Any thoughts or suggestions would be greatly apprectiated. > Thanks! > Becky > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. > > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tobias.fw at gmail.com Thu Feb 10 18:29:40 2011 From: tobias.fw at gmail.com (Tobias) Date: Thu, 10 Feb 2011 10:29:40 -0800 Subject: problem with extended response collection Message-ID: Hi, i wanna set up the following experiment: A stimulus appears for 250 ms. Participants are to respond to that stimulus either during presentation of that stimulus or any time after, when a response screen is shown until the participant reacts. If the participant reacts during stimulus presentation, the response screen should not be displayed. I did this as follows: (1) I made a slide that has a duration of 248 ms (should round up to 150 as I use a screen of 100 Hz). I set the time limit to "(infinite)" and the end action to "(none)". (2) After the slide follows an Inline Script with this content: "if c.getattrib("search.resp") = "a" or c.getattrib("search.resp") = "l" then goto Label1" (3) Then follows a slide that serves as a response screen. It has an infinite duration (-1) and "terminate" as an end action. (4) The next element ist the Label1 This works quite well for most of the trials. If the particpant presses a or l during stimulus ("search") presentation, the inline will make e-prime jump the the label and not call the response screen. If the particpant does not press the button during presentation, the response screen appears until a button is pressed. However, sometimes, like about 5% of the trials, participants would have to press twice. That is, even though they pressed a button during stimulus presentation, the response screen appears. My first guess is, that this is because in these rather seldom cases, the participant presses the button in the few milliseconds between stimulus offset and response screen onset. Is that possible? How can I circumvent this problem? Have you had a similar problem? Your help is most appreciated! Best, Tobias -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Fri Feb 11 10:11:45 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Fri, 11 Feb 2011 10:11:45 +0000 Subject: problem with extended response collection In-Reply-To: Message-ID: Hi, If you're right (and I guess it is possible), then you might try setting offset sync of 1) to none, and onset sync of 3) to none. That way you might get some screen-tearing artefacts, but the time between them should be microseconds (rather than milliseconds) - making it terribly unlikely that subjects respond at that time. But, I don't think this is necessarily the problem. I have a feeling (but correct me if I'm wrong) that time limit of infinite, with duration of 248, might go wrong. How, for example, is E-Prime to know that a late response (after the 248) is for 1) rather than 3)? My suggestion: 1) As you say (with time limit = infinite), but also with jump label (label1) to 4. End 2) makes little sense (search.resp?) Is Search the slide in 1)? If so, then it should be without getattrib (i.e. not reading from list, but from object 1). 3) Slide, as you say, except _without response collection_ (since 1 is doing that). 4) As you say. So, without any code, for once, the stimulus is shown for 250 ms, if participant reacts during that time, they don't see 3. Unless you don't want the stimulus to be presented shorter (perhaps you do EEG?). In which case it might be a bit more difficult: 5) Short inline: ExtendedStim.Duration = 250 - Slide1.Duration 'slide1 being whatever you named 1 6) ExtendedStim is a slide that is just a copy (control+drag) of 1). Except it doesn't have keyboard input or collect responses. Anyway, the nice thing is that the response is always collected by the same object now, which is at least my preferred way of coding E-Prime. Does that help? Best, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Tobias Sent: 10 February 2011 18:30 To: E-Prime Subject: problem with extended response collection Hi, i wanna set up the following experiment: A stimulus appears for 250 ms. Participants are to respond to that stimulus either during presentation of that stimulus or any time after, when a response screen is shown until the participant reacts. If the participant reacts during stimulus presentation, the response screen should not be displayed. I did this as follows: (1) I made a slide that has a duration of 248 ms (should round up to 150 as I use a screen of 100 Hz). I set the time limit to "(infinite)" and the end action to "(none)". (2) After the slide follows an Inline Script with this content: "if c.getattrib("search.resp") = "a" or c.getattrib("search.resp") = "l" then goto Label1" (3) Then follows a slide that serves as a response screen. It has an infinite duration (-1) and "terminate" as an end action. (4) The next element ist the Label1 This works quite well for most of the trials. If the particpant presses a or l during stimulus ("search") presentation, the inline will make e-prime jump the the label and not call the response screen. If the particpant does not press the button during presentation, the response screen appears until a button is pressed. However, sometimes, like about 5% of the trials, participants would have to press twice. That is, even though they pressed a button during stimulus presentation, the response screen appears. My first guess is, that this is because in these rather seldom cases, the participant presses the button in the few milliseconds between stimulus offset and response screen onset. Is that possible? How can I circumvent this problem? Have you had a similar problem? Your help is most appreciated! Best, Tobias -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tobias.fw at gmail.com Fri Feb 11 11:25:11 2011 From: tobias.fw at gmail.com (Tobias) Date: Fri, 11 Feb 2011 03:25:11 -0800 Subject: problem with extended response collection In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92BEDF1B01F@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Hi Michiel, thanks for your reply. Indeed I am using EEG and the search/stimulus slide should be equally long presented in each trial and for each subject. The trick with the subtraction of "Slide1.Duration" is a good idea, I will try that later. But isn't there a flickering or something between Slide1 and ExtendedStim? Anyway, I am not sure if your suggestion makes a difference timing-wise: Between ExtendedStim and ResponseSlide is the same number of microseconds, milliseconds or whatever than in my former version between Slide1 and ResponseSlide. One more thing about the response collection: The result file shows that Slide1.RESP has a value no matter when the subject responds and no matter if the ResponseSlide is already shown. If the subject responds during ResponseSlide, Slide1.RESP and ResponseSlide.RESP have the same value, namely the key the subject pressed. Best, Tobias On Feb 11, 11:11 am, Michiel Spape wrote: > Hi, > If you're right (and I guess it is possible), then you might try setting offset sync of 1) to none, and onset sync of 3) to none. That way you might get some screen-tearing artefacts, but the time between them should be microseconds (rather than milliseconds) - making it terribly unlikely that subjects respond at that time. > > But, I don't think this is necessarily the problem. I have a feeling (but correct me if I'm wrong) that time limit of infinite, with duration of 248, might go wrong. How, for example, is E-Prime to know that a late response (after the 248) is for 1) rather than 3)? My suggestion: > 1) As you say (with time limit = infinite), but also with jump label (label1) to 4. End > 2) makes little sense (search.resp?) Is Search the slide in 1)? If so, then it should be without getattrib (i.e. not reading from list, but from object 1). > 3) Slide, as you say, except _without response collection_ (since 1 is doing that). > 4) As you say. > So, without any code, for once, the stimulus is shown for 250 ms, if participant reacts during that time, they don't see 3. Unless you don't want the stimulus to be presented shorter (perhaps you do EEG?). In which case it might be a bit more difficult: > 5) Short inline: ExtendedStim.Duration = 250 - Slide1.Duration 'slide1 being whatever you named 1 > 6) ExtendedStim is a slide that is just a copy (control+drag) of 1). Except it doesn't have keyboard input or collect responses. > > Anyway, the nice thing is that the response is always collected by the same object now, which is at least my preferred way of coding E-Prime. > Does that help? > Best, > Mich > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Tobias > Sent: 10 February 2011 18:30 > To: E-Prime > Subject: problem with extended response collection > > Hi, > > i wanna set up the following experiment: A stimulus appears for 250 > ms. Participants are to respond to that stimulus either during > presentation of that stimulus or any time after, when a response > screen is shown until the participant reacts. If the participant > reacts during stimulus presentation, the response screen should not be > displayed. > > I did this as follows: > (1) I made a slide that has a duration of 248 ms (should round up to > 150 as I use a screen of 100 Hz). I set the time limit to "(infinite)" > and the end action to "(none)". > (2) After the slide follows an Inline Script with this content: > "if c.getattrib("search.resp") = "a" or c.getattrib("search.resp") = > "l" then goto Label1" > (3) Then follows a slide that serves as a response screen. It has an > infinite duration (-1) and "terminate" as an end action. > (4) The next element ist the Label1 > > This works quite well for most of the trials. If the particpant > presses a or l during stimulus ("search") presentation, the inline > will make e-prime jump the the label and not call the response screen. > If the particpant does not press the button during presentation, the > response screen appears until a button is pressed. > > However, sometimes, like about 5% of the trials, participants would > have to press twice. That is, even though they pressed a button during > stimulus presentation, the response screen appears. My first guess is, > that this is because in these rather seldom cases, the participant > presses the button in the few milliseconds between stimulus offset and > response screen onset. Is that possible? How can I circumvent this > problem? Have you had a similar problem? > > Your help is most appreciated! > > Best, > Tobias > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From esperimento.psicologia.unipd at gmail.com Fri Feb 11 11:26:38 2011 From: esperimento.psicologia.unipd at gmail.com (Francesco S) Date: Fri, 11 Feb 2011 03:26:38 -0800 Subject: Cursor limit Message-ID: Hi, I want participants to move the mouse only on an oblique line. Is there a method to constrain the cursor limit in such a way? thanks. Francesco PhD student -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Fri Feb 11 12:08:44 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Fri, 11 Feb 2011 12:08:44 +0000 Subject: problem with extended response collection (also "the virtue of collecting multiple responses") In-Reply-To: <05ca1bbb-82e7-4d6a-9583-796435f64e3f@u6g2000vbh.googlegroups.com> Message-ID: Hi Tobias & List, It seems the "infinite duration until response and stimulus disappears as a result" thing, which is so much easier to do in E-Prime than anything else, seems to become less popular as people are more often using neuroscience weaponry these days. A minimum duration property would be quite nice, but is pretty much lacking. Anyway: - no, there should be no flicker, unless you set the clear-after property to true (which it isn't by default). As long as both slides look identical, that is. The timing-wise difference is not so much in the interval in between as the stimulus keeps collecting data between the two objects (asynchronously, if you like). I would say, try it, see if it works better. If not, there's at least less code involved and it saves some redundancy in the data collection here (which seems, as you say, to work out well enough). I might be missing something here, I'm not very good at debugging without seeing it happening in E-Prime. As an aside, I find it - especially while doing EEG - quite often very useful to - have a response-collecting object with some time limit started long before any stimulus. It's very easy to code, afterwards, something like c.SetAttrib "Y_RT", myResponseCollectingObject.RTTime - myStimulusObject.OnsetTime - have it collect multiple responses, then afterwards (or in your case, both in the middle and afterwards) sorting these out (code for that is in this e-prime list somewhere). Crucially, and I never thought of this until two years ago when I started doing bimanual experiments, in almost any single-response experiment, there is a good chance a participant will react A THEN SWITCH to B as he/she changes his/her mind. If A was actually the correct answer, you'd usually (or at least, by e-prime default) incorrectly classify the whole bit as a correct response. "Incorrectly" might be debatable, but I find it safer to throw out all dual-response data (if the correct answer is a single response). I should point this out in the e-Primer :) Best, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Tobias Sent: 11 February 2011 11:25 To: E-Prime Subject: Re: problem with extended response collection Hi Michiel, thanks for your reply. Indeed I am using EEG and the search/stimulus slide should be equally long presented in each trial and for each subject. The trick with the subtraction of "Slide1.Duration" is a good idea, I will try that later. But isn't there a flickering or something between Slide1 and ExtendedStim? Anyway, I am not sure if your suggestion makes a difference timing-wise: Between ExtendedStim and ResponseSlide is the same number of microseconds, milliseconds or whatever than in my former version between Slide1 and ResponseSlide. One more thing about the response collection: The result file shows that Slide1.RESP has a value no matter when the subject responds and no matter if the ResponseSlide is already shown. If the subject responds during ResponseSlide, Slide1.RESP and ResponseSlide.RESP have the same value, namely the key the subject pressed. Best, Tobias On Feb 11, 11:11 am, Michiel Spape wrote: > Hi, > If you're right (and I guess it is possible), then you might try setting offset sync of 1) to none, and onset sync of 3) to none. That way you might get some screen-tearing artefacts, but the time between them should be microseconds (rather than milliseconds) - making it terribly unlikely that subjects respond at that time. > > But, I don't think this is necessarily the problem. I have a feeling (but correct me if I'm wrong) that time limit of infinite, with duration of 248, might go wrong. How, for example, is E-Prime to know that a late response (after the 248) is for 1) rather than 3)? My suggestion: > 1) As you say (with time limit = infinite), but also with jump label (label1) to 4. End > 2) makes little sense (search.resp?) Is Search the slide in 1)? If so, then it should be without getattrib (i.e. not reading from list, but from object 1). > 3) Slide, as you say, except _without response collection_ (since 1 is doing that). > 4) As you say. > So, without any code, for once, the stimulus is shown for 250 ms, if participant reacts during that time, they don't see 3. Unless you don't want the stimulus to be presented shorter (perhaps you do EEG?). In which case it might be a bit more difficult: > 5) Short inline: ExtendedStim.Duration = 250 - Slide1.Duration 'slide1 being whatever you named 1 > 6) ExtendedStim is a slide that is just a copy (control+drag) of 1). Except it doesn't have keyboard input or collect responses. > > Anyway, the nice thing is that the response is always collected by the same object now, which is at least my preferred way of coding E-Prime. > Does that help? > Best, > Mich > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Tobias > Sent: 10 February 2011 18:30 > To: E-Prime > Subject: problem with extended response collection > > Hi, > > i wanna set up the following experiment: A stimulus appears for 250 > ms. Participants are to respond to that stimulus either during > presentation of that stimulus or any time after, when a response > screen is shown until the participant reacts. If the participant > reacts during stimulus presentation, the response screen should not be > displayed. > > I did this as follows: > (1) I made a slide that has a duration of 248 ms (should round up to > 150 as I use a screen of 100 Hz). I set the time limit to "(infinite)" > and the end action to "(none)". > (2) After the slide follows an Inline Script with this content: > "if c.getattrib("search.resp") = "a" or c.getattrib("search.resp") = > "l" then goto Label1" > (3) Then follows a slide that serves as a response screen. It has an > infinite duration (-1) and "terminate" as an end action. > (4) The next element ist the Label1 > > This works quite well for most of the trials. If the particpant > presses a or l during stimulus ("search") presentation, the inline > will make e-prime jump the the label and not call the response screen. > If the particpant does not press the button during presentation, the > response screen appears until a button is pressed. > > However, sometimes, like about 5% of the trials, participants would > have to press twice. That is, even though they pressed a button during > stimulus presentation, the response screen appears. My first guess is, > that this is because in these rather seldom cases, the participant > presses the button in the few milliseconds between stimulus offset and > response screen onset. Is that possible? How can I circumvent this > problem? Have you had a similar problem? > > Your help is most appreciated! > > Best, > Tobias > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From c.elwell at hotmail.co.uk Fri Feb 11 13:10:32 2011 From: c.elwell at hotmail.co.uk (Charlotte) Date: Fri, 11 Feb 2011 05:10:32 -0800 Subject: RT feedback according to list attribute Message-ID: Hello, I've set up a lexical decision task and need to provide participants with their mean response time to words, and their mean response time to non-words at the end of the experiment. Whether each trial is a word or non-word is set up as a list attribute. At the moment I have the feedback slide on the sessionproc and thought it was set up to provide the mean response time to all trials (still not what I actually wanted), but on testing it is actually just providing the response time to the very last trial. Please help! How can I provide a slide with mean response times, that is split up according to 'word type' attribute? Charlotte -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From h.witherstone at googlemail.com Fri Feb 11 14:31:07 2011 From: h.witherstone at googlemail.com (Hannah Witherstone) Date: Fri, 11 Feb 2011 06:31:07 -0800 Subject: Not strictly E-Prime related - seeking wisdom on manipulating sound files Message-ID: Dear all I know this isn't really E-Prime related but I'm hoping someone could give me any advice. I am playing sound files through E-Prime that are manipulated for speed of presentation. I have time-compressed my sound files in audacity before running though E-Prime. However, it has recently been suggested to me that Audacity is not the most sensitive software to use when speeding up sounds, and that ProTools is a much better package. Could anyone let me know if this really is the case / what ProTools does when changing tempo that Audacity doesn't. If anyone could help that would be great, Best, Hannah -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tobias.fw at gmail.com Fri Feb 11 14:39:32 2011 From: tobias.fw at gmail.com (Tobias) Date: Fri, 11 Feb 2011 06:39:32 -0800 Subject: problem with extended response collection (also "the virtue of collecting multiple responses") In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92BEDF1B06C@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Hi again, I think I still have a problem understanding the advantage or the principle itself of your suggestion. If I have the Slide1 for 250 ms, "infinite" as the time limit and end action "terminate" (as you suggested if I understood you correctly), it is still collecting data after offset of the Slide1 oder the ExtendedStim. I mean in both cases Slide1 will collect data until a first button press is recognized. In both cases, if Slide1.resp is collected, the response screen should not appear. And for the responseSlide, if I don't specify the response collection, it will stay on the screen forever (I tried it). Maybe we talk at cross purposes? Don't know... BEst, Tobias On 11 Feb., 13:08, Michiel Spape wrote: > Hi Tobias & List, > It seems the "infinite duration until response and stimulus disappears as a result" thing, which is so much easier to do in E-Prime than anything else, seems to become less popular as people are more often using neuroscience weaponry these days. A minimum duration property would be quite nice, but is pretty much lacking. Anyway: > - no, there should be no flicker, unless you set the clear-after property to true (which it isn't by default). As long as both slides look identical, that is. The timing-wise difference is not so much in the interval in between as the stimulus keeps collecting data between the two objects (asynchronously, if you like). I would say, try it, see if it works better. If not, there's at least less code involved and it saves some redundancy in the data collection here (which seems, as you say, to work out well enough). I might be missing something here, I'm not very good at debugging without seeing it happening in E-Prime. > > As an aside, I find it - especially while doing EEG - quite often very useful to > - have a response-collecting object with some time limit started long before any stimulus. It's very easy to code, afterwards, something like > c.SetAttrib "Y_RT", myResponseCollectingObject.RTTime - myStimulusObject.OnsetTime > - have it collect multiple responses, then afterwards (or in your case, both in the middle and afterwards) sorting these out (code for that is in this e-prime list somewhere). Crucially, and I never thought of this until two years ago when I started doing bimanual experiments, in almost any single-response experiment, there is a good chance a participant will react A THEN SWITCH to B as he/she changes his/her mind. If A was actually the correct answer, you'd usually (or at least, by e-prime default) incorrectly classify the whole bit as a correct response. "Incorrectly" might be debatable, but I find it safer to throw out all dual-response data (if the correct answer is a single response). I should point this out in the e-Primer :) > > Best, > Mich > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Tobias > Sent: 11 February 2011 11:25 > To: E-Prime > Subject: Re: problem with extended response collection > > Hi Michiel, > > thanks for your reply. Indeed I am using EEG and the search/stimulus > slide should be equally long presented in each trial and for each > subject. The trick with the subtraction of "Slide1.Duration" is a good > idea, I will try that later. But isn't there a flickering or something > between Slide1 and ExtendedStim? Anyway, I am not sure if your > suggestion makes a difference timing-wise: Between ExtendedStim and > ResponseSlide is the same number of microseconds, milliseconds or > whatever than in my former version between Slide1 and ResponseSlide. > > One more thing about the response collection: The result file shows > that Slide1.RESP has a value no matter when the subject responds and > no matter if the ResponseSlide is already shown. If the subject > responds during ResponseSlide, Slide1.RESP and ResponseSlide.RESP have > the same value, namely the key the subject pressed. > > Best, > Tobias > > On Feb 11, 11:11 am, Michiel Spape > wrote: > > Hi, > > If you're right (and I guess it is possible), then you might try setting offset sync of 1) to none, and onset sync of 3) to none. That way you might get some screen-tearing artefacts, but the time between them should be microseconds (rather than milliseconds) - making it terribly unlikely that subjects respond at that time. > > > But, I don't think this is necessarily the problem. I have a feeling (but correct me if I'm wrong) that time limit of infinite, with duration of 248, might go wrong. How, for example, is E-Prime to know that a late response (after the 248) is for 1) rather than 3)? My suggestion: > > 1) As you say (with time limit = infinite), but also with jump label (label1) to 4. End > > 2) makes little sense (search.resp?) Is Search the slide in 1)? If so, then it should be without getattrib (i.e. not reading from list, but from object 1). > > 3) Slide, as you say, except _without response collection_ (since 1 is doing that). > > 4) As you say. > > So, without any code, for once, the stimulus is shown for 250 ms, if participant reacts during that time, they don't see 3. Unless you don't want the stimulus to be presented shorter (perhaps you do EEG?). In which case it might be a bit more difficult: > > > 5) Short inline: ExtendedStim.Duration = 250 - Slide1.Duration 'slide1 being whatever you named 1 > > 6) ExtendedStim is a slide that is just a copy (control+drag) of 1). Except it doesn't have keyboard input or collect responses. > > > Anyway, the nice thing is that the response is always collected by the same object now, which is at least my preferred way of coding E-Prime. > > Does that help? > > Best, > > Mich > > > Michiel Spapé > > Research Fellow > > Perception & Action group > > University of Nottingham > > School of Psychologywww.cognitology.eu > > > -----Original Message----- > > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Tobias > > Sent: 10 February 2011 18:30 > > To: E-Prime > > Subject: problem with extended response collection > > > Hi, > > > i wanna set up the following experiment: A stimulus appears for 250 > > ms. Participants are to respond to that stimulus either during > > presentation of that stimulus or any time after, when a response > > screen is shown until the participant reacts. If the participant > > reacts during stimulus presentation, the response screen should not be > > displayed. > > > I did this as follows: > > (1) I made a slide that has a duration of 248 ms (should round up to > > 150 as I use a screen of 100 Hz). I set the time limit to "(infinite)" > > and the end action to "(none)". > > (2) After the slide follows an Inline Script with this content: > > "if c.getattrib("search.resp") = "a" or c.getattrib("search.resp") = > > "l" then goto Label1" > > (3) Then follows a slide that serves as a response screen. It has an > > infinite duration (-1) and "terminate" as an end action. > > (4) The next element ist the Label1 > > > This works quite well for most of the trials. If the particpant > > presses a or l during stimulus ("search") presentation, the inline > > will make e-prime jump the the label and not call the response screen. > > If the particpant does not press the button during presentation, the > > response screen appears until a button is pressed. > > > However, sometimes, like about 5% of the trials, participants would > > have to press twice. That is, even though they pressed a button during > > stimulus presentation, the response screen appears. My first guess is, > > that this is because in these rather seldom cases, the participant > > presses the button in the few milliseconds between stimulus offset and > > response screen onset. Is that possible? How can I circumvent this > > problem? Have you had a similar problem? > > > Your help is most appreciated! > > > Best, > > Tobias > > > -- > > You received this message because you are subscribed to the Google Groups "E-Prime" group. > > To post to this group, send email to e-prime at googlegroups.com. > > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > > This message has been checked for viruses but the contents of an attachment > > may still contain software viruses which could damage your computer system: > > you are advised to perform your own checks. Email communications with the > > University of Nottingham may be monitored as permitted by UK legislation. > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From njvack at wisc.edu Fri Feb 11 15:09:29 2011 From: njvack at wisc.edu (Nate Vack) Date: Fri, 11 Feb 2011 09:09:29 -0600 Subject: Not strictly E-Prime related - seeking wisdom on manipulating sound files In-Reply-To: <6205915b-a671-4c5d-8f90-6f92eb87e790@w19g2000yqa.googlegroups.com> Message-ID: On Fri, Feb 11, 2011 at 8:31 AM, Hannah Witherstone wrote: > Could anyone let me know if this really is the case / what ProTools > does when changing tempo that Audacity doesn't. I'm gonna go out on a limb here and suggest that either the Audacity forums: http://forum.audacityteam.org/ or the ProTools Users Group: http://protoolsusers.org/index.php?option=com_fireboard&Itemid=0&func=listcat may be better bets for this question. Cheers, -Nate -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 11 17:57:31 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 11 Feb 2011 12:57:31 -0500 Subject: Cursor limit In-Reply-To: Message-ID: Francesco, Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... No simple "method" that will do this for you. You would have to use some inline code to examine mouse movements, translate those to the desired mouse coordinates, and then move the mouse cursor there, taking advantage of things like Mouse.GetCursorPos and Mouse.SetCursorPos (see the MouseDevice topic in the online E-Basic Help). Of course, then your code would be fighting with the OS's own mouse handler, so I don't know how smooth the results would be -- otherwise, you would have to hide the actual mouse cursor and draw your own as needed. Good luck, -- David McFarlane, Professional Faultfinder >I want participants to move the mouse only on an oblique line. >Is there a method to constrain the cursor limit in such a way? > >thanks. > >Francesco >PhD student -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 11 18:09:42 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 11 Feb 2011 13:09:42 -0500 Subject: RT feedback according to list attribute In-Reply-To: <7eeb3976-0579-4dac-9afa-f6e4655b1843@f30g2000yqa.googlegro ups.com> Message-ID: Charlotte, Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... No built-in way for EP to do this. But of course EP does provide all the elements to roll your own. Just create some global variables for each of your desired sums or averages, and use inline code to accumulate values to the appropriate global variable after each response. You might use a single global array to hold the values, or take advantage of the Summation class provided by EP (see the online E-Basic Help). For help getting started with global variables and inline code, please work through Chapter 4 of the User's Guide that came with E-Prime. -- David McFarlane, Professional Faultfinder >I've set up a lexical decision task and need to provide participants >with their mean response time to words, and their mean response time >to non-words at the end of the experiment. Whether each trial is a >word or non-word is set up as a list attribute. > >At the moment I have the feedback slide on the sessionproc and thought >it was set up to provide the mean response time to all trials (still >not what I actually wanted), but on testing it is actually just >providing the response time to the very last trial. > >Please help! How can I provide a slide with mean response times, that >is split up according to 'word type' attribute? > >Charlotte -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From rprince at umn.edu Sat Feb 12 18:32:34 2011 From: rprince at umn.edu (Becky Prince) Date: Sat, 12 Feb 2011 10:32:34 -0800 Subject: indexing performance on specific trials Message-ID: Hello forum, I need to end practice trials based on performance on specific trials. Right now my practice procedure ends based on the overall performance (i.e. If Feedback.ACCStats.Mean > .80 Then ... ). I'm guessing I should include an InLine script after the practice trials with a simple 'Select Case' or 'If...Then' statement with this structure: If (Trial 1 ACC) = 1 And (Trial 5 ACC) = 1 Then StartTask.Text = "Great! Start the task. " Else StartTask.Text = "Do practice again." Feedback.ACCStats.Reset StartTask.Run Goto StartPrac 'label at the beginning of the practice procedure End If It should be obvious from the code above that I can't figure out how to index the performance on specific trials. I'm sure this is an easy task for most of you, however I have spent ages going through Ch. 4 (Using E-Basic) and looking through past discussion posts, and I still cannot figure this out! Any help is greatly appreciated! Thanks, Becky -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From hesslabo at googlemail.com Sun Feb 13 21:52:19 2011 From: hesslabo at googlemail.com (cblaison) Date: Sun, 13 Feb 2011 13:52:19 -0800 Subject: Startle probe complex randomization Message-ID: Hi all! I attached here: https://docs.google.com/leaf?id=0Bw6aNdKBxq4tM2JlOGE4N2ItNmY1Ni00MDY3LWJmMDctMzY2YTg2MWNmYjdl&hl=en&authkey=CNeUqe8C a copy from the prog I would like to modify. It is a startle probe prog, where angry faces are shown during 6 sec and sometimes bursts of white noise are triggered. The Intertrial Interval (ITI) between faces lasts between 14 and 21 sec. There are 4 different angry faces. The probe starts 4, 4.5, or 5 sec after onset of stim (face or ITI). In all, faces are presented 12 times, separated by 11 ITI + 1 ITI at the end of the sequence. 3 Bursts have to appear during the ITI (which ITI is random). 4 bursts have to appear randomly during the face presentations BUT once appeared during one face, it never has to appear again paired with this face. Thus e-prime has to recall somehow which face was paired with the burst and discard this candidate from future face-probe pairing. I am not an in-line expert, so could please someone help me? Thank you very much! cheers, christophe. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From hesslabo at googlemail.com Sun Feb 13 22:05:26 2011 From: hesslabo at googlemail.com (cblaison) Date: Sun, 13 Feb 2011 14:05:26 -0800 Subject: Send different markers for different randomly appearing stim Message-ID: Hi all..me again It is about the same prog (please see my last mail for a description of the prog), but another question. Please download the prog here: https://docs.google.com/leaf?id=0Bw6aNdKBxq4tM2JlOGE4N2ItNmY1Ni00MDY3LWJmMDctMzY2YTg2MWNmYjdl&hl=en&authkey=CNeUqe8C I make psychophysio measurement, so I have to synchronize what is triggered by eprime with the physiological data of the participants. What I do is sending a signal through the port of the computer to mark in the physio what type of stim is presently shown by eprime. For example: write port &378, 2 sleep 50 write port &378, 0 sleep 50 What I would like to do is to send a different signal (thus place a different marker) for the different face stimuli of my prog. Problem is that the faces appear randomly, so eprime has to note which face is selected and send the corresponding signal through the port (for example if "211.tif" than send "4" through the port, if "221.tif" than send "8" through the port, etc..) Can someone please help me? Thank you very much cheers, christophe. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Mon Feb 14 10:11:41 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Mon, 14 Feb 2011 10:11:41 +0000 Subject: indexing performance on specific trials In-Reply-To: Message-ID: Hi, I'm not sure about the code - do you wish to end practice after Trial1 and Trial5 are accurate? This is what I'd do: 1. Declare two global variables, both as boolean: Dim trial1isacc as boolean Dim trial5isacc as Boolean Dim trialnum as integer 2. Short label here (lbl1) 3. Start experiment with a small inline setting both bools to false 4. Do Training. Every trial, add 1 to Trialnum. Then check the .acc of your stim and set trial1isacc/trial5isacc to true if they happen to be accurate 5. Check to see if either is false, then go to lbl1. And otherwise (but no else necessary) go to next part of the experiment. More elegant ways are possible, but the above should work. Basically, it's pretty much the same as: (assuming StartTask is an empty, unreferenced textdisplay If (Trial1ACC) = true And (Trial 5 ACC) = true Then StartTask.Text = "Great! Start the task. " StartTask.Run Else StartTask.Text = "Do practice again." StartTask.Run Goto lbl1 'label at the beginning of the practice procedure End If Just make sure the level is correct. Best, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Becky Prince Sent: 12 February 2011 18:33 To: E-Prime Subject: indexing performance on specific trials Hello forum, I need to end practice trials based on performance on specific trials. Right now my practice procedure ends based on the overall performance (i.e. If Feedback.ACCStats.Mean > .80 Then ... ). I'm guessing I should include an InLine script after the practice trials with a simple 'Select Case' or 'If...Then' statement with this structure: If (Trial 1 ACC) = 1 And (Trial 5 ACC) = 1 Then StartTask.Text = "Great! Start the task. " Else StartTask.Text = "Do practice again." Feedback.ACCStats.Reset StartTask.Run Goto StartPrac 'label at the beginning of the practice procedure End If It should be obvious from the code above that I can't figure out how to index the performance on specific trials. I'm sure this is an easy task for most of you, however I have spent ages going through Ch. 4 (Using E-Basic) and looking through past discussion posts, and I still cannot figure this out! Any help is greatly appreciated! Thanks, Becky -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Tue Feb 15 14:38:14 2011 From: liwenna at gmail.com (liwenna) Date: Tue, 15 Feb 2011 06:38:14 -0800 Subject: placeholder in object name? Message-ID: Hi all, I got a question! "Long explanation if not interested goto ***** In an experiment one of four procedures will be run in order to show the outcome of a chocie made by the participants (choose one of four decks, the outcome displays differ per choice made so the program is redirected to one of four procedures that hold the different outcome slides). On each of these outcome procedures I have an inline to redirect the program in case of participants clicking outside a certain button. This inline starts with collecting the mouse responses and in this line of code the name of the slideobject on which participants clicked has to be specified. The name of this slidedisplay obviously differs over the four procedures and this difference is simply the answer (a, b, c, d): i.e. decksoutcomeAupdatedcounters, decksoutcomeBupdatedcounters etc. Now.. this inline has to appear in all four procedures but the slideobject that is defined has to differ on this one letter... and although it is little effort to simply make four separate inlines (as I now did) I would so much like to know if it would have been possible to use one single inline for all four procedures in which, somehow, the value of the attribute "response" (or... the variable strhit for that matter) is placed into the objectname. ***** I was trying to get something like this working...: dim r as string r$ = c.getattrib("response") Set theState = decksoutcome&r$&updatedcounters.States(showdecks) ... but to no avail. Does anyone know how to do this? I'd like to learn for future use :) Thanks in advance, AW -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Tue Feb 15 15:42:59 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 15 Feb 2011 15:42:59 +0000 Subject: placeholder in object name? In-Reply-To: Message-ID: Hiya, Fair question, it sometimes bugs me as well. Perhaps David can provide a better answer than I, but I believe, tentatively, no. That is, we can't just make variables on the fly, such that Dim part1 as string part1 = "a" Dim part1 & "b" as string ...Will not result in a new variable, called ab, being created, but rather that an error is being thrown. Sadly. A true dynamic programming language should have such abilities, but not, as far as I know, VB (although one might make such a programming language using VB, perhaps?). That said, there is usually a way around it in the form of using arrays or creating whole new objects. I.e. you can not only have such simple things like an array of integers, but also create an indexed object, so that decksoutcome(1).States(showdecks) should be possible. I personally find it easier, however, to start using a different language rather than getting frustrated with E-prime. Best, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of liwenna Sent: 15 February 2011 14:38 To: E-Prime Subject: placeholder in object name? Hi all, I got a question! "Long explanation if not interested goto ***** In an experiment one of four procedures will be run in order to show the outcome of a chocie made by the participants (choose one of four decks, the outcome displays differ per choice made so the program is redirected to one of four procedures that hold the different outcome slides). On each of these outcome procedures I have an inline to redirect the program in case of participants clicking outside a certain button. This inline starts with collecting the mouse responses and in this line of code the name of the slideobject on which participants clicked has to be specified. The name of this slidedisplay obviously differs over the four procedures and this difference is simply the answer (a, b, c, d): i.e. decksoutcomeAupdatedcounters, decksoutcomeBupdatedcounters etc. Now.. this inline has to appear in all four procedures but the slideobject that is defined has to differ on this one letter... and although it is little effort to simply make four separate inlines (as I now did) I would so much like to know if it would have been possible to use one single inline for all four procedures in which, somehow, the value of the attribute "response" (or... the variable strhit for that matter) is placed into the objectname. ***** I was trying to get something like this working...: dim r as string r$ = c.getattrib("response") Set theState = decksoutcome&r$&updatedcounters.States(showdecks) ... but to no avail. Does anyone know how to do this? I'd like to learn for future use :) Thanks in advance, AW -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 15 16:13:07 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 15 Feb 2011 11:13:07 -0500 Subject: placeholder in object name? In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92BEDF1B268@EXCHANGE3.ad.no ttingham.ac.uk> Message-ID: AW, Not sure I quite follow the question, but I will throw in something. Like Mich, my first thought is to use an array somehow. Beyond that, EP does allow you to dynamically use any *E-Object* by name by use of Rte.GetObject(). Once you have the object you then have to "cast" it into the proper type before you can use the properties and methods of that object. E.g., suppose you want to use InputBox to get the name of a Procedure and then run that. You could use Dim procName as String procName = InputBox$( "Enter Procedure to run:" ) CProcedure( Rte.GetObject( procName ) ).Run Or, more succinctly if a bit more obfuscated (i.e., leaving out the intermediate variable), CProcedure( Rte.GetObject( InputBox$("Enter Procedure to run:") ) ).Run See the "Rte.GetObject" and "Casting (functions)" topics in the online E-Basic Help. Note that this works only for E-Objects, and not for other categories of variables. Don't know that this helps you for this case, but perhaps this is something that will open up doors in other projects. Regards, -- David McFarlane, Professional Faultfinder At 2/15/2011 10:42 AM Tuesday, Michiel Spape wrote: >Hiya, >Fair question, it sometimes bugs me as well. >Perhaps David can provide a better answer than >I, but I believe, tentatively, no. That is, we >can't just make variables on the fly, such that >Dim part1 as string >part1 = "a" >Dim part1 & "b" as string >...Will not result in a new variable, called ab, >being created, but rather that an error is being >thrown. Sadly. A true dynamic programming >language should have such abilities, but not, as >far as I know, VB (although one might make such >a programming language using VB, perhaps?). > >That said, there is usually a way around it in >the form of using arrays or creating whole new >objects. I.e. you can not only have such simple >things like an array of integers, but also >create an indexed object, so that >decksoutcome(1).States(showdecks) should be >possible. I personally find it easier, however, >to start using a different language rather than >getting frustrated with E-prime. >Best, >Mich > >Michiel Spapé >Research Fellow >Perception & Action group >University of Nottingham >School of Psychology >www.cognitology.eu > > >-----Original Message----- >From: e-prime at googlegroups.com >[mailto:e-prime at googlegroups.com] On Behalf Of liwenna >Sent: 15 February 2011 14:38 >To: E-Prime >Subject: placeholder in object name? > >Hi all, > >I got a question! > >"Long explanation >if not interested goto ***** > >In an experiment one of four procedures will be run in order to show >the outcome of a chocie made by the participants (choose one of four >decks, the outcome displays differ per choice made so the program is >redirected to one of four procedures that hold the different outcome >slides). > >On each of these outcome procedures I have an inline to redirect the >program in case of participants clicking outside a certain button. >This inline starts with collecting the mouse responses and in this >line of code the name of the slideobject on which participants clicked >has to be specified. The name of this slidedisplay obviously differs >over the four procedures and this difference is simply the answer (a, >b, c, d): i.e. decksoutcomeAupdatedcounters, >decksoutcomeBupdatedcounters etc. > >Now.. this inline has to appear in all four procedures but the >slideobject that is defined has to differ on this one letter... and >although it is little effort to simply make four separate inlines (as >I now did) I would so much like to know if it would have been possible >to use one single inline for all four procedures in which, somehow, >the value of the attribute "response" (or... the variable strhit for >that matter) is placed into the objectname. > >***** >I was trying to get something like this working...: > >dim r as string >r$ = c.getattrib("response") > > Set theState = decksoutcome&r$&updatedcounters.States(showdecks) > >... but to no avail. > >Does anyone know how to do this? I'd like to learn for future use :) > >Thanks in advance, > >AW -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu Feb 17 13:21:54 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 17 Feb 2011 05:21:54 -0800 Subject: placeholder in object name? In-Reply-To: <4d5aa63f.44842a0a.0f63.ffff9ac0SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hello guys, Sorry for this slow reaction and thanks for your quick reactions! Seems like I'll keep the four separate inlines in my current design but I'll definitely toy around with both the 'object arrays' (if I understood you well, Mich) as well as the getobject and casting functions, I never used them before. If I ever find some spare moments again, that is ;) Best, liw On Feb 15, 5:13 pm, David McFarlane wrote: > AW, > > Not sure I quite follow the question, but I will > throw in something.  Like Mich, my first thought > is to use an array somehow.  Beyond that, EP does > allow you to dynamically use any *E-Object* by > name by use of Rte.GetObject().  Once you have > the object you then have to "cast" it into the > proper type before you can use the properties and methods of that object. > > E.g., suppose you want to use InputBox to get the > name of a Procedure and then run that.  You could use > > Dim  procName as String > procName = InputBox$( "Enter Procedure to run:" ) > CProcedure( Rte.GetObject( procName ) ).Run > > Or, more succinctly if a bit more obfuscated > (i.e., leaving out the intermediate variable), > > CProcedure( Rte.GetObject( InputBox$("Enter Procedure to run:") ) ).Run > > See the "Rte.GetObject" and "Casting (functions)" > topics in the online E-Basic Help.  Note that > this works only for E-Objects, and not for other categories of variables. > > Don't know that this helps you for this case, but > perhaps this is something that will open up doors in other projects. > > Regards, > -- David McFarlane, Professional Faultfinder > > At 2/15/2011 10:42 AM Tuesday, Michiel Spape wrote: > > >Hiya, > >Fair question, it sometimes bugs me as well. > >Perhaps David can provide a better answer than > >I, but I believe, tentatively, no. That is, we > >can't just make variables on the fly, such that > >Dim part1 as string > >part1 = "a" > >Dim part1 & "b" as string > >...Will not result in a new variable, called ab, > >being created, but rather that an error is being > >thrown. Sadly. A true dynamic programming > >language should have such abilities, but not, as > >far as I know, VB (although one might make such > >a programming language using VB, perhaps?). > > >That said, there is usually a way around it in > >the form of using arrays or creating whole new > >objects. I.e. you can not only have such simple > >things like an array of integers, but also > >create an indexed object, so that > >decksoutcome(1).States(showdecks) should be > >possible. I personally find it easier, however, > >to start using a different language rather than > >getting frustrated with E-prime. > >Best, > >Mich > > >Michiel Spapé > >Research Fellow > >Perception & Action group > >University of Nottingham > >School of Psychology > >www.cognitology.eu > > >-----Original Message----- > >From: e-prime at googlegroups.com > >[mailto:e-prime at googlegroups.com] On Behalf Of liwenna > >Sent: 15 February 2011 14:38 > >To: E-Prime > >Subject: placeholder in object name? > > >Hi all, > > >I got a question! > > >"Long explanation > >if not interested goto ***** > > >In an experiment one of four procedures will be run in order to show > >the outcome of a chocie made by the participants (choose one of four > >decks, the outcome displays differ per choice made so the program is > >redirected to one of four procedures that hold the different outcome > >slides). > > >On each of these outcome procedures I have an inline to redirect the > >program in case of participants clicking outside a certain button. > >This inline starts with collecting the mouse responses and in this > >line of code the name of the slideobject on which participants clicked > >has to be specified. The name of this slidedisplay obviously differs > >over the four procedures and this difference is simply the answer (a, > >b, c, d): i.e. decksoutcomeAupdatedcounters, > >decksoutcomeBupdatedcounters etc. > > >Now.. this inline has to appear in all four procedures but the > >slideobject that is defined has to differ on this one letter... and > >although it is little effort to simply make four separate inlines (as > >I now did) I would so much like to know if it would have been possible > >to use one single inline for all four procedures in which, somehow, > >the value of the attribute "response" (or... the variable strhit for > >that matter) is placed into the objectname. > > >***** > >I was trying to get something like this working...: > > >dim r as string > >r$ = c.getattrib("response") > > >         Set theState = decksoutcome&r$&updatedcounters.States(showdecks) > > >... but to no avail. > > >Does anyone know how to do this? I'd like to learn for future use :) > > >Thanks in advance, > > >AW -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From moonsnort at yahoo.com Thu Feb 17 22:18:18 2011 From: moonsnort at yahoo.com (Jessica) Date: Thu, 17 Feb 2011 14:18:18 -0800 Subject: delay discounting Message-ID: Hi all, I am trying to program a delay discounting task in the newest version of e-prime and have been running against a particular difficulty that I was wondering if others might have some insights into. Has anyone programmed into a slide a box where monetary earnings are accumulated and if so, how? I am thinking that this might require in- line script but was unsure if there was a different way? Thanks in advance and any help would be greatly appreciated! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu Feb 17 22:46:23 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 17 Feb 2011 17:46:23 -0500 Subject: delay discounting In-Reply-To: Message-ID: In the broadest terms, this will require inline code, and global variables. See Chapter 4 of the User's Guide that came with E-Prime. Also, try a search of "delay discounting E-Prime" on the web, or in the appropriate message boards (e.g., here, or the PST Forum). And don't forget PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp . -- David McFarlane, Professional Faultfinder >I am trying to program a delay discounting task in the newest version >of e-prime and have been running against a particular difficulty that >I was wondering if others might have some insights into. > Has anyone programmed into a slide a box where monetary earnings are >accumulated and if so, how? I am thinking that this might require in- >line script but was unsure if there was a different way? > >Thanks in advance and any help would be greatly appreciated! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From moonsnort at yahoo.com Tue Feb 22 15:42:42 2011 From: moonsnort at yahoo.com (Jessica) Date: Tue, 22 Feb 2011 07:42:42 -0800 Subject: delay discounting In-Reply-To: <4d5da55c.4972e70a.5a0d.2b77SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thank you!! On Feb 17, 5:46 pm, David McFarlane wrote: > In the broadest terms, this will require inline code, and global > variables.  See Chapter 4 of the User's Guide that came with > E-Prime.  Also, try a search of "delay discounting E-Prime" on the > web, or in the appropriate message boards (e.g., here, or the PST > Forum).  And don't forget PST Web Support athttp://support.pstnet.com/e%2Dprime/support/login.asp. > > -- David McFarlane, Professional Faultfinder > > > > >I am trying to program a delay discounting task in the newest version > >of e-prime and have been running against a particular difficulty that > >I was wondering if others might have some insights into. > >  Has anyone programmed into a slide a box where monetary earnings are > >accumulated and if so, how? I am thinking that this might require in- > >line script but was unsure if there was a different way? > > >Thanks in advance and any help would be greatly appreciated!- Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From jens.bernhardsson at gmail.com Wed Feb 23 15:35:26 2011 From: jens.bernhardsson at gmail.com (jens) Date: Wed, 23 Feb 2011 07:35:26 -0800 Subject: Inaccurate logging of accuracy Message-ID: I have set up an experiment that shows 10 different slides in a sequential order in a s1-s2-s3… kind of way. The task is to identify and respond to the stimuli via a mouse click at any of the slides. This then leads, by label jumping to a hit test of what was shown, and the trial procedure is repeated a number of times. Everything flows fine except my data logging. The ACC, CRESP and RESP does not reset from one trial to another. If I, for instance give a response at s8 then all my slides is logged as 0(incorrect) except from slide8 that is logged as 1(correct). BUT, if I in trial two respond at s2 then the slides are being logged as 1 between s2 and s8 and the rest as 0. The logging of the data is thereby effected by response on previous trials. What I want of course is that response is logged as 1 and no response is logged as 0. Please point me in the right direction. Best Jens -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu Feb 24 11:35:06 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 24 Feb 2011 03:35:06 -0800 Subject: Inaccurate logging of accuracy In-Reply-To: Message-ID: Hi Jens, I got to suspect that the problem lies with your hittest code. In the code you'll have to specify which slide the hit that has to be analyzed is made on. I gather from your post that you use one single hittest for all 8 slides but the code will analyse just the hit that was made (or not made) on the slide specified in the code... so if the code is set to analyze slide1 and the program is directed to the code based on a mouseclick in slide 6, it will still analyze the hit that was (not) made in slide1. Below I paste an example of stringhit from one of my experiments (not entirely sure if it will be exactly the same as your code.. but you'll get the idea). I used capitals on the two places where the SLIDENAME has to be specified. ************ Set theState = SLIDENAME.States("Default") 'Was there a response? If Stimulus.InputMasks.Responses.Count > 0 Then 'Get the mouse response Set theMouseResponseData = CMouseResponseData(SLIDENAME.InputMasks.Responses(1)) 'Determine string name of SlideImage or SlideText object at 'mouse click coordinates. Assign that value to strHit strHit = theState.HitTest(theMouseResponseData.CursorX, theMouseResponseData.CursorY) 'Compare string name where mouse click occurred to CorrectAnswer 'attribute on each trial, and score response 'NOTE: This comparison is case sensitive If strHit = c.GetAttrib("Correctresp") Then Stimulus.ACC = 1 Else Stimulus.ACC = 0 End If Else End If c.SetAttrib "response", strHit ************ You should simply give each slide it's own hittest (placed immediatly after each slide). You can insert a 'goto label' line within each hittest if it's needed that the program jumps once a response is made . Place this line above the bottom 'Else' so that it falls under the "If Stimulus.InputMasks.Responses.Count > 0 Then" condition. There are no actions specified inbetween that bottom Else and the End If, so nothing is done if the condition "If Stimulus.InputMasks.Responses.Count > 0 Then" is not met -> if there is no mouseclick made on the specified slide the program will do nothing and simply proceed with the next slide. You might also notice that a number of dim lines is missing from the above code: Dim strHit As String Dim theState as SlideState Dim theMouseResponseData As MouseResponseData You can use a dim line only once within a procedure... so either keep them in the code for slide1 only or place them at the usertab of the script window. If you repeat the same dimline within a procedure you'll receive an error when compiling the script. Hope this helps, Best, liw On Feb 23, 4:35 pm, jens wrote: > I have set up an experiment that shows 10 different slides in a > sequential order in a s1-s2-s3… kind of way. The task is to identify > and respond to the stimuli via a mouse click at any of the slides. > This then leads, by label jumping to a hit test of what was shown, and > the trial procedure is repeated a number of times. > > Everything flows fine except my data logging. The ACC, CRESP and RESP > does not reset from one trial to another. If I, for instance give a > response at s8 then all my slides is logged as 0(incorrect) except > from slide8 that is logged as 1(correct). BUT, if I in trial two > respond at s2 then the slides are being logged as 1 between s2 and s8 > and the rest as 0. The logging of the data is thereby effected by > response on previous trials. What I want of course is that response is > logged as 1 and no response is logged as 0. > > Please point me in the right direction. > > Best > Jens -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu Feb 24 12:59:53 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 24 Feb 2011 04:59:53 -0800 Subject: Inaccurate logging of accuracy In-Reply-To: Message-ID: ow also... in the code there are these lines: Stimulus.ACC = 1 Else Stimulus.ACC = 0 End If Stimulus here is the name of the slide that this code collects responses on (the name that was replaced with SLIDENAME) in the first lines of the code). In your current set-up you try to create 8 different accuracy attributes for each of the 8 slides... you could also have the code log accuracy in a single attribute and have an additional attribute that logs the slidenumber on which the response was made. The last bit of the code could then look, for instance, like this: ************* c.setattrib "responseslide" = 1 If strHit = c.GetAttrib("Correctresp") Then c.setattrib "accuracy", 1 Else c.setattrib "accuracy", 0 End If goto label1 Else End If ****** the program will then first log 1 into an attribute called "responseslide" (replace 1 with 2, 3 - 8 in the hittests for the other slides) and then log 1 or 0 into an attribute called "accuracy" based on the value of an attribute correctresp. I also added in the goto lable line mentioned in the post above, which could then make the program jump to (I think this is what you need?) the end of the procedure, thus skipping the remaining slides. On Feb 24, 12:35 pm, liwenna wrote: > Hi Jens, > > I got to suspect that the problem lies with your hittest code. > > In the code you'll have to specify which slide the hit that has to be > analyzed is made on. I gather from your post that you use one single > hittest for all 8 slides but the code will analyse just the hit that > was made (or not made) on the slide specified in the code... so if the > code is set to analyze slide1 and the program is directed to the code > based on a mouseclick in slide 6, it will still analyze the hit that > was (not) made in slide1. > > Below I paste an example of stringhit from one of my experiments (not > entirely sure if it will be exactly the same as your code.. but you'll > get the idea). I used capitals on the two places where the SLIDENAME > has to be specified. > > ************ >         Set theState = SLIDENAME.States("Default") > >         'Was there a response? >         If Stimulus.InputMasks.Responses.Count > 0 Then > >                 'Get the mouse response >                 Set theMouseResponseData = > CMouseResponseData(SLIDENAME.InputMasks.Responses(1)) > >                 'Determine string name of SlideImage or SlideText object at >                 'mouse click coordinates. Assign that value to strHit >                 strHit = theState.HitTest(theMouseResponseData.CursorX, > theMouseResponseData.CursorY) > >                 'Compare string name where mouse click occurred to CorrectAnswer >                 'attribute on each trial, and score response >                 'NOTE: This comparison is case sensitive > >                If strHit = c.GetAttrib("Correctresp") Then >                          Stimulus.ACC = 1 >                         Else >                          Stimulus.ACC = 0 >                         End If >                Else > >         End If > > c.SetAttrib "response", strHit > ************ > > You should simply give each slide it's own hittest (placed immediatly > after each slide). You can insert a 'goto label' line within each > hittest if it's needed that the program jumps once a response is > made . Place this line above the bottom 'Else' so that it falls under > the "If Stimulus.InputMasks.Responses.Count > 0 Then" condition. There > are no actions specified inbetween that bottom Else and the End If, so > nothing is done if the condition "If > Stimulus.InputMasks.Responses.Count > 0 Then" is not met -> if there > is no mouseclick made on the specified slide the program will do > nothing and simply proceed with the next slide. > > You might also notice that a number of dim lines is missing from the > above code: >         Dim strHit As String >         Dim theState as SlideState >         Dim theMouseResponseData As MouseResponseData > You can use a dim line only once within a procedure... so either keep > them in the code for slide1 only or place them at the usertab of the > script window. If you repeat the same dimline within a procedure > you'll receive an error when compiling the script. > > Hope this helps, > > Best, > > liw > > On Feb 23, 4:35 pm, jens wrote: > > > I have set up an experiment that shows 10 different slides in a > > sequential order in a s1-s2-s3… kind of way. The task is to identify > > and respond to the stimuli via a mouse click at any of the slides. > > This then leads, by label jumping to a hit test of what was shown, and > > the trial procedure is repeated a number of times. > > > Everything flows fine except my data logging. The ACC, CRESP and RESP > > does not reset from one trial to another. If I, for instance give a > > response at s8 then all my slides is logged as 0(incorrect) except > > from slide8 that is logged as 1(correct). BUT, if I in trial two > > respond at s2 then the slides are being logged as 1 between s2 and s8 > > and the rest as 0. The logging of the data is thereby effected by > > response on previous trials. What I want of course is that response is > > logged as 1 and no response is logged as 0. > > > Please point me in the right direction. > > > Best > > Jens -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From hesslabo at googlemail.com Sun Feb 27 16:06:36 2011 From: hesslabo at googlemail.com (cblaison) Date: Sun, 27 Feb 2011 08:06:36 -0800 Subject: Startle probe complex randomization In-Reply-To: Message-ID: Hi all, I got an answer from PST, for the one who are interested in.. See googledocs for the modified file: https://docs.google.com/leaf?id=0Bw6aNdKBxq4tM2JlOGE4N2ItNmY1Ni00MDY3LWJmMDctMzY2YTg2MWNmYjdl&sort=name&layout=list&num=50 and: https://docs.google.com/leaf?id=0Bw6aNdKBxq4tNGE5ODU1ZTYtMWJiMC00YjNkLTg0NTAtMWExZjZlOTdjZDMy&sort=name&layout=list&num=50 PST answer: Hi! I attached the prog to be modified. It is a startle probe prog, where angry faces are shown during 6 sec and sometimes bursts of white noise are triggered. The Intertrial Interval (ITI) between faces lasts between 14 and 21 sec. There are 4 different angry faces. The probe starts 4, 4.5, or 5 sec after onset of stim (face or ITI). In all, faces are presented 12 times, separated by 11 ITI + 1 ITI at the end of the sequence. 3 Bursts have to appear during the ITI (which ITI is random). 4 bursts have to appear randomly during the face presentations BUT once appeared during one face, it never has to appear again paired with this face. Thus e-prime has to recall somehow which face was paired with the burst and discard this candidate from future face-probe pairing. I am not an in-line expert, so could please someone help me? Thank you very much! cheers, christophe. >From Alison Lauer on 2/14/2011 5:11:00 PM Conditioning2MOD2.es2 Dear Christophe, Thank you for attaching your experiment files. I will be happy to help. First, I recommend restructuring your experiment to better reflect your needs. - It is best to rename your objects to meet standard E-Prime naming conventions. This will help to keep the experiment clear to yourself and others. The name "proc" in E-Prime represents procedure, so the convention is to name your lists BlockList, TrialList, etc. and to name your procedures BlockProc, TrialProc, etc. - The sound choice (between 9 silent trials and 3 startle trials) can be moved from probchoice to FaceList. Both probchoice and probchoiceITI can be eliminated completely since their functions are fulfilled by FaceList and ITIList respectively. - Instead of nesting startlechoice under probchoice, nest it at a much higher level, like BlockList. We will be using a bit of InLine script to access this list, so we only need to put it at the block level for reference. - Add two new attributes to facechoice: one for the trigger code (the answer to request 22022) and one for the startle sound. Next, you can use an InLine object to get the three sounds and fill FaceList with their values. You may want to take a look at one of our samples for a similar (though more complicated method: SAMPLE:No Repeats on Consecutive Trials (C.... Here is the script to use: Dim arrSounds(3) As String Dim i As Integer For i = 1 To startlechoice.Size arrSounds(i) = startlechoice.GetAttrib(i, "startlechoix") Next 'i RandomizeArray arrSounds, 1, startlechoice.Size For i = 1 To startlechoice.Size facechoice.SetAttrib i, "FaceSound", arrSounds(i) Next 'i facechoice.Reset As for request 22022, you can use an attribute value to vary the signal that is sent to the port. Create an attribute named FaceCode on facechoice, then add the following script in an InLine on FaceProc: WritePort &H378, c.GetAttrib("FaceCode") Finally, keep in mind that your description may not be possible with the current number of stimuli. If there are 3 sounds and 4 faces, one of the sounds would have to be repeated for a face. Do you mean that each face must have a unique sound? Or do you mean for one of the faces to have a silent probe? The attached version of the experiment has the fourth face disabled (by setting its Weight to zero) in order to use a unique sound for each face. If you have something else in mind, please describe it in as much detail as you can. I hope this helps. Please let me know if you have any more questions. Sincerely, Alison Lauer Technical Consultant >From christophe blaison on 2/15/2011 8:59:00 AM Pretest table.docx Thank you alison, I really appreciate your quick reply! I was perhaps not clear enough in the description: The solution you propose is on the right track but not perfectly what I would want the prog to do. I try it again (see also attached figure) The startle probes must be randomly sampled from the pool of three startle probes (4s, 4.5s, 5s after stim onset) and have to appear only on one (of three) angry face presentation occasion. In fact, the four angry faces are presented randomly in 3 presentation blocks: each face must appear only once in each block. Thus there are four occasions where the startle is associated with angry faces, and startle must not be associated two times with the same face. (see attached figure). In addition the randomly chosen startle probe have to appear only 2 times whithin the ITIs (see attached figure). Am I clear enough now? Thanks! christophe. >From christophe blaison on 2/17/2011 3:18:00 AM Hi Alison, I know you are certainly as busy as me, but I wonder if you had some time to resolve my problem, or if you need some additional information. Cheers, Christophe. >From christophe blaison on 2/20/2011 7:02:00 AM Hi Alison, thank you for closing my other request. We are a bit in a hurry here (I am aware that they are probably other people in our case), thus I would be very grateful to you if could send us a solution to the problem soon! Thank you :) >From Alison Lauer on 2/22/2011 4:57:00 PM Conditioning2MOD3.es2 Christophe, Thank you for explaining your experiment in more detail. I apologize for the delay in my response. For your reference, please note that when you reply to the request before I do, your request is automatically sent to the end of the queue, thus extending my response time further. Please feel free to ask if you have any questions about our support site system. I have determined how to restructure your experiment for your needs. Since you require each block to randomly present faces 1-4 while playing the startle only once for each sound throughout three blocks, you must keep the startle/silence selection independent for each face. TrialList should select one of four faces for each trial. Face1List, Face2List, etc. should be nested under TrialList, and each one should have the same three levels: one for startle (in which StartleList is nested), and two for silence (or one for silence with Weight set to 2). The Face lists will not be reset between blocks, so only one instance of each face will be associated with a startle. ITI durations can be selected from ITIchoice list nested under TrialList, with ITISoundList nested under that. ITISoundList can use the Weight method to ensure that two levels have a startle for ITI, and the remaining ten have silence. For simplicity you can place AF and ITI onto the same procedure instead of running them from different lists. I have attached a modified version of your experiment. Please take a look at this version and let me know if you have any questions. I will be happy to answer. Alison Lauer >From christophe blaison on 2/25/2011 1:26:00 PM conditioning christophe.zip Hi Alison, thank you very much for your help, it works like a charm and we learn a lot from you. Would you be so kind to make two other useful modifications? We would be very grateful to you. We build on your example for programming the complete experiment (see attached). We now have a preconditioning block (the one you worked on, it contains just startle probes), a conditioning block with electric shocks and startle probes and a postconditioning block (just startle probes). 1. Electric shocks are associated with two of the four angry faces (we send a 128 code through the parallel port to trigger the shocker). We would like to render this pairing random accross participants. For now we created different eprime files containing different pairing. But this solution is not satisfying. 2. A crucial feature for us in order to analyse the data is to be able to identify during which angry face a startle probe has been sent. Thus it would be useful to send a different startle probe marker for each angry face. You already did a similar kind of things for the presentation of the angry faces..but this seems to us a bit more difficult. We thank you very much, and we are eager to see your solutions! Cheers, christophe. On Feb 13, 10:52 pm, cblaison wrote: > Hi all! > > I attached here: > > https://docs.google.com/leaf?id=0Bw6aNdKBxq4tM2JlOGE4N2ItNmY1Ni00MDY3... > > a copy from the prog I would like to modify. It is a startle probe > prog, where angry faces are shown during 6 sec and sometimes bursts of > white noise are triggered. The Intertrial Interval (ITI) between faces > lasts between 14 and 21 sec. There are 4 different angry faces. The > probe starts 4, 4.5, or 5 sec after onset of stim (face or ITI). In > all, faces are presented 12 times, separated by 11 ITI + 1 ITI at the > end of the sequence. 3 Bursts have to appear during the ITI (which ITI > is random). 4 bursts have to appear randomly during the face > presentations BUT once appeared during one face, it never has to > appear again paired with this face. Thus e-prime has to recall somehow > which face was paired with the burst and discard this candidate from > future face-probe pairing. I am not an in-line expert, so could please > someone help me? Thank you very much! > > cheers, > christophe. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From hesslabo at googlemail.com Sun Feb 27 16:07:19 2011 From: hesslabo at googlemail.com (cblaison) Date: Sun, 27 Feb 2011 08:07:19 -0800 Subject: Send different markers for different randomly appearing stim In-Reply-To: <987baec7-0ca9-425f-9201-86b6e0eee1ad@k18g2000vbq.googlegroups.com> Message-ID: See topic "Startle probe complex randomization" for the solution. On Feb 13, 11:05 pm, cblaison wrote: > Hi all..me again > > It is about the same prog (please see my last mail for a description > of the prog), but another question. Please download the prog here: > > https://docs.google.com/leaf?id=0Bw6aNdKBxq4tM2JlOGE4N2ItNmY1Ni00MDY3... > > I make psychophysio measurement, so I have to synchronize what is > triggered by eprime with the physiological data of the participants. > What I do is sending a signal through the port of the computer to mark > in the physio what type of stim is presently shown by eprime. For > example: > > write port &378, 2 > sleep 50 > > write port &378, 0 > sleep 50 > > What I would like to do is to send a different signal (thus place a > different marker) for the different face stimuli of my prog. Problem > is that the faces appear randomly, so eprime has to note which face is > selected and send the corresponding signal through the port (for > example if "211.tif" than send "4" through the port, if "221.tif" than > send "8" through the port, etc..) Can someone please help me? Thank > you very much > > cheers, > christophe. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From dorovan at gmail.com Sun Feb 27 23:12:22 2011 From: dorovan at gmail.com (=?ISO-8859-1?Q?Andr=E9_Silva?=) Date: Sun, 27 Feb 2011 15:12:22 -0800 Subject: about an RSVP paradigm Message-ID: Well, i'm going to explain: I'm finishing my master's degree in Clinical Psychology, and my thesis is called "Emotional desensitization and judgements of severity". For that i'll need to make an e-prime script, but no one can help me where i study. Don't know if you can help me. --- The one thing i can't understand is how to do the following design: I have to present 36 series of 12 images each in a RSVP paradigm. Within this 12 images, 10 are neutral, 1 is a critical distractor (that can be neutral, positive or negative) and the last one has to be an arrow. So it would be like this when someone opened the experiment: 5 pictures would appear (from the pool of 10 neutrals), then the critical distractor (1 of 3 types), 5 pictures more (from the pool of 5 neutrals left) and then an arrow in one of 4 positions (up, down, right, left). How can i randomize all neutrals not to be repeated within series, how can i fix the position of the critical distractor (and how can i randomize the TYPE of the distractor, making sure 12 of each are presented in the 36 series, not repeating anyone), and fix the position of the arrow, making sure the same thing i wrote above about the distractor... it's difficult to express everything, but i need some guidelines... -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From dragoblu at gmail.com Tue Feb 1 11:35:34 2011 From: dragoblu at gmail.com (EC) Date: Tue, 1 Feb 2011 03:35:34 -0800 Subject: Experiment Start timestamp In-Reply-To: <4d472c84.4972e70a.1156.ffffc0fdSMTPIN_ADDED@gmr-mx.google.com> Message-ID: > Hmm, you no doubt already know that SessionTime in the .edat file > records the clock time for the start of the experiment, but I suspect > you want something that records the clock time down the millisecond, > whereas SessionTime goes only to the second. That will be a tall > order, because typically Windows does not keep clock time down to ms > resolution, E-Prime only gets that by interposing DirectX > commands. E.g., you could use the Time$ function, but that goes down > only to seconds (and is what SessionTime already uses anyway, as you > can see by reading the generated E-Run code). Yes, I was looking for millisecond precision or at least something considerably smaller than 1 second so Time/Time$ and SessionTime weren't enough. > You might instead use some common signal to start both your EP > experiment and your external device at the same time, and then count > from there. The external device has a long setup and is usually started before Eprime runs because we need to use another software to check if the device is well setup and recording - so we cannot have Eprime running fullscreen with the experiment already. However, you made me realize that there may be still some way to send a signal and "restart" the external device when Eprime starts the experiment. I'll check this route too. > Or you might program your EP experiment to delay until > the clock time reaches some round value, although once again I would > not expect that to be accurate down to the millisecond. That's what I've been doing so far, using the following inline code before our first stimulus: Dim thisSecond thisSecond = Time Do 'Nothing Loop Until (thisSecond <> Time) Using this inline code, the stimulus is delayed until the "start of a new second" on "Time clock". (This code can actually contains some mistakes as I'm just writing the way I remember it, I do not have the code on this pc). No guarantee of a perfect millisecond precision obviously but it should be close enough. The inline code is placed right before the first stimulus of a trial, so each trial is "synchronized to the start of a second". On most runs infact I get this kind of values for my first stimulus OnSetTime: 3514 7514 13514 16530 18514 22514 The milliseconds part is on most cases identical, or different just by a few milliseconds (e.g. by a 16ms refresh), so this gives me confidence that the synchronization code is indeed working, and with a good precision too. However, when doing some test runs I've noticed the following happening: 3514 7500 9486 12465 15450 Instead of having a similar millisecond part, the syncronization seems to drift: I guess that this is the famous System Clock Drift that I've read about, although I do not get any warning about it from Eprime software (this is probably because its version is old - 1.2.1 I think - Clock hasn't got the System Drift Threshold property). This however does not happen on all runs and sometimes disappears completely. These tests were not done with the computer "properly setup" for time precision (e.g. all other software stopped, no internet connection, etc) so this might not be a problem if it doesn't happen when we start Eprime "alone" on the system. Anyway, even if this drift won't happen when the computer is setup properly I think I'll investigate the problem some more as I'm curious to know the cause of this drift (which looks quite linear when it happens, not a simple "random missed tick" caused by CPU being busy). Thank you for your reply! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 1 15:19:18 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 1 Feb 2011 10:19:18 -0500 Subject: Experiment Start timestamp In-Reply-To: <84d1aceb-6676-4663-b6ad-e61925c3a59f@y12g2000prf.googlegro ups.com> Message-ID: > > Or you might program your EP experiment to delay until > > the clock time reaches some round value, although once again I would > > not expect that to be accurate down to the millisecond. > >That's what I've been doing so far, using the following inline code >before our first stimulus: > >Dim thisSecond >thisSecond = Time >Do >'Nothing >Loop Until (thisSecond <> Time) > >Using this inline code, the stimulus is delayed until the "start of a >new second" on "Time clock". That's pretty much what I had in mind... >No guarantee of a perfect millisecond precision obviously but it >should be close enough. > >The inline code is placed right before the first stimulus of a trial, >so each trial is "synchronized to the start of a second". ... but I would not use this to resync on each trial. Instead, I would store the initial trial start time to a global variable, e.g., Dim thisSecond thisSecond = Time Do ' Nothing Loop Until (Time > thisSecond) g_t0 = Clock.Read ' g_t0 defined in global User Script area Thereafter, I would use Clock.Read to resynch each trial to a multiple of g_t0 (I leave this as an exercise), which would guarantee from this point on that everything is synched down to the millisecond. Or, depending on your experiment design (fully timed vs. self-paced, etc.), judicious use of Cumulative timing mode might take care of subsequent synchronizations once you have the first one done (I'm not prepared to write this up now, but try a message board search for "Cumulative"). >Instead of having a similar millisecond part, the syncronization seems >to drift: I guess that this is the famous System Clock Drift that I've >read about, although I do not get any warning about it from Eprime >software (this is probably because its version is old - 1.2.1 I think >- Clock hasn't got the System Drift Threshold property). Hmm, I think that Clock.SystemTimeDrift taps into a similar but different issue, so might be irrelevant here. But I do think that Time and Clock.Read use different hardware clocks, which might contribute to the problem. All the more why I would just synchonize once to Time, and then use Clock.Read for everything else. Just my $.02, -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From dbzgtfan4ever at gmail.com Wed Feb 2 19:21:08 2011 From: dbzgtfan4ever at gmail.com (Caleb J. Picker) Date: Wed, 2 Feb 2011 11:21:08 -0800 Subject: Fill an array from an (unreferenced) list? In-Reply-To: <200908041004.n74A4PhB006071@mail7.tpg.com.au> Message-ID: Hello, I have a question. I looked in the e-basic help and it says that the Input[#] function does this: Reads data from the file referenced by filenumber into the given variables. Why is it the case that when you type '...For Input as #1' that his necessarily reads one line at a time. What I am saying is, I do not understand this function. What does the Input [#] function really mean? If I were to change the '1' value to '2', would this input every other line? Would inputting a large integer value read every nth value of that integer? Thanks in advance. Caleb -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ekoren2 at gmail.com Wed Feb 2 20:34:35 2011 From: ekoren2 at gmail.com (Eli Koren) Date: Wed, 2 Feb 2011 22:34:35 +0200 Subject: No subject Message-ID: http://priec2power.co.cc/t31n5gh5r -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From schizophrenicdan at gmail.com Thu Feb 3 04:34:53 2011 From: schizophrenicdan at gmail.com (Daniel) Date: Wed, 2 Feb 2011 20:34:53 -0800 Subject: Using a list attribute to define the timing of an image display Message-ID: Hi, What I am trying to do is to use a list attribute to define the timing of an image display. This works perfectly fine if I use something like 1200 (to define a timing of 1200ms). But if I use an integer variable (ie. [IpCg1Dur] ) that is defined as 1200ms I get an error that says, "Factor Error: Can't resolve [IpCg1Dur] in this context." Is there a way to have an integer placeholder name in brackets as an attribute to inform an imagedisplay of the correct timing? The reason I want to do this is I am looking for a more efficient way to run a stop-switch task. This allows me to have only one procedure record all go and switch conditions instead of having separate procedures for each condition. I will try to figure out how to load a picture of what I am talking about if possible. Thanks -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From schizophrenicdan at gmail.com Thu Feb 3 04:47:49 2011 From: schizophrenicdan at gmail.com (Daniel) Date: Wed, 2 Feb 2011 20:47:49 -0800 Subject: list attribute to define the timing of an image display Message-ID: Hi, What I am trying to do is to use a list attribute to define the timing of an image display. This works perfectly fine if I use something like 1200 (to define a timing of 1200ms). But if I use an integer variable (ie. [IpCg1Dur] ) that is defined as 1200ms I get an error that says, "Factor Error: Can't resolve [IpCg1Dur] in this context." Is there a way to have an integer placeholder name in brackets as an attribute to inform an imagedisplay of the correct timing? The reason I want to do this is I am looking for a more efficient way to run a stop-switch task. This allows me to have only one procedure record all go and switch conditions instead of having separate procedures for each condition. http://i1139.photobucket.com/albums/n551/Danielw47181/E-primelistattributes.jpg That is a picture of what I am talking about. Sorry I could not figure out how to get the picture larger. If you go 9 columns across you will see the integers in [blue]. [Target1dur] is referenced in Target1 and [Target2dur] is referenced in Target2 to define the timing. Hope this makes sense Thanks -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Thu Feb 3 10:08:58 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Thu, 3 Feb 2011 10:08:58 +0000 Subject: list attribute to define the timing of an image display In-Reply-To: <255aa8ca-1b3e-4692-b145-438c40290dd8@w6g2000vbo.googlegroups.com> Message-ID: Hi Daniel, So, if I understand you correctly, you have something like: BlockList (with attribute IpCg1Dur, for instance) -Which runs some procedure, BlockProc --Which has TrialList, in which attribute Target1Dur is actually a reference to higher order IpCg1Dur. Something like that? This should actually work - the error you get suggests the TrialList can't 'find' attribute IpCg1Dur, which is either because of it is not within BlockList, or there's some other error going on. I do find E-Prime sometimes making a bit of a mess of attributes at the 'block' level and those at the 'trial' level (which you can easily see for yourself if you look at the generated .edat (use e-recovery on the .txt output should you not have one) - there'll be independent block / trial / subtrial columns) - with me, this often leads to some confusion. A suggestion, is to use one or more nested lists instead of referencing deeper and sometimes non-referable levels. Best, Michiel Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Daniel Sent: 03 February 2011 04:48 To: E-Prime Subject: list attribute to define the timing of an image display Hi, What I am trying to do is to use a list attribute to define the timing of an image display. This works perfectly fine if I use something like 1200 (to define a timing of 1200ms). But if I use an integer variable (ie. [IpCg1Dur] ) that is defined as 1200ms I get an error that says, "Factor Error: Can't resolve [IpCg1Dur] in this context." Is there a way to have an integer placeholder name in brackets as an attribute to inform an imagedisplay of the correct timing? The reason I want to do this is I am looking for a more efficient way to run a stop-switch task. This allows me to have only one procedure record all go and switch conditions instead of having separate procedures for each condition. http://i1139.photobucket.com/albums/n551/Danielw47181/E-primelistattributes.jpg That is a picture of what I am talking about. Sorry I could not figure out how to get the picture larger. If you go 9 columns across you will see the integers in [blue]. [Target1dur] is referenced in Target1 and [Target2dur] is referenced in Target2 to define the timing. Hope this makes sense Thanks -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu Feb 3 10:54:25 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 3 Feb 2011 02:54:25 -0800 Subject: Fill an array from an (unreferenced) list? In-Reply-To: <10709104.323.1296674468461.JavaMail.geo-discussion-forums@prfp36> Message-ID: If I remember correctly the number is simply a denominator for 'the input' ... so... in the above example I needed 3 different .txt files to be put into 3 different arrays... (one with positive words, one negative and one neutral). I'll check for you tomorrow but if I remember correctly I repeated the script three times but used input#1, input#2 and input#3. That would make the number just 'a name' given to that input function. "the file referenced by filenumber" would then refer to this line in the above code: Open "YOURFILE.txt" For Input As #1 On Feb 2, 8:21?pm, "Caleb J. Picker" wrote: > Hello, > > I have a question. I looked in the e-basic help and it says that the > Input[#] function does this: > > Reads data from the file referenced by filenumber into the given variables. > > Why is it the case that when you type '...For Input as #1' that his > necessarily reads one line at a time. What I am saying is, I do not > understand this function. What does the Input [#] function really mean? If I > were to change the '1' value to '2', would this input every other line? > Would inputting a large integer value read every nth value of that integer? > > Thanks in advance. > > Caleb -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu Feb 3 11:11:45 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 3 Feb 2011 03:11:45 -0800 Subject: list attribute to define the timing of an image display In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92BEDF1AAD8@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Hi Daniel, Could the problem be that the declaration of the variable that you're referring too (1pcg1dur) is located on a different procedure than the procedure in which it is referred too? Most variables are only valid within their context (c.)... this context is the procedure that they are on... I am not and ICT-educated person (So DMCF please correct me if I state this all wrong!) but what I get from it is that each of the variables and their references are resolved on the procedure level and that references can not be resolved to variables that are defined within a different procedure (context...). So.... the question is... in which procedure is this 1pcg1dur created (i.e. where is the dim line?). I got to guess that it is in the inline called 'initiatevar' that is locate on your sessionproc. If so... the solution is simple: user created variables are variables that somehow (...) overrule the whole procedure-defined context- thing... find your script window and in the lower left corner go to the tab called user. Here you located your dimline (dim 1pcg1dur as integer). Remove that same line from the initatevar inline. The initiatevarinline can keep the line stating "1pcg1dur = 1200". The above might solve your problem... or you might have already have a set-up like this in which case I have no clue what's going on :) best, AW On Feb 3, 11:08?am, Michiel Spape wrote: > Hi Daniel, > So, if I understand you correctly, you have something like: > BlockList (with attribute IpCg1Dur, for instance) > -Which runs some procedure, BlockProc > --Which has TrialList, in which attribute Target1Dur is actually a reference to higher order IpCg1Dur. > Something like that? This should actually work - the error you get suggests the TrialList can't 'find' attribute IpCg1Dur, which is either because of it is not within BlockList, or there's some other error going on. I do find E-Prime sometimes making a bit of a mess of attributes at the 'block' level and those at the 'trial' level (which you can easily see for yourself if you look at the generated .edat (use e-recovery on the .txt output should you not have one) - there'll be independent block / trial / subtrial columns) - with me, this often leads to some confusion. > A suggestion, is to use one or more nested lists instead of referencing deeper and sometimes non-referable levels. > > Best, > Michiel > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Daniel > Sent: 03 February 2011 04:48 > To: E-Prime > Subject: list attribute to define the timing of an image display > > Hi, > > What I am trying to do is to use a list attribute to define the timing > of an image display. This works perfectly fine if I use something like > 1200 (to define a timing of 1200ms). But if I use an integer variable > (ie. [IpCg1Dur] ) that is defined as 1200ms I get an error that says, > "Factor Error: Can't resolve [IpCg1Dur] in this context." Is there a > way to have an integer placeholder name in brackets as an attribute to > inform an imagedisplay of the correct timing? The reason I want to do > this is I am looking for a more efficient way to run a stop-switch > task. This allows me to have only one procedure record all go and > switch conditions instead of having separate procedures for each > condition. > > http://i1139.photobucket.com/albums/n551/Danielw47181/E-primelistattr... > > That is a picture of what I am talking about. Sorry I could not figure > out how to get the picture larger. If you go 9 columns across you will > see the integers in [blue]. [Target1dur] is referenced in Target1 and > [Target2dur] is referenced in Target2 to define the timing. > > Hope this makes sense > > Thanks > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. ? Please do not use, copy or disclose the information contained in this message or in any attachment. ?Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From xingyupan at gmail.com Thu Feb 3 18:17:45 2011 From: xingyupan at gmail.com (Xingyu) Date: Thu, 3 Feb 2011 10:17:45 -0800 Subject: Has anyone used the automated reading/symmetry span task before? Message-ID: Hi, I am using the eprime version of automated reading/symmetry span task developed by Attention & WM lab at GaTech. I have problem terminating the task though. Every time it runs successfully to the end screen told subjects to "get the experimenter", while I can do nothing there but to hit ctrl+alt+shift to compulsorily terminate the task, this resulted in not getting the summary data.... I am just wondering if anyone has used that task before or if anyone knows what the problem might be and the possible solutions. btw, I only have the script for the task but not the .es file. Thank you! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From nitz.david at googlemail.com Thu Feb 3 20:14:46 2011 From: nitz.david at googlemail.com (Dave) Date: Thu, 3 Feb 2011 12:14:46 -0800 Subject: Has anyone used the automated reading/symmetry span task before? In-Reply-To: Message-ID: IIRC, you have to press the spacebar to get past the "get the experimenter screen". The Engle Lab distribute these span tasks with a readme / short instructions manual which should have info on this also. On Feb 3, 7:17?pm, Xingyu wrote: > Hi, I am using the eprime version of automated reading/symmetry span > task developed by Attention & WM lab at GaTech. I have problem > terminating the task though. Every time it runs successfully to the > end screen told subjects to "get the experimenter", while I can do > nothing there but to hit ctrl+alt+shift to compulsorily terminate the > task, this resulted in not getting the summary data.... > I am just wondering if anyone has used that task before or if anyone > knows what the problem might be and the possible solutions. btw, I > only have the script for the task but not the .es file. > Thank you! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Fri Feb 4 09:08:18 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Fri, 4 Feb 2011 09:08:18 +0000 Subject: Has anyone used the automated reading/symmetry span task before? In-Reply-To: <59521faf-7b59-4f37-bb60-317c8630484f@t13g2000vbo.googlegroups.com> Message-ID: Hiya, I give it 90% chance that the "Get the experimenter" screen is actually a 'secret button'. That is, I don't know what other people's conventions are, but whenever I make something like that, I just put in an non-obvious key as the only allowable - say, R (rather than something like {SPACE} or {ANY}). I'd just scroll through the .ebs file which you presumably do have, do a search for "get the experimenter" (which should be .text property of this object), have a look to see what the .allowable is. Alternatively, you can just try every key - it's not like e-prime got that many combinations :) 2. Of course, you have noticed the e-recovery piece of software, right? Just to be sure - some people overlook these little mini add-ons. On an unrelated note, and for the general amusement, I found out what the exact difference is between E-Prime 1 and 2 in terms of E-dataAid. Nada, that is, except that E-dataAid 2 makes .edat2/emrg2 files. These you CAN actually open in good old E-DataAid 1 but only after deleting the "2" from the extension! Tssk... Best, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Dave Sent: 03 February 2011 20:15 To: E-Prime Subject: Re: Has anyone used the automated reading/symmetry span task before? IIRC, you have to press the spacebar to get past the "get the experimenter screen". The Engle Lab distribute these span tasks with a readme / short instructions manual which should have info on this also. On Feb 3, 7:17?pm, Xingyu wrote: > Hi, I am using the eprime version of automated reading/symmetry span > task developed by Attention & WM lab at GaTech. I have problem > terminating the task though. Every time it runs successfully to the > end screen told subjects to "get the experimenter", while I can do > nothing there but to hit ctrl+alt+shift to compulsorily terminate the > task, this resulted in not getting the summary data.... > I am just wondering if anyone has used that task before or if anyone > knows what the problem might be and the possible solutions. btw, I > only have the script for the task but not the .es file. > Thank you! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Fri Feb 4 10:16:01 2011 From: liwenna at gmail.com (liwenna) Date: Fri, 4 Feb 2011 02:16:01 -0800 Subject: Has anyone used the automated reading/symmetry span task before? In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92BEDF1AB9D@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Hi! Such funny coincidence... my 'secret button' on this kind of screens is always 'r' as I kinda expect yours are too, Michiel? As for the data-aid thing... nice that you figured that out and share it... you never know when it might come in handy :) On Feb 4, 10:08?am, Michiel Spape wrote: > Hiya, > I give it 90% chance that the "Get the experimenter" screen is actually a 'secret button'. That is, I don't know what other people's conventions are, but whenever I make something like that, I just put in an non-obvious key as the only allowable - say, R (rather than something like {SPACE} or {ANY}). I'd just scroll through the .ebs file which you presumably do have, do a search for "get the experimenter" (which should be .text property of this object), have a look to see what the .allowable is. Alternatively, you can just try every key - it's not like e-prime got that many combinations :) > 2. Of course, you have noticed the e-recovery piece of software, right? Just to be sure - some people overlook these little mini add-ons. > > On an unrelated note, and for the general amusement, I found out what the exact difference is between E-Prime 1 and 2 in terms of E-dataAid. Nada, that is, except that E-dataAid 2 makes .edat2/emrg2 files. These you CAN actually open in good old E-DataAid 1 but only after deleting the "2" from the extension! Tssk... > > Best, > Mich > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Dave > Sent: 03 February 2011 20:15 > To: E-Prime > Subject: Re: Has anyone used the automated reading/symmetry span task before? > > IIRC, you have to press the spacebar to get past the "get the > experimenter screen". The Engle Lab distribute these span tasks with a > readme / short instructions manual which should have info on this > also. > > On Feb 3, 7:17?pm, Xingyu wrote: > > Hi, I am using the eprime version of automated reading/symmetry span > > task developed by Attention & WM lab at GaTech. I have problem > > terminating the task though. Every time it runs successfully to the > > end screen told subjects to "get the experimenter", while I can do > > nothing there but to hit ctrl+alt+shift to compulsorily terminate the > > task, this resulted in not getting the summary data.... > > I am just wondering if anyone has used that task before or if anyone > > knows what the problem might be and the possible solutions. btw, I > > only have the script for the task but not the .es file. > > Thank you! > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. ? Please do not use, copy or disclose the information contained in this message or in any attachment. ?Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Fri Feb 4 12:41:39 2011 From: liwenna at gmail.com (liwenna) Date: Fri, 4 Feb 2011 04:41:39 -0800 Subject: Fill an array from an (unreferenced) list? In-Reply-To: <108ff1a1-609a-400d-bc7c-84c2593dc3f2@a8g2000pri.googlegroups.com> Message-ID: So I checked it and it is indeed like I described above... just a denominator, as far as I can see. In addition, I checked what would happen if I would use input #1 for the separate inputs and things work just fine... obviously in this script (partly pasted below) the first file is opened(as #1), the array is filled, and then #1 is closed before the next file is opened as input#1. If for some reason you'd first want to open several files simultaneously and only later fill arrays or whatever you're going to do with the info from the files... it would of course be needed to give a separate 'name' #1, #2, etc) to each of the inputs from different files. best, liw 'fill the array negwords 'Read in the stimuli into the array negwords Open "negativewords.txt" For Input As #1 For n = 0 To 17 Input #1, negwords(n) Next n Close #1 'fill the array poswords 'Read in the stimuli into the array poswords Open "positivewords.txt" For Input As #1 For n = 0 To 17 Input #1, poswords(n) Next n Close #1 On Feb 3, 11:54?am, liwenna wrote: > If I remember correctly the number is simply a denominator for 'the > input' ... > > so... in the above example I needed 3 different .txt files to be put > into 3 different arrays... (one with positive words, one negative and > one neutral). I'll check for you tomorrow but if I remember correctly > I repeated the script three times but used input#1, input#2 and > input#3. That would make the number just 'a name' given to that input > function. > > "the file referenced by filenumber" ?would then refer to this line in > the above code: Open "YOURFILE.txt" For Input As #1 > > On Feb 2, 8:21?pm, "Caleb J. Picker" wrote: > > > Hello, > > > I have a question. I looked in the e-basic help and it says that the > > Input[#] function does this: > > > Reads data from the file referenced by filenumber into the given variables. > > > Why is it the case that when you type '...For Input as #1' that his > > necessarily reads one line at a time. What I am saying is, I do not > > understand this function. What does the Input [#] function really mean? If I > > were to change the '1' value to '2', would this input every other line? > > Would inputting a large integer value read every nth value of that integer? > > > Thanks in advance. > > > Caleb -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From atieh.moonlight at gmail.com Fri Feb 4 18:15:33 2011 From: atieh.moonlight at gmail.com (atieh bakhtiar) Date: Fri, 4 Feb 2011 13:15:33 -0500 Subject: Parallel Ports Message-ID: Hi We want to send markers via eprime for each stimuli in the experiment through parallel port to our recording system. Does anyone have any reference/codes for sending markers through parallel port in eprime? We have added the parallel port into our program and set its address, however we receive error message that it doesn't recognize the port. Thanks! -- Regards . Atieh Bakhtiar -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcfarla9 at msu.edu Fri Feb 4 19:56:11 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 4 Feb 2011 14:56:11 -0500 Subject: Fill an array from an (unreferenced) list? In-Reply-To: <10709104.323.1296674468461.JavaMail.geo-discussion-forums@ prfp36> Message-ID: Caleb, This is an elementary Visual Basic question. You should be able to find more detailed answers by doing a web search (e.g., "vba input function")., or look in the "VBA for Dummies" book. Best, -- David McFarlane, Professional Faultfinder At 2/2/2011 02:21 PM Wednesday, you wrote: >I have a question. I looked in the e-basic help and it says that the >Input[#] function does this: > >Reads data from the file referenced by filenumber into the given variables. > >Why is it the case that when you type '...For Input as #1' that his >necessarily reads one line at a time. What I am saying is, I do not >understand this function. What does the Input [#] function really >mean? If I were to change the '1' value to '2', would this input >every other line? Would inputting a large integer value read every >nth value of that integer? > >Thanks in advance. > >Caleb -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From hrpena2544 at gmail.com Tue Feb 8 04:33:59 2011 From: hrpena2544 at gmail.com (Hector Pena) Date: Mon, 7 Feb 2011 20:33:59 -0800 Subject: Help with adding key log Message-ID: Hi all, I was having a huge problem with my experiment design, it being a dot- probe, that I was having trouble adding "keys hit" or a "key log" to the end data sheet. The overall experiment is using both neutral and threat stimuli, and I have randomized wheather the neutral word may appear on top and the same with the threat word. I have also made the design only except both keys "1"(meaning the dot was on the bottom) and "4" (meaning the dot was on the top), but of course either can be hit during a trial. Here is the problem, when I complete all trials their is no way to find out if the participant hit 1 or 4. I would like to find out a way to add the key log to the final data sheet or find a way to set correct answers. Hope that was enough information to give you the gist of what I'm going for. YHN -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Tue Feb 8 10:15:43 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 8 Feb 2011 10:15:43 +0000 Subject: Help with adding key log In-Reply-To: Message-ID: Hi, 1. Go to the logging for the specific object which collects the data (i.e. the textdisplay) and turn on the .RESP. 2. This seems, unless I've missed the point, such a basic question that I would urge you to work through the tutorials and even the semi-famous E-Primer (on my website, free to download). It does take a few hours, but the only real alternative is to hire someone who can programme it for you. Best, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Hector Pena Sent: 08 February 2011 04:34 To: E-Prime Subject: Help with adding key log Hi all, I was having a huge problem with my experiment design, it being a dot- probe, that I was having trouble adding "keys hit" or a "key log" to the end data sheet. The overall experiment is using both neutral and threat stimuli, and I have randomized wheather the neutral word may appear on top and the same with the threat word. I have also made the design only except both keys "1"(meaning the dot was on the bottom) and "4" (meaning the dot was on the top), but of course either can be hit during a trial. Here is the problem, when I complete all trials their is no way to find out if the participant hit 1 or 4. I would like to find out a way to add the key log to the final data sheet or find a way to set correct answers. Hope that was enough information to give you the gist of what I'm going for. YHN -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Tue Feb 8 10:45:21 2011 From: liwenna at gmail.com (liwenna) Date: Tue, 8 Feb 2011 02:45:21 -0800 Subject: Help with adding key log In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92BEDF1AD82@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: And on a slightly unrelated note... consider switching to a probe- identification instead of a probe-location paradigm, i.e. use two types of probes (.. & : or E & F or whatever you prefer) and have your participant respond to the identity of the probe instead of the location. In a location variant of the probe partcipants can simply focus on one side of the screen (top or bottom) and respond correctly based on whether or not a probe appears on that side, without actually orienting their attention to the probe, thus kinda defying the whole point of the test. best, liw On 8 feb, 11:15, Michiel Spape wrote: > Hi, > 1. Go to the logging for the specific object which collects the data (i.e. the textdisplay) and turn on the .RESP. > 2. This seems, unless I've missed the point, such a basic question that I would urge you to work through the tutorials and even the semi-famous E-Primer (on my website, free to download). It does take a few hours, but the only real alternative is to hire someone who can programme it for you. > Best, > Mich > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Hector Pena > Sent: 08 February 2011 04:34 > To: E-Prime > Subject: Help with adding key log > > Hi all, > > I was having a huge problem with my experiment design, it being a dot- > probe, that I was having trouble adding "keys hit" ?or a "key log" to > the end data sheet. ?The overall experiment is using both neutral and > threat stimuli, and I have randomized wheather the neutral word may > appear on top and the same with the threat word. ?I have also made the > design only except both keys "1"(meaning the dot was on the bottom) > and "4" (meaning the dot was on the top), but of course either can be > hit during a trial. ?Here is the problem, when I complete all trials > their is no way to find out if the participant hit 1 or 4. I would > like to find out a way to add the key log to the final data sheet or > find a way to set correct answers. > > Hope that was enough information to give you the gist of what I'm > going for. > > YHN > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. ? Please do not use, copy or disclose the information contained in this message or in any attachment. ?Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 8 16:18:43 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 8 Feb 2011 11:18:43 -0500 Subject: Parallel Ports In-Reply-To: Message-ID: Atieh, Please see the information on the PST web site (Knowledge Base, and Samples) about using the parallel port. Also, submit a request to Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp -- this is pretty much their substitute for proper documentation, so make full use of it. -- David McFarlane, Professional Faultfinder At 2/4/2011 01:15 PM Friday, you wrote: >We want to send markers via eprime for each stimuli in the >experiment through parallel port to our recording system. Does >anyone have any reference/codes for sending markers through parallel >port in eprime? We have added the parallel port into our program and >set its address, however we receive error message that it doesn't >recognize the port. > >Thanks! >-- >Regards . > >Atieh Bakhtiar -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From rprince at umn.edu Wed Feb 9 13:09:23 2011 From: rprince at umn.edu (Becky Prince) Date: Wed, 9 Feb 2011 05:09:23 -0800 Subject: Stim timing adjustment in a continous loop Message-ID: Dear Forum, I have to create a task where participants hear two tones in a loop and adjust the spacing between the tones (that is, they move the second tone forward or backward in time) until the participant perceives the tones to be rhythmic or isochronous. We'd like to use two keyboard keys as "+" and "-", which when pressed would move the second tone forward or backward (say, 50ms) within the continous loop of the two tones. To illustrate, let's say the tones are "A" and "B", and the dashes represent some unit of time: A---B-----------A---B-----------A---B----------- The duration of the loop (from onset of A to onset of A) remains the same, but the subject uses two keyboard keys to adjust B until the tones sound isochronous: A-------B-------A-------B-------A-------B------- I'm not new to E-Prime, but in the past I've always created standard standard probe-response type tasks. I have not tried to create a program like this one before, where the participant has dynamic control over the stimuli. So my questions are the following: 1) Is it even possible to create this task in E-Prime? 2) Have you done something at all similar, and if so, how did you do it? 3) If you haven't done anything like this, do you have any ideas about how it could work? My only thought is that perhaps I could set this up so that the two tones are not actually 'continous' but presented in pairs over many trials, and the temporal properties of trial n would be based on the response to trial n-1. However, I think this would create a delay between the end of one 'loop' and the beginning of the next, which would certainly affect the subject's perception of a continous rhythm... Any thoughts or suggestions would be greatly apprectiated. Thanks! Becky -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Wed Feb 9 15:51:11 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Wed, 9 Feb 2011 15:51:11 +0000 Subject: Stim timing adjustment in a continous loop In-Reply-To: <790d5eea-5452-47ba-9c5e-daee595f8bd6@x13g2000vbe.googlegroups.com> Message-ID: Hi, You mean, you use a classical method of adjustment? I made an experiment, I think in 2001 or so, pretty much doing exactly what you want, but with A-B----C------------ rather than B----C, and written in Turbo Pascal. Pascal was already outdated, but still pretty new compared to psychophysiology itself :) Anyway, 1. YES, you can do that using E-Prime. But it won't be very easy, and probably easier in Pascal 2. YES, I did (see above). 3. Know that E-Prime isn't brilliant with audio (as I've remarked here before), and audio tones may get cut. This is precisely what would horrify anyone with some psychophysiological training, it certainly does to me. What you might and really should do is: - Get syntrillium cooledit 2 (long out of date, called adobe audition nowadays, which is bloated - adobe-style - and doesn't offer much you'll find use for), or any wave-editing tool which offers millisecond time format for convenience. - Make ALL intervals, using generate tone and generate silence, like ----A----B--------, ---A------B--------, etc. Make sure to include a constant amount of silence before the first tone and after the second tone. Make sure both tones have a little envelope (fade in/out), to avoid clicks at the beginning and end of the tone. This may feel like an insane amount of work, but it's worth it, because A) you'll know your stimuli, B) you'll achieve 1 / 44.1 (about 0.02) ms timing accuracy (instead of 1 ms). Name them something like 50.wav, 100.wav etc, with each number being the timing. - Finally, in E-Prime, use a procedure like this: 1. short inline: Dim currentinterval as integer currentinterval = 1000 'base interval 2. Label1 3. next inline: c.SetAttrib "soundfilename", cstr(currentinterval) & ".wav" 4. SlideDisplay called SlideDisplay1 with duration = infinite, allowable response is {LEFT}{RIGHT}{ENTER}. On the SlideDisplay is placed a text with "Press left to make the interval shorter, right to make it longer, enter if satisfied" and a sound with filename [soundfilename]. 5. Last inline (sorry for the lack of case, David): If SlideDisplay1.Resp = "{LEFT}" then currentinterval = currentinterval - 50 if currentinterval < 50 then currentinterval = 50 'to avoid 0 interval goto Label1 else if SlideDisplay1.RESP = "{RIGHT}" then currentinterval = currentinterval + 50 if currentinterval > 2000 then currentinterval = 2000 'to keep a boundary end if end if Variations, like your looping business can be easily extrapolated from this simple example. That's it. Cheers, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Becky Prince Sent: 09 February 2011 13:09 To: E-Prime Subject: Stim timing adjustment in a continous loop Dear Forum, I have to create a task where participants hear two tones in a loop and adjust the spacing between the tones (that is, they move the second tone forward or backward in time) until the participant perceives the tones to be rhythmic or isochronous. We'd like to use two keyboard keys as "+" and "-", which when pressed would move the second tone forward or backward (say, 50ms) within the continous loop of the two tones. To illustrate, let's say the tones are "A" and "B", and the dashes represent some unit of time: A---B-----------A---B-----------A---B----------- The duration of the loop (from onset of A to onset of A) remains the same, but the subject uses two keyboard keys to adjust B until the tones sound isochronous: A-------B-------A-------B-------A-------B------- I'm not new to E-Prime, but in the past I've always created standard standard probe-response type tasks. I have not tried to create a program like this one before, where the participant has dynamic control over the stimuli. So my questions are the following: 1) Is it even possible to create this task in E-Prime? 2) Have you done something at all similar, and if so, how did you do it? 3) If you haven't done anything like this, do you have any ideas about how it could work? My only thought is that perhaps I could set this up so that the two tones are not actually 'continous' but presented in pairs over many trials, and the temporal properties of trial n would be based on the response to trial n-1. However, I think this would create a delay between the end of one 'loop' and the beginning of the next, which would certainly affect the subject's perception of a continous rhythm... Any thoughts or suggestions would be greatly apprectiated. Thanks! Becky -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tybeet at gmail.com Wed Feb 9 16:33:01 2011 From: tybeet at gmail.com (Tyler) Date: Wed, 9 Feb 2011 08:33:01 -0800 Subject: Variables don't seem to be updating Message-ID: I have an experiment that presents a stimulus, and captures a rating on 5 Likert scales before presenting a new stimulus. I would like to track ratings to prevent subjects from mindlessly clicking the same rating over and over. So basically I need to declare two variables: ratingPrevious - which holds the value of the previous rating ratingRepeat - which counts if a rating is repeated and how many times So I begin with this inside my procedure: Dim ratingRepeat As Integer Dim ratingPrevious As Integer If c.GetAttrib("Rating") > 0 Then ratingPrevious = c.GetAttrib("Rating") End If Immediately after my script that captures a rating and places it in the Rating attribute I have this: If ratingPrevious = c.GetAttrib("Rating") Then ratingRepeat = ratingRepeat + 1 ElseIf ratingPrevious <> c.GetAttrib("Rating") Then ratingRepeat = 0 End If And then for debugging purposes I have a script that tells me what these values are: cnvs.Text sX, sY, c.GetAttrib("Rating") cnvs.Text sX, sY, ratingRepeat cnvs.Text sX, sY, ratingPrevious The behaviour that I observe is that ratingPrevious is capturing the very first rating, but then it stops being updated with additional ratings. In addition, regardless of whether the current and previous ratings are equal, ratingRepeat never gets incremented beyond the first time that it reads Rating = ratingPrevious, so it gets stuck at "1". You can see the structure of my design here: http://gyazo.com/5e6f1f8c7f87ed02a84e90e708c5c248.png Snippet 1, Snippet 2, and Snippet 3 correspond to the code I pasted above. Clearly, the program is reading these pieces of code because it's presenting the scales, and for each rating after the first one the value of Rating is necessarily greater than 0, so it should be processing the part that updates ratingPrevious (ratingPrevious = c.GetAttrib("Rating")). So why isn't this value changing? My feeling is that it is only satisfying these If statements once, and then ignoring them thereafter. Does anyone have any ideas? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tybeet at gmail.com Wed Feb 9 16:41:51 2011 From: tybeet at gmail.com (Tyler) Date: Wed, 9 Feb 2011 08:41:51 -0800 Subject: Variables don't seem to be updating In-Reply-To: Message-ID: A related problem I am having is that I would also like to track the number of trials completed. I have a trialCount variable (Dim trialCount As Integer) and after each rating scale, I have an increment (trialCount = trialCount + 1). This is my design: http://gyazo.com/7c6a09b277aa9d502dcbb5b811dd16c2.png where Inittrialcount refers to the Dim trialCount... and Increment refers to trialCount + 1. In this case, I don't see trialCount increment even once. I think these issues may be related, but I'm not sure what I'm doing wrong? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tybeet at gmail.com Wed Feb 9 16:33:50 2011 From: tybeet at gmail.com (Tyler) Date: Wed, 9 Feb 2011 08:33:50 -0800 Subject: Variables don't seem to be updating In-Reply-To: Message-ID: Sorry, I mean Snippet 1, 3, and 4. On Feb 9, 11:33?am, Tyler wrote: > I have an experiment that presents a stimulus, and captures a rating > on 5 Likert scales before presenting a new stimulus. > I would like to track ratings to prevent subjects from mindlessly > clicking the same rating over and over. > > So basically I need to declare two variables: > ratingPrevious - which holds the value of the previous rating > ratingRepeat - which counts if a rating is repeated and how many times > > So I begin with this inside my procedure: > > ? ? ?Dim ratingRepeat As Integer > ? ? ?Dim ratingPrevious As Integer > > ? ? ?If c.GetAttrib("Rating") > 0 Then > ? ? ? ? ? ? ? ? ratingPrevious = c.GetAttrib("Rating") > ? ? ?End If > > Immediately after my script that captures a rating and places it in > the Rating attribute I have this: > > ? ? ?If ratingPrevious = c.GetAttrib("Rating") Then > ? ? ? ? ? ? ? ? ? ? ?ratingRepeat = ratingRepeat + 1 > ? ? ?ElseIf ratingPrevious <> c.GetAttrib("Rating") Then > ? ? ? ? ? ? ? ? ? ? ?ratingRepeat = 0 > ? ? ?End If > > And then for debugging purposes I have a script that tells me what > these values are: > > ? ? ?cnvs.Text sX, sY, c.GetAttrib("Rating") > ? ? ?cnvs.Text sX, sY, ratingRepeat > ? ? ?cnvs.Text sX, sY, ratingPrevious > > The behaviour that I observe is that ratingPrevious is capturing the > very first rating, but then it stops being updated with additional > ratings. > In addition, regardless of whether the current and previous ratings > are equal, ratingRepeat never gets incremented beyond the first time > that it reads Rating = ratingPrevious, so it gets stuck at "1". > > You can see the structure of my design here:http://gyazo.com/5e6f1f8c7f87ed02a84e90e708c5c248.png > > Snippet 1, Snippet 2, and Snippet 3 correspond to the code I pasted > above. Clearly, the program is reading these pieces of code because > it's presenting the scales, and for each rating after the first one > the value of Rating is necessarily greater than 0, so it should be > processing the part that updates ratingPrevious (ratingPrevious = > c.GetAttrib("Rating")). So why isn't this value changing? > > My feeling is that it is only satisfying these If statements once, and > then ignoring them thereafter. > > Does anyone have any ideas? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From susangc7 at gmail.com Wed Feb 9 17:53:08 2011 From: susangc7 at gmail.com (Susan) Date: Wed, 9 Feb 2011 09:53:08 -0800 Subject: Variables don't seem to be updating In-Reply-To: <47896351-d302-4168-9288-8580d779df33@8g2000prb.googlegroups.com> Message-ID: Hi Tyler, I expect you're getting several replies right now, because we've all made the same mistake at least once. Your variables are actually declared within the procedure, so they get reinitialized every time the procedure runs and re-zeroed. You can make them global variables (and reset them where you need to) by putting the Dim statements in the user script instead of in the procedure. HTH, Susan On Feb 9, 11:41?am, Tyler wrote: > A related problem I am having is that I would also like to track the > number of trials completed. > > I have a trialCount variable (Dim trialCount As Integer) and after > each rating scale, I have an increment (trialCount = trialCount + 1). > > This is my design:http://gyazo.com/7c6a09b277aa9d502dcbb5b811dd16c2.png > where Inittrialcount refers to the Dim trialCount... and Increment > refers to trialCount + 1. > > In this case, I don't see trialCount increment even once. I think > these issues may be related, but I'm not sure what I'm doing wrong? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tybeet at gmail.com Wed Feb 9 18:58:11 2011 From: tybeet at gmail.com (Tyler) Date: Wed, 9 Feb 2011 10:58:11 -0800 Subject: Variables don't seem to be updating In-Reply-To: Message-ID: Thank you Susan. Moving the declarations to the User tab in the Script window solved my issue with trialCount not incrementing - now it's working as it should. I've also figured out a solution to my other variables not updating. I simply took ratingPrevious = c.GetAttrib("Rating") out of the If statement and moved it further down in my procedure (after it grabs the first rating) and voila! It updates and now ratingRepeat works too! Cheers, Tyler On Feb 9, 12:53?pm, Susan wrote: > Hi Tyler, > > I expect you're getting several replies right now, because we've all > made the same mistake at least once. Your variables are actually > declared within the procedure, so they get reinitialized every time > the procedure runs and re-zeroed. You can make them global variables > (and reset them where you need to) by putting the Dim statements in > the user script instead of in the procedure. > > HTH, > Susan > > On Feb 9, 11:41?am, Tyler wrote: > > > > > > > > > A related problem I am having is that I would also like to track the > > number of trials completed. > > > I have a trialCount variable (Dim trialCount As Integer) and after > > each rating scale, I have an increment (trialCount = trialCount + 1). > > > This is my design:http://gyazo.com/7c6a09b277aa9d502dcbb5b811dd16c2.png > > where Inittrialcount refers to the Dim trialCount... and Increment > > refers to trialCount + 1. > > > In this case, I don't see trialCount increment even once. I think > > these issues may be related, but I'm not sure what I'm doing wrong? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From rprince at umn.edu Thu Feb 10 12:27:04 2011 From: rprince at umn.edu (Becky Prince) Date: Thu, 10 Feb 2011 04:27:04 -0800 Subject: Stim timing adjustment in a continous loop In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92BEDF1AF09@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Hi Mich, Thanks for the quick response - this is exactly what I needed! The E-Prime code seems pretty straight forward, but I suppose I wont know until I get a chance to try it. You're right about audio problems in E-Prime, and the timing issues don't help the case for using E-Prime either. I'll look into using Pascal for the task (although I'm hoping that audacity will work as well as the syntrillium/adobe program for audio editing). Thanks again, I really appreciate the help! Cheers, Becky On Feb 9, 3:51?pm, Michiel Spape wrote: > Hi, > You mean, you use a classical method of adjustment? I made an experiment, I think in 2001 or so, pretty much doing exactly what you want, but with A-B----C------------ rather than B----C, and written in Turbo Pascal. Pascal was already outdated, but still pretty new compared to psychophysiology itself :) > Anyway, > 1. YES, you can do that using E-Prime. But it won't be very easy, and probably easier in Pascal > 2. YES, I did (see above). > 3. Know that E-Prime isn't brilliant with audio (as I've remarked here before), and audio tones may get cut. This is precisely what would horrify anyone with some psychophysiological training, it certainly does to me. What you might and really should do is: > - Get syntrillium cooledit 2 (long out of date, called adobe audition nowadays, which is bloated - adobe-style - and doesn't offer much you'll find use for), or any wave-editing tool which offers millisecond time format for convenience. > - Make ALL intervals, using generate tone and generate silence, like ----A----B--------, ---A------B--------, etc. Make sure to include a constant amount of silence before the first tone and after the second tone. Make sure both tones have a little envelope (fade in/out), to avoid clicks at the beginning and end of the tone. This may feel like an insane amount of work, but it's worth it, because A) you'll know your stimuli, B) you'll achieve 1 / 44.1 (about 0.02) ms timing accuracy (instead of 1 ms). Name them something like 50.wav, 100.wav etc, with each number being the timing. > - Finally, in E-Prime, use a procedure like this: > 1. short inline: > ? ? ? ? Dim currentinterval as integer ? > ? ? ? ? currentinterval = 1000 'base interval > 2. Label1 > 3. next inline: > ? ? ? ? c.SetAttrib "soundfilename", cstr(currentinterval) & ".wav" > 4. SlideDisplay called SlideDisplay1 with duration = infinite, allowable response is {LEFT}{RIGHT}{ENTER}. On the SlideDisplay is placed a text with "Press left to make the interval shorter, right to make it longer, enter if satisfied" and a sound with filename [soundfilename]. > 5. Last inline (sorry for the lack of case, David): > > ? ? ? ? If SlideDisplay1.Resp = "{LEFT}" then > ? ? ? ? ? ? ? ? currentinterval = currentinterval - 50 > ? ? ? ? ? ? ? ? if currentinterval < 50 then currentinterval = 50 'to avoid 0 interval > ? ? ? ? ? ? ? ? goto Label1 > ? ? ? ? else > ? ? ? ? ? ?if SlideDisplay1.RESP = "{RIGHT}" then > ? ? ? ? ? ? ? ? currentinterval = currentinterval + 50 > ? ? ? ? ? ? ? ? if currentinterval > 2000 then currentinterval = 2000 'to keep a boundary > ? ? ? ? ? ?end if > ? ? ? ?end if > > Variations, like your looping business can be easily extrapolated from this simple example. > That's it. > Cheers, > Mich > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Becky Prince > Sent: 09 February 2011 13:09 > To: E-Prime > Subject: Stim timing adjustment in a continous loop > > Dear Forum, > > I have to create a task where participants hear two tones in a loop > and adjust the spacing between the tones (that is, they move the > second tone forward or backward in time) until the participant > perceives the tones to be rhythmic or isochronous. ?We'd like to use > two keyboard keys as "+" and "-", which when pressed would move the > second tone forward or backward (say, 50ms) within the continous loop > of the two tones. > > To illustrate, let's say the tones are "A" and "B", and the dashes > represent some unit of time: > A---B-----------A---B-----------A---B----------- > The duration of the loop (from onset of A to onset of A) remains the > same, but the subject uses two keyboard keys to adjust B until the > tones sound isochronous: > A-------B-------A-------B-------A-------B------- > > I'm not new to E-Prime, but in the past I've always created standard > standard probe-response type tasks. ?I have not tried to create a > program like this one before, where the participant has dynamic > control over the stimuli. > > So my questions are the following: > > 1) Is it even possible to create this task in E-Prime? > > 2) Have you done something at all similar, and if so, how did you do > it? > > 3) If you haven't done anything like this, do you have any ideas about > how it could work? > > My only thought is that perhaps I could set this up so that the two > tones are not actually 'continous' but presented in pairs over many > trials, and the temporal properties of trial n would be based on the > response to trial n-1. ?However, I think this would create a delay > between the end of one 'loop' and the beginning of the next, which > would certainly affect the subject's perception of a continous > rhythm... > > Any thoughts or suggestions would be greatly apprectiated. > Thanks! > Becky > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. ? Please do not use, copy or disclose the information contained in this message or in any attachment. ?Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. > > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tobias.fw at gmail.com Thu Feb 10 18:29:40 2011 From: tobias.fw at gmail.com (Tobias) Date: Thu, 10 Feb 2011 10:29:40 -0800 Subject: problem with extended response collection Message-ID: Hi, i wanna set up the following experiment: A stimulus appears for 250 ms. Participants are to respond to that stimulus either during presentation of that stimulus or any time after, when a response screen is shown until the participant reacts. If the participant reacts during stimulus presentation, the response screen should not be displayed. I did this as follows: (1) I made a slide that has a duration of 248 ms (should round up to 150 as I use a screen of 100 Hz). I set the time limit to "(infinite)" and the end action to "(none)". (2) After the slide follows an Inline Script with this content: "if c.getattrib("search.resp") = "a" or c.getattrib("search.resp") = "l" then goto Label1" (3) Then follows a slide that serves as a response screen. It has an infinite duration (-1) and "terminate" as an end action. (4) The next element ist the Label1 This works quite well for most of the trials. If the particpant presses a or l during stimulus ("search") presentation, the inline will make e-prime jump the the label and not call the response screen. If the particpant does not press the button during presentation, the response screen appears until a button is pressed. However, sometimes, like about 5% of the trials, participants would have to press twice. That is, even though they pressed a button during stimulus presentation, the response screen appears. My first guess is, that this is because in these rather seldom cases, the participant presses the button in the few milliseconds between stimulus offset and response screen onset. Is that possible? How can I circumvent this problem? Have you had a similar problem? Your help is most appreciated! Best, Tobias -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Fri Feb 11 10:11:45 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Fri, 11 Feb 2011 10:11:45 +0000 Subject: problem with extended response collection In-Reply-To: Message-ID: Hi, If you're right (and I guess it is possible), then you might try setting offset sync of 1) to none, and onset sync of 3) to none. That way you might get some screen-tearing artefacts, but the time between them should be microseconds (rather than milliseconds) - making it terribly unlikely that subjects respond at that time. But, I don't think this is necessarily the problem. I have a feeling (but correct me if I'm wrong) that time limit of infinite, with duration of 248, might go wrong. How, for example, is E-Prime to know that a late response (after the 248) is for 1) rather than 3)? My suggestion: 1) As you say (with time limit = infinite), but also with jump label (label1) to 4. End 2) makes little sense (search.resp?) Is Search the slide in 1)? If so, then it should be without getattrib (i.e. not reading from list, but from object 1). 3) Slide, as you say, except _without response collection_ (since 1 is doing that). 4) As you say. So, without any code, for once, the stimulus is shown for 250 ms, if participant reacts during that time, they don't see 3. Unless you don't want the stimulus to be presented shorter (perhaps you do EEG?). In which case it might be a bit more difficult: 5) Short inline: ExtendedStim.Duration = 250 - Slide1.Duration 'slide1 being whatever you named 1 6) ExtendedStim is a slide that is just a copy (control+drag) of 1). Except it doesn't have keyboard input or collect responses. Anyway, the nice thing is that the response is always collected by the same object now, which is at least my preferred way of coding E-Prime. Does that help? Best, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Tobias Sent: 10 February 2011 18:30 To: E-Prime Subject: problem with extended response collection Hi, i wanna set up the following experiment: A stimulus appears for 250 ms. Participants are to respond to that stimulus either during presentation of that stimulus or any time after, when a response screen is shown until the participant reacts. If the participant reacts during stimulus presentation, the response screen should not be displayed. I did this as follows: (1) I made a slide that has a duration of 248 ms (should round up to 150 as I use a screen of 100 Hz). I set the time limit to "(infinite)" and the end action to "(none)". (2) After the slide follows an Inline Script with this content: "if c.getattrib("search.resp") = "a" or c.getattrib("search.resp") = "l" then goto Label1" (3) Then follows a slide that serves as a response screen. It has an infinite duration (-1) and "terminate" as an end action. (4) The next element ist the Label1 This works quite well for most of the trials. If the particpant presses a or l during stimulus ("search") presentation, the inline will make e-prime jump the the label and not call the response screen. If the particpant does not press the button during presentation, the response screen appears until a button is pressed. However, sometimes, like about 5% of the trials, participants would have to press twice. That is, even though they pressed a button during stimulus presentation, the response screen appears. My first guess is, that this is because in these rather seldom cases, the participant presses the button in the few milliseconds between stimulus offset and response screen onset. Is that possible? How can I circumvent this problem? Have you had a similar problem? Your help is most appreciated! Best, Tobias -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tobias.fw at gmail.com Fri Feb 11 11:25:11 2011 From: tobias.fw at gmail.com (Tobias) Date: Fri, 11 Feb 2011 03:25:11 -0800 Subject: problem with extended response collection In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92BEDF1B01F@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Hi Michiel, thanks for your reply. Indeed I am using EEG and the search/stimulus slide should be equally long presented in each trial and for each subject. The trick with the subtraction of "Slide1.Duration" is a good idea, I will try that later. But isn't there a flickering or something between Slide1 and ExtendedStim? Anyway, I am not sure if your suggestion makes a difference timing-wise: Between ExtendedStim and ResponseSlide is the same number of microseconds, milliseconds or whatever than in my former version between Slide1 and ResponseSlide. One more thing about the response collection: The result file shows that Slide1.RESP has a value no matter when the subject responds and no matter if the ResponseSlide is already shown. If the subject responds during ResponseSlide, Slide1.RESP and ResponseSlide.RESP have the same value, namely the key the subject pressed. Best, Tobias On Feb 11, 11:11?am, Michiel Spape wrote: > Hi, > If you're right (and I guess it is possible), then you might try setting offset sync of 1) to none, and onset sync of 3) to none. That way you might get some screen-tearing artefacts, but the time between them should be microseconds (rather than milliseconds) - making it terribly unlikely that subjects respond at that time. > > But, I don't think this is necessarily the problem. I have a feeling (but correct me if I'm wrong) that time limit of infinite, with duration of 248, might go wrong. How, for example, is E-Prime to know that a late response (after the 248) is for 1) rather than 3)? My suggestion: > 1) As you say (with time limit = infinite), but also with jump label (label1) to 4. End > 2) makes little sense (search.resp?) Is Search the slide in 1)? If so, then it should be without getattrib (i.e. not reading from list, but from object 1). > 3) Slide, as you say, except _without response collection_ (since 1 is doing that). > 4) As you say. > So, without any code, for once, the stimulus is shown for 250 ms, if participant reacts during that time, they don't see 3. Unless you don't want the stimulus to be presented shorter (perhaps you do EEG?). In which case it might be a bit more difficult: > 5) Short inline: ExtendedStim.Duration = 250 - Slide1.Duration 'slide1 being whatever you named 1 > 6) ExtendedStim is a slide that is just a copy (control+drag) of 1). Except it doesn't have keyboard input or collect responses. > > Anyway, the nice thing is that the response is always collected by the same object now, which is at least my preferred way of coding E-Prime. > Does that help? > Best, > Mich > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Tobias > Sent: 10 February 2011 18:30 > To: E-Prime > Subject: problem with extended response collection > > Hi, > > i wanna set up the following experiment: A stimulus appears for 250 > ms. Participants are to respond to that stimulus either during > presentation of that stimulus or any time after, when a response > screen is shown until the participant reacts. If the participant > reacts during stimulus presentation, the response screen should not be > displayed. > > I did this as follows: > (1) I made a slide that has a duration of 248 ms (should round up to > 150 as I use a screen of 100 Hz). I set the time limit to "(infinite)" > and the end action to "(none)". > (2) After the slide follows an Inline Script with this content: > "if c.getattrib("search.resp") = "a" or c.getattrib("search.resp") = > "l" then goto Label1" > (3) Then follows a slide that serves as a response screen. It has an > infinite duration (-1) and "terminate" as an end action. > (4) The next element ist the Label1 > > This works quite well for most of the trials. If the particpant > presses a or l during stimulus ("search") presentation, the inline > will make e-prime jump the the label and not call the response screen. > If the particpant does not press the button during presentation, the > response screen appears until a button is pressed. > > However, sometimes, like about 5% of the trials, participants would > have to press twice. That is, even though they pressed a button during > stimulus presentation, the response screen appears. My first guess is, > that this is because in these rather seldom cases, the participant > presses the button in the few milliseconds between stimulus offset and > response screen onset. Is that possible? How can I circumvent this > problem? Have you had a similar problem? > > Your help is most appreciated! > > Best, > Tobias > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. ? Please do not use, copy or disclose the information contained in this message or in any attachment. ?Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From esperimento.psicologia.unipd at gmail.com Fri Feb 11 11:26:38 2011 From: esperimento.psicologia.unipd at gmail.com (Francesco S) Date: Fri, 11 Feb 2011 03:26:38 -0800 Subject: Cursor limit Message-ID: Hi, I want participants to move the mouse only on an oblique line. Is there a method to constrain the cursor limit in such a way? thanks. Francesco PhD student -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Fri Feb 11 12:08:44 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Fri, 11 Feb 2011 12:08:44 +0000 Subject: problem with extended response collection (also "the virtue of collecting multiple responses") In-Reply-To: <05ca1bbb-82e7-4d6a-9583-796435f64e3f@u6g2000vbh.googlegroups.com> Message-ID: Hi Tobias & List, It seems the "infinite duration until response and stimulus disappears as a result" thing, which is so much easier to do in E-Prime than anything else, seems to become less popular as people are more often using neuroscience weaponry these days. A minimum duration property would be quite nice, but is pretty much lacking. Anyway: - no, there should be no flicker, unless you set the clear-after property to true (which it isn't by default). As long as both slides look identical, that is. The timing-wise difference is not so much in the interval in between as the stimulus keeps collecting data between the two objects (asynchronously, if you like). I would say, try it, see if it works better. If not, there's at least less code involved and it saves some redundancy in the data collection here (which seems, as you say, to work out well enough). I might be missing something here, I'm not very good at debugging without seeing it happening in E-Prime. As an aside, I find it - especially while doing EEG - quite often very useful to - have a response-collecting object with some time limit started long before any stimulus. It's very easy to code, afterwards, something like c.SetAttrib "Y_RT", myResponseCollectingObject.RTTime - myStimulusObject.OnsetTime - have it collect multiple responses, then afterwards (or in your case, both in the middle and afterwards) sorting these out (code for that is in this e-prime list somewhere). Crucially, and I never thought of this until two years ago when I started doing bimanual experiments, in almost any single-response experiment, there is a good chance a participant will react A THEN SWITCH to B as he/she changes his/her mind. If A was actually the correct answer, you'd usually (or at least, by e-prime default) incorrectly classify the whole bit as a correct response. "Incorrectly" might be debatable, but I find it safer to throw out all dual-response data (if the correct answer is a single response). I should point this out in the e-Primer :) Best, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Tobias Sent: 11 February 2011 11:25 To: E-Prime Subject: Re: problem with extended response collection Hi Michiel, thanks for your reply. Indeed I am using EEG and the search/stimulus slide should be equally long presented in each trial and for each subject. The trick with the subtraction of "Slide1.Duration" is a good idea, I will try that later. But isn't there a flickering or something between Slide1 and ExtendedStim? Anyway, I am not sure if your suggestion makes a difference timing-wise: Between ExtendedStim and ResponseSlide is the same number of microseconds, milliseconds or whatever than in my former version between Slide1 and ResponseSlide. One more thing about the response collection: The result file shows that Slide1.RESP has a value no matter when the subject responds and no matter if the ResponseSlide is already shown. If the subject responds during ResponseSlide, Slide1.RESP and ResponseSlide.RESP have the same value, namely the key the subject pressed. Best, Tobias On Feb 11, 11:11?am, Michiel Spape wrote: > Hi, > If you're right (and I guess it is possible), then you might try setting offset sync of 1) to none, and onset sync of 3) to none. That way you might get some screen-tearing artefacts, but the time between them should be microseconds (rather than milliseconds) - making it terribly unlikely that subjects respond at that time. > > But, I don't think this is necessarily the problem. I have a feeling (but correct me if I'm wrong) that time limit of infinite, with duration of 248, might go wrong. How, for example, is E-Prime to know that a late response (after the 248) is for 1) rather than 3)? My suggestion: > 1) As you say (with time limit = infinite), but also with jump label (label1) to 4. End > 2) makes little sense (search.resp?) Is Search the slide in 1)? If so, then it should be without getattrib (i.e. not reading from list, but from object 1). > 3) Slide, as you say, except _without response collection_ (since 1 is doing that). > 4) As you say. > So, without any code, for once, the stimulus is shown for 250 ms, if participant reacts during that time, they don't see 3. Unless you don't want the stimulus to be presented shorter (perhaps you do EEG?). In which case it might be a bit more difficult: > 5) Short inline: ExtendedStim.Duration = 250 - Slide1.Duration 'slide1 being whatever you named 1 > 6) ExtendedStim is a slide that is just a copy (control+drag) of 1). Except it doesn't have keyboard input or collect responses. > > Anyway, the nice thing is that the response is always collected by the same object now, which is at least my preferred way of coding E-Prime. > Does that help? > Best, > Mich > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Tobias > Sent: 10 February 2011 18:30 > To: E-Prime > Subject: problem with extended response collection > > Hi, > > i wanna set up the following experiment: A stimulus appears for 250 > ms. Participants are to respond to that stimulus either during > presentation of that stimulus or any time after, when a response > screen is shown until the participant reacts. If the participant > reacts during stimulus presentation, the response screen should not be > displayed. > > I did this as follows: > (1) I made a slide that has a duration of 248 ms (should round up to > 150 as I use a screen of 100 Hz). I set the time limit to "(infinite)" > and the end action to "(none)". > (2) After the slide follows an Inline Script with this content: > "if c.getattrib("search.resp") = "a" or c.getattrib("search.resp") = > "l" then goto Label1" > (3) Then follows a slide that serves as a response screen. It has an > infinite duration (-1) and "terminate" as an end action. > (4) The next element ist the Label1 > > This works quite well for most of the trials. If the particpant > presses a or l during stimulus ("search") presentation, the inline > will make e-prime jump the the label and not call the response screen. > If the particpant does not press the button during presentation, the > response screen appears until a button is pressed. > > However, sometimes, like about 5% of the trials, participants would > have to press twice. That is, even though they pressed a button during > stimulus presentation, the response screen appears. My first guess is, > that this is because in these rather seldom cases, the participant > presses the button in the few milliseconds between stimulus offset and > response screen onset. Is that possible? How can I circumvent this > problem? Have you had a similar problem? > > Your help is most appreciated! > > Best, > Tobias > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. ? Please do not use, copy or disclose the information contained in this message or in any attachment. ?Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From c.elwell at hotmail.co.uk Fri Feb 11 13:10:32 2011 From: c.elwell at hotmail.co.uk (Charlotte) Date: Fri, 11 Feb 2011 05:10:32 -0800 Subject: RT feedback according to list attribute Message-ID: Hello, I've set up a lexical decision task and need to provide participants with their mean response time to words, and their mean response time to non-words at the end of the experiment. Whether each trial is a word or non-word is set up as a list attribute. At the moment I have the feedback slide on the sessionproc and thought it was set up to provide the mean response time to all trials (still not what I actually wanted), but on testing it is actually just providing the response time to the very last trial. Please help! How can I provide a slide with mean response times, that is split up according to 'word type' attribute? Charlotte -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From h.witherstone at googlemail.com Fri Feb 11 14:31:07 2011 From: h.witherstone at googlemail.com (Hannah Witherstone) Date: Fri, 11 Feb 2011 06:31:07 -0800 Subject: Not strictly E-Prime related - seeking wisdom on manipulating sound files Message-ID: Dear all I know this isn't really E-Prime related but I'm hoping someone could give me any advice. I am playing sound files through E-Prime that are manipulated for speed of presentation. I have time-compressed my sound files in audacity before running though E-Prime. However, it has recently been suggested to me that Audacity is not the most sensitive software to use when speeding up sounds, and that ProTools is a much better package. Could anyone let me know if this really is the case / what ProTools does when changing tempo that Audacity doesn't. If anyone could help that would be great, Best, Hannah -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tobias.fw at gmail.com Fri Feb 11 14:39:32 2011 From: tobias.fw at gmail.com (Tobias) Date: Fri, 11 Feb 2011 06:39:32 -0800 Subject: problem with extended response collection (also "the virtue of collecting multiple responses") In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92BEDF1B06C@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Hi again, I think I still have a problem understanding the advantage or the principle itself of your suggestion. If I have the Slide1 for 250 ms, "infinite" as the time limit and end action "terminate" (as you suggested if I understood you correctly), it is still collecting data after offset of the Slide1 oder the ExtendedStim. I mean in both cases Slide1 will collect data until a first button press is recognized. In both cases, if Slide1.resp is collected, the response screen should not appear. And for the responseSlide, if I don't specify the response collection, it will stay on the screen forever (I tried it). Maybe we talk at cross purposes? Don't know... BEst, Tobias On 11 Feb., 13:08, Michiel Spape wrote: > Hi Tobias & List, > It seems the "infinite duration until response and stimulus disappears as a result" thing, which is so much easier to do in E-Prime than anything else, seems to become less popular as people are more often using neuroscience weaponry these days. A minimum duration property would be quite nice, but is pretty much lacking. Anyway: > - no, there should be no flicker, unless you set the clear-after property to true (which it isn't by default). As long as both slides look identical, that is. The timing-wise difference is not so much in the interval in between as the stimulus keeps collecting data between the two objects (asynchronously, if you like). I would say, try it, see if it works better. If not, there's at least less code involved and it saves some redundancy in the data collection here (which seems, as you say, to work out well enough). I might be missing something here, I'm not very good at debugging without seeing it happening in E-Prime. > > As an aside, I find it - especially while doing EEG - quite often very useful to > - have a response-collecting object with some time limit started long before any stimulus. It's very easy to code, afterwards, something like > c.SetAttrib "Y_RT", myResponseCollectingObject.RTTime - myStimulusObject.OnsetTime > - have it collect multiple responses, then afterwards (or in your case, both in the middle and afterwards) sorting these out (code for that is in this e-prime list somewhere). Crucially, and I never thought of this until two years ago when I started doing bimanual experiments, in almost any single-response experiment, there is a good chance a participant will react A THEN SWITCH to B as he/she changes his/her mind. If A was actually the correct answer, you'd usually (or at least, by e-prime default) incorrectly classify the whole bit as a correct response. "Incorrectly" might be debatable, but I find it safer to throw out all dual-response data (if the correct answer is a single response). I should point this out in the e-Primer :) > > Best, > Mich > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Tobias > Sent: 11 February 2011 11:25 > To: E-Prime > Subject: Re: problem with extended response collection > > Hi Michiel, > > thanks for your reply. Indeed I am using EEG and the search/stimulus > slide should be equally long presented in each trial and for each > subject. The trick with the subtraction of "Slide1.Duration" is a good > idea, I will try that later. But isn't there a flickering or something > between Slide1 and ExtendedStim? Anyway, I am not sure if your > suggestion makes a difference timing-wise: Between ExtendedStim and > ResponseSlide is the same number of microseconds, milliseconds or > whatever than in my former version between Slide1 and ResponseSlide. > > One more thing about the response collection: The result file shows > that Slide1.RESP has a value no matter when the subject responds and > no matter if the ResponseSlide is already shown. If the subject > responds during ResponseSlide, Slide1.RESP and ResponseSlide.RESP have > the same value, namely the key the subject pressed. > > Best, > Tobias > > On Feb 11, 11:11?am, Michiel Spape > wrote: > > Hi, > > If you're right (and I guess it is possible), then you might try setting offset sync of 1) to none, and onset sync of 3) to none. That way you might get some screen-tearing artefacts, but the time between them should be microseconds (rather than milliseconds) - making it terribly unlikely that subjects respond at that time. > > > But, I don't think this is necessarily the problem. I have a feeling (but correct me if I'm wrong) that time limit of infinite, with duration of 248, might go wrong. How, for example, is E-Prime to know that a late response (after the 248) is for 1) rather than 3)? My suggestion: > > 1) As you say (with time limit = infinite), but also with jump label (label1) to 4. End > > 2) makes little sense (search.resp?) Is Search the slide in 1)? If so, then it should be without getattrib (i.e. not reading from list, but from object 1). > > 3) Slide, as you say, except _without response collection_ (since 1 is doing that). > > 4) As you say. > > So, without any code, for once, the stimulus is shown for 250 ms, if participant reacts during that time, they don't see 3. Unless you don't want the stimulus to be presented shorter (perhaps you do EEG?). In which case it might be a bit more difficult: > > > 5) Short inline: ExtendedStim.Duration = 250 - Slide1.Duration 'slide1 being whatever you named 1 > > 6) ExtendedStim is a slide that is just a copy (control+drag) of 1). Except it doesn't have keyboard input or collect responses. > > > Anyway, the nice thing is that the response is always collected by the same object now, which is at least my preferred way of coding E-Prime. > > Does that help? > > Best, > > Mich > > > Michiel Spap? > > Research Fellow > > Perception & Action group > > University of Nottingham > > School of Psychologywww.cognitology.eu > > > -----Original Message----- > > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Tobias > > Sent: 10 February 2011 18:30 > > To: E-Prime > > Subject: problem with extended response collection > > > Hi, > > > i wanna set up the following experiment: A stimulus appears for 250 > > ms. Participants are to respond to that stimulus either during > > presentation of that stimulus or any time after, when a response > > screen is shown until the participant reacts. If the participant > > reacts during stimulus presentation, the response screen should not be > > displayed. > > > I did this as follows: > > (1) I made a slide that has a duration of 248 ms (should round up to > > 150 as I use a screen of 100 Hz). I set the time limit to "(infinite)" > > and the end action to "(none)". > > (2) After the slide follows an Inline Script with this content: > > "if c.getattrib("search.resp") = "a" or c.getattrib("search.resp") = > > "l" then goto Label1" > > (3) Then follows a slide that serves as a response screen. It has an > > infinite duration (-1) and "terminate" as an end action. > > (4) The next element ist the Label1 > > > This works quite well for most of the trials. If the particpant > > presses a or l during stimulus ("search") presentation, the inline > > will make e-prime jump the the label and not call the response screen. > > If the particpant does not press the button during presentation, the > > response screen appears until a button is pressed. > > > However, sometimes, like about 5% of the trials, participants would > > have to press twice. That is, even though they pressed a button during > > stimulus presentation, the response screen appears. My first guess is, > > that this is because in these rather seldom cases, the participant > > presses the button in the few milliseconds between stimulus offset and > > response screen onset. Is that possible? How can I circumvent this > > problem? Have you had a similar problem? > > > Your help is most appreciated! > > > Best, > > Tobias > > > -- > > You received this message because you are subscribed to the Google Groups "E-Prime" group. > > To post to this group, send email to e-prime at googlegroups.com. > > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. ? Please do not use, copy or disclose the information contained in this message or in any attachment. ?Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > > This message has been checked for viruses but the contents of an attachment > > may still contain software viruses which could damage your computer system: > > you are advised to perform your own checks. Email communications with the > > University of Nottingham may be monitored as permitted by UK legislation. > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. ? Please do not use, copy or disclose the information contained in this message or in any attachment. ?Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From njvack at wisc.edu Fri Feb 11 15:09:29 2011 From: njvack at wisc.edu (Nate Vack) Date: Fri, 11 Feb 2011 09:09:29 -0600 Subject: Not strictly E-Prime related - seeking wisdom on manipulating sound files In-Reply-To: <6205915b-a671-4c5d-8f90-6f92eb87e790@w19g2000yqa.googlegroups.com> Message-ID: On Fri, Feb 11, 2011 at 8:31 AM, Hannah Witherstone wrote: > Could anyone let me know if this really is the case / what ProTools > does when changing tempo that Audacity doesn't. I'm gonna go out on a limb here and suggest that either the Audacity forums: http://forum.audacityteam.org/ or the ProTools Users Group: http://protoolsusers.org/index.php?option=com_fireboard&Itemid=0&func=listcat may be better bets for this question. Cheers, -Nate -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 11 17:57:31 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 11 Feb 2011 12:57:31 -0500 Subject: Cursor limit In-Reply-To: Message-ID: Francesco, Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... No simple "method" that will do this for you. You would have to use some inline code to examine mouse movements, translate those to the desired mouse coordinates, and then move the mouse cursor there, taking advantage of things like Mouse.GetCursorPos and Mouse.SetCursorPos (see the MouseDevice topic in the online E-Basic Help). Of course, then your code would be fighting with the OS's own mouse handler, so I don't know how smooth the results would be -- otherwise, you would have to hide the actual mouse cursor and draw your own as needed. Good luck, -- David McFarlane, Professional Faultfinder >I want participants to move the mouse only on an oblique line. >Is there a method to constrain the cursor limit in such a way? > >thanks. > >Francesco >PhD student -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 11 18:09:42 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 11 Feb 2011 13:09:42 -0500 Subject: RT feedback according to list attribute In-Reply-To: <7eeb3976-0579-4dac-9afa-f6e4655b1843@f30g2000yqa.googlegro ups.com> Message-ID: Charlotte, Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... No built-in way for EP to do this. But of course EP does provide all the elements to roll your own. Just create some global variables for each of your desired sums or averages, and use inline code to accumulate values to the appropriate global variable after each response. You might use a single global array to hold the values, or take advantage of the Summation class provided by EP (see the online E-Basic Help). For help getting started with global variables and inline code, please work through Chapter 4 of the User's Guide that came with E-Prime. -- David McFarlane, Professional Faultfinder >I've set up a lexical decision task and need to provide participants >with their mean response time to words, and their mean response time >to non-words at the end of the experiment. Whether each trial is a >word or non-word is set up as a list attribute. > >At the moment I have the feedback slide on the sessionproc and thought >it was set up to provide the mean response time to all trials (still >not what I actually wanted), but on testing it is actually just >providing the response time to the very last trial. > >Please help! How can I provide a slide with mean response times, that >is split up according to 'word type' attribute? > >Charlotte -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From rprince at umn.edu Sat Feb 12 18:32:34 2011 From: rprince at umn.edu (Becky Prince) Date: Sat, 12 Feb 2011 10:32:34 -0800 Subject: indexing performance on specific trials Message-ID: Hello forum, I need to end practice trials based on performance on specific trials. Right now my practice procedure ends based on the overall performance (i.e. If Feedback.ACCStats.Mean > .80 Then ... ). I'm guessing I should include an InLine script after the practice trials with a simple 'Select Case' or 'If...Then' statement with this structure: If (Trial 1 ACC) = 1 And (Trial 5 ACC) = 1 Then StartTask.Text = "Great! Start the task. " Else StartTask.Text = "Do practice again." Feedback.ACCStats.Reset StartTask.Run Goto StartPrac 'label at the beginning of the practice procedure End If It should be obvious from the code above that I can't figure out how to index the performance on specific trials. I'm sure this is an easy task for most of you, however I have spent ages going through Ch. 4 (Using E-Basic) and looking through past discussion posts, and I still cannot figure this out! Any help is greatly appreciated! Thanks, Becky -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From hesslabo at googlemail.com Sun Feb 13 21:52:19 2011 From: hesslabo at googlemail.com (cblaison) Date: Sun, 13 Feb 2011 13:52:19 -0800 Subject: Startle probe complex randomization Message-ID: Hi all! I attached here: https://docs.google.com/leaf?id=0Bw6aNdKBxq4tM2JlOGE4N2ItNmY1Ni00MDY3LWJmMDctMzY2YTg2MWNmYjdl&hl=en&authkey=CNeUqe8C a copy from the prog I would like to modify. It is a startle probe prog, where angry faces are shown during 6 sec and sometimes bursts of white noise are triggered. The Intertrial Interval (ITI) between faces lasts between 14 and 21 sec. There are 4 different angry faces. The probe starts 4, 4.5, or 5 sec after onset of stim (face or ITI). In all, faces are presented 12 times, separated by 11 ITI + 1 ITI at the end of the sequence. 3 Bursts have to appear during the ITI (which ITI is random). 4 bursts have to appear randomly during the face presentations BUT once appeared during one face, it never has to appear again paired with this face. Thus e-prime has to recall somehow which face was paired with the burst and discard this candidate from future face-probe pairing. I am not an in-line expert, so could please someone help me? Thank you very much! cheers, christophe. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From hesslabo at googlemail.com Sun Feb 13 22:05:26 2011 From: hesslabo at googlemail.com (cblaison) Date: Sun, 13 Feb 2011 14:05:26 -0800 Subject: Send different markers for different randomly appearing stim Message-ID: Hi all..me again It is about the same prog (please see my last mail for a description of the prog), but another question. Please download the prog here: https://docs.google.com/leaf?id=0Bw6aNdKBxq4tM2JlOGE4N2ItNmY1Ni00MDY3LWJmMDctMzY2YTg2MWNmYjdl&hl=en&authkey=CNeUqe8C I make psychophysio measurement, so I have to synchronize what is triggered by eprime with the physiological data of the participants. What I do is sending a signal through the port of the computer to mark in the physio what type of stim is presently shown by eprime. For example: write port &378, 2 sleep 50 write port &378, 0 sleep 50 What I would like to do is to send a different signal (thus place a different marker) for the different face stimuli of my prog. Problem is that the faces appear randomly, so eprime has to note which face is selected and send the corresponding signal through the port (for example if "211.tif" than send "4" through the port, if "221.tif" than send "8" through the port, etc..) Can someone please help me? Thank you very much cheers, christophe. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Mon Feb 14 10:11:41 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Mon, 14 Feb 2011 10:11:41 +0000 Subject: indexing performance on specific trials In-Reply-To: Message-ID: Hi, I'm not sure about the code - do you wish to end practice after Trial1 and Trial5 are accurate? This is what I'd do: 1. Declare two global variables, both as boolean: Dim trial1isacc as boolean Dim trial5isacc as Boolean Dim trialnum as integer 2. Short label here (lbl1) 3. Start experiment with a small inline setting both bools to false 4. Do Training. Every trial, add 1 to Trialnum. Then check the .acc of your stim and set trial1isacc/trial5isacc to true if they happen to be accurate 5. Check to see if either is false, then go to lbl1. And otherwise (but no else necessary) go to next part of the experiment. More elegant ways are possible, but the above should work. Basically, it's pretty much the same as: (assuming StartTask is an empty, unreferenced textdisplay If (Trial1ACC) = true And (Trial 5 ACC) = true Then StartTask.Text = "Great! Start the task. " StartTask.Run Else StartTask.Text = "Do practice again." StartTask.Run Goto lbl1 'label at the beginning of the practice procedure End If Just make sure the level is correct. Best, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Becky Prince Sent: 12 February 2011 18:33 To: E-Prime Subject: indexing performance on specific trials Hello forum, I need to end practice trials based on performance on specific trials. Right now my practice procedure ends based on the overall performance (i.e. If Feedback.ACCStats.Mean > .80 Then ... ). I'm guessing I should include an InLine script after the practice trials with a simple 'Select Case' or 'If...Then' statement with this structure: If (Trial 1 ACC) = 1 And (Trial 5 ACC) = 1 Then StartTask.Text = "Great! Start the task. " Else StartTask.Text = "Do practice again." Feedback.ACCStats.Reset StartTask.Run Goto StartPrac 'label at the beginning of the practice procedure End If It should be obvious from the code above that I can't figure out how to index the performance on specific trials. I'm sure this is an easy task for most of you, however I have spent ages going through Ch. 4 (Using E-Basic) and looking through past discussion posts, and I still cannot figure this out! Any help is greatly appreciated! Thanks, Becky -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Tue Feb 15 14:38:14 2011 From: liwenna at gmail.com (liwenna) Date: Tue, 15 Feb 2011 06:38:14 -0800 Subject: placeholder in object name? Message-ID: Hi all, I got a question! "Long explanation if not interested goto ***** In an experiment one of four procedures will be run in order to show the outcome of a chocie made by the participants (choose one of four decks, the outcome displays differ per choice made so the program is redirected to one of four procedures that hold the different outcome slides). On each of these outcome procedures I have an inline to redirect the program in case of participants clicking outside a certain button. This inline starts with collecting the mouse responses and in this line of code the name of the slideobject on which participants clicked has to be specified. The name of this slidedisplay obviously differs over the four procedures and this difference is simply the answer (a, b, c, d): i.e. decksoutcomeAupdatedcounters, decksoutcomeBupdatedcounters etc. Now.. this inline has to appear in all four procedures but the slideobject that is defined has to differ on this one letter... and although it is little effort to simply make four separate inlines (as I now did) I would so much like to know if it would have been possible to use one single inline for all four procedures in which, somehow, the value of the attribute "response" (or... the variable strhit for that matter) is placed into the objectname. ***** I was trying to get something like this working...: dim r as string r$ = c.getattrib("response") Set theState = decksoutcome&r$&updatedcounters.States(showdecks) ... but to no avail. Does anyone know how to do this? I'd like to learn for future use :) Thanks in advance, AW -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Tue Feb 15 15:42:59 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 15 Feb 2011 15:42:59 +0000 Subject: placeholder in object name? In-Reply-To: Message-ID: Hiya, Fair question, it sometimes bugs me as well. Perhaps David can provide a better answer than I, but I believe, tentatively, no. That is, we can't just make variables on the fly, such that Dim part1 as string part1 = "a" Dim part1 & "b" as string ...Will not result in a new variable, called ab, being created, but rather that an error is being thrown. Sadly. A true dynamic programming language should have such abilities, but not, as far as I know, VB (although one might make such a programming language using VB, perhaps?). That said, there is usually a way around it in the form of using arrays or creating whole new objects. I.e. you can not only have such simple things like an array of integers, but also create an indexed object, so that decksoutcome(1).States(showdecks) should be possible. I personally find it easier, however, to start using a different language rather than getting frustrated with E-prime. Best, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of liwenna Sent: 15 February 2011 14:38 To: E-Prime Subject: placeholder in object name? Hi all, I got a question! "Long explanation if not interested goto ***** In an experiment one of four procedures will be run in order to show the outcome of a chocie made by the participants (choose one of four decks, the outcome displays differ per choice made so the program is redirected to one of four procedures that hold the different outcome slides). On each of these outcome procedures I have an inline to redirect the program in case of participants clicking outside a certain button. This inline starts with collecting the mouse responses and in this line of code the name of the slideobject on which participants clicked has to be specified. The name of this slidedisplay obviously differs over the four procedures and this difference is simply the answer (a, b, c, d): i.e. decksoutcomeAupdatedcounters, decksoutcomeBupdatedcounters etc. Now.. this inline has to appear in all four procedures but the slideobject that is defined has to differ on this one letter... and although it is little effort to simply make four separate inlines (as I now did) I would so much like to know if it would have been possible to use one single inline for all four procedures in which, somehow, the value of the attribute "response" (or... the variable strhit for that matter) is placed into the objectname. ***** I was trying to get something like this working...: dim r as string r$ = c.getattrib("response") Set theState = decksoutcome&r$&updatedcounters.States(showdecks) ... but to no avail. Does anyone know how to do this? I'd like to learn for future use :) Thanks in advance, AW -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 15 16:13:07 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 15 Feb 2011 11:13:07 -0500 Subject: placeholder in object name? In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92BEDF1B268@EXCHANGE3.ad.no ttingham.ac.uk> Message-ID: AW, Not sure I quite follow the question, but I will throw in something. Like Mich, my first thought is to use an array somehow. Beyond that, EP does allow you to dynamically use any *E-Object* by name by use of Rte.GetObject(). Once you have the object you then have to "cast" it into the proper type before you can use the properties and methods of that object. E.g., suppose you want to use InputBox to get the name of a Procedure and then run that. You could use Dim procName as String procName = InputBox$( "Enter Procedure to run:" ) CProcedure( Rte.GetObject( procName ) ).Run Or, more succinctly if a bit more obfuscated (i.e., leaving out the intermediate variable), CProcedure( Rte.GetObject( InputBox$("Enter Procedure to run:") ) ).Run See the "Rte.GetObject" and "Casting (functions)" topics in the online E-Basic Help. Note that this works only for E-Objects, and not for other categories of variables. Don't know that this helps you for this case, but perhaps this is something that will open up doors in other projects. Regards, -- David McFarlane, Professional Faultfinder At 2/15/2011 10:42 AM Tuesday, Michiel Spape wrote: >Hiya, >Fair question, it sometimes bugs me as well. >Perhaps David can provide a better answer than >I, but I believe, tentatively, no. That is, we >can't just make variables on the fly, such that >Dim part1 as string >part1 = "a" >Dim part1 & "b" as string >...Will not result in a new variable, called ab, >being created, but rather that an error is being >thrown. Sadly. A true dynamic programming >language should have such abilities, but not, as >far as I know, VB (although one might make such >a programming language using VB, perhaps?). > >That said, there is usually a way around it in >the form of using arrays or creating whole new >objects. I.e. you can not only have such simple >things like an array of integers, but also >create an indexed object, so that >decksoutcome(1).States(showdecks) should be >possible. I personally find it easier, however, >to start using a different language rather than >getting frustrated with E-prime. >Best, >Mich > >Michiel Spap? >Research Fellow >Perception & Action group >University of Nottingham >School of Psychology >www.cognitology.eu > > >-----Original Message----- >From: e-prime at googlegroups.com >[mailto:e-prime at googlegroups.com] On Behalf Of liwenna >Sent: 15 February 2011 14:38 >To: E-Prime >Subject: placeholder in object name? > >Hi all, > >I got a question! > >"Long explanation >if not interested goto ***** > >In an experiment one of four procedures will be run in order to show >the outcome of a chocie made by the participants (choose one of four >decks, the outcome displays differ per choice made so the program is >redirected to one of four procedures that hold the different outcome >slides). > >On each of these outcome procedures I have an inline to redirect the >program in case of participants clicking outside a certain button. >This inline starts with collecting the mouse responses and in this >line of code the name of the slideobject on which participants clicked >has to be specified. The name of this slidedisplay obviously differs >over the four procedures and this difference is simply the answer (a, >b, c, d): i.e. decksoutcomeAupdatedcounters, >decksoutcomeBupdatedcounters etc. > >Now.. this inline has to appear in all four procedures but the >slideobject that is defined has to differ on this one letter... and >although it is little effort to simply make four separate inlines (as >I now did) I would so much like to know if it would have been possible >to use one single inline for all four procedures in which, somehow, >the value of the attribute "response" (or... the variable strhit for >that matter) is placed into the objectname. > >***** >I was trying to get something like this working...: > >dim r as string >r$ = c.getattrib("response") > > Set theState = decksoutcome&r$&updatedcounters.States(showdecks) > >... but to no avail. > >Does anyone know how to do this? I'd like to learn for future use :) > >Thanks in advance, > >AW -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu Feb 17 13:21:54 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 17 Feb 2011 05:21:54 -0800 Subject: placeholder in object name? In-Reply-To: <4d5aa63f.44842a0a.0f63.ffff9ac0SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hello guys, Sorry for this slow reaction and thanks for your quick reactions! Seems like I'll keep the four separate inlines in my current design but I'll definitely toy around with both the 'object arrays' (if I understood you well, Mich) as well as the getobject and casting functions, I never used them before. If I ever find some spare moments again, that is ;) Best, liw On Feb 15, 5:13?pm, David McFarlane wrote: > AW, > > Not sure I quite follow the question, but I will > throw in something. ?Like Mich, my first thought > is to use an array somehow. ?Beyond that, EP does > allow you to dynamically use any *E-Object* by > name by use of Rte.GetObject(). ?Once you have > the object you then have to "cast" it into the > proper type before you can use the properties and methods of that object. > > E.g., suppose you want to use InputBox to get the > name of a Procedure and then run that. ?You could use > > Dim ?procName as String > procName = InputBox$( "Enter Procedure to run:" ) > CProcedure( Rte.GetObject( procName ) ).Run > > Or, more succinctly if a bit more obfuscated > (i.e., leaving out the intermediate variable), > > CProcedure( Rte.GetObject( InputBox$("Enter Procedure to run:") ) ).Run > > See the "Rte.GetObject" and "Casting (functions)" > topics in the online E-Basic Help. ?Note that > this works only for E-Objects, and not for other categories of variables. > > Don't know that this helps you for this case, but > perhaps this is something that will open up doors in other projects. > > Regards, > -- David McFarlane, Professional Faultfinder > > At 2/15/2011 10:42 AM Tuesday, Michiel Spape wrote: > > >Hiya, > >Fair question, it sometimes bugs me as well. > >Perhaps David can provide a better answer than > >I, but I believe, tentatively, no. That is, we > >can't just make variables on the fly, such that > >Dim part1 as string > >part1 = "a" > >Dim part1 & "b" as string > >...Will not result in a new variable, called ab, > >being created, but rather that an error is being > >thrown. Sadly. A true dynamic programming > >language should have such abilities, but not, as > >far as I know, VB (although one might make such > >a programming language using VB, perhaps?). > > >That said, there is usually a way around it in > >the form of using arrays or creating whole new > >objects. I.e. you can not only have such simple > >things like an array of integers, but also > >create an indexed object, so that > >decksoutcome(1).States(showdecks) should be > >possible. I personally find it easier, however, > >to start using a different language rather than > >getting frustrated with E-prime. > >Best, > >Mich > > >Michiel Spap? > >Research Fellow > >Perception & Action group > >University of Nottingham > >School of Psychology > >www.cognitology.eu > > >-----Original Message----- > >From: e-prime at googlegroups.com > >[mailto:e-prime at googlegroups.com] On Behalf Of liwenna > >Sent: 15 February 2011 14:38 > >To: E-Prime > >Subject: placeholder in object name? > > >Hi all, > > >I got a question! > > >"Long explanation > >if not interested goto ***** > > >In an experiment one of four procedures will be run in order to show > >the outcome of a chocie made by the participants (choose one of four > >decks, the outcome displays differ per choice made so the program is > >redirected to one of four procedures that hold the different outcome > >slides). > > >On each of these outcome procedures I have an inline to redirect the > >program in case of participants clicking outside a certain button. > >This inline starts with collecting the mouse responses and in this > >line of code the name of the slideobject on which participants clicked > >has to be specified. The name of this slidedisplay obviously differs > >over the four procedures and this difference is simply the answer (a, > >b, c, d): i.e. decksoutcomeAupdatedcounters, > >decksoutcomeBupdatedcounters etc. > > >Now.. this inline has to appear in all four procedures but the > >slideobject that is defined has to differ on this one letter... and > >although it is little effort to simply make four separate inlines (as > >I now did) I would so much like to know if it would have been possible > >to use one single inline for all four procedures in which, somehow, > >the value of the attribute "response" (or... the variable strhit for > >that matter) is placed into the objectname. > > >***** > >I was trying to get something like this working...: > > >dim r as string > >r$ = c.getattrib("response") > > > ? ? ? ? Set theState = decksoutcome&r$&updatedcounters.States(showdecks) > > >... but to no avail. > > >Does anyone know how to do this? I'd like to learn for future use :) > > >Thanks in advance, > > >AW -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From moonsnort at yahoo.com Thu Feb 17 22:18:18 2011 From: moonsnort at yahoo.com (Jessica) Date: Thu, 17 Feb 2011 14:18:18 -0800 Subject: delay discounting Message-ID: Hi all, I am trying to program a delay discounting task in the newest version of e-prime and have been running against a particular difficulty that I was wondering if others might have some insights into. Has anyone programmed into a slide a box where monetary earnings are accumulated and if so, how? I am thinking that this might require in- line script but was unsure if there was a different way? Thanks in advance and any help would be greatly appreciated! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu Feb 17 22:46:23 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 17 Feb 2011 17:46:23 -0500 Subject: delay discounting In-Reply-To: Message-ID: In the broadest terms, this will require inline code, and global variables. See Chapter 4 of the User's Guide that came with E-Prime. Also, try a search of "delay discounting E-Prime" on the web, or in the appropriate message boards (e.g., here, or the PST Forum). And don't forget PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp . -- David McFarlane, Professional Faultfinder >I am trying to program a delay discounting task in the newest version >of e-prime and have been running against a particular difficulty that >I was wondering if others might have some insights into. > Has anyone programmed into a slide a box where monetary earnings are >accumulated and if so, how? I am thinking that this might require in- >line script but was unsure if there was a different way? > >Thanks in advance and any help would be greatly appreciated! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From moonsnort at yahoo.com Tue Feb 22 15:42:42 2011 From: moonsnort at yahoo.com (Jessica) Date: Tue, 22 Feb 2011 07:42:42 -0800 Subject: delay discounting In-Reply-To: <4d5da55c.4972e70a.5a0d.2b77SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thank you!! On Feb 17, 5:46?pm, David McFarlane wrote: > In the broadest terms, this will require inline code, and global > variables. ?See Chapter 4 of the User's Guide that came with > E-Prime. ?Also, try a search of "delay discounting E-Prime" on the > web, or in the appropriate message boards (e.g., here, or the PST > Forum). ?And don't forget PST Web Support athttp://support.pstnet.com/e%2Dprime/support/login.asp. > > -- David McFarlane, Professional Faultfinder > > > > >I am trying to program a delay discounting task in the newest version > >of e-prime and have been running against a particular difficulty that > >I was wondering if others might have some insights into. > > ?Has anyone programmed into a slide a box where monetary earnings are > >accumulated and if so, how? I am thinking that this might require in- > >line script but was unsure if there was a different way? > > >Thanks in advance and any help would be greatly appreciated!- Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From jens.bernhardsson at gmail.com Wed Feb 23 15:35:26 2011 From: jens.bernhardsson at gmail.com (jens) Date: Wed, 23 Feb 2011 07:35:26 -0800 Subject: Inaccurate logging of accuracy Message-ID: I have set up an experiment that shows 10 different slides in a sequential order in a s1-s2-s3? kind of way. The task is to identify and respond to the stimuli via a mouse click at any of the slides. This then leads, by label jumping to a hit test of what was shown, and the trial procedure is repeated a number of times. Everything flows fine except my data logging. The ACC, CRESP and RESP does not reset from one trial to another. If I, for instance give a response at s8 then all my slides is logged as 0(incorrect) except from slide8 that is logged as 1(correct). BUT, if I in trial two respond at s2 then the slides are being logged as 1 between s2 and s8 and the rest as 0. The logging of the data is thereby effected by response on previous trials. What I want of course is that response is logged as 1 and no response is logged as 0. Please point me in the right direction. Best Jens -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu Feb 24 11:35:06 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 24 Feb 2011 03:35:06 -0800 Subject: Inaccurate logging of accuracy In-Reply-To: Message-ID: Hi Jens, I got to suspect that the problem lies with your hittest code. In the code you'll have to specify which slide the hit that has to be analyzed is made on. I gather from your post that you use one single hittest for all 8 slides but the code will analyse just the hit that was made (or not made) on the slide specified in the code... so if the code is set to analyze slide1 and the program is directed to the code based on a mouseclick in slide 6, it will still analyze the hit that was (not) made in slide1. Below I paste an example of stringhit from one of my experiments (not entirely sure if it will be exactly the same as your code.. but you'll get the idea). I used capitals on the two places where the SLIDENAME has to be specified. ************ Set theState = SLIDENAME.States("Default") 'Was there a response? If Stimulus.InputMasks.Responses.Count > 0 Then 'Get the mouse response Set theMouseResponseData = CMouseResponseData(SLIDENAME.InputMasks.Responses(1)) 'Determine string name of SlideImage or SlideText object at 'mouse click coordinates. Assign that value to strHit strHit = theState.HitTest(theMouseResponseData.CursorX, theMouseResponseData.CursorY) 'Compare string name where mouse click occurred to CorrectAnswer 'attribute on each trial, and score response 'NOTE: This comparison is case sensitive If strHit = c.GetAttrib("Correctresp") Then Stimulus.ACC = 1 Else Stimulus.ACC = 0 End If Else End If c.SetAttrib "response", strHit ************ You should simply give each slide it's own hittest (placed immediatly after each slide). You can insert a 'goto label' line within each hittest if it's needed that the program jumps once a response is made . Place this line above the bottom 'Else' so that it falls under the "If Stimulus.InputMasks.Responses.Count > 0 Then" condition. There are no actions specified inbetween that bottom Else and the End If, so nothing is done if the condition "If Stimulus.InputMasks.Responses.Count > 0 Then" is not met -> if there is no mouseclick made on the specified slide the program will do nothing and simply proceed with the next slide. You might also notice that a number of dim lines is missing from the above code: Dim strHit As String Dim theState as SlideState Dim theMouseResponseData As MouseResponseData You can use a dim line only once within a procedure... so either keep them in the code for slide1 only or place them at the usertab of the script window. If you repeat the same dimline within a procedure you'll receive an error when compiling the script. Hope this helps, Best, liw On Feb 23, 4:35?pm, jens wrote: > I have set up an experiment that shows 10 different slides in a > sequential order in a s1-s2-s3? kind of way. The task is to identify > and respond to the stimuli via a mouse click at any of the slides. > This then leads, by label jumping to a hit test of what was shown, and > the trial procedure is repeated a number of times. > > Everything flows fine except my data logging. The ACC, CRESP and RESP > does not reset from one trial to another. If I, for instance give a > response at s8 then all my slides is logged as 0(incorrect) except > from slide8 that is logged as 1(correct). BUT, if I in trial two > respond at s2 then the slides are being logged as 1 between s2 and s8 > and the rest as 0. The logging of the data is thereby effected by > response on previous trials. What I want of course is that response is > logged as 1 and no response is logged as 0. > > Please point me in the right direction. > > Best > Jens -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu Feb 24 12:59:53 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 24 Feb 2011 04:59:53 -0800 Subject: Inaccurate logging of accuracy In-Reply-To: Message-ID: ow also... in the code there are these lines: Stimulus.ACC = 1 Else Stimulus.ACC = 0 End If Stimulus here is the name of the slide that this code collects responses on (the name that was replaced with SLIDENAME) in the first lines of the code). In your current set-up you try to create 8 different accuracy attributes for each of the 8 slides... you could also have the code log accuracy in a single attribute and have an additional attribute that logs the slidenumber on which the response was made. The last bit of the code could then look, for instance, like this: ************* c.setattrib "responseslide" = 1 If strHit = c.GetAttrib("Correctresp") Then c.setattrib "accuracy", 1 Else c.setattrib "accuracy", 0 End If goto label1 Else End If ****** the program will then first log 1 into an attribute called "responseslide" (replace 1 with 2, 3 - 8 in the hittests for the other slides) and then log 1 or 0 into an attribute called "accuracy" based on the value of an attribute correctresp. I also added in the goto lable line mentioned in the post above, which could then make the program jump to (I think this is what you need?) the end of the procedure, thus skipping the remaining slides. On Feb 24, 12:35?pm, liwenna wrote: > Hi Jens, > > I got to suspect that the problem lies with your hittest code. > > In the code you'll have to specify which slide the hit that has to be > analyzed is made on. I gather from your post that you use one single > hittest for all 8 slides but the code will analyse just the hit that > was made (or not made) on the slide specified in the code... so if the > code is set to analyze slide1 and the program is directed to the code > based on a mouseclick in slide 6, it will still analyze the hit that > was (not) made in slide1. > > Below I paste an example of stringhit from one of my experiments (not > entirely sure if it will be exactly the same as your code.. but you'll > get the idea). I used capitals on the two places where the SLIDENAME > has to be specified. > > ************ > ? ? ? ? Set theState = SLIDENAME.States("Default") > > ? ? ? ? 'Was there a response? > ? ? ? ? If Stimulus.InputMasks.Responses.Count > 0 Then > > ? ? ? ? ? ? ? ? 'Get the mouse response > ? ? ? ? ? ? ? ? Set theMouseResponseData = > CMouseResponseData(SLIDENAME.InputMasks.Responses(1)) > > ? ? ? ? ? ? ? ? 'Determine string name of SlideImage or SlideText object at > ? ? ? ? ? ? ? ? 'mouse click coordinates. Assign that value to strHit > ? ? ? ? ? ? ? ? strHit = theState.HitTest(theMouseResponseData.CursorX, > theMouseResponseData.CursorY) > > ? ? ? ? ? ? ? ? 'Compare string name where mouse click occurred to CorrectAnswer > ? ? ? ? ? ? ? ? 'attribute on each trial, and score response > ? ? ? ? ? ? ? ? 'NOTE: This comparison is case sensitive > > ? ? ? ? ? ? ? ?If strHit = c.GetAttrib("Correctresp") Then > ? ? ? ? ? ? ? ? ? ? ? ? ?Stimulus.ACC = 1 > ? ? ? ? ? ? ? ? ? ? ? ? Else > ? ? ? ? ? ? ? ? ? ? ? ? ?Stimulus.ACC = 0 > ? ? ? ? ? ? ? ? ? ? ? ? End If > ? ? ? ? ? ? ? ?Else > > ? ? ? ? End If > > c.SetAttrib "response", strHit > ************ > > You should simply give each slide it's own hittest (placed immediatly > after each slide). You can insert a 'goto label' line within each > hittest if it's needed that the program jumps once a response is > made . Place this line above the bottom 'Else' so that it falls under > the "If Stimulus.InputMasks.Responses.Count > 0 Then" condition. There > are no actions specified inbetween that bottom Else and the End If, so > nothing is done if the condition "If > Stimulus.InputMasks.Responses.Count > 0 Then" is not met -> if there > is no mouseclick made on the specified slide the program will do > nothing and simply proceed with the next slide. > > You might also notice that a number of dim lines is missing from the > above code: > ? ? ? ? Dim strHit As String > ? ? ? ? Dim theState as SlideState > ? ? ? ? Dim theMouseResponseData As MouseResponseData > You can use a dim line only once within a procedure... so either keep > them in the code for slide1 only or place them at the usertab of the > script window. If you repeat the same dimline within a procedure > you'll receive an error when compiling the script. > > Hope this helps, > > Best, > > liw > > On Feb 23, 4:35?pm, jens wrote: > > > I have set up an experiment that shows 10 different slides in a > > sequential order in a s1-s2-s3? kind of way. The task is to identify > > and respond to the stimuli via a mouse click at any of the slides. > > This then leads, by label jumping to a hit test of what was shown, and > > the trial procedure is repeated a number of times. > > > Everything flows fine except my data logging. The ACC, CRESP and RESP > > does not reset from one trial to another. If I, for instance give a > > response at s8 then all my slides is logged as 0(incorrect) except > > from slide8 that is logged as 1(correct). BUT, if I in trial two > > respond at s2 then the slides are being logged as 1 between s2 and s8 > > and the rest as 0. The logging of the data is thereby effected by > > response on previous trials. What I want of course is that response is > > logged as 1 and no response is logged as 0. > > > Please point me in the right direction. > > > Best > > Jens -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From hesslabo at googlemail.com Sun Feb 27 16:06:36 2011 From: hesslabo at googlemail.com (cblaison) Date: Sun, 27 Feb 2011 08:06:36 -0800 Subject: Startle probe complex randomization In-Reply-To: Message-ID: Hi all, I got an answer from PST, for the one who are interested in.. See googledocs for the modified file: https://docs.google.com/leaf?id=0Bw6aNdKBxq4tM2JlOGE4N2ItNmY1Ni00MDY3LWJmMDctMzY2YTg2MWNmYjdl&sort=name&layout=list&num=50 and: https://docs.google.com/leaf?id=0Bw6aNdKBxq4tNGE5ODU1ZTYtMWJiMC00YjNkLTg0NTAtMWExZjZlOTdjZDMy&sort=name&layout=list&num=50 PST answer: Hi! I attached the prog to be modified. It is a startle probe prog, where angry faces are shown during 6 sec and sometimes bursts of white noise are triggered. The Intertrial Interval (ITI) between faces lasts between 14 and 21 sec. There are 4 different angry faces. The probe starts 4, 4.5, or 5 sec after onset of stim (face or ITI). In all, faces are presented 12 times, separated by 11 ITI + 1 ITI at the end of the sequence. 3 Bursts have to appear during the ITI (which ITI is random). 4 bursts have to appear randomly during the face presentations BUT once appeared during one face, it never has to appear again paired with this face. Thus e-prime has to recall somehow which face was paired with the burst and discard this candidate from future face-probe pairing. I am not an in-line expert, so could please someone help me? Thank you very much! cheers, christophe. >From Alison Lauer on 2/14/2011 5:11:00 PM Conditioning2MOD2.es2 Dear Christophe, Thank you for attaching your experiment files. I will be happy to help. First, I recommend restructuring your experiment to better reflect your needs. - It is best to rename your objects to meet standard E-Prime naming conventions. This will help to keep the experiment clear to yourself and others. The name "proc" in E-Prime represents procedure, so the convention is to name your lists BlockList, TrialList, etc. and to name your procedures BlockProc, TrialProc, etc. - The sound choice (between 9 silent trials and 3 startle trials) can be moved from probchoice to FaceList. Both probchoice and probchoiceITI can be eliminated completely since their functions are fulfilled by FaceList and ITIList respectively. - Instead of nesting startlechoice under probchoice, nest it at a much higher level, like BlockList. We will be using a bit of InLine script to access this list, so we only need to put it at the block level for reference. - Add two new attributes to facechoice: one for the trigger code (the answer to request 22022) and one for the startle sound. Next, you can use an InLine object to get the three sounds and fill FaceList with their values. You may want to take a look at one of our samples for a similar (though more complicated method: SAMPLE:No Repeats on Consecutive Trials (C.... Here is the script to use: Dim arrSounds(3) As String Dim i As Integer For i = 1 To startlechoice.Size arrSounds(i) = startlechoice.GetAttrib(i, "startlechoix") Next 'i RandomizeArray arrSounds, 1, startlechoice.Size For i = 1 To startlechoice.Size facechoice.SetAttrib i, "FaceSound", arrSounds(i) Next 'i facechoice.Reset As for request 22022, you can use an attribute value to vary the signal that is sent to the port. Create an attribute named FaceCode on facechoice, then add the following script in an InLine on FaceProc: WritePort &H378, c.GetAttrib("FaceCode") Finally, keep in mind that your description may not be possible with the current number of stimuli. If there are 3 sounds and 4 faces, one of the sounds would have to be repeated for a face. Do you mean that each face must have a unique sound? Or do you mean for one of the faces to have a silent probe? The attached version of the experiment has the fourth face disabled (by setting its Weight to zero) in order to use a unique sound for each face. If you have something else in mind, please describe it in as much detail as you can. I hope this helps. Please let me know if you have any more questions. Sincerely, Alison Lauer Technical Consultant >From christophe blaison on 2/15/2011 8:59:00 AM Pretest table.docx Thank you alison, I really appreciate your quick reply! I was perhaps not clear enough in the description: The solution you propose is on the right track but not perfectly what I would want the prog to do. I try it again (see also attached figure) The startle probes must be randomly sampled from the pool of three startle probes (4s, 4.5s, 5s after stim onset) and have to appear only on one (of three) angry face presentation occasion. In fact, the four angry faces are presented randomly in 3 presentation blocks: each face must appear only once in each block. Thus there are four occasions where the startle is associated with angry faces, and startle must not be associated two times with the same face. (see attached figure). In addition the randomly chosen startle probe have to appear only 2 times whithin the ITIs (see attached figure). Am I clear enough now? Thanks! christophe. >From christophe blaison on 2/17/2011 3:18:00 AM Hi Alison, I know you are certainly as busy as me, but I wonder if you had some time to resolve my problem, or if you need some additional information. Cheers, Christophe. >From christophe blaison on 2/20/2011 7:02:00 AM Hi Alison, thank you for closing my other request. We are a bit in a hurry here (I am aware that they are probably other people in our case), thus I would be very grateful to you if could send us a solution to the problem soon! Thank you :) >From Alison Lauer on 2/22/2011 4:57:00 PM Conditioning2MOD3.es2 Christophe, Thank you for explaining your experiment in more detail. I apologize for the delay in my response. For your reference, please note that when you reply to the request before I do, your request is automatically sent to the end of the queue, thus extending my response time further. Please feel free to ask if you have any questions about our support site system. I have determined how to restructure your experiment for your needs. Since you require each block to randomly present faces 1-4 while playing the startle only once for each sound throughout three blocks, you must keep the startle/silence selection independent for each face. TrialList should select one of four faces for each trial. Face1List, Face2List, etc. should be nested under TrialList, and each one should have the same three levels: one for startle (in which StartleList is nested), and two for silence (or one for silence with Weight set to 2). The Face lists will not be reset between blocks, so only one instance of each face will be associated with a startle. ITI durations can be selected from ITIchoice list nested under TrialList, with ITISoundList nested under that. ITISoundList can use the Weight method to ensure that two levels have a startle for ITI, and the remaining ten have silence. For simplicity you can place AF and ITI onto the same procedure instead of running them from different lists. I have attached a modified version of your experiment. Please take a look at this version and let me know if you have any questions. I will be happy to answer. Alison Lauer >From christophe blaison on 2/25/2011 1:26:00 PM conditioning christophe.zip Hi Alison, thank you very much for your help, it works like a charm and we learn a lot from you. Would you be so kind to make two other useful modifications? We would be very grateful to you. We build on your example for programming the complete experiment (see attached). We now have a preconditioning block (the one you worked on, it contains just startle probes), a conditioning block with electric shocks and startle probes and a postconditioning block (just startle probes). 1. Electric shocks are associated with two of the four angry faces (we send a 128 code through the parallel port to trigger the shocker). We would like to render this pairing random accross participants. For now we created different eprime files containing different pairing. But this solution is not satisfying. 2. A crucial feature for us in order to analyse the data is to be able to identify during which angry face a startle probe has been sent. Thus it would be useful to send a different startle probe marker for each angry face. You already did a similar kind of things for the presentation of the angry faces..but this seems to us a bit more difficult. We thank you very much, and we are eager to see your solutions! Cheers, christophe. On Feb 13, 10:52?pm, cblaison wrote: > Hi all! > > I attached here: > > https://docs.google.com/leaf?id=0Bw6aNdKBxq4tM2JlOGE4N2ItNmY1Ni00MDY3... > > a copy from the prog I would like to modify. It is a startle probe > prog, where angry faces are shown during 6 sec and sometimes bursts of > white noise are triggered. The Intertrial Interval (ITI) between faces > lasts between 14 and 21 sec. There are 4 different angry faces. The > probe starts 4, 4.5, or 5 sec after onset of stim (face or ITI). In > all, faces are presented 12 times, separated by 11 ITI + 1 ITI at the > end of the sequence. 3 Bursts have to appear during the ITI (which ITI > is random). 4 bursts have to appear randomly during the face > presentations BUT once appeared during one face, it never has to > appear again paired with this face. Thus e-prime has to recall somehow > which face was paired with the burst and discard this candidate from > future face-probe pairing. I am not an in-line expert, so could please > someone help me? Thank you very much! > > cheers, > christophe. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From hesslabo at googlemail.com Sun Feb 27 16:07:19 2011 From: hesslabo at googlemail.com (cblaison) Date: Sun, 27 Feb 2011 08:07:19 -0800 Subject: Send different markers for different randomly appearing stim In-Reply-To: <987baec7-0ca9-425f-9201-86b6e0eee1ad@k18g2000vbq.googlegroups.com> Message-ID: See topic "Startle probe complex randomization" for the solution. On Feb 13, 11:05?pm, cblaison wrote: > Hi all..me again > > It is about the same prog (please see my last mail for a description > of the prog), but another question. Please download the prog here: > > https://docs.google.com/leaf?id=0Bw6aNdKBxq4tM2JlOGE4N2ItNmY1Ni00MDY3... > > I make psychophysio measurement, so I have to synchronize what is > triggered by eprime with the physiological data of the participants. > What I do is sending a signal through the port of the computer to mark > in the physio what type of stim is presently shown by eprime. For > example: > > write port &378, 2 > sleep 50 > > write port &378, 0 > sleep 50 > > What I would like to do is to send a different signal (thus place a > different marker) for the different face stimuli of my prog. Problem > is that the faces appear randomly, so eprime has to note which face is > selected and send the corresponding signal through the port (for > example if "211.tif" than send "4" through the port, if "221.tif" than > send "8" through the port, etc..) Can someone please help me? Thank > you very much > > cheers, > christophe. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From dorovan at gmail.com Sun Feb 27 23:12:22 2011 From: dorovan at gmail.com (=?ISO-8859-1?Q?Andr=E9_Silva?=) Date: Sun, 27 Feb 2011 15:12:22 -0800 Subject: about an RSVP paradigm Message-ID: Well, i'm going to explain: I'm finishing my master's degree in Clinical Psychology, and my thesis is called "Emotional desensitization and judgements of severity". For that i'll need to make an e-prime script, but no one can help me where i study. Don't know if you can help me. --- The one thing i can't understand is how to do the following design: I have to present 36 series of 12 images each in a RSVP paradigm. Within this 12 images, 10 are neutral, 1 is a critical distractor (that can be neutral, positive or negative) and the last one has to be an arrow. So it would be like this when someone opened the experiment: 5 pictures would appear (from the pool of 10 neutrals), then the critical distractor (1 of 3 types), 5 pictures more (from the pool of 5 neutrals left) and then an arrow in one of 4 positions (up, down, right, left). How can i randomize all neutrals not to be repeated within series, how can i fix the position of the critical distractor (and how can i randomize the TYPE of the distractor, making sure 12 of each are presented in the 36 series, not repeating anyone), and fix the position of the arrow, making sure the same thing i wrote above about the distractor... it's difficult to express everything, but i need some guidelines... -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en.