From jakey.anderson at gmail.com Mon Aug 1 18:37:30 2011 From: jakey.anderson at gmail.com (Jake) Date: Mon, 1 Aug 2011 11:37:30 -0700 Subject: Running an Unreferenced List Message-ID: Dear Group, As a simple fix to a problem created by a last minute feature request by my PIs, I'd like to run an unreferenced list object, which intern runs an unreferenced procedure and 3 trial-level, unreferenced objects. When I try to use the ListObject.Run method, I get this error: "Factor Error: Invalid Context" I can run a SlideObject or TextObject just fine, but this error is specific to the ListObject. Has anyone tried something like this before? Is it even possible to run an unreferenced list object? Thanks! Jake -- 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 karisaparkington at gmail.com Mon Aug 1 18:45:35 2011 From: karisaparkington at gmail.com (KarisaP) Date: Mon, 1 Aug 2011 11:45:35 -0700 Subject: multiple movies Message-ID: I am new to EPrime, and am trying to implement a procedure in which four videos and an image appear on the screen at the same time, as well as another procedure in which five videos appear on the screen at the same time. Is this possible in EPrime? Any suggestions are 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 david.averill.nicholson at gmail.com Mon Aug 1 19:36:01 2011 From: david.averill.nicholson at gmail.com (David Nicholson) Date: Mon, 1 Aug 2011 15:36:01 -0400 Subject: Running an Unreferenced List In-Reply-To: <73ca3a5f-e132-49bb-a6ed-746a18f3a662@a12g2000vbf.googlegroups.com> Message-ID: Hi Jake, I'm not sure I completely understand how you want this structured but check out Laura McCarthy Contingent Branching and see if that helps any. I trimmed the program to just have the part that may help you. All you might need to do is add a c after ListObject.Run to tell the program that it is context in your secession proc. For example ListObject.Run c Best of luck, David On Mon, Aug 1, 2011 at 2:37 PM, Jake wrote: > Dear Group, > As a simple fix to a problem created by a last minute feature request > by my PIs, I'd like to run an unreferenced list object, which intern > runs an unreferenced procedure and 3 trial-level, unreferenced > objects. > > When I try to use the ListObject.Run method, I get this error: > "Factor Error: Invalid Context" > > I can run a SlideObject or TextObject just fine, but this error is > specific to the ListObject. > > Has anyone tried something like this before? Is it even possible to > run an unreferenced list object? > > Thanks! > Jake > > -- > 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. > > -- 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: ContingentBranching_revised.es2 Type: application/octet-stream Size: 82072 bytes Desc: not available URL: From d.vinson at ucl.ac.uk Tue Aug 2 09:15:02 2011 From: d.vinson at ucl.ac.uk (David Vinson) Date: Tue, 2 Aug 2011 10:15:02 +0100 Subject: multiple movies In-Reply-To: <9ef2564b-da4c-41ae-97c0-b1a48ff1b322@15g2000vbw.googlegroups.com> Message-ID: It is certainly possible to use E-Prime 2.0 to display multiple movies at the same time using a Slide object (I think the Professional version may be necessary, but I'm not 100% sure about this). You'd just place the different MovieDisplays at your desired locations on the Slide, specify filenames either directly or via List entries, and there you go. However you may find that it is impossible to sufficiently manage timing if you are loading multiple movies at the same time - I expect timing would be the greatest concern. You will also learn that MovieDisplay objects are still not really covered in E-Prime documentation, so you may need to contact E-Prime support to solve some of the problems you come across. Keep in mind that for MovieDisplay objects embedded in Slides, it is not possible to log sub-object properties in the normal manner (e.g. ticking boxes in the Logging object tab). However this is essential for a study like the one you describe; you will definitely need to log the MovieDisplay properties as part of your checks on timing. This can be done using inline code: (From Matt Lenhart, E-Prime technical consultant): > It is possible to log information about movies that are presented via a SlideMoie sub-objects. The properties are accessed in the same was as with a MovieDisplay. However, you must use InLine script to gain access to the SlideMovie sub-object before you can access the properties. > I would recommend taking a look at the MovieRT sample that is installed with E-Prime 2.0. The MovieLogging InLine contains script for gaining access to a sub-object and then logging the related properties for the SlideMovie. You can find the sample under \My Experiments\Samples\MovieRT. I hope this is somewhat helpful - good luck! -dv > I am new to EPrime, and am trying to implement a procedure in which > four videos and an image appear on the screen at the same time, as > well as another procedure in which five videos appear on the screen at > the same time. Is this possible in EPrime? Any suggestions are > greatly appreciated. > -- David Vinson, Ph.D. Senior Postdoctoral Researcher Cognitive, Perceptual and Brain Sciences Research Department University College London 26 Bedford Way, London WC1H 0AP Tel +44 (0)20 7679 5311 (UCL internal ext. 25311) -- 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 karisaparkington at gmail.com Tue Aug 2 23:36:13 2011 From: karisaparkington at gmail.com (KarisaP) Date: Tue, 2 Aug 2011 16:36:13 -0700 Subject: Conditional: progression error Message-ID: Hey all, I am having a hard time convincing eprime that it really does want to do the following script. I have used something that is pretty much identical in another experiment without any hiccups but for some reason eprime is getting upset with the following: If ManSun4.RESP = "y" Then MoonPracProc.Run c Elseif ManSun4.RESP = "n" Then FISTTempList.Run c Else ManSun4.RESP = "e" Then EndExperimentTempList.Run c End If I keep getting the following error message Encountered: Then Expecting: ':', end of line. Any idea what the problem is and how to fix it? -- 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 cobwebfaery at gmail.com Wed Aug 3 00:34:40 2011 From: cobwebfaery at gmail.com (Becky Clements) Date: Tue, 2 Aug 2011 17:34:40 -0700 Subject: audio feedback for mouse click Message-ID: Hi All, I am in the process of designing an experiment that will be run on a touch screen tablet. I want an short audio file to play when participants touch the screen. I know I am able to use the feedback slide to do this but there are 10+ tasks each with many many slides which would need feedback and as such it would be a very messy way of doing it. I am on the hunt for a neater way. I am a coding novice but have been programming conditional statements and hittests as part of the experiment and was wondering if there was a bit of code I can use that will play an audio clip if the mouse response > 0? I have been playing around with trying to this but I am not sure if there are things I need to define before I can do something like: If mouse.RESP > "0" Then AudioFile.Play All and any help would be much appreciated. Cheers, 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 baltimore.ben at gmail.com Wed Aug 3 01:01:24 2011 From: baltimore.ben at gmail.com (ben robinson) Date: Tue, 2 Aug 2011 21:01:24 -0400 Subject: Conditional: progression error In-Reply-To: Message-ID: i think the problem might be here: Else ManSun4.RESP = "e" Then maybe you meant to type ElseIf ManSun4.RESP = "e" Then the Else statement (not elseif) we be a line unto itself. it's a catch-all, not a single case kinda deal. so alternatively you might have meant to type Else EndExperimentTempList.Run c End If On Tue, Aug 2, 2011 at 7:36 PM, KarisaP wrote: > Hey all, > > I am having a hard time convincing eprime that it really does want to > do the following script. I have used something that is pretty much > identical in another experiment without any hiccups but for some > reason eprime is getting upset with the following: > > If ManSun4.RESP = "y" Then > MoonPracProc.Run c > Elseif ManSun4.RESP = "n" Then > FISTTempList.Run c > Else ManSun4.RESP = "e" Then > EndExperimentTempList.Run c > End If > > I keep getting the following error message > > Encountered: Then > Expecting: ':', end of line. > > Any idea what the problem is and how to fix it? > > -- > 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. > > -- 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 pfc.groot at gmail.com Wed Aug 3 09:30:00 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Wed, 3 Aug 2011 11:30:00 +0200 Subject: audio feedback for mouse click In-Reply-To: <46cbe66e-21f9-4e34-975d-a0ebc2e7efaf@e35g2000yqc.googlegroups.com> Message-ID: Hi Becky, If the mouse responses are collected by the slide objects, this might be a non-trivial task to do with a single piece of script. The most straigtforward construction would be something like this: if Len(Slide1.RESP)>0 Set SoundOut1SoundBuffer = SoundOut1.Buffers(1) SoundOut1.Run end But if you do it like this, you will have to create a new inline script for each unique Slide because the Slide-variable will be different each time. Even if the audio clip ittself doesn't change. As a workaround you could place the SoundOut object immediately after the slides and collect the response with the SoundOut object itself. The slide should not collect the responses in this case and have a duration of zero. This would only be acceptable if RT's are not critical and all response windows have the same duration. (Sidenote: RT's on touch screens are not very accurate anyway.) Also, if there are several 'clickable' slides on a single procedure, things become more complicated if you wan't to log all responses. NB. Having lots of copies of similar slides within the same experiment is (in most cases) an indication of a less-optimal (already messy) script. cheers Paul 2011/8/3 Becky Clements : > Hi All, > > I am in the process of designing an experiment that will be run on a > touch screen tablet. I want an short audio file to play when > participants touch the screen. I know I am able to use the feedback > slide to do this but there are 10+ tasks each with many many slides > which would need feedback and as such it would be a very messy way of > doing it. I am on the hunt for a neater way. I am a coding novice but > have been programming conditional statements and hittests as part of > the experiment and was wondering if there was a bit of code I can use > that will play an audio clip if the mouse response > 0? I have been > playing around with trying to this but I am not sure if there are > things I need to define before I can do something like: > > If mouse.RESP > "0" Then > > AudioFile.Play > > All and any help would be much appreciated. > > Cheers, > > 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. > > -- 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 cobwebfaery at gmail.com Wed Aug 3 13:29:56 2011 From: cobwebfaery at gmail.com (Becky Clements) Date: Wed, 3 Aug 2011 06:29:56 -0700 Subject: audio feedback for mouse click In-Reply-To: Message-ID: Hi Paul, The experiment is a bit convoluted due to there being many contingency elements during the practice phase of each of the tasks. I am working on tidying it up but as a novice getting it to work is my current priority as I learn more I hope I will be able to streamline things. One thing I forgot to mention in my initial post which is probably quite important is that each of the slides has a unique audio file that is either instructions or feedback to the participant it is in addition to these audio files, which must be there, that I need there to be a beep when participants touch the screen. I was wondering if you knew anyway of having in the user script, which would cover all of the task with in the experiment I am designing, code to have a 'beep' when participants make a mouse response. Thanks for helping. Cheers, Becky On Aug 3, 6:30 am, Paul Groot wrote: > Hi Becky, > > If the mouse responses are collected by the slide objects, this might > be a non-trivial task to do with a single piece of script. The most > straigtforward construction would be something like this: > > if Len(Slide1.RESP)>0 >   Set SoundOut1SoundBuffer = SoundOut1.Buffers(1) >   SoundOut1.Run > end > > But if you do it like this, you will have to create a new inline > script for each unique Slide because the Slide-variable will be > different each time. Even if the audio clip ittself doesn't change. > > As a workaround you could place the SoundOut object immediately after > the slides and collect the response with the SoundOut object itself. > The slide should not collect the responses in this case and have a > duration of zero. This would only be acceptable if RT's are not > critical and all response windows have the same duration. (Sidenote: > RT's on touch screens are not very accurate anyway.) Also, if there > are several 'clickable' slides on a single procedure, things become > more complicated if you wan't to log all responses. NB. Having lots of > copies of similar slides within the same experiment is (in most cases) > an indication of a less-optimal (already messy) script. > > cheers > Paul > > 2011/8/3 Becky Clements : > > > > > > > > > Hi All, > > > I am in the process of designing an experiment that will be run on a > > touch screen tablet. I want an short audio file to play when > > participants touch the screen. I know I am able to use the feedback > > slide to do this but there are 10+ tasks each with many many slides > > which would need feedback and as such it would be a very messy way of > > doing it. I am on the hunt for a neater way. I am a coding novice but > > have been programming conditional statements and hittests as part of > > the experiment and was wondering if there was a bit of code I can use > > that will play an audio clip if the mouse response > 0? I have been > > playing around with trying to this but I am not sure if there are > > things I need to define before I can do something like: > > > If mouse.RESP > "0" Then > > > AudioFile.Play > > > All and any help would be much appreciated. > > > Cheers, > > > 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. -- 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 baltimore.ben at gmail.com Wed Aug 3 15:38:13 2011 From: baltimore.ben at gmail.com (ben robinson) Date: Wed, 3 Aug 2011 11:38:13 -0400 Subject: audio feedback for mouse click In-Reply-To: <472739a3-63cc-43bb-a5ad-89e456d3229e@a12g2000vbf.googlegroups.com> Message-ID: if you just need a beep i might suggest using the built-in beep available on pcs. after each slide that collects a mouse click you could write something like this: If PreviousSlide.RESP <> "" Then Beep i think that should work. On Wed, Aug 3, 2011 at 9:29 AM, Becky Clements wrote: > Hi Paul, > > The experiment is a bit convoluted due to there being many contingency > elements during the practice phase of each of the tasks. I am working > on tidying it up but as a novice getting it to work is my current > priority as I learn more I hope I will be able to streamline things. > One thing I forgot to mention in my initial post which is probably > quite important is that each of the slides has a unique audio file > that is either instructions or feedback to the participant it is in > addition to these audio files, which must be there, that I need there > to be a beep when participants touch the screen. I was wondering if > you knew anyway of having in the user script, which would cover all of > the task with in the experiment I am designing, code to have a 'beep' > when participants make a mouse response. Thanks for helping. > > Cheers, > > Becky > > > On Aug 3, 6:30 am, Paul Groot wrote: > > Hi Becky, > > > > If the mouse responses are collected by the slide objects, this might > > be a non-trivial task to do with a single piece of script. The most > > straigtforward construction would be something like this: > > > > if Len(Slide1.RESP)>0 > > Set SoundOut1SoundBuffer = SoundOut1.Buffers(1) > > SoundOut1.Run > > end > > > > But if you do it like this, you will have to create a new inline > > script for each unique Slide because the Slide-variable will be > > different each time. Even if the audio clip ittself doesn't change. > > > > As a workaround you could place the SoundOut object immediately after > > the slides and collect the response with the SoundOut object itself. > > The slide should not collect the responses in this case and have a > > duration of zero. This would only be acceptable if RT's are not > > critical and all response windows have the same duration. (Sidenote: > > RT's on touch screens are not very accurate anyway.) Also, if there > > are several 'clickable' slides on a single procedure, things become > > more complicated if you wan't to log all responses. NB. Having lots of > > copies of similar slides within the same experiment is (in most cases) > > an indication of a less-optimal (already messy) script. > > > > cheers > > Paul > > > > 2011/8/3 Becky Clements : > > > > > > > > > > > > > > > > > Hi All, > > > > > I am in the process of designing an experiment that will be run on a > > > touch screen tablet. I want an short audio file to play when > > > participants touch the screen. I know I am able to use the feedback > > > slide to do this but there are 10+ tasks each with many many slides > > > which would need feedback and as such it would be a very messy way of > > > doing it. I am on the hunt for a neater way. I am a coding novice but > > > have been programming conditional statements and hittests as part of > > > the experiment and was wondering if there was a bit of code I can use > > > that will play an audio clip if the mouse response > 0? I have been > > > playing around with trying to this but I am not sure if there are > > > things I need to define before I can do something like: > > > > > If mouse.RESP > "0" Then > > > > > AudioFile.Play > > > > > All and any help would be much appreciated. > > > > > Cheers, > > > > > 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. > > -- > 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. > > -- 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 Michiel.Spape at nottingham.ac.uk Wed Aug 3 16:03:51 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Wed, 3 Aug 2011 17:03:51 +0100 Subject: audio feedback for mouse click In-Reply-To: Message-ID: Hiya, Just a word of caution on that last suggestion (although I agree, the pc speaker - if it is actually connected - is groovy): "Under no circumstance should this be used for real-time access." says e-basic help. In many cases, you don't need brilliant timing, of course... Best, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of ben robinson Sent: 03 August 2011 16:38 To: e-prime at googlegroups.com Subject: Re: audio feedback for mouse click if you just need a beep i might suggest using the built-in beep available on pcs. after each slide that collects a mouse click you could write something like this: If PreviousSlide.RESP <> "" Then Beep i think that should work. On Wed, Aug 3, 2011 at 9:29 AM, Becky Clements > wrote: Hi Paul, The experiment is a bit convoluted due to there being many contingency elements during the practice phase of each of the tasks. I am working on tidying it up but as a novice getting it to work is my current priority as I learn more I hope I will be able to streamline things. One thing I forgot to mention in my initial post which is probably quite important is that each of the slides has a unique audio file that is either instructions or feedback to the participant it is in addition to these audio files, which must be there, that I need there to be a beep when participants touch the screen. I was wondering if you knew anyway of having in the user script, which would cover all of the task with in the experiment I am designing, code to have a 'beep' when participants make a mouse response. Thanks for helping. Cheers, Becky On Aug 3, 6:30 am, Paul Groot > wrote: > Hi Becky, > > If the mouse responses are collected by the slide objects, this might > be a non-trivial task to do with a single piece of script. The most > straigtforward construction would be something like this: > > if Len(Slide1.RESP)>0 > Set SoundOut1SoundBuffer = SoundOut1.Buffers(1) > SoundOut1.Run > end > > But if you do it like this, you will have to create a new inline > script for each unique Slide because the Slide-variable will be > different each time. Even if the audio clip ittself doesn't change. > > As a workaround you could place the SoundOut object immediately after > the slides and collect the response with the SoundOut object itself. > The slide should not collect the responses in this case and have a > duration of zero. This would only be acceptable if RT's are not > critical and all response windows have the same duration. (Sidenote: > RT's on touch screens are not very accurate anyway.) Also, if there > are several 'clickable' slides on a single procedure, things become > more complicated if you wan't to log all responses. NB. Having lots of > copies of similar slides within the same experiment is (in most cases) > an indication of a less-optimal (already messy) script. > > cheers > Paul > > 2011/8/3 Becky Clements >: > > > > > > > > > Hi All, > > > I am in the process of designing an experiment that will be run on a > > touch screen tablet. I want an short audio file to play when > > participants touch the screen. I know I am able to use the feedback > > slide to do this but there are 10+ tasks each with many many slides > > which would need feedback and as such it would be a very messy way of > > doing it. I am on the hunt for a neater way. I am a coding novice but > > have been programming conditional statements and hittests as part of > > the experiment and was wondering if there was a bit of code I can use > > that will play an audio clip if the mouse response > 0? I have been > > playing around with trying to this but I am not sure if there are > > things I need to define before I can do something like: > > > If mouse.RESP > "0" Then > > > AudioFile.Play > > > All and any help would be much appreciated. > > > Cheers, > > > 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. -- 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. -- 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From baltimore.ben at gmail.com Wed Aug 3 17:51:33 2011 From: baltimore.ben at gmail.com (ben robinson) Date: Wed, 3 Aug 2011 13:51:33 -0400 Subject: audio feedback for mouse click In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92F8153D72B@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: good to know, thanks. On Wed, Aug 3, 2011 at 12:03 PM, Michiel Spape < Michiel.Spape at nottingham.ac.uk> wrote: > Hiya,**** > > Just a word of caution on that last suggestion (although I agree, the pc > speaker – if it is actually connected – is groovy): “Under no circumstance > should this be used for real-time access.” says e-basic help. In many cases, > you don’t need brilliant timing, of course…**** > > Best,**** > > Mich**** > > ** ** > > ** ** > > *Michiel Spapé* > > *Research Fellow* > > *Perception & Action group* > > *University of Nottingham* > > *School of Psychology* > > *www.cognitology.eu*** > > ** ** > > *From:* e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] *On > Behalf Of *ben robinson > *Sent:* 03 August 2011 16:38 > *To:* e-prime at googlegroups.com > *Subject:* Re: audio feedback for mouse click**** > > ** ** > > if you just need a beep i might suggest using the built-in beep available > on pcs.**** > > after each slide that collects a mouse click you could write something like > this:**** > > If PreviousSlide.RESP <> "" Then Beep**** > > i think that should work.**** > > On Wed, Aug 3, 2011 at 9:29 AM, Becky Clements > wrote:**** > > Hi Paul, > > The experiment is a bit convoluted due to there being many contingency > elements during the practice phase of each of the tasks. I am working > on tidying it up but as a novice getting it to work is my current > priority as I learn more I hope I will be able to streamline things. > One thing I forgot to mention in my initial post which is probably > quite important is that each of the slides has a unique audio file > that is either instructions or feedback to the participant it is in > addition to these audio files, which must be there, that I need there > to be a beep when participants touch the screen. I was wondering if > you knew anyway of having in the user script, which would cover all of > the task with in the experiment I am designing, code to have a 'beep' > when participants make a mouse response. Thanks for helping. > > Cheers, > > Becky**** > > > > On Aug 3, 6:30 am, Paul Groot wrote: > > Hi Becky, > > > > If the mouse responses are collected by the slide objects, this might > > be a non-trivial task to do with a single piece of script. The most > > straigtforward construction would be something like this: > > > > if Len(Slide1.RESP)>0 > > Set SoundOut1SoundBuffer = SoundOut1.Buffers(1) > > SoundOut1.Run > > end > > > > But if you do it like this, you will have to create a new inline > > script for each unique Slide because the Slide-variable will be > > different each time. Even if the audio clip ittself doesn't change. > > > > As a workaround you could place the SoundOut object immediately after > > the slides and collect the response with the SoundOut object itself. > > The slide should not collect the responses in this case and have a > > duration of zero. This would only be acceptable if RT's are not > > critical and all response windows have the same duration. (Sidenote: > > RT's on touch screens are not very accurate anyway.) Also, if there > > are several 'clickable' slides on a single procedure, things become > > more complicated if you wan't to log all responses. NB. Having lots of > > copies of similar slides within the same experiment is (in most cases) > > an indication of a less-optimal (already messy) script. > > > > cheers > > Paul > >**** > > > 2011/8/3 Becky Clements :**** > > > > > > > > > > > > > > > > > > Hi All, > > > > > I am in the process of designing an experiment that will be run on a > > > touch screen tablet. I want an short audio file to play when > > > participants touch the screen. I know I am able to use the feedback > > > slide to do this but there are 10+ tasks each with many many slides > > > which would need feedback and as such it would be a very messy way of > > > doing it. I am on the hunt for a neater way. I am a coding novice but > > > have been programming conditional statements and hittests as part of > > > the experiment and was wondering if there was a bit of code I can use > > > that will play an audio clip if the mouse response > 0? I have been > > > playing around with trying to this but I am not sure if there are > > > things I need to define before I can do something like: > > > > > If mouse.RESP > "0" Then > > > > > AudioFile.Play > > > > > All and any help would be much appreciated. > > > > > Cheers, > > > > > 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.**** > > > -- > 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.**** > > ** ** > > -- > 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. > -- 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 zhallez at gmail.com Thu Aug 4 19:46:03 2011 From: zhallez at gmail.com (HalleZ) Date: Thu, 4 Aug 2011 12:46:03 -0700 Subject: Randomized selection of stimuli across trials Message-ID: Hello, I am trying to program an experiment where I have three different words presented on each trial. I would like ePrime to uniquely select, without replacement across trials in a single session, the three words that get combined into a single trial so that this triplet is unique for each person. Currently, I have a separate text object in my TrialProcedure for each word (Word1, Word 2, Word3) with each of these text objects pulling from the same list ("Words") of all of my words (so, on each text object it pulls the attribute [Word] from the "Words" list). In my list object called "Words" where all of my stimuli are listed, I have the properties set so that the selection method is "random" (i.e., without replacement). However, ePrime pulls the same words within a trial (so, people might see "cat", "dog", "cat" but what I want them to see is three unique words like "cat", "dog", "bunny"). What did I do wrong? Is this property of no replacement only applied across trials? Thanks for the help! -Halle -- 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 jasoncraggs at gmail.com Fri Aug 5 19:06:19 2011 From: jasoncraggs at gmail.com (Jason Craggs) Date: Fri, 5 Aug 2011 15:06:19 -0400 Subject: Tips needed for tweaking the standard likert scale script In-Reply-To: <9a4968a6-a235-4290-8ac4-8f7bf16715df@l28g2000yqc.googlegroups.com> Message-ID: Hi Micah, I am sorry for joining this thread so late. I've been working on a similar situation and was wondering if you'd mind sharing what you've developed? Attached, are a couple of files I've been working with including, and inline VAS.vbs script, and some e-prime protocols that use it. The last includes IFIS calls. I am curious to know your thoughts on the attached files and what you've come up with. Cheers, Jason On Thu, Jul 21, 2011 at 2:25 PM, Micah wrote: > Woohoo! It actually works to add a textdisplay that inherits duration > from the scale stimulus. So now it works perfectly; it times out after > 6 seconds, which makes the "ISI" 0 duration, or it waits for 6- > duration. So the scale can never take longer than 6 seconds, making a > nice neat paradigm. I've also got it logging non-responses (in case > the participant falls asleep) although have not yet come up with a > solution for "confirmed" responses. Is there a wildcard variable in e- > basic? If so I could do a check like, if stimulus.RESP = *3* then > confirmed =1. Otherwise I may have to write a post-scan matlab script > to search for any responses not containing "3", which is a blah > solution. > > Tak, > Micah > > On Jul 21, 8:07 pm, Micah wrote: > > Great advice- there are a few problems however; > > > > 1. The second solution actually breaks the slider. It appears if you > > set the duration in the properties page, this prevents the loop from > > "animating" the slider properly. It just stays stuck at the default > > position and then selects that as the rating when the duration runs > > out. I can't figure this one out, so on to solution 1 > > > > 2. Inserting that line of code does not seem to do anything. To make > > sure, I set the duration variable to 10000, and it was terminating > > instantly after making a selection. > > > > I'm thinking that the best option might be to put a textobject > > immediately after the slideobject (i.e. "Stimulus") that presents the > > scale, where the duration is set to 6000-stimulus.duration. I'll see > > if I can do that now. > > > > P.S. I can easily log non-responses, but it's trickier to log > > responses where they move the slider but never confirm. The .resp show > > sup as (for example) =11223, or =11113 for confirmed responses, but > > =1112 etc for non-confirmed. Is there a function to search a stored > > variable for a specific number? I tried setting the "allowed" in the > > advanced collection options to [allowed], where allowed is a list > > variable with 3 in each row. This would have been perfect, as if it > > only logs "3"s then I have my solution. Seems weird they give us this > > option if it doesn't work (it didn't seem to change the logs at all). > > > > BW, > > Micah > > > > On Jul 21, 7:37 pm, David McFarlane wrote: > > > > > > > > > > > > > > > > > Micah, > > > > > 1. Indeed, you do need to "make some kind of check, so that if it > > > times out, it sets the value to NaN/etc." I think you can manage > > > that without me. > > > > > 2. Oops. First, I have to correct something I implied about my > > > second solution (PreRelease >= Duration), namely, the second solution > > > should already solve what you want to do here. The second solution > > > would have been a problem if you *did* want a response to move on to > > > the next stimulus. Even after the offset of a stimulus, the next > > > stimulus will not run until it reaches the NextTargetOnsetTime (see > > > the GetNextTargetOnsetTime and SetNextTargetOnsetTime topics in the > > > E-Basic Help facility). (This, BTW, is how PreRelease > > > works.) Because the second solution automatically sets > > > NextTargetOnsetTime to, say, 6000 ms from the OnsetTime (or > > > TargetOnsetTime, depending on Timing mode) of the scale, even after > > > the scale code loop ends the next stimulus will not run until it > > > reaches that NextTargetOnsetTime. Savvy? Better yet, try this and > > > see if I know what I am talking about :). > > > > > But back to the first solution. Your modification is what almost > > > anyone would come up with and in many cases is Good Enough, although > > > you may get some slop of a ms or so every once in a while. If you > > > still want something a little tidier, and absolutely precise, then > > > instead of a Sleep, I would simply do one of the following (depending > > > on desired Timing mode) at *any* time either before or after the loop: > > > > > SetNextTargetOnsetTime Stimulus.OnsetTime + Stimulus.Duration ' use > > > this for Event timing mode > > > > > - or - > > > > > SetNextTargetOnsetTime Stimulus.TargetOnsetTime + > > > Stimulus.Duration ' use this for Cumulativetiming mode > > > > > If you followed the earlier discussion, you will see that this just > > > expictly does in code what E-Prime would have done for you > > > automatically using the second solution. As a result, I much prefer > > > following the second approach myself, leveraging the features built > > > into E-Prime, but that does require deeper understanding of the > > > architecture of E-Prime. Mere mortals must stick with the first > > > approach and write more code. > > > > > -- David McFarlane, Professional Faultfinder > > > > > >Thank you Todd [sic -- should be David]! That's an excellent > > > >solution. I knew I'd need to > > > >somehow do a clock read and feed that into the loop, but I wasn't able > > > >to quite get there. Not to tax you, but there are two unresolved > > > >issues with this solution- > > > > > >1. The scale now records wherever the 'slider' is when the time limit > > > >ends. I think it's probably much safer to record these as no response, > > > >and I'm not sure how to manipulate the loop do so. I need to make some > > > >kind of check, so that if it times out, it sets the value to NaN/etc. > > > > > >2. The scale still ends immediately if a response is made. I've worked > > > >out a way to stop that- by adding: > > > > > >dim responsetime as integer > > > > > >....... (the loop) > > > > > >...bottom of the inline: > > > > > >responsetime=Stimulus.RT > > > > > >Sleep 6000-response time > > > > > >However, I don't think that is compatible with your solution. > > > > > >BW, > > > >Micah > > > > > >On Jul 21, 5:59 pm, David McFarlane wrote: > > > > > Stock reminder: 1) I do not work for PST. 2) PST's trained staff > > > > > takes any and all questions > > > > athttp://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... > > > > > > > Try replacing > > > > > > > Do While Stimulus.InputMasks.IsPending() > > > > > ... > > > > > > > with something like > > > > > > > Const StimulusDur as Long = 6000 > > > > > Dim StimulusTargetOffsetTime as Long > > > > > StimulusTargetOffsetTime = Clock.Read + StimulusDur > > > > > Do While (Stimulus.InputMasks.IsPending() and _ > > > > > (Clock.Read < StimulusTargetOffsetTime) ) > > > > > ... > > > > > > > Alternatively, if you prefer to set stimulus duration in its > Property > > > > > Pages instead of with an InLine constant, then set both Duration > and > > > > > PreRelease to 6000 (in this case), and E-Prime will automatically > > > > > compute the TargetOffsetTime for you, so the code simplifies to > > > > something like > > > > > > > Do While (Stimulus.InputMasks.IsPending() and _ > > > > > (Clock.Read < Stimulus.TargetOffsetTime) ) > > > > > ... > > > > > > > Of course, you will find confusion either way. For the first way, > > > > > any time you want to change stimulus duration you will have to > > > > > remember to dive into the code. For the second way, you can change > > > > > stimulus Duration in the normal way, but then you have to remember > to > > > > > always change PreRelease to the same thing (or, be daring and set > > > > > PreRelease to some one enormous value, but not so large that > > > > > TargetOnsetTime + Duration - PreRelease ever becomes negative!). > > > > > > > -- David McFarlane, Professional Faultfinder > > > > > ... six of one and half dozen of the other, you pays your money and > > > > > takes your choice. > > > > > > > >I've got an fMRI paradigm that is almost finished. I've embedded a > > > > > >customized version of the likert script, and could use a little > help > > > > > >with a simple tweak. I'm a moderately skilled e-basic coder, so if > you > > > > > >can suggest a general strategy, I can probably implement it. As it > is > > > > > >coded now, the likert scale waits for a response before closing. > The > > > > > >actual slideobject it draws to has 0 duration, and as far as I can > > > > > >tell, the script simply stops the the slide once a response is > given. > > > > > >I'd like to ensure that there is a time limit for the response, so > > > > > >that the total possible time to respond is 6 seconds. I.e. if a > > > > > >participant answers in 2 seconds, there would be 4 seconds of > fixation > > > > > >following the answer, before moving on. I much appreciate any tips > you > > > > > >can lend. > > > > > > > >Here is the inline that controls the Likert scale: > > > > > > > >'Declare a variable for accessing each SlideText object and > changing > > > > > >properties. > > > > > >Dim theSlideText As SlideText > > > > > > > >Dim strName As String > > > > > >Dim nLastResponseCount As Integer > > > > > >nLastResponseCount = 0 > > > > > > > >Dim nNextMoveTime As Long > > > > > > > >Dim strLastResponse As String > > > > > > > >Dim boolMove As Boolean > > > > > >boolMove = False > > > > > > > >Dim theKeyboardResponseData As KeyboardResponseData > > > > > > > >Do While Stimulus.InputMasks.IsPending() > > > > > > > > 'Was there a response? > > > > > > If Stimulus.InputMasks.Responses.Count > > nLastResponseCount Then > > > > > > > > nLastResponseCount = nLastResponseCount +1 > > > > > > > > Set theKeyboardResponseData = > > > > > > >CKeyboardResponseData(Stimulus.InputMasks.Responses(nLastResponseCount)) > > > > > > > > If theKeyboardResponseData.RESP = "2" Then > > > > > > > > 'Subject has already selected the highest > rating. > > > > > > If intCurrent < 7 Then > > > > > > > > 'Increment the current selection. > > > > > > intPrevious = intCurrent > > > > > > intCurrent = intCurrent + 1 > > > > > > > > 'Change border color of > previously > > > > > > selected box back to white, > > > > > >change border > > > > > > 'color of currently selected box > to red. > > > > > > strName = "Text" & intPrevious > > > > > > Set theSlideText = > > > > > >CSlideText(Stimulus.States.Item("Default").Objects(strName)) > > > > > > theSlideText.BorderColor = > > > > CColor("white") > > > > > > > > strName = "Text" & intCurrent > > > > > > Set theSlideText = > > > > > >CSlideText(Stimulus.States.Item("Default").Objects(strName)) > > > > > > > > > > ... > > > > read more » > > -- > 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. > > -- 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: RatePictures.zip Type: application/zip Size: 59627 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Testing_v3.zip Type: application/zip Size: 447144 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: VAS_inlineScript.RENAME_to_vbs.zip Type: application/zip Size: 3060 bytes Desc: not available URL: From eliskim at gmail.com Fri Aug 5 20:47:28 2011 From: eliskim at gmail.com (Eli) Date: Fri, 5 Aug 2011 13:47:28 -0700 Subject: Setting list object's reset/terminate condition to number of rows in loaded text file Message-ID: Hi all. My design plays several different series of movies, each of a different length. I've created a single list object, which I use multiple times, once for each series of movies (listed in tab- separated text files). Each different series has a different number of movies. But I'm having trouble getting my list object to change its terminateCondition (or resetCondition) to reflect each newly loaded text file's length. I've tried doing the following (based on a blog post I saw here ) If listfilename$ <> "" Then List1.LoadMethod = ebLoadMethodFile List1.Filename = listfilename$ List1.Load List1.Reset Set List1.TerminateCondition = Cycles(1) Set List1.ResetCondition = Samples(List1.Deletion.Count) else MsgBox("Incorrect list file chosen") end if But I don't really understand what the Deletion object is. So instead I tried Set List1.ResetCondition = Samples(List1.Size) The problem with this is that Size seems to change unpredictably each time I load a different text file. Is there a way to clear all properties of a list object at the point of loading each next text file, so that the list object's size reflects the number of rows in each loaded text file? Or is there another way to get each text file's number of rows into a list object's ResetCondition? Thanks! Eli -- 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 giladsabo at gmail.com Sun Aug 7 14:51:28 2011 From: giladsabo at gmail.com (gilis) Date: Sun, 7 Aug 2011 07:51:28 -0700 Subject: Having text as input Message-ID: Dear all, I have an experiment in which participants input is text (i.e., words), I wonder how can I set the program to receive this input without using text box..Any help would be appreciated. Regards Gili -- 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 pfc.groot at gmail.com Mon Aug 8 07:22:43 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Mon, 8 Aug 2011 09:22:43 +0200 Subject: Having text as input In-Reply-To: <0ab9ba99-0bcb-43d6-8090-362ab6368119@d7g2000vbv.googlegroups.com> Message-ID: Hi Gili, You can any E-Object (i.e. Slide, ImageDisplay, TextDisplay, ...) with an input mask that accepts multiple responses. Just add a keyboard device to the object and click the advanced button. Then enter the maximum characters allowed and a termination response (i.e. {ENTER}) and you're done. If you also would like to have visual feedback of the typed characters then you should add a display object to the echo tab. best, paul 2011/8/7 gilis : > Dear all, > > I have an experiment in which participants input is text (i.e., > words), I wonder how can I set the program to receive this input > without using text box..Any help would be appreciated. > > Regards > Gili > > -- > 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. > > -- 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 pfc.groot at gmail.com Mon Aug 8 08:13:12 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Mon, 8 Aug 2011 10:13:12 +0200 Subject: Randomized selection of stimuli across trials In-Reply-To: <4dca0697-d16e-44cf-83dd-5f897cfc1b5c@a12g2000vbf.googlegroups.com> Message-ID: Hi Halle, You probably would like to use a separate Word list and include it as nested list in your TrialList. Then add 3 separate attributes in the trial list (Word1, Word2, Word3). The values of these attributes are resp. [Word:0], [Word:1], [Word:2] (all trials the same). These will pull 3 random words from the nested Word list and copy the values to the attributes: Word1, Word2, Word3. Then use these 3 attributes in your display objects as usual (i.e. resp [Word1], [Word2], [Word3]). That should do it... The attached EPrime 1.2 example demonstrates this mechanism. (You can also import this script in EPrime 2) Best, Paul 2011/8/4 HalleZ : > Hello, > > I am trying to program an experiment where I have three different > words presented on each trial. I would like ePrime to uniquely select, > without replacement across trials in a single session, the three words > that get combined into a single trial so that this triplet is unique > for each person. Currently, I have a separate text object in my > TrialProcedure for each word (Word1, Word 2, Word3) with each of these > text objects pulling from the same list ("Words") of all of my words > (so, on each text object it pulls the attribute [Word] from the > "Words" list). In my list object called "Words" where all of my > stimuli are listed, I have the properties set so that the selection > method is "random" (i.e., without replacement). However, ePrime pulls > the same words within a trial (so, people might see "cat", "dog", > "cat" but what I want them to see is three unique words like "cat", > "dog", "bunny"). What did I do wrong? Is this property of no > replacement only applied across trials? > > Thanks for the help! > > -Halle > > -- > 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. > > -- 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 -------------- A non-text attachment was scrubbed... Name: MultipleValuesFromNestedList.es Type: application/octet-stream Size: 12234 bytes Desc: not available URL: From giladsabo at gmail.com Mon Aug 8 09:20:16 2011 From: giladsabo at gmail.com (gilis) Date: Mon, 8 Aug 2011 02:20:16 -0700 Subject: Having text as input In-Reply-To: Message-ID: Sure Paul, and thanks very much-however, I forgot to add one detail that change the entire question, I want Eprime to receive text which is not written in Latin letters..Now how can I do that ? On Aug 8, 10:22 am, Paul Groot wrote: > Hi Gili, > > You can any E-Object (i.e. Slide, ImageDisplay, TextDisplay, ...) with > an input mask that accepts multiple responses. Just add a keyboard > device to the object and click the advanced button. Then enter the > maximum characters allowed and a termination response (i.e. {ENTER}) > and you're done. If you also would like to have visual feedback of the > typed characters then you should add a display object to the echo tab. > > best, > paul > > 2011/8/7 gilis : > > > > > > > > > Dear all, > > > I have an experiment in which participants input is text (i.e., > > words), I wonder how can I set the program to receive this input > > without using text box..Any help would be appreciated. > > > Regards > > Gili > > > -- > > 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. -- 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 pfc.groot at gmail.com Mon Aug 8 13:15:59 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Mon, 8 Aug 2011 15:15:59 +0200 Subject: Having text as input In-Reply-To: Message-ID: Well, using non-ASCII text is unexplored territory for me, so I'm afraid I can't help here... I know EP2 has some support for displaying UNICODE text, but I guess the interpretation of magic keystrokes for non-ASCII characters is not build-in. 2011/8/8 gilis : > Sure Paul, and thanks very much-however, I forgot to add one detail > that change the entire question, I want Eprime to receive text which > is not written in Latin letters..Now how can I do that ? > On Aug 8, 10:22 am, Paul Groot wrote: -- 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 giladsabo at gmail.com Mon Aug 8 15:59:35 2011 From: giladsabo at gmail.com (gilis) Date: Mon, 8 Aug 2011 08:59:35 -0700 Subject: Having text as input In-Reply-To: Message-ID: Thanks anyway :) On Aug 8, 4:15 pm, Paul Groot wrote: > Well, using non-ASCII text is unexplored territory for me, so I'm > afraid I can't help here... > I know EP2 has some support for displaying UNICODE text, but I guess > the interpretation of magic keystrokes for non-ASCII characters is not > build-in. > > 2011/8/8 gilis : > > > > > > > > > Sure Paul, and thanks very much-however, I forgot to add one detail > > that change the entire question, I want Eprime to receive text which > > is not written in Latin letters..Now how can I do that ? > > On Aug 8, 10:22 am, Paul Groot wrote: -- 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 pquain at une.edu.au Mon Aug 8 23:01:24 2011 From: pquain at une.edu.au (Peter Quain) Date: Tue, 9 Aug 2011 09:01:24 +1000 Subject: Having text as input In-Reply-To: <666e7604-f2af-4426-acc5-3441e06da353@a10g2000yqn.googlegro ups.com> Message-ID: Searched my e-prime list mailbox for old question about 'Hebrew' fonts: Thread-Url: http://groups.google.com/group/e-prime/t/46ff1dc45ff81cb2 -------DKM's reply includes PST reply to poster ------------------------------ Yoed, Thanks for getting and posting the reply from PST. I wonder if any of the alternatives to E-Prime (e.g., Presentation, http://www.neurobs.com ) could do a better job of handling non-English input? -- David McFarlane, Professional Faultfinder >i have actually taken this up with PST and late last night i got an >answer - the short version of it is no. attaching below the answer i >got from them, thanks everyone for their help in this issue! > >++++ > >Yoed, > >Are you using E-Prime v1.x or E-Prime 2.0? While E-Prime 2.0 is >supported by the English/Western European versions of Windows XP and >Vista, this really only applies to text that is displayed by the >objects. That is, while the "Text" property of a TextDisplay will >accept foreign characters, the other properties (including .Input >and its related echo properties) will not. All non-English >characters or accents will go unrecognized by E-Prime in the >responses and in the text that is echoed to the screen. > >E-Prime 2.0 has resolved this to some degree by allowing non-English >fonts to appear as responses in the data file (i.e., UNICODE fonts >are permitted). However, the echo client will still only display >English and the responses themselves will still be based on the >QWERTY keyboard. You could get around this by manually echoing the >subject's responses to the screen. For example, you could take the >subject's input and then convert it to Hebrew in script, and then >display this on screen (e.g., if the semicolon key is pressed, >convert this to a specific character and display it on screen, etc). >However, this can be fairly script intensive and would require that >the Hebrew characters appear correctly in TextDisplay objects and/or >Slide objects and appear correctly in InLine objects. If you are >interested, I would recommend taking a look at >SAMPLE:Process >Responses Template for an example of how to change what is displayed >on screen based on the subject's responses. > >Please let me know if you have any further questions. -------------------------------------------------------------------- At 01:59 AM 9/08/2011, you wrote: >Thanks anyway :) > >On Aug 8, 4:15 pm, Paul Groot wrote: > > Well, using non-ASCII text is unexplored territory for me, so I'm > > afraid I can't help here... > > I know EP2 has some support for displaying UNICODE text, but I guess > > the interpretation of magic keystrokes for non-ASCII characters is not > > build-in. > > > > 2011/8/8 gilis : > > > > > > > > > > > > > > > > > Sure Paul, and thanks very much-however, I forgot to add one detail > > > that change the entire question, I want Eprime to receive text which > > > is not written in Latin letters..Now how can I do that ? > > > On Aug 8, 10:22 am, Paul Groot wrote: > >-- >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. -- 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 grisha20112011 at gmail.com Tue Aug 9 08:17:16 2011 From: grisha20112011 at gmail.com (Grisha R) Date: Tue, 9 Aug 2011 13:47:16 +0530 Subject: help desperately needed Message-ID: Hello, I’ve been struggling in vain to design an experiment in e-prime since last several days. The problem is that I have absolutely no background in programming or computer science. I’m pleading you for help. Here is the design: To get blue color participant presses left-arrow key and to get red color he presses right-arrow key; he can press either key as per his wish. There are total two hundred trials. Of the total left-arrow key presses for blue, only 50% of the times he gets blue color, whereas remaining 50% of the time he gets the other color, that is, red. In the 50% blue that he is getting, half are blue squares and the remaining half are blue circles; and in the other 50% yellow, half are yellow squares and the remaining half are yellow circles. Same for right-arrow key presses for yellow: that is, of the total right-arrow key presses only 50% get him yellow color and the remaining 50% get him the other color, that is, blue. Of the total yellow, half should be yellow squares and the half should be yellow circles; and of the total blue, half should be blue squares and the other half should be blue circles. The participant reports the shape (whether he saw square or circle, and not the color) by pressing an appropriate key (say, upward-arrow key for square and the downward-arrow key for circle). The appearances of stimuli should be randomized for each key-press. The percentages should be maintained close to [75% and 25%] and [50% and 50% for squares and circles] (as mentioned above) following each key-press. The time duration for making a response is to be recorded for each trial. Also, the time the participant takes to make the next left- or right-arrow key press (after reporting what he saw in the preceding trial) is also to be recorded. I have working code in e-prime for this design. -- 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 Michiel.Spape at nottingham.ac.uk Tue Aug 9 10:41:18 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 9 Aug 2011 11:41:18 +0100 Subject: help desperately needed In-Reply-To: Message-ID: Hi, If you have working code for this design, then what is the problem? Do you get stuck somewhere or do you basically want somebody else to code your experiment? If the latter, than you might need to hire a programmer - I'm sure there are more than enough people here willing to act as one. If your budget doesn't really stretch that far, I'd suggest reading the tutorial and the absolutely marvellous E-Primer http://step.psy.cmu.edu/materials/EPrimer.pdf . On the other hand, if you're way past that, you could try rephrasing your plea for help in a way which makes it more possible for people here to shine: is the blue color the problem? Do you not know how to have 200 trials? Is the proportion/probability of trial type a problem? Each of these seems unlikely, but it is impossible to get a clue from your email. Best, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Grisha R Sent: 09 August 2011 09:17 To: e-prime at googlegroups.com Subject: help desperately needed Hello, I've been struggling in vain to design an experiment in e-prime since last several days. The problem is that I have absolutely no background in programming or computer science. I'm pleading you for help. Here is the design: To get blue color participant presses left-arrow key and to get red color he presses right-arrow key; he can press either key as per his wish. There are total two hundred trials. Of the total left-arrow key presses for blue, only 50% of the times he gets blue color, whereas remaining 50% of the time he gets the other color, that is, red. In the 50% blue that he is getting, half are blue squares and the remaining half are blue circles; and in the other 50% yellow, half are yellow squares and the remaining half are yellow circles. Same for right-arrow key presses for yellow: that is, of the total right-arrow key presses only 50% get him yellow color and the remaining 50% get him the other color, that is, blue. Of the total yellow, half should be yellow squares and the half should be yellow circles; and of the total blue, half should be blue squares and the other half should be blue circles. The participant reports the shape (whether he saw square or circle, and not the color) by pressing an appropriate key (say, upward-arrow key for square and the downward-arrow key for circle). The appearances of stimuli should be randomized for each key-press. The percentages should be maintained close to [75% and 25%] and [50% and 50% for squares and circles] (as mentioned above) following each key-press. The time duration for making a response is to be recorded for each trial. Also, the time the participant takes to make the next left- or right-arrow key press (after reporting what he saw in the preceding trial) is also to be recorded. I have working code in e-prime for this design. -- 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From baltimore.ben at gmail.com Tue Aug 9 17:42:22 2011 From: baltimore.ben at gmail.com (ben robinson) Date: Tue, 9 Aug 2011 13:42:22 -0400 Subject: Setting list object's reset/terminate condition to number of rows in loaded text file In-Reply-To: Message-ID: why not have a separate list object for each series of movies? that way you don't have to add and subtract rows from your list. On Fri, Aug 5, 2011 at 4:47 PM, Eli wrote: > Hi all. > > My design plays several different series of movies, each of a > different length. I've created a single list object, which I use > multiple times, once for each series of movies (listed in tab- > separated text files). > > Each different series has a different number of movies. But I'm having > trouble getting my list object to change its terminateCondition (or > resetCondition) to reflect each newly loaded text file's length. > > I've tried doing the following (based on a blog post I saw here > ) > > If listfilename$ <> "" Then > List1.LoadMethod = ebLoadMethodFile > List1.Filename = listfilename$ > List1.Load > > List1.Reset > Set List1.TerminateCondition = Cycles(1) > Set List1.ResetCondition = Samples(List1.Deletion.Count) > else > MsgBox("Incorrect list file chosen") > end if > > But I don't really understand what the Deletion object is. > > So instead I tried > Set List1.ResetCondition = Samples(List1.Size) > > The problem with this is that Size seems to change unpredictably each > time I load a different text file. > > Is there a way to clear all properties of a list object at the point > of loading each next text file, so that the list object's size > reflects the number of rows in each loaded text file? > > Or is there another way to get each text file's number of rows into a > list object's ResetCondition? > > Thanks! > Eli > > -- > 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. > > -- 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 erika.nyhus at gmail.com Tue Aug 9 18:40:21 2011 From: erika.nyhus at gmail.com (enyhus) Date: Tue, 9 Aug 2011 11:40:21 -0700 Subject: How to fade from slide1 to slide2 (inline?) In-Reply-To: <4e31a835.46422b0a.5182.1d3aSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thank you for all your help so far. I have tried integrating my color changing code with the code you have provided, but the color does not change nor are the key press and release being recorded. I was wondering if you had any more advice on getting this to work. First I put an InLine (SetTrialStartTime) at the very beginning of the trial like this. This sets up the initial color and gets the experiment time from the start of the trial: '----------------------------------------------------------------------------- 'create all the variables you'll need: dim r as integer dim g as integer dim b as integer dim vr as string dim vb as string dim vg as string dim stepcounter as integer dim Slide1Time as integer dim ResponseTime as integer 'assign value 255 to the red green and blue channels, rgb 255,255,255 is white r=0 b=255 g=255 'map the integer values of r, g, and b onto the string variables vr, vb and vg vr$= r vb$= b vg$= g 'use the string rgb variables to modify the backgroundcolor of the textobject CSlideText(Slide1.States(Slide1.ActiveState).Objects("Text1")).forecolor=CColor (""& vr$ &","& vg$ &","& vb$ &"") Dim lngTrialStart As Long lngTrialStart = Clock.Read '----------------------------------------------------------------------------- Then I added a label "Repeat" after the stimulus slide and before the next InLine, and another label "SkipInLine" after the next inline: Then the following InLine (WaitForKeypresses): '----------------------------------------------------------------------------- If Clock.Read - lngTrialStart >= 2500 Then GoTo SkipInLine Dim nResps As Long nResps = Slide1.InputMasks(1).Responses.Count 'waits for the initial keypress If nResps > 0 Then 'loops until either a response is made or the trial time runs out: nResps = Slide1.InputMasks(1).Responses.Count Do Until Slide1.InputMasks(1).Responses(nResps).RESP = "{1}" If Clock.Read - lngTrialStart >= 2500 Then GoTo SkipInLine Sleep 1 Loop 'logs the keypress time: c.SetAttrib "Keypress", Clock.Read 'loops the color changing code until either the release or the trial time runs out Do Until Slide1.InputMasks(1).Responses(nResps).RESP = "{-1}" If Clock.Read - lngTrialStart >= 2500 Then GoTo SkipInLine 'insert color changing code here 'First the values of green and blue will be decreased by 5 points, we started at 255,255,255 and this way after 50 repeats we will end at 255,0,0, which is pure red r = r g = g - 5 b = b - 5 'Map the integer values of rgb onto the string variables of rgb vr$= r vb$= b vg$= g 'Assign the new value to forecolor CSlideText(Slide1.States(Slide1.ActiveState).Objects("Text1")).forecolor=CColor (""& vr$ &","& vg$ &","& vb$ &"") Slide1.draw Loop Else Sleep 1 GoTo Repeat End If 'logs the key release time: c.SetAttrib "Keyrelease", Clock.Read '----------------------------------------------------------------------------- Then after the label "SkipInLine" I added a simple InLine (WaitForTrialEnd) that waits untilt 2500 ms has passed from the start of the trial until the trial end: '----------------------------------------------------------------------------- Do Until Clock.Read - lngTrialStart >= 2500 Sleep 1 Loop '----------------------------------------------------------------------------- Erika On Jul 28, 2:17 pm, David McFarlane wrote: > Erika, > > At 7/28/2011 01:55 PM Thursday, you wrote: > > >I have changed all the code to use > >Slide1.InputMasks(1).Responses.Count, but I am getting the following > >error when I run it. > > >Operator type mismatch > >For line: Do Until Slide1.InputMasks(1).Responses(nResps) = "{SPACE}" > > Um, Slide1.InputMasks(1).Responses gets you to the > ResponseDataCollection object associated with Slide1.InputMasks(1), > and Slide1.InputMasks(1).Responses(nResps) only gets you to a > particular ResponseData object, not any of its component > properties.  You have to drill down a little further to specific > ResponseData properties, e.g., > >          Do Until Slide1.InputMasks(1).Responses(nResps).RESP = "{SPACE}" > > Please, please read through all the relevant topics in the E-Basic > Help facility.  This would also all become clear if you would take a > course on VBA, or give yourself some training using a book like "VBA > for Dummies".  It is a huge mistake to try to get an intricate > program to work without understanding *how* it works -- even if it > *appears* to work to you, chances are it does not really do what you > think it does, and you will unwittingly publish invalid results. > > -- 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 Erika_Nyhus at brown.edu Tue Aug 9 18:42:04 2011 From: Erika_Nyhus at brown.edu (Erika Nyhus) Date: Tue, 9 Aug 2011 14:42:04 -0400 Subject: How to fade from slide1 to slide2 (inline?) In-Reply-To: Message-ID: Attached is a mini-experiment implementing this code. Erika On Tue, Aug 9, 2011 at 2:40 PM, enyhus wrote: > Thank you for all your help so far. I have tried integrating my color > changing code with the code you have provided, but the color does not > change nor are the key press and release being recorded. I was > wondering if you had any more advice on getting this to work. > > First I put an InLine (SetTrialStartTime) at the very beginning of the > trial like this. This sets up the initial color and gets the > experiment time from the start of the > trial: > > > '----------------------------------------------------------------------------- > 'create all the variables you'll need: > dim r as integer > dim g as integer > dim b as integer > dim vr as string > dim vb as string > dim vg as string > dim stepcounter as integer > dim Slide1Time as integer > dim ResponseTime as integer > > 'assign value 255 to the red green and blue channels, rgb 255,255,255 > is white > r=0 > b=255 > g=255 > > 'map the integer values of r, g, and b onto the string variables vr, > vb and vg > vr$= r > vb$= b > vg$= g > > 'use the string rgb variables to modify the backgroundcolor of the > textobject > > CSlideText(Slide1.States(Slide1.ActiveState).Objects("Text1")).forecolor=CColor > (""& vr$ &","& vg$ &","& vb$ &"") > > Dim lngTrialStart As Long > lngTrialStart = Clock.Read > > '----------------------------------------------------------------------------- > > Then I added a label "Repeat" after the stimulus slide and before the > next > InLine, and another label "SkipInLine" after the next inline: > > Then the following InLine (WaitForKeypresses): > > > '----------------------------------------------------------------------------- > If Clock.Read - lngTrialStart >= 2500 Then GoTo SkipInLine > > Dim nResps As Long > > nResps = Slide1.InputMasks(1).Responses.Count > > 'waits for the initial keypress > If nResps > 0 Then > > 'loops until either a response is made or the trial time runs out: > nResps = Slide1.InputMasks(1).Responses.Count > Do Until Slide1.InputMasks(1).Responses(nResps).RESP = "{1}" > If Clock.Read - lngTrialStart >= 2500 Then GoTo SkipInLine > Sleep 1 > Loop > > 'logs the keypress time: > c.SetAttrib "Keypress", Clock.Read > > 'loops the color changing code until either the release or the > trial time runs out > Do Until Slide1.InputMasks(1).Responses(nResps).RESP = "{-1}" > If Clock.Read - lngTrialStart >= 2500 Then GoTo SkipInLine > 'insert color changing code here > 'First the values of green and blue will be decreased by 5 points, > we started at 255,255,255 and this way after 50 repeats we will end at > 255,0,0, which is pure red > r = r > g = g - 5 > b = b - 5 > > 'Map the integer values of rgb onto the string variables of rgb > vr$= r > vb$= b > vg$= g > > 'Assign the new value to forecolor > > CSlideText(Slide1.States(Slide1.ActiveState).Objects("Text1")).forecolor=CColor > (""& vr$ &","& vg$ &","& vb$ &"") > Slide1.draw > Loop > Else > Sleep 1 > GoTo Repeat > End If > > 'logs the key release time: > c.SetAttrib "Keyrelease", Clock.Read > > '----------------------------------------------------------------------------- > > Then after the label "SkipInLine" I added a simple InLine > (WaitForTrialEnd) that waits untilt 2500 ms has passed from the start > of the trial until the trial end: > > > '----------------------------------------------------------------------------- > Do Until Clock.Read - lngTrialStart >= 2500 > Sleep 1 > Loop > > '----------------------------------------------------------------------------- > > Erika > > On Jul 28, 2:17 pm, David McFarlane wrote: > > Erika, > > > > At 7/28/2011 01:55 PM Thursday, you wrote: > > > > >I have changed all the code to use > > >Slide1.InputMasks(1).Responses.Count, but I am getting the following > > >error when I run it. > > > > >Operator type mismatch > > >For line: Do Until Slide1.InputMasks(1).Responses(nResps) = "{SPACE}" > > > > Um, Slide1.InputMasks(1).Responses gets you to the > > ResponseDataCollection object associated with Slide1.InputMasks(1), > > and Slide1.InputMasks(1).Responses(nResps) only gets you to a > > particular ResponseData object, not any of its component > > properties. You have to drill down a little further to specific > > ResponseData properties, e.g., > > > > Do Until Slide1.InputMasks(1).Responses(nResps).RESP = "{SPACE}" > > > > Please, please read through all the relevant topics in the E-Basic > > Help facility. This would also all become clear if you would take a > > course on VBA, or give yourself some training using a book like "VBA > > for Dummies". It is a huge mistake to try to get an intricate > > program to work without understanding *how* it works -- even if it > > *appears* to work to you, chances are it does not really do what you > > think it does, and you will unwittingly publish invalid results. > > > > -- 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. > > -- Erika Nyhus, Ph.D. Cognitive, Linguistic, and Psychological Sciences Brown University 229 Waterman St. Providence, RI 02912-1821 -- 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestImage.es2 Type: application/octet-stream Size: 25952 bytes Desc: not available URL: From cobwebfaery at gmail.com Wed Aug 10 00:56:24 2011 From: cobwebfaery at gmail.com (Becky Clements) Date: Tue, 9 Aug 2011 17:56:24 -0700 Subject: Multiple Image Responses Message-ID: Hi everyone. I am currently designing an experiment in which children will be presented with four images, and will have to choose two objects using a mouse response. I have looked at the "Multiple Response Sample" provided on EPrime Support, however, I cannot see how to manipulate this Inline to an image slide, in order to record the two responses from the one slide. (The proceeding slide's correct answer is based upon the combination of these two responses, so it would be preferable to have the multiple responses be on one slide). Any help would be greatly appreciated. Cheers, 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 artmkt.h at gmail.com Wed Aug 10 08:46:39 2011 From: artmkt.h at gmail.com (stella H) Date: Wed, 10 Aug 2011 01:46:39 -0700 Subject: some questions about inline and answer box!!!!! Message-ID: i am an E-prime starter and i have some basic questions in staring out E-prime.. what are the functions of inline and how do i use it ? i read the guideline several times but i have no idea.. plus, when producing answer box via inline, do i type the source cord just like html ? if not? how do i make the formula ? i need your big help!! asap !! -- 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 Wed Aug 10 10:20:34 2011 From: liwenna at gmail.com (liwenna) Date: Wed, 10 Aug 2011 03:20:34 -0700 Subject: some questions about inline and answer box!!!!! In-Reply-To: Message-ID: Hi Stella, Yes, use source code, just like HTML except that the language is e- basic. And that then is exactly the function of the inline object, while the other objects are visual representations of a bunch of sourcecode that remains largely invisible to the user, the inline makes it possible to 'insert' your own sourcecode into the program. Examples of implementations of the text box are available either on pst's knowledge base page (http://www.pstnet.com/support/samples.asp login required) or floating around on the net, in this group and the post user forum (http://www.pstnet.com/forum/ ). Also within the program under help you can find an e-basic guide with all possible e- basic commands. However, the examples given there (and in the paper guide that comes with the program) are not always completely correct i.e. copy/paste ready. Keep that in mind, if I recall from years ago this is also the case with the example code for the answer box. Best, liw On Aug 10, 10:46 am, stella H wrote: > i am an E-prime starter and i have some basic questions in staring out > E-prime.. > what are  the functions of inline and how do i use it ? i read the > guideline several times but i have no idea.. > plus, when producing answer box via inline, do i type the source cord > just like html ? if not? how do i make the formula ? > i need your big help!! asap !! -- 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 Wed Aug 10 10:33:11 2011 From: liwenna at gmail.com (liwenna) Date: Wed, 10 Aug 2011 03:33:11 -0700 Subject: some questions about inline and answer box!!!!! In-Reply-To: <1aedda4b-5a6b-4267-b596-3abf4b263e27@dc3g2000vbb.googlegroups.com> Message-ID: Also, while it does not cover the answer box implementation, this guide written by Michiel Spape (en Rinus V.) is a great help when starting e-prime: http://step.psy.cmu.edu/materials/EPrimer.pdf On Aug 10, 12:20 pm, liwenna wrote: > Hi Stella, > > Yes, use source code, just like HTML except that the language is e- > basic. And that then is exactly the function of the inline object, > while the other objects are visual representations of a bunch of > sourcecode that remains largely invisible to the user, the inline > makes it possible to 'insert' your own sourcecode into the program. > > Examples of implementations of the text box are available either on > pst's knowledge base page (http://www.pstnet.com/support/samples.asp > login required) or floating around on the net, in this group and the > post user forum (http://www.pstnet.com/forum/). Also within the > program under help you can find an e-basic guide with all possible e- > basic commands. However, the examples given there (and in the paper > guide that comes with the program) are not always completely correct > i.e. copy/paste ready. Keep that in mind, if I recall from years ago > this is also the case with the example code for the answer box. > > Best, > > liw > > On Aug 10, 10:46 am, stella H wrote: > > > > > > > > > i am an E-prime starter and i have some basic questions in staring out > > E-prime.. > > what are  the functions of inline and how do i use it ? i read the > > guideline several times but i have no idea.. > > plus, when producing answer box via inline, do i type the source cord > > just like html ? if not? how do i make the formula ? > > i need your big help!! asap !! -- 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 baltimore.ben at gmail.com Wed Aug 10 14:02:05 2011 From: baltimore.ben at gmail.com (ben robinson) Date: Wed, 10 Aug 2011 10:02:05 -0400 Subject: Multiple Image Responses In-Reply-To: Message-ID: i'm sure you could find a way to do this using a single slide collecting the two responses, but i think it would be easier to use two slides one after the other, each collecting a single response. i would have a procedure start with Label1, then Slide1, then Inline1, then Label2, Slide2, Inline2. Slide1 shows your 4 images. Inline1 performs a HitTest on the mouse response to Slide1. if an invalid response then go back to Label1 to represent Slide1, otherwise procede to Slide2. you might label this valid response something like strHit1. Slide2 is configured exactly the same as Slide1 so that to the participant's eye no change occurs on the screen following their successful mouse response to Slide1. Inline2 again checks to see that a valid response is made. if not, for instance if they click on the same item as they did on Slide1, just jump back to Label2 so that Slide2 can be redisplayed and a valid response collected. label that valid response strHit2. furthermore, with Inline2 you can take your two valid responses and craft your remaining slide, which you said needed to be based on the previous two responses. for instance, once you've received a valid response to Slide2, Inline2 might continue as follows: Select Case strHit1 Case "Image1" Select Case strHit2 Case "Image1" 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image1 Case "Image2" 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image2 Case "Image3" 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image3 Case "Image4" 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image4 End Select Case "Image2" Case "Image3" Case "Image4" End Select On Tue, Aug 9, 2011 at 8:56 PM, Becky Clements wrote: > Hi everyone. > > I am currently designing an experiment in which children will be > presented with four images, and will have to choose two objects using > a mouse response. I have looked at the "Multiple Response Sample" > provided on EPrime Support, however, I cannot see how to manipulate > this Inline to an image slide, in order to record the two responses > from the one slide. (The proceeding slide's correct answer is based > upon the combination of these two responses, so it would be preferable > to have the multiple responses be on one slide). > > Any help would be greatly appreciated. > > Cheers, > 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. > > -- 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 cobwebfaery at gmail.com Wed Aug 10 17:08:35 2011 From: cobwebfaery at gmail.com (Becky Clements) Date: Wed, 10 Aug 2011 10:08:35 -0700 Subject: Multiple Image Responses In-Reply-To: Message-ID: Hi Ben, Thanks for the advise. The task is a little bit more complicated than simply logging two response which if that is all we were doing two slides would be fine but the two response are paired in regards to accuracy. For example say the four images comprised of a red circle, blue circle, yellow triangle, and red rectangle there are two correct answers consisting of 4 mouse responses the two circles are one correct pair and the red circle and the red triangle the other correct pair. The participant is not restricted as to which pair they must pick first but it is a paired response that is correct rather than each response independently. Do you know if there is a way of pairing the hittest? I have tried to combine two attributes for example if strhit1 = red circle and strhit2 = blue circle then On Aug 10, 11:02 am, ben robinson wrote: > i'm sure you could find a way to do this using a single slide collecting the > two responses, but i think it would be easier to use two slides one after > the other, each collecting a single response. > i would have a procedure start with Label1, then Slide1, then Inline1, then > Label2, Slide2, Inline2. > Slide1 shows your 4 images. > Inline1 performs a HitTest on the mouse response to Slide1.  if an invalid > response then go back to Label1 to represent Slide1, otherwise procede to > Slide2.  you might label this valid response something like strHit1. > Slide2 is configured exactly the same as Slide1 so that to the participant's > eye no change occurs on the screen following their successful mouse response > to Slide1. > Inline2 again checks to see that a valid response is made.  if not, for > instance if they click on the same item as they did on Slide1, just jump > back to Label2 so that Slide2 can be redisplayed and a valid response > collected.  label that valid response strHit2. > furthermore, with Inline2 you can take your two valid responses and craft > your remaining slide, which you said needed to be based on the previous two > responses. > for instance, once you've received a valid response to Slide2, Inline2 might > continue as follows: > > Select Case strHit1 >     Case "Image1" > > Select Case strHit2 >     Case "Image1" >         'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image1 >     Case "Image2" >         'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image2 >     Case "Image3" >         'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image3 >     Case "Image4" >         'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image4 > End Select > >     Case "Image2" >     Case "Image3" >     Case "Image4" > End Select > > On Tue, Aug 9, 2011 at 8:56 PM, Becky Clements wrote: > > > > > > > > > Hi everyone. > > > I am currently designing an experiment in which children will be > > presented with four images, and will have to choose two objects using > > a mouse response.  I have looked at the "Multiple Response Sample" > > provided on EPrime Support, however, I cannot see how to manipulate > > this Inline to an image slide, in order to record the two responses > > from the one slide.  (The proceeding slide's correct answer is based > > upon the combination of these two responses, so it would be preferable > > to have the multiple responses be on one slide). > > > Any help would be greatly appreciated. > > > Cheers, > > 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. -- 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 cobwebfaery at gmail.com Wed Aug 10 17:14:38 2011 From: cobwebfaery at gmail.com (Becky Clements) Date: Wed, 10 Aug 2011 10:14:38 -0700 Subject: Multiple Image Responses In-Reply-To: Message-ID: Opps! sent early if strhit1 = red circle and blue circle or strhit = red circle and red rectangle then acc = 1 Else acc = 0 I don't know if something like this is possible I have be searching the literature and reading pages after pages in forums to no avail. Thanks again for your advise Becky On Aug 10, 2:08 pm, Becky Clements wrote: > Hi Ben, > > Thanks for the advise. The task is a little bit more complicated than > simply logging two response which if that is all we were doing two > slides would be fine but the two response are paired in regards to > accuracy. For example say the four images comprised of a red circle, > blue circle, yellow triangle, and red rectangle there are two correct > answers consisting of 4 mouse responses the two circles are one > correct pair and the red circle and the red triangle the other correct > pair. The participant is not restricted as to which pair they must > pick first but it is a paired response that is correct rather than > each response independently. Do you know if there is a way of pairing > the hittest? I have tried to combine two attributes for example > if strhit1 = red circle and strhit2 = blue circle then > > On Aug 10, 11:02 am, ben robinson wrote: > > > > > > > > > i'm sure you could find a way to do this using a single slide collecting the > > two responses, but i think it would be easier to use two slides one after > > the other, each collecting a single response. > > i would have a procedure start with Label1, then Slide1, then Inline1, then > > Label2, Slide2, Inline2. > > Slide1 shows your 4 images. > > Inline1 performs a HitTest on the mouse response to Slide1.  if an invalid > > response then go back to Label1 to represent Slide1, otherwise procede to > > Slide2.  you might label this valid response something like strHit1. > > Slide2 is configured exactly the same as Slide1 so that to the participant's > > eye no change occurs on the screen following their successful mouse response > > to Slide1. > > Inline2 again checks to see that a valid response is made.  if not, for > > instance if they click on the same item as they did on Slide1, just jump > > back to Label2 so that Slide2 can be redisplayed and a valid response > > collected.  label that valid response strHit2. > > furthermore, with Inline2 you can take your two valid responses and craft > > your remaining slide, which you said needed to be based on the previous two > > responses. > > for instance, once you've received a valid response to Slide2, Inline2 might > > continue as follows: > > > Select Case strHit1 > >     Case "Image1" > > > Select Case strHit2 > >     Case "Image1" > >         'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image1 > >     Case "Image2" > >         'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image2 > >     Case "Image3" > >         'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image3 > >     Case "Image4" > >         'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image4 > > End Select > > >     Case "Image2" > >     Case "Image3" > >     Case "Image4" > > End Select > > > On Tue, Aug 9, 2011 at 8:56 PM, Becky Clements wrote: > > > > Hi everyone. > > > > I am currently designing an experiment in which children will be > > > presented with four images, and will have to choose two objects using > > > a mouse response.  I have looked at the "Multiple Response Sample" > > > provided on EPrime Support, however, I cannot see how to manipulate > > > this Inline to an image slide, in order to record the two responses > > > from the one slide.  (The proceeding slide's correct answer is based > > > upon the combination of these two responses, so it would be preferable > > > to have the multiple responses be on one slide). > > > > Any help would be greatly appreciated. > > > > Cheers, > > > 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. -- 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 baltimore.ben at gmail.com Wed Aug 10 19:12:49 2011 From: baltimore.ben at gmail.com (ben robinson) Date: Wed, 10 Aug 2011 15:12:49 -0400 Subject: Multiple Image Responses In-Reply-To: Message-ID: i'm a big fan of Select Case... rather than If Then... when things start getting complicated. you could do something like this: Select Case strhit1 Case "redcircle" Select Case strhit2 Case "bluecircle" CORRECT Case Else INCORRECT End Select Case "bluecircle" Select Case strhit2 Case "redcircle" CORRECT Case Else INCORRECT End Select Case "redsquare" Case "bluesquare" End Select On Wed, Aug 10, 2011 at 1:08 PM, Becky Clements wrote: > Hi Ben, > > Thanks for the advise. The task is a little bit more complicated than > simply logging two response which if that is all we were doing two > slides would be fine but the two response are paired in regards to > accuracy. For example say the four images comprised of a red circle, > blue circle, yellow triangle, and red rectangle there are two correct > answers consisting of 4 mouse responses the two circles are one > correct pair and the red circle and the red triangle the other correct > pair. The participant is not restricted as to which pair they must > pick first but it is a paired response that is correct rather than > each response independently. Do you know if there is a way of pairing > the hittest? I have tried to combine two attributes for example > if strhit1 = red circle and strhit2 = blue circle then > > > On Aug 10, 11:02 am, ben robinson wrote: > > i'm sure you could find a way to do this using a single slide collecting > the > > two responses, but i think it would be easier to use two slides one after > > the other, each collecting a single response. > > i would have a procedure start with Label1, then Slide1, then Inline1, > then > > Label2, Slide2, Inline2. > > Slide1 shows your 4 images. > > Inline1 performs a HitTest on the mouse response to Slide1. if an > invalid > > response then go back to Label1 to represent Slide1, otherwise procede to > > Slide2. you might label this valid response something like strHit1. > > Slide2 is configured exactly the same as Slide1 so that to the > participant's > > eye no change occurs on the screen following their successful mouse > response > > to Slide1. > > Inline2 again checks to see that a valid response is made. if not, for > > instance if they click on the same item as they did on Slide1, just jump > > back to Label2 so that Slide2 can be redisplayed and a valid response > > collected. label that valid response strHit2. > > furthermore, with Inline2 you can take your two valid responses and craft > > your remaining slide, which you said needed to be based on the previous > two > > responses. > > for instance, once you've received a valid response to Slide2, Inline2 > might > > continue as follows: > > > > Select Case strHit1 > > Case "Image1" > > > > Select Case strHit2 > > Case "Image1" > > 'set Slide3 to reflect a choice of Slide1.Image1 and > Slide2.Image1 > > Case "Image2" > > 'set Slide3 to reflect a choice of Slide1.Image1 and > Slide2.Image2 > > Case "Image3" > > 'set Slide3 to reflect a choice of Slide1.Image1 and > Slide2.Image3 > > Case "Image4" > > 'set Slide3 to reflect a choice of Slide1.Image1 and > Slide2.Image4 > > End Select > > > > Case "Image2" > > Case "Image3" > > Case "Image4" > > End Select > > > > On Tue, Aug 9, 2011 at 8:56 PM, Becky Clements >wrote: > > > > > > > > > > > > > > > > > Hi everyone. > > > > > I am currently designing an experiment in which children will be > > > presented with four images, and will have to choose two objects using > > > a mouse response. I have looked at the "Multiple Response Sample" > > > provided on EPrime Support, however, I cannot see how to manipulate > > > this Inline to an image slide, in order to record the two responses > > > from the one slide. (The proceeding slide's correct answer is based > > > upon the combination of these two responses, so it would be preferable > > > to have the multiple responses be on one slide). > > > > > Any help would be greatly appreciated. > > > > > Cheers, > > > 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. > > -- > 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. > > -- 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 zhallez at gmail.com Thu Aug 11 17:14:17 2011 From: zhallez at gmail.com (HalleZ) Date: Thu, 11 Aug 2011 10:14:17 -0700 Subject: Randomized selection of stimuli across trials In-Reply-To: Message-ID: Hi Paul, Thanks so much for the example script--that was extremely helpful! I think perhaps when I initially posted the question I oversimplified my problem a bit. So, let me see if I can more fully explain what I want to program. On each trial, I want to select a unique triplet that does not repeat across trials (e.g., WordA, WordB, WordC). However, what I'm really selecting is the parent word list from which the stimuli are pulled (e.g., selecting WordA means that wordA1, wordA2, wordA3, and wordA4 are what get presented to the subject so that an entire trial looks like wordA1, wordA2, wordA3, wordA4, wordB1, wordB2, wordB3, wordB4, wordC1, wordC2, wordC3, wordC4). Following the way you suggested using the nesting of word lists, I believe I have it so that the words do not repeat across trials. However, it seems to be pulling the same word multiple times within a single trial (e.g., wordA1, wordA2, wordA3, wordA4, wordB1, wordB2, wordB3, wordB4, wordA1, wordA2, wordA3, wordA4). I'm assuming there's just another level of nesting that I'm missing here, but I can't seem to figure out where/how to nest this! thanks, Halle On Aug 8, 4:13 am, Paul Groot wrote: > Hi Halle, > > You probably would like to use a separate Word list and include it as > nested list in your TrialList. Then add 3 separate attributes in the > trial list (Word1, Word2, Word3). The values of these attributes are > resp. [Word:0], [Word:1], [Word:2] (all trials the same). These will > pull 3 random words from the nested Word list and copy the values to > the attributes: Word1, Word2, Word3. Then use these 3 attributes in > your display objects as usual (i.e. resp [Word1], [Word2], [Word3]). > That should do it... > > The attached EPrime 1.2 example demonstrates this mechanism. (You can > also import this script in EPrime 2) > > Best, > Paul > > 2011/8/4 HalleZ : > > > Hello, > > > I am trying to program an experiment where I have three different > > words presented on each trial. I would like ePrime to uniquely select, > > without replacement across trials in a single session, the three words > > that get combined into a single trial so that this triplet is unique > > for each person. Currently, I have a separate text object in my > > TrialProcedure for each word (Word1, Word 2, Word3) with each of these > > text objects pulling from the same list ("Words") of all of my words > > (so, on each text object it pulls the attribute [Word] from the > > "Words" list). In my list object called "Words" where all of my > > stimuli are listed, I have the properties set so that the selection > > method is "random" (i.e., without replacement). However, ePrime pulls > > the same words within a trial (so, people might see "cat", "dog", > > "cat" but what I want them to see is three unique words like "cat", > > "dog", "bunny"). What did I do wrong? Is this property of no > > replacement only applied across trials? > > > Thanks for the help! > > > -Halle > > > -- > > 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. > > > >  MultipleValuesFromNestedList.es > 16KViewDownload -- 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 cobwebfaery at gmail.com Sun Aug 14 20:41:04 2011 From: cobwebfaery at gmail.com (Becky Clements) Date: Sun, 14 Aug 2011 13:41:04 -0700 Subject: Multiple Image Responses In-Reply-To: Message-ID: Hi Ben, You advise was perfect select case works like a charm! I ended up using two slides this is the general gist of the script. Select Case Shapes.RESP Case strHit1 = c.GetAttrib("a") And strHit2 = c.GetAttrib("b") Shapes.ACC = 1 Case strHit1 = c.GetAttrib("b") And strHit2 = c.GetAttrib("a") Shapes.ACC = 1 Case strHit1 = c.GetAttrib("c") And strHit2 = c.GetAttrib("d") Shapes.ACC = 1 Case strHit1 = c.GetAttrib("d") And strHit2 = c.GetAttrib("c") Shapes.ACC = 1 Case Else Shapes.ACC = 0 End Select End If For the second slide Select Case Shapes1.RESP Case strHit3 = c.GetAttrib("a") And strHit4 = c.GetAttrib("b") Shapes1.ACC = 1 Case strHit3 = c.GetAttrib("b") And strHit4 = c.GetAttrib("a") Shapes1.ACC = 1 Case strHit3 = c.GetAttrib("c") And strHit4 = c.GetAttrib("d") Shapes1.ACC = 1 Case strHit3 = c.GetAttrib("d") And strHit4 = c.GetAttrib("c") Shapes.ACC = 1 Case strHit1 = c.GetAttrib("a") And strHit2 = c.GetAttrib("b") Shapes1.ACC = 0 Case strHit1 = c.GetAttrib("b") And strHit2 = c.GetAttrib("a") Shapes1.ACC = 0 Case strHit1 = c.GetAttrib("c") And strHit2 = c.GetAttrib("d") Shapes1.ACC = 0 Case strHit1 = c.GetAttrib("d") And strHit2 = c.GetAttrib("c") Shapes1.ACC = 0 Case Else Shapes1.ACC = 0 End Select End If Thank you for all of your help it has been most enlightening! Becky On Aug 10, 4:12 pm, ben robinson wrote: > i'm a big fan of Select Case... rather than If Then... when things start > getting complicated. > you could do something like this: > Select Case strhit1 >     Case "redcircle" >         Select Case strhit2 >             Case "bluecircle" >                 CORRECT >             Case Else >                 INCORRECT >         End Select >     Case "bluecircle" >         Select Case strhit2 >             Case "redcircle" >                 CORRECT >             Case Else >                 INCORRECT >         End Select >     Case "redsquare" >     Case "bluesquare" > End Select > > On Wed, Aug 10, 2011 at 1:08 PM, Becky Clements wrote: > > > > > > > > > Hi Ben, > > > Thanks for the advise. The task is a little bit more complicated than > > simply logging two response which if that is all we were doing two > > slides would be fine but the two response are paired in regards to > > accuracy. For example say the four images comprised of a red circle, > > blue circle, yellow triangle, and red rectangle there are two correct > > answers consisting of 4 mouse responses the two circles are one > > correct pair and the red circle and the red triangle the other correct > > pair. The participant is not restricted as to which pair they must > > pick first but it is a paired response that is correct rather than > > each response independently. Do you know if there is a way of pairing > > the hittest? I have tried to combine two attributes for example > > if strhit1 = red circle and strhit2 = blue circle then > > > On Aug 10, 11:02 am, ben robinson wrote: > > > i'm sure you could find a way to do this using a single slide collecting > > the > > > two responses, but i think it would be easier to use two slides one after > > > the other, each collecting a single response. > > > i would have a procedure start with Label1, then Slide1, then Inline1, > > then > > > Label2, Slide2, Inline2. > > > Slide1 shows your 4 images. > > > Inline1 performs a HitTest on the mouse response to Slide1.  if an > > invalid > > > response then go back to Label1 to represent Slide1, otherwise procede to > > > Slide2.  you might label this valid response something like strHit1. > > > Slide2 is configured exactly the same as Slide1 so that to the > > participant's > > > eye no change occurs on the screen following their successful mouse > > response > > > to Slide1. > > > Inline2 again checks to see that a valid response is made.  if not, for > > > instance if they click on the same item as they did on Slide1, just jump > > > back to Label2 so that Slide2 can be redisplayed and a valid response > > > collected.  label that valid response strHit2. > > > furthermore, with Inline2 you can take your two valid responses and craft > > > your remaining slide, which you said needed to be based on the previous > > two > > > responses. > > > for instance, once you've received a valid response to Slide2, Inline2 > > might > > > continue as follows: > > > > Select Case strHit1 > > >     Case "Image1" > > > > Select Case strHit2 > > >     Case "Image1" > > >         'set Slide3 to reflect a choice of Slide1.Image1 and > > Slide2.Image1 > > >     Case "Image2" > > >         'set Slide3 to reflect a choice of Slide1.Image1 and > > Slide2.Image2 > > >     Case "Image3" > > >         'set Slide3 to reflect a choice of Slide1.Image1 and > > Slide2.Image3 > > >     Case "Image4" > > >         'set Slide3 to reflect a choice of Slide1.Image1 and > > Slide2.Image4 > > > End Select > > > >     Case "Image2" > > >     Case "Image3" > > >     Case "Image4" > > > End Select > > > > On Tue, Aug 9, 2011 at 8:56 PM, Becky Clements > >wrote: > > > > > Hi everyone. > > > > > I am currently designing an experiment in which children will be > > > > presented with four images, and will have to choose two objects using > > > > a mouse response.  I have looked at the "Multiple Response Sample" > > > > provided on EPrime Support, however, I cannot see how to manipulate > > > > this Inline to an image slide, in order to record the two responses > > > > from the one slide.  (The proceeding slide's correct answer is based > > > > upon the combination of these two responses, so it would be preferable > > > > to have the multiple responses be on one slide). > > > > > Any help would be greatly appreciated. > > > > > Cheers, > > > > 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. > > > -- > > 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. -- 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 hackersdady at gmail.com Mon Aug 15 14:37:03 2011 From: hackersdady at gmail.com (Hacker's Dad) Date: Mon, 15 Aug 2011 20:07:03 +0530 Subject: Fwd: How to determine/maintain probabilistic ratios of stimuli presentations In-Reply-To: Message-ID: Hi there, I am new at e-prime. I wish to know the following: 1] How to maintain/determine probabilistic ratios of two kinds of stimuli (say, a blue and a yellow square) for their appearance on comp screen over a hundred trials, such that on most key-presses their predetermined/desired ratios are maintained? 2] How to initialize and declare GLOBAL variables in e-prime? 3] There seems to be some problem with the Debug.print portion in the code I have written. I am not able to figure out what the problem is. I shall be grateful for help. Thanks, Ravindra -- 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 Tue Aug 16 18:36:28 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 16 Aug 2011 14:36:28 -0400 Subject: Fwd: How to determine/maintain probabilistic ratios of stimuli presentations In-Reply-To: Message-ID: Ravinda 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... At 8/15/2011 10:37 AM Monday, you wrote: >Hi there, > >I am new at e-prime. I wish to know the following: > >1] How to maintain/determine probabilistic ratios of two kinds of >stimuli (say, a blue and a yellow square) for their appearance on comp >screen over a hundred trials, such that on most key-presses their >predetermined/desired ratios are maintained? Not sure I fully understand your question, and if I did I would probably not have an answer. But if you merely mean to randomly present, say, 20 blue squares and 80 yellow squares over 100 trials, then you might simply make a List with one row for blue squares, one row for yellow squares, and set Weights to 20 and 80, respectively. >2] How to initialize and declare GLOBAL variables in e-prime? This is covered in Chapter 4 of the User's Guide that came with E-Prime. In general, everyone who uses E-Prime should first work through *all* the tutorials in the Getting Started and User's Guides before starting their first project. You might also try Michiel Spapé's E-Primer at http://step.psy.cmu.edu/materials/EPrimer.pdf . >3] There seems to be some problem with the Debug.print portion in the >code I have written. I am not able to figure out what the problem is. > >I shall be grateful for help. > >Thanks, >Ravindra -- 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 jasoncraggs at gmail.com Tue Aug 16 19:25:40 2011 From: jasoncraggs at gmail.com (jasoncraggs at gmail.com) Date: Tue, 16 Aug 2011 19:25:40 +0000 Subject: Medoc and E-prime Message-ID: Greetings, Does anyone have any experience running the Medoc software and E-prime, simultaneously, on the same machine? Thanks in advance for any help. Sent from my Verizon Wireless BlackBerry -- 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 lml1934 at gmail.com Wed Aug 17 03:24:29 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Tue, 16 Aug 2011 23:24:29 -0400 Subject: EPrime - motion stim issues Message-ID: I am looking to replicate an experiment originally created in Presentation for use with EPrime, part of an EEG experiment. The original experiment used that software’s programming language to create a color and motion stimulus that allowed the researchers to compare the parvocellular and magnocellular visual pathways. I do not know EBasic and so I have created the color stim in Photoshop and imported the image as a slide. While I am not able to control luminance it appears very close to the original. The motion stim is proving much more complicated. I created a vertically oriented sinusoidal spatial frequency grating as an animation file in Final Cut (editing software) and have been struggling ever since to make it work as intended. The experiment calls for a low frequency grating to traverse from left to right for 100ms with inter-stimulus intervals anywhere from 500 ms to 1000ms. Because the stimulus presentation is so short I don’t seem to be able to use the video start/stop feature; additionally, randomizing the ISI is not possible using this feature. I determined that one cycle of the animation sequence is 31 frames and with a 60 frame per second animation that means that I have 10 six frame sets per second (each set 100ms). I then created 6 frame .avi files and loaded them sequentially. Because the experiment calls for 320 trials I had the choice to load 320 files or create a loop with 5 six frame sets, I opted for the loop. To allow for the randomized ISI intervals I created jpeg files containing the final frame of each set and then finished the sequence with my one remaining frame (5 six frame sets plus one final still, making 31 frames). After loading the movie/still files (sequentially) it seems that even though the stills(jpegs) were captured from the animation frames they are not similar in size, so I have an inconsistency there – issue one. The other issue is that the two images (movie/still) overlap rather than following in sequence. One appears inside the other and the error message I get once I abort is “unable to update frame.” I did eliminate the 500ms ISI but that has not helped. I also tried to eliminated the jpeg files but then I can only randomize the duration of the motion which should be consistent at 100ms intervals. It is the time between presentations that should randomly fall within 500 to 100ms. I am at a complete loss as to what to try next. HELP! -- 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 issabern at gmail.com Wed Aug 17 13:52:29 2011 From: issabern at gmail.com (issabern) Date: Wed, 17 Aug 2011 06:52:29 -0700 Subject: Reading images from a file. Message-ID: Hi all, I was just wondering if anyone has experience with reading images from a file using Eprime, or if that is at all possible. I'm using Eprime 2.0 professional. Thanks for your help, Bernie -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To view this discussion on the web visit https://groups.google.com/d/msg/e-prime/-/ybhUsDreKPQJ. 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 d.vinson at ucl.ac.uk Wed Aug 17 17:12:35 2011 From: d.vinson at ucl.ac.uk (David Vinson) Date: Wed, 17 Aug 2011 18:12:35 +0100 Subject: Reading images from a file. In-Reply-To: <1296518.1280.1313589149487.JavaMail.geo-discussion-forums@yqej16> Message-ID: Hi issabern, I think you need to clarify your question as there are a few different ways it can be interpreted. For example it's very straightforward to use e-prime to display an image file (e.g. foo.bmp) using an ImageDisplay object as in the PictureRT sample experiment. It's also possible for E-prime to access an external text file containing lists of image filenames, to load images in the same way as above. I suppose it is more problematic if you are trying to read images from some kind of composite file that contains multiple images at once (ummm, maybe a pdf, or powerpoint slide, or thumbnail file). Anyway if you are asking about a situation more complex than those I describe above, it would be useful to clarify it a bit. -dv On 17/08/2011 14:52, issabern wrote: > Hi all, > I was just wondering if anyone has experience with reading images from a > file using Eprime, or if that is at all possible. I'm using Eprime 2.0 > professional. > > Thanks for your help, > Bernie > > -- > You received this message because you are subscribed to the Google > Groups "E-Prime" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/e-prime/-/ybhUsDreKPQJ. > 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. -- 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 lml1934 at gmail.com Wed Aug 17 20:39:48 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Wed, 17 Aug 2011 16:39:48 -0400 Subject: help desperately needed In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D9308F3606D8@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Thank you for the link to E-Primer, very helpful. Lisa Levinson On Tue, Aug 9, 2011 at 6:41 AM, Michiel Spape < Michiel.Spape at nottingham.ac.uk> wrote: > Hi,**** > > If you have working code for this design, then what is the problem? Do you > get stuck somewhere or do you basically want somebody else to code your > experiment? If the latter, than you might need to hire a programmer – I’m > sure there are more than enough people here willing to act as one. If your > budget doesn’t really stretch that far, I’d suggest reading the tutorial and > the absolutely marvellous E-Primer > http://step.psy.cmu.edu/materials/EPrimer.pdf . On the other hand, if > you’re way past that, you could try rephrasing your plea for help in a way > which makes it more possible for people here to shine: is the blue color the > problem? Do you not know how to have 200 trials? Is the > proportion/probability of trial type a problem? Each of these seems > unlikely, but it is impossible to get a clue from your email.**** > > Best,**** > > Mich**** > > ** ** > > *Michiel Spapé* > > *Research Fellow* > > *Perception & Action group* > > *University of Nottingham* > > *School of Psychology* > > *www.cognitology.eu*** > > ** ** > > *From:* e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] *On > Behalf Of *Grisha R > *Sent:* 09 August 2011 09:17 > *To:* e-prime at googlegroups.com > *Subject:* help desperately needed**** > > ** ** > > Hello, **** > > I’ve been struggling in vain to design an experiment in e-prime since last > several days. The problem is that I have absolutely no background in > programming or computer science. I’m pleading you for help. **** > > Here is the design:**** > > ** ** > > To get blue color participant presses left-arrow key and to get red color > he presses right-arrow key; he can press either key as per his wish. There > are total two hundred trials. Of the total left-arrow key presses for blue, > only 50% of the times he gets blue color, whereas remaining 50% of the time > he gets the other color, that is, red. In the 50% blue that he is getting, > half are blue squares and the remaining half are blue circles; and in the > other 50% yellow, half are yellow squares and the remaining half are yellow > circles. Same for right-arrow key presses for yellow: that is, of the total > right-arrow key presses only 50% get him yellow color and the remaining 50% > get him the other color, that is, blue. Of the total yellow, half should be > yellow squares and the half should be yellow circles; and of the total blue, > half should be blue squares and the other half should be blue circles. The > participant reports the shape (whether he saw square or circle, and not the > color) by pressing an appropriate key (say, upward-arrow key for square and > the downward-arrow key for circle). **** > > ** ** > > The appearances of stimuli should be randomized for each key-press. The > percentages should be maintained close to [75% and 25%] and [50% and 50% for > squares and circles] (as mentioned above) following each key-press. **** > > The time duration for making a response is to be recorded for each trial. > Also, the time the participant takes to make the next left- or right-arrow > key press (after reporting what he saw in the preceding trial) is also to be > recorded. **** > > I have working code in e-prime for this design. **** > > **** > > ** ** > > -- > 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. > -- 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 Thu Aug 18 17:26:53 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 18 Aug 2011 13:26:53 -0400 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Lisa, OK, I will ask the obvious dumb question. If you already have a program that works in Presentation, why would you want to recreate it in E-Prime? Although in principle E-Prime should be able to handle this, it may require jumping through a lot of complicated hoops, and it seems to me that Presentation makes a better platform for this type of task. -- David McFarlane, Professional Faultfinder At 8/16/2011 11:24 PM Tuesday, you wrote: >I am looking to replicate an experiment >originally created in Presentation for use with >EPrime, part of an EEG experiment. The original >experiment used that software’s programming >language to create a color and motion stimulus >that allowed the researchers to compare the >parvocellular and magnocellular visual pathways. >I do not know EBasic and so I have created the >color stim in Photoshop and imported the image >as a slide. While I am not able to control >luminance it appears very close to the original. >The motion stim is proving much more >complicated. I created a vertically oriented >sinusoidal spatial frequency grating as an >animation file in Final Cut (editing software) >and have been struggling ever since to make it work as intended. > >The experiment calls for a low frequency grating >to traverse from left to right for 100ms with >inter-stimulus intervals anywhere from 500 ms to >1000ms. Because the stimulus presentation is so >short I don’t seem to be able to use the video >start/stop feature; additionally, randomizing >the ISI is not possible using this feature. I >determined that one cycle of the animation >sequence is 31 frames and with a 60 frame per >second animation that means that I have 10 six >frame sets per second (each set 100ms). I then >created 6 frame .avi files and loaded them >sequentially. Because the experiment calls for >320 trials I had the choice to load 320 files or >create a loop with 5 six frame sets, I opted for >the loop. To allow for the randomized ISI >intervals I created jpeg files containing the >final frame of each set and then finished the >sequence with my one remaining frame (5 six >frame sets plus one final still, making 31 frames). > >After loading the movie/still files >(sequentially) it seems that even though the >stills(jpegs) were captured from the animation >frames they are not similar in size, so I have >an inconsistency there – issue one. The other >issue is that the two images (movie/still) >overlap rather than following in sequence. One >appears inside the other and the error message I >get once I abort is “unable to update frame.” I >did eliminate the 500ms ISI but that has not >helped. I also tried to eliminated the jpeg >files but then I can only randomize the duration >of the motion which should be consistent at >100ms intervals. It is the time between >presentations that should randomly fall within 500 to 100ms. > >I am at a complete loss as to what to try next. HELP! -- 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 paigejablonski at gmail.com Thu Aug 18 17:46:55 2011 From: paigejablonski at gmail.com (Paige Jablonski) Date: Thu, 18 Aug 2011 10:46:55 -0700 Subject: Help Needed with Cell Numbers and Net Station Message-ID: I'm working in an EEG lab and we are wondering how a cell number changes in terms of coding to Net Station (the EEG software we're using). We're modifying a previous experiment, and the codes have changes for all but two blocks and we do not know why it changed in the first place. We think we can just manually change the code to be what we want, but also need to know why for future reference. Thanks for the help!!! -- 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 lml1934 at gmail.com Thu Aug 18 18:48:42 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Thu, 18 Aug 2011 14:48:42 -0400 Subject: EPrime - motion stim issues In-Reply-To: <4e4d4b6a.89832a0a.1049.2159SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Yes, Presentation is better for this type of experiment, however, the Presentation script was generated in a different lab and the lab I am working in is not set up to use Presentation (requires a serial port connection for which we have had issues with timing). So, you are 100% correct, I have been jumping through complicated hoops for more time than I will admit and while I have made progress the motion stim for this experiment is just crazy difficult to figure out. Today I was going to attempt to increase the duration of stimulus presentation to see if it is a loading issue. Will let you know but any thoughts would be greatly appreciated. On Thu, Aug 18, 2011 at 1:26 PM, David McFarlane wrote: > Lisa, > > OK, I will ask the obvious dumb question. If you already have a program > that works in Presentation, why would you want to recreate it in E-Prime? > Although in principle E-Prime should be able to handle this, it may require > jumping through a lot of complicated hoops, and it seems to me that > Presentation makes a better platform for this type of task. > > -- David McFarlane, Professional Faultfinder > > > > At 8/16/2011 11:24 PM Tuesday, you wrote: > >> I am looking to replicate an experiment originally created in Presentation >> for use with EPrime, part of an EEG experiment. The original experiment used >> that software’s programming language to create a color and motion stimulus >> that allowed the researchers to compare the parvocellular and magnocellular >> visual pathways. I do not know EBasic and so I have created the color stim >> in Photoshop and imported the image as a slide. While I am not able to >> control luminance it appears very close to the original. The motion stim is >> proving much more complicated. I created a vertically oriented sinusoidal >> spatial frequency grating as an animation file in Final Cut (editing >> software) and have been struggling ever since to make it work as intended. >> >> The experiment calls for a low frequency grating to traverse from left to >> right for 100ms with inter-stimulus intervals anywhere from 500 ms to >> 1000ms. Because the stimulus presentation is so short I don’t seem to be >> able to use the video start/stop feature; additionally, randomizing the ISI >> is not possible using this feature. I determined that one cycle of the >> animation sequence is 31 frames and with a 60 frame per second animation >> that means that I have 10 six frame sets per second (each set 100ms). I then >> created 6 frame .avi files and loaded them sequentially. Because the >> experiment calls for 320 trials I had the choice to load 320 files or create >> a loop with 5 six frame sets, I opted for the loop. To allow for the >> randomized ISI intervals I created jpeg files containing the final frame of >> each set and then finished the sequence with my one remaining frame (5 six >> frame sets plus one final still, making 31 frames). >> >> After loading the movie/still files (sequentially) it seems that even >> though the stills(jpegs) were captured from the animation frames they are >> not similar in size, so I have an inconsistency there – issue one. The other >> issue is that the two images (movie/still) overlap rather than following in >> sequence. One appears inside the other and the error message I get once I >> abort is “unable to update frame.” I did eliminate the 500ms ISI but that >> has not helped. I also tried to eliminated the jpeg files but then I can >> only randomize the duration of the motion which should be consistent at >> 100ms intervals. It is the time between presentations that should randomly >> fall within 500 to 100ms. >> >> I am at a complete loss as to what to try next. HELP! >> > > -- > 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@** > googlegroups.com . > For more options, visit this group at http://groups.google.com/** > group/e-prime?hl=en . > > -- 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 pfc.groot at gmail.com Thu Aug 18 23:04:38 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Fri, 19 Aug 2011 01:04:38 +0200 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Hi Lisa, It looks like this 'hybrid' movie/still solution is causing more problems than it solves. Like Presentation, you probably would like to use some script to create/present the graphics. Unfortunately, E-Basic only has limited support for creating graphics on the fly (text, lines, rectangles and ellipses), and I'm not sure if your stimuli could be drawn by those primitives. However, pre-created static bitmaps (as movies) can be a workaround for painting more complex graphics objects. Programming moving objects is not extremely difficult, and if I remember correctly, there is an example available on the pst support site (http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=8) When the graphics objects themself change, you might run into difficulties when the computer hardware cannot keep up with the number of required bitmaps and desired frame rate. Using movies will probably the only working solution in that case. I think I would include the ISI's in the movie so it becomes a single file that can be played without interruption. ISI durations cannot be set at runtime this way, unless you use the technique described below. In some cases is also possible to use an external (DLL) library to create complex stimuli at run time (gabor patches, gradient fills, ...). Such an external library could be used to create bitmaps or movies on the fly, which then can be loaded by eprime. However, this requires in-depth knowledge of a programming language such as C++ because such a specific library probably doesn't exist yet. I used this technique before to create audio files and complex bitmap sequences. (If you have EPrime version 1, you might have a look at the attached example. This will display a changing ellipse with a gradient fill that can be defined at runtime in EPrime) Best, Paul 2011/8/18 Lisa Levinson : > Yes, Presentation is better for this type of experiment, however, the > Presentation script was generated in a different lab and the lab I am > working in is not set up to use Presentation (requires a serial port > connection for which we have had issues with timing). So, you are 100% > correct, I have been jumping through complicated hoops for more time than I > will admit and while I have made progress the motion stim for this > experiment is just crazy difficult to figure out. Today I was going to > attempt to increase the duration of stimulus presentation to see if it is a > loading issue. Will let you know but any thoughts would be greatly > appreciated. > > > On Thu, Aug 18, 2011 at 1:26 PM, David McFarlane wrote: >> >> Lisa, >> >> OK, I will ask the obvious dumb question.  If you already have a program >> that works in Presentation, why would you want to recreate it in E-Prime? >>  Although in principle E-Prime should be able to handle this, it may require >> jumping through a lot of complicated hoops, and it seems to me that >> Presentation makes a better platform for this type of task. >> >> -- David McFarlane, Professional Faultfinder >> >> >> At 8/16/2011 11:24 PM Tuesday, you wrote: >>> >>> I am looking to replicate an experiment originally created in >>> Presentation for use with EPrime, part of an EEG experiment. The original >>> experiment used that software’s programming language to create a color and >>> motion stimulus that allowed the researchers to compare the parvocellular >>> and magnocellular visual pathways. I do not know EBasic and so I have >>> created the color stim in Photoshop and imported the image as a slide. While >>> I am not able to control luminance it appears very close to the original. >>> The motion stim is proving much more complicated. I created a vertically >>> oriented sinusoidal spatial frequency grating as an animation file in Final >>> Cut (editing software) and have been struggling ever since to make it work >>> as intended. >>> >>> The experiment calls for a low frequency grating to traverse from left to >>> right for 100ms with inter-stimulus intervals anywhere from 500 ms to >>> 1000ms. Because the stimulus presentation is so short I don’t seem to be >>> able to use the video start/stop feature; additionally, randomizing the ISI >>> is not possible using this feature. I determined that one cycle of the >>> animation sequence is 31 frames and with a 60 frame per second animation >>> that means that I have 10 six frame sets per second (each set 100ms). I then >>> created 6 frame .avi files and loaded them sequentially. Because the >>> experiment calls for 320 trials I had the choice to load 320 files or create >>> a loop with 5 six frame sets, I opted for the loop. To allow for the >>> randomized ISI intervals I created jpeg files containing the final frame of >>> each set and then finished the sequence with my one remaining frame (5 six >>> frame sets plus one final still, making 31 frames). >>> >>> After loading the movie/still files (sequentially) it seems that even >>> though the stills(jpegs) were captured from the animation frames they are >>> not similar in size, so I have an inconsistency there – issue one. The other >>> issue is that the two images (movie/still) overlap rather than following in >>> sequence. One appears inside the other and the error message I get once I >>> abort is “unable to update frame.” I did eliminate the 500ms ISI but that >>> has not helped. I also tried to eliminated the jpeg files but then I can >>> only randomize the duration of the motion which should be consistent at >>> 100ms intervals. It is the time between presentations that should randomly >>> fall within 500 to 100ms. >>> >>> I am at a complete loss as to what to try next. HELP! >> >> -- >> 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. >> > > -- > 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. > -- 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 -------------- A non-text attachment was scrubbed... Name: StimMaker.dll Type: application/octet-stream Size: 49152 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: StimMakerTest.ebs Type: application/octet-stream Size: 13473 bytes Desc: not available URL: From lml1934 at gmail.com Fri Aug 19 13:15:06 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Fri, 19 Aug 2011 09:15:06 -0400 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Paul - Thanks so much for your input. One thought I had yesterday (which you seem to have come up with too) was to generate a video that basically included the movie, still images and my targets (behavioral task to maintain attention). I would edit six frames to run and then maintain the non-moving images for a set but externally randomized intervals (take the ISI times, randomize in excel and then use that sequence in the editing of the still images). I would do the same for the targets. I would add a white box at the bottom of the screen when these various elements begin/end. Running the video off of a monitor and use a photo cell (under a tent) to record when these elements appear and then go back and sync the EGI recording to the photo cell indicators. This borrows from the eye tracking technique and bypasses EPrime. I will take a look on the pst site. Yesterday I didn't get to test my duration theory to see if this is strictly a loading issue, instead I tried a few other approaches - unsuccessfully. Monday I will change durations to confirm a loading issue, which my gut tells me it is. If that is the case this will call for radical problem solving (like what I am thinking above) rather than figuring out how and where to customize the script. Thank you for the StimMaker ellipse script. Will review in WORD and see on Monday if I can get it to run. Thanks so much for your help. We may be wired to learn by trial and error but this process has been ridiculous, I have spent a very long time learning all the ways this can't be done. Best, Lisa On Thu, Aug 18, 2011 at 7:04 PM, Paul Groot wrote: > Hi Lisa, > > It looks like this 'hybrid' movie/still solution is causing more > problems than it solves. Like Presentation, you probably would like to > use some script to create/present the graphics. Unfortunately, E-Basic > only has limited support for creating graphics on the fly (text, > lines, rectangles and ellipses), and I'm not sure if your stimuli > could be drawn by those primitives. However, pre-created static > bitmaps (as movies) can be a workaround for painting more complex > graphics objects. Programming moving objects is not extremely > difficult, and if I remember correctly, there is an example available > on the pst support site > (http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=8) When > the graphics objects themself change, you might run into difficulties > when the computer hardware cannot keep up with the number of required > bitmaps and desired frame rate. Using movies will probably the only > working solution in that case. I think I would include the ISI's in > the movie so it becomes a single file that can be played without > interruption. ISI durations cannot be set at runtime this way, unless > you use the technique described below. > > In some cases is also possible to use an external (DLL) library to > create complex stimuli at run time (gabor patches, gradient fills, > ...). Such an external library could be used to create bitmaps or > movies on the fly, which then can be loaded by eprime. However, this > requires in-depth knowledge of a programming language such as C++ > because such a specific library probably doesn't exist yet. I used > this technique before to create audio files and complex bitmap > sequences. (If you have EPrime version 1, you might have a look at the > attached example. This will display a changing ellipse with a gradient > fill that can be defined at runtime in EPrime) > > Best, > Paul > > 2011/8/18 Lisa Levinson : > > Yes, Presentation is better for this type of experiment, however, the > > Presentation script was generated in a different lab and the lab I am > > working in is not set up to use Presentation (requires a serial port > > connection for which we have had issues with timing). So, you are 100% > > correct, I have been jumping through complicated hoops for more time than > I > > will admit and while I have made progress the motion stim for this > > experiment is just crazy difficult to figure out. Today I was going to > > attempt to increase the duration of stimulus presentation to see if it is > a > > loading issue. Will let you know but any thoughts would be greatly > > appreciated. > > > > > > On Thu, Aug 18, 2011 at 1:26 PM, David McFarlane > wrote: > >> > >> Lisa, > >> > >> OK, I will ask the obvious dumb question. If you already have a program > >> that works in Presentation, why would you want to recreate it in > E-Prime? > >> Although in principle E-Prime should be able to handle this, it may > require > >> jumping through a lot of complicated hoops, and it seems to me that > >> Presentation makes a better platform for this type of task. > >> > >> -- David McFarlane, Professional Faultfinder > >> > >> > >> At 8/16/2011 11:24 PM Tuesday, you wrote: > >>> > >>> I am looking to replicate an experiment originally created in > >>> Presentation for use with EPrime, part of an EEG experiment. The > original > >>> experiment used that software’s programming language to create a color > and > >>> motion stimulus that allowed the researchers to compare the > parvocellular > >>> and magnocellular visual pathways. I do not know EBasic and so I have > >>> created the color stim in Photoshop and imported the image as a slide. > While > >>> I am not able to control luminance it appears very close to the > original. > >>> The motion stim is proving much more complicated. I created a > vertically > >>> oriented sinusoidal spatial frequency grating as an animation file in > Final > >>> Cut (editing software) and have been struggling ever since to make it > work > >>> as intended. > >>> > >>> The experiment calls for a low frequency grating to traverse from left > to > >>> right for 100ms with inter-stimulus intervals anywhere from 500 ms to > >>> 1000ms. Because the stimulus presentation is so short I don’t seem to > be > >>> able to use the video start/stop feature; additionally, randomizing the > ISI > >>> is not possible using this feature. I determined that one cycle of the > >>> animation sequence is 31 frames and with a 60 frame per second > animation > >>> that means that I have 10 six frame sets per second (each set 100ms). I > then > >>> created 6 frame .avi files and loaded them sequentially. Because the > >>> experiment calls for 320 trials I had the choice to load 320 files or > create > >>> a loop with 5 six frame sets, I opted for the loop. To allow for the > >>> randomized ISI intervals I created jpeg files containing the final > frame of > >>> each set and then finished the sequence with my one remaining frame (5 > six > >>> frame sets plus one final still, making 31 frames). > >>> > >>> After loading the movie/still files (sequentially) it seems that even > >>> though the stills(jpegs) were captured from the animation frames they > are > >>> not similar in size, so I have an inconsistency there – issue one. The > other > >>> issue is that the two images (movie/still) overlap rather than > following in > >>> sequence. One appears inside the other and the error message I get once > I > >>> abort is “unable to update frame.” I did eliminate the 500ms ISI but > that > >>> has not helped. I also tried to eliminated the jpeg files but then I > can > >>> only randomize the duration of the motion which should be consistent at > >>> 100ms intervals. It is the time between presentations that should > randomly > >>> fall within 500 to 100ms. > >>> > >>> I am at a complete loss as to what to try next. HELP! > >> > >> -- > >> 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. > >> > > > > -- > > 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. > > > > -- > 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. > > -- 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 lml1934 at gmail.com Tue Aug 23 13:45:11 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Tue, 23 Aug 2011 09:45:11 -0400 Subject: Making movie clips for E-Prime? In-Reply-To: <4e1b50e0.83842b0a.705c.ffffccd5SMTPIN_ADDED@gmr-mx.google.com> Message-ID: On this topic I have some experience and am fairly familiar with the limitations of EPrime. I have successfully imported .avi files into EPrime. As you will notice in either the slide/movie image or movie feature you can indicate a start and stop time. The issue there seems to be duration, too short - as in ms - and you have problems. Since I did need ms clips I edited my video files into frame sequence video clips and saved as .avi files and successfully imported them to run in sequence. Because EPrime runs on a PC you have to run universal movie files compatible with PCs - I have had the most success with .avi files. Based on my experience you can generate a movie and/or use an existing movie so long as it is saved as an .avi. A great deal of trial and error was involved in determining what kind of files would open in EPrime, might be different with your system. Essentially, I saved my footage in a number of formats and then tested what would open. The issue I have had using video is the timing. I am looking to present 100ms clips and that becomes more complicated as EPrime seems to have issues loading the files quickly enough. Working on that issue as we speak. Hope this is helpful though very after the fact. Lisa Levinson On Mon, Jul 11, 2011 at 3:36 PM, David McFarlane wrote: > Well fellow E-Prime mavens, now I could use your experience & advice. I > first checked in the New Features Guide, and did a cursory search through > the PST Knowledge Base, the PST Forum, and the E-Prime Google Group, and did > not find this addressed anywhere, so I hope I have done my homework at least > as well as I expect others to :). > > Two related questions: > > 1) Suppose we want to make some short clips from a larger, existing movie > file for use in E-Prime. What software would you recommend for this? > > 2) Suppose we want to record our own movie clips from scratch for use in > E-Prime. What systems would you recommend for that? > > I might also reframe those questions as, "What did *you* use?" or, "What > worked for *you*?" > > Note that the KB and online discussions have addressed at length how to get > *existing* clips to work with E-Prime (installing codec libraries, etc.). I > instead want to avoid those problems by preparing our clips in the first > place in a way that plays well with E-Prime "out-of-the-box". Any advice? > > Thanks, > -- 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@** > googlegroups.com . > For more options, visit this group at http://groups.google.com/** > group/e-prime?hl=en . > > -- 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 nitz.david at googlemail.com Tue Aug 23 15:50:02 2011 From: nitz.david at googlemail.com (Dave) Date: Tue, 23 Aug 2011 08:50:02 -0700 Subject: Making movie clips for E-Prime? In-Reply-To: Message-ID: Hi all, Everybody please realize that AVI is but a *container* format (see https://secure.wikimedia.org/wikipedia/en/wiki/Container_format_%28digital%29). The type of container alone tells you little as to how its *contents* (video and audio data) are encoded (cf. https://secure.wikimedia.org/wikipedia/en/wiki/Comparison_of_container_formats). Bottom line: Just because it's called AVI doesn't mean it will work -- you still might have codec issues to deal with. Just my $0.02, -Dave On Aug 23, 3:45 pm, Lisa Levinson wrote: > On this topic I have some experience and am fairly familiar with the > limitations of EPrime. > > I have successfully imported .avi files into EPrime. As you will notice in > either the slide/movie image or movie feature you can indicate a start and > stop time. The issue there seems to be duration, too short - as in ms - and > you have problems. Since I did need ms clips I edited my video files into > frame sequence video clips and saved as .avi files and successfully imported > them to run in sequence. Because EPrime runs on a PC you have to run > universal movie files compatible with PCs - I have had the most success with > .avi files. Based on my experience you can generate a movie and/or use an > existing movie so long as it is saved as an .avi. A great deal of trial and > error was involved in determining what kind of files would open in EPrime, > might be different with your system. Essentially, I saved my footage in a > number of formats and then tested what would open. The issue I have had > using video is the timing. I am looking to present 100ms clips and that > becomes more complicated as EPrime seems to have issues loading the files > quickly enough. Working on that issue as we speak. > > Hope this is helpful though very after the fact. > Lisa Levinson > > > > > > > > On Mon, Jul 11, 2011 at 3:36 PM, David McFarlane wrote: > > Well fellow E-Prime mavens, now I could use your experience & advice.  I > > first checked in the New Features Guide, and did a cursory search through > > the PST Knowledge Base, the PST Forum, and the E-Prime Google Group, and did > > not find this addressed anywhere, so I hope I have done my homework at least > > as well as I expect others to :). > > > Two related questions: > > > 1) Suppose we want to make some short clips from a larger, existing movie > > file for use in E-Prime.  What software would you recommend for this? > > > 2) Suppose we want to record our own movie clips from scratch for use in > > E-Prime.  What systems would you recommend for that? > > > I might also reframe those questions as, "What did *you* use?" or, "What > > worked for *you*?" > > > Note that the KB and online discussions have addressed at length how to get > > *existing* clips to work with E-Prime (installing codec libraries, etc.).  I > > instead want to avoid those problems by preparing our clips in the first > > place in a way that plays well with E-Prime "out-of-the-box".  Any advice? > > > Thanks, > > -- 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@** > > googlegroups.com . > > For more options, visit this group athttp://groups.google.com/** > > group/e-prime?hl=en . -- 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 lml1934 at gmail.com Tue Aug 23 20:03:22 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Tue, 23 Aug 2011 16:03:22 -0400 Subject: Making movie clips for E-Prime? In-Reply-To: <87b698ad-c728-4a31-adb8-25dd80b5b98e@k8g2000yqk.googlegroups.com> Message-ID: That would make sense, the "containers" make the content compatible with the platform (MAC/PC). I have had luck saving video footage as .avi files but as I said, it's something you have to test. I created an animation sequence in Final Cut Pro (a MAC product) and saved in multiple formats (Mpeg, Mpg4, Avi, etc) trying each to see which would run. On Tue, Aug 23, 2011 at 11:50 AM, Dave wrote: > Hi all, > > Everybody please realize that AVI is but a *container* format (see > > https://secure.wikimedia.org/wikipedia/en/wiki/Container_format_%28digital%29 > ). > The type of container alone tells you little as to how its *contents* > (video and audio data) are encoded (cf. > > https://secure.wikimedia.org/wikipedia/en/wiki/Comparison_of_container_formats > ). > Bottom line: Just because it's called AVI doesn't mean it will work -- > you still might have codec issues to deal with. > > Just my $0.02, > -Dave > > On Aug 23, 3:45 pm, Lisa Levinson wrote: > > On this topic I have some experience and am fairly familiar with the > > limitations of EPrime. > > > > I have successfully imported .avi files into EPrime. As you will notice > in > > either the slide/movie image or movie feature you can indicate a start > and > > stop time. The issue there seems to be duration, too short - as in ms - > and > > you have problems. Since I did need ms clips I edited my video files into > > frame sequence video clips and saved as .avi files and successfully > imported > > them to run in sequence. Because EPrime runs on a PC you have to run > > universal movie files compatible with PCs - I have had the most success > with > > .avi files. Based on my experience you can generate a movie and/or use an > > existing movie so long as it is saved as an .avi. A great deal of trial > and > > error was involved in determining what kind of files would open in > EPrime, > > might be different with your system. Essentially, I saved my footage in a > > number of formats and then tested what would open. The issue I have had > > using video is the timing. I am looking to present 100ms clips and that > > becomes more complicated as EPrime seems to have issues loading the files > > quickly enough. Working on that issue as we speak. > > > > Hope this is helpful though very after the fact. > > Lisa Levinson > > > > > > > > > > > > > > > > On Mon, Jul 11, 2011 at 3:36 PM, David McFarlane > wrote: > > > Well fellow E-Prime mavens, now I could use your experience & advice. > I > > > first checked in the New Features Guide, and did a cursory search > through > > > the PST Knowledge Base, the PST Forum, and the E-Prime Google Group, > and did > > > not find this addressed anywhere, so I hope I have done my homework at > least > > > as well as I expect others to :). > > > > > Two related questions: > > > > > 1) Suppose we want to make some short clips from a larger, existing > movie > > > file for use in E-Prime. What software would you recommend for this? > > > > > 2) Suppose we want to record our own movie clips from scratch for use > in > > > E-Prime. What systems would you recommend for that? > > > > > I might also reframe those questions as, "What did *you* use?" or, > "What > > > worked for *you*?" > > > > > Note that the KB and online discussions have addressed at length how to > get > > > *existing* clips to work with E-Prime (installing codec libraries, > etc.). I > > > instead want to avoid those problems by preparing our clips in the > first > > > place in a way that plays well with E-Prime "out-of-the-box". Any > advice? > > > > > Thanks, > > > -- 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@** > > > googlegroups.com . > > > For more options, visit this group athttp://groups.google.com/** > > > group/e-prime?hl=en . > > -- > 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. > > -- 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 lml1934 at gmail.com Tue Aug 23 23:06:57 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Tue, 23 Aug 2011 19:06:57 -0400 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Paul- I have worked out a script that seems to run properly. Rather than use a still/jpeg file between motion files I added a "wait" slide. So, my gradient runs for 100ms and the wait slide follows allowing me to present a non-moving image of the gradient for a specified duration. Note: in order for the animation to run as a loop I have five motion files, loaded in sequence. Here is my next challenge...I need five wait slides between my motion files but I would like to randomly assign a duration to those wait slides. At the moment I have them set up so that wait1 runs for 1000ms, wait2 for 600ms, wait3 for 700ms, wait4 for 800ms and wait5 for 900ms. This list is set for random but I am not exactly sure what I am getting. Do you think wait1 will always run at 1000ms, wait 2 for 600ms, etc? Lisa On Thu, Aug 18, 2011 at 7:04 PM, Paul Groot wrote: > Hi Lisa, > > It looks like this 'hybrid' movie/still solution is causing more > problems than it solves. Like Presentation, you probably would like to > use some script to create/present the graphics. Unfortunately, E-Basic > only has limited support for creating graphics on the fly (text, > lines, rectangles and ellipses), and I'm not sure if your stimuli > could be drawn by those primitives. However, pre-created static > bitmaps (as movies) can be a workaround for painting more complex > graphics objects. Programming moving objects is not extremely > difficult, and if I remember correctly, there is an example available > on the pst support site > (http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=8) When > the graphics objects themself change, you might run into difficulties > when the computer hardware cannot keep up with the number of required > bitmaps and desired frame rate. Using movies will probably the only > working solution in that case. I think I would include the ISI's in > the movie so it becomes a single file that can be played without > interruption. ISI durations cannot be set at runtime this way, unless > you use the technique described below. > > In some cases is also possible to use an external (DLL) library to > create complex stimuli at run time (gabor patches, gradient fills, > ...). Such an external library could be used to create bitmaps or > movies on the fly, which then can be loaded by eprime. However, this > requires in-depth knowledge of a programming language such as C++ > because such a specific library probably doesn't exist yet. I used > this technique before to create audio files and complex bitmap > sequences. (If you have EPrime version 1, you might have a look at the > attached example. This will display a changing ellipse with a gradient > fill that can be defined at runtime in EPrime) > > Best, > Paul > > 2011/8/18 Lisa Levinson : > > Yes, Presentation is better for this type of experiment, however, the > > Presentation script was generated in a different lab and the lab I am > > working in is not set up to use Presentation (requires a serial port > > connection for which we have had issues with timing). So, you are 100% > > correct, I have been jumping through complicated hoops for more time than > I > > will admit and while I have made progress the motion stim for this > > experiment is just crazy difficult to figure out. Today I was going to > > attempt to increase the duration of stimulus presentation to see if it is > a > > loading issue. Will let you know but any thoughts would be greatly > > appreciated. > > > > > > On Thu, Aug 18, 2011 at 1:26 PM, David McFarlane > wrote: > >> > >> Lisa, > >> > >> OK, I will ask the obvious dumb question. If you already have a program > >> that works in Presentation, why would you want to recreate it in > E-Prime? > >> Although in principle E-Prime should be able to handle this, it may > require > >> jumping through a lot of complicated hoops, and it seems to me that > >> Presentation makes a better platform for this type of task. > >> > >> -- David McFarlane, Professional Faultfinder > >> > >> > >> At 8/16/2011 11:24 PM Tuesday, you wrote: > >>> > >>> I am looking to replicate an experiment originally created in > >>> Presentation for use with EPrime, part of an EEG experiment. The > original > >>> experiment used that software’s programming language to create a color > and > >>> motion stimulus that allowed the researchers to compare the > parvocellular > >>> and magnocellular visual pathways. I do not know EBasic and so I have > >>> created the color stim in Photoshop and imported the image as a slide. > While > >>> I am not able to control luminance it appears very close to the > original. > >>> The motion stim is proving much more complicated. I created a > vertically > >>> oriented sinusoidal spatial frequency grating as an animation file in > Final > >>> Cut (editing software) and have been struggling ever since to make it > work > >>> as intended. > >>> > >>> The experiment calls for a low frequency grating to traverse from left > to > >>> right for 100ms with inter-stimulus intervals anywhere from 500 ms to > >>> 1000ms. Because the stimulus presentation is so short I don’t seem to > be > >>> able to use the video start/stop feature; additionally, randomizing the > ISI > >>> is not possible using this feature. I determined that one cycle of the > >>> animation sequence is 31 frames and with a 60 frame per second > animation > >>> that means that I have 10 six frame sets per second (each set 100ms). I > then > >>> created 6 frame .avi files and loaded them sequentially. Because the > >>> experiment calls for 320 trials I had the choice to load 320 files or > create > >>> a loop with 5 six frame sets, I opted for the loop. To allow for the > >>> randomized ISI intervals I created jpeg files containing the final > frame of > >>> each set and then finished the sequence with my one remaining frame (5 > six > >>> frame sets plus one final still, making 31 frames). > >>> > >>> After loading the movie/still files (sequentially) it seems that even > >>> though the stills(jpegs) were captured from the animation frames they > are > >>> not similar in size, so I have an inconsistency there – issue one. The > other > >>> issue is that the two images (movie/still) overlap rather than > following in > >>> sequence. One appears inside the other and the error message I get once > I > >>> abort is “unable to update frame.” I did eliminate the 500ms ISI but > that > >>> has not helped. I also tried to eliminated the jpeg files but then I > can > >>> only randomize the duration of the motion which should be consistent at > >>> 100ms intervals. It is the time between presentations that should > randomly > >>> fall within 500 to 100ms. > >>> > >>> I am at a complete loss as to what to try next. HELP! > >> > >> -- > >> 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. > >> > > > > -- > > 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. > > > > -- > 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. > > -- 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 pfc.groot at gmail.com Wed Aug 24 19:20:57 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Wed, 24 Aug 2011 21:20:57 +0200 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Hi Lisa, If you enter a numeric (hard coded) value into the duration properties of the wait1 to wait5 objects, you will indeed get fixed (non-randomized) intervals. Setting the ordering property of the list to random has no effect on this. There are several ways to get random duration values. The easiest way (=without any inline script) is to create a separate list and add an attribute with the interval values you would like to use. Set the ordering of this list to random (with or w/o replacement) and use this list as nested list in your real trial list. The name of the attribute (i.e. 'FootageInterval') can then be used to set the duration property in the wait objects. To make sure EPrime picks a new value from the nested list for each wait object you will have to use the following syntax for the durations: [FootageInterval:0] (for duration Wait1) [FootageInterval:1] (for duration Wait2) etc. Alternatively you could use a simple inline script at the start of the trial and use the E-Basic random() function to set durations. (That would be uniform random w/o replacement.) Hope this helps Paul 2011/8/24 Lisa Levinson : > Paul- > > I have worked out a script that seems to run properly. Rather than use a > still/jpeg file between motion files I added a "wait" slide. So, my gradient > runs for 100ms and the wait slide follows allowing me to present a > non-moving image of the gradient for a specified duration. Note: in order > for the animation to run as a loop I have five motion files, loaded in > sequence. Here is my next challenge...I need five wait slides between my > motion files but I would like to randomly assign a duration to those wait > slides. At the moment I have them set up so that wait1 runs for 1000ms, > wait2 for 600ms, wait3 for 700ms, wait4 for 800ms and wait5 for 900ms. This > list is set for random but I am not exactly sure what I am getting. Do you > think wait1 will always run at 1000ms, wait 2 for 600ms, etc? > > Lisa > > On Thu, Aug 18, 2011 at 7:04 PM, Paul Groot wrote: >> >> Hi Lisa, >> >> It looks like this 'hybrid' movie/still solution is causing more >> problems than it solves. Like Presentation, you probably would like to >> use some script to create/present the graphics. Unfortunately, E-Basic >> only has limited support for creating graphics on the fly (text, >> lines, rectangles and ellipses), and I'm not sure if your stimuli >> could be drawn by those primitives. However, pre-created static >> bitmaps (as movies) can be a workaround for painting more complex >> graphics objects. Programming moving objects is not extremely >> difficult, and if I remember correctly, there is an example available >> on the pst support site >> (http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=8)  When >> the graphics objects themself change, you might run into difficulties >> when the computer hardware cannot keep up with the number of required >> bitmaps and desired frame rate. Using movies will probably the only >> working solution in that case. I think I would include the ISI's in >> the movie so it becomes a single file that can be played without >> interruption. ISI durations cannot be set at runtime this way, unless >> you use the technique described below. >> >> In some cases is also possible to use an external (DLL) library to >> create complex stimuli at run time (gabor patches, gradient fills, >> ...). Such an external library could be used to create bitmaps or >> movies on the fly, which then can be loaded by eprime.  However, this >> requires in-depth knowledge of a programming language such as C++ >> because such a specific library probably doesn't exist yet.  I used >> this technique before to create audio files and complex bitmap >> sequences. (If you have EPrime version 1, you might have a look at the >> attached example. This will display a changing ellipse with a gradient >> fill that can be defined at runtime in EPrime) >> >> Best, >> Paul >> >> 2011/8/18 Lisa Levinson : >> > Yes, Presentation is better for this type of experiment, however, the >> > Presentation script was generated in a different lab and the lab I am >> > working in is not set up to use Presentation (requires a serial port >> > connection for which we have had issues with timing). So, you are 100% >> > correct, I have been jumping through complicated hoops for more time >> > than I >> > will admit and while I have made progress the motion stim for this >> > experiment is just crazy difficult to figure out. Today I was going to >> > attempt to increase the duration of stimulus presentation to see if it >> > is a >> > loading issue. Will let you know but any thoughts would be greatly >> > appreciated. >> > >> > >> > On Thu, Aug 18, 2011 at 1:26 PM, David McFarlane >> > wrote: >> >> >> >> Lisa, >> >> >> >> OK, I will ask the obvious dumb question.  If you already have a >> >> program >> >> that works in Presentation, why would you want to recreate it in >> >> E-Prime? >> >>  Although in principle E-Prime should be able to handle this, it may >> >> require >> >> jumping through a lot of complicated hoops, and it seems to me that >> >> Presentation makes a better platform for this type of task. >> >> >> >> -- David McFarlane, Professional Faultfinder >> >> >> >> >> >> At 8/16/2011 11:24 PM Tuesday, you wrote: >> >>> >> >>> I am looking to replicate an experiment originally created in >> >>> Presentation for use with EPrime, part of an EEG experiment. The >> >>> original >> >>> experiment used that software’s programming language to create a color >> >>> and >> >>> motion stimulus that allowed the researchers to compare the >> >>> parvocellular >> >>> and magnocellular visual pathways. I do not know EBasic and so I have >> >>> created the color stim in Photoshop and imported the image as a slide. >> >>> While >> >>> I am not able to control luminance it appears very close to the >> >>> original. >> >>> The motion stim is proving much more complicated. I created a >> >>> vertically >> >>> oriented sinusoidal spatial frequency grating as an animation file in >> >>> Final >> >>> Cut (editing software) and have been struggling ever since to make it >> >>> work >> >>> as intended. >> >>> >> >>> The experiment calls for a low frequency grating to traverse from left >> >>> to >> >>> right for 100ms with inter-stimulus intervals anywhere from 500 ms to >> >>> 1000ms. Because the stimulus presentation is so short I don’t seem to >> >>> be >> >>> able to use the video start/stop feature; additionally, randomizing >> >>> the ISI >> >>> is not possible using this feature. I determined that one cycle of the >> >>> animation sequence is 31 frames and with a 60 frame per second >> >>> animation >> >>> that means that I have 10 six frame sets per second (each set 100ms). >> >>> I then >> >>> created 6 frame .avi files and loaded them sequentially. Because the >> >>> experiment calls for 320 trials I had the choice to load 320 files or >> >>> create >> >>> a loop with 5 six frame sets, I opted for the loop. To allow for the >> >>> randomized ISI intervals I created jpeg files containing the final >> >>> frame of >> >>> each set and then finished the sequence with my one remaining frame (5 >> >>> six >> >>> frame sets plus one final still, making 31 frames). >> >>> >> >>> After loading the movie/still files (sequentially) it seems that even >> >>> though the stills(jpegs) were captured from the animation frames they >> >>> are >> >>> not similar in size, so I have an inconsistency there – issue one. The >> >>> other >> >>> issue is that the two images (movie/still) overlap rather than >> >>> following in >> >>> sequence. One appears inside the other and the error message I get >> >>> once I >> >>> abort is “unable to update frame.” I did eliminate the 500ms ISI but >> >>> that >> >>> has not helped. I also tried to eliminated the jpeg files but then I >> >>> can >> >>> only randomize the duration of the motion which should be consistent >> >>> at >> >>> 100ms intervals. It is the time between presentations that should >> >>> randomly >> >>> fall within 500 to 100ms. >> >>> >> >>> I am at a complete loss as to what to try next. HELP! >> >> >> >> -- >> >> 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. >> >> >> > >> > -- >> > 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. >> > >> >> -- >> 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. >> > > -- > 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. > -- 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 lml1934 at gmail.com Wed Aug 24 21:17:53 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Wed, 24 Aug 2011 17:17:53 -0400 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Thanks Paul - very helpful. On Wed, Aug 24, 2011 at 3:20 PM, Paul Groot wrote: > Hi Lisa, > > If you enter a numeric (hard coded) value into the duration properties > of the wait1 to wait5 objects, you will indeed get fixed > (non-randomized) intervals. Setting the ordering property of the list > to random has no effect on this. There are several ways to get random > duration values. The easiest way (=without any inline script) is to > create a separate list and add an attribute with the interval values > you would like to use. Set the ordering of this list to random (with > or w/o replacement) and use this list as nested list in your real > trial list. The name of the attribute (i.e. 'FootageInterval') can > then be used to set the duration property in the wait objects. To make > sure EPrime picks a new value from the nested list for each wait > object you will have to use the following syntax for the durations: > > [FootageInterval:0] (for duration Wait1) > [FootageInterval:1] (for duration Wait2) > etc. > > Alternatively you could use a simple inline script at the start of the > trial and use the E-Basic random() function to set durations. (That > would be uniform random w/o replacement.) > > Hope this helps > Paul > > > 2011/8/24 Lisa Levinson : > > Paul- > > > > I have worked out a script that seems to run properly. Rather than use a > > still/jpeg file between motion files I added a "wait" slide. So, my > gradient > > runs for 100ms and the wait slide follows allowing me to present a > > non-moving image of the gradient for a specified duration. Note: in order > > for the animation to run as a loop I have five motion files, loaded in > > sequence. Here is my next challenge...I need five wait slides between my > > motion files but I would like to randomly assign a duration to those wait > > slides. At the moment I have them set up so that wait1 runs for 1000ms, > > wait2 for 600ms, wait3 for 700ms, wait4 for 800ms and wait5 for 900ms. > This > > list is set for random but I am not exactly sure what I am getting. Do > you > > think wait1 will always run at 1000ms, wait 2 for 600ms, etc? > > > > Lisa > > > > On Thu, Aug 18, 2011 at 7:04 PM, Paul Groot wrote: > >> > >> Hi Lisa, > >> > >> It looks like this 'hybrid' movie/still solution is causing more > >> problems than it solves. Like Presentation, you probably would like to > >> use some script to create/present the graphics. Unfortunately, E-Basic > >> only has limited support for creating graphics on the fly (text, > >> lines, rectangles and ellipses), and I'm not sure if your stimuli > >> could be drawn by those primitives. However, pre-created static > >> bitmaps (as movies) can be a workaround for painting more complex > >> graphics objects. Programming moving objects is not extremely > >> difficult, and if I remember correctly, there is an example available > >> on the pst support site > >> (http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=8) When > >> the graphics objects themself change, you might run into difficulties > >> when the computer hardware cannot keep up with the number of required > >> bitmaps and desired frame rate. Using movies will probably the only > >> working solution in that case. I think I would include the ISI's in > >> the movie so it becomes a single file that can be played without > >> interruption. ISI durations cannot be set at runtime this way, unless > >> you use the technique described below. > >> > >> In some cases is also possible to use an external (DLL) library to > >> create complex stimuli at run time (gabor patches, gradient fills, > >> ...). Such an external library could be used to create bitmaps or > >> movies on the fly, which then can be loaded by eprime. However, this > >> requires in-depth knowledge of a programming language such as C++ > >> because such a specific library probably doesn't exist yet. I used > >> this technique before to create audio files and complex bitmap > >> sequences. (If you have EPrime version 1, you might have a look at the > >> attached example. This will display a changing ellipse with a gradient > >> fill that can be defined at runtime in EPrime) > >> > >> Best, > >> Paul > >> > >> 2011/8/18 Lisa Levinson : > >> > Yes, Presentation is better for this type of experiment, however, the > >> > Presentation script was generated in a different lab and the lab I am > >> > working in is not set up to use Presentation (requires a serial port > >> > connection for which we have had issues with timing). So, you are 100% > >> > correct, I have been jumping through complicated hoops for more time > >> > than I > >> > will admit and while I have made progress the motion stim for this > >> > experiment is just crazy difficult to figure out. Today I was going to > >> > attempt to increase the duration of stimulus presentation to see if it > >> > is a > >> > loading issue. Will let you know but any thoughts would be greatly > >> > appreciated. > >> > > >> > > >> > On Thu, Aug 18, 2011 at 1:26 PM, David McFarlane > >> > wrote: > >> >> > >> >> Lisa, > >> >> > >> >> OK, I will ask the obvious dumb question. If you already have a > >> >> program > >> >> that works in Presentation, why would you want to recreate it in > >> >> E-Prime? > >> >> Although in principle E-Prime should be able to handle this, it may > >> >> require > >> >> jumping through a lot of complicated hoops, and it seems to me that > >> >> Presentation makes a better platform for this type of task. > >> >> > >> >> -- David McFarlane, Professional Faultfinder > >> >> > >> >> > >> >> At 8/16/2011 11:24 PM Tuesday, you wrote: > >> >>> > >> >>> I am looking to replicate an experiment originally created in > >> >>> Presentation for use with EPrime, part of an EEG experiment. The > >> >>> original > >> >>> experiment used that software’s programming language to create a > color > >> >>> and > >> >>> motion stimulus that allowed the researchers to compare the > >> >>> parvocellular > >> >>> and magnocellular visual pathways. I do not know EBasic and so I > have > >> >>> created the color stim in Photoshop and imported the image as a > slide. > >> >>> While > >> >>> I am not able to control luminance it appears very close to the > >> >>> original. > >> >>> The motion stim is proving much more complicated. I created a > >> >>> vertically > >> >>> oriented sinusoidal spatial frequency grating as an animation file > in > >> >>> Final > >> >>> Cut (editing software) and have been struggling ever since to make > it > >> >>> work > >> >>> as intended. > >> >>> > >> >>> The experiment calls for a low frequency grating to traverse from > left > >> >>> to > >> >>> right for 100ms with inter-stimulus intervals anywhere from 500 ms > to > >> >>> 1000ms. Because the stimulus presentation is so short I don’t seem > to > >> >>> be > >> >>> able to use the video start/stop feature; additionally, randomizing > >> >>> the ISI > >> >>> is not possible using this feature. I determined that one cycle of > the > >> >>> animation sequence is 31 frames and with a 60 frame per second > >> >>> animation > >> >>> that means that I have 10 six frame sets per second (each set > 100ms). > >> >>> I then > >> >>> created 6 frame .avi files and loaded them sequentially. Because the > >> >>> experiment calls for 320 trials I had the choice to load 320 files > or > >> >>> create > >> >>> a loop with 5 six frame sets, I opted for the loop. To allow for the > >> >>> randomized ISI intervals I created jpeg files containing the final > >> >>> frame of > >> >>> each set and then finished the sequence with my one remaining frame > (5 > >> >>> six > >> >>> frame sets plus one final still, making 31 frames). > >> >>> > >> >>> After loading the movie/still files (sequentially) it seems that > even > >> >>> though the stills(jpegs) were captured from the animation frames > they > >> >>> are > >> >>> not similar in size, so I have an inconsistency there – issue one. > The > >> >>> other > >> >>> issue is that the two images (movie/still) overlap rather than > >> >>> following in > >> >>> sequence. One appears inside the other and the error message I get > >> >>> once I > >> >>> abort is “unable to update frame.” I did eliminate the 500ms ISI but > >> >>> that > >> >>> has not helped. I also tried to eliminated the jpeg files but then I > >> >>> can > >> >>> only randomize the duration of the motion which should be consistent > >> >>> at > >> >>> 100ms intervals. It is the time between presentations that should > >> >>> randomly > >> >>> fall within 500 to 100ms. > >> >>> > >> >>> I am at a complete loss as to what to try next. HELP! > >> >> > >> >> -- > >> >> 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. > >> >> > >> > > >> > -- > >> > 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. > >> > > >> > >> -- > >> 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. > >> > > > > -- > > 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. > > > > -- > 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. > > -- 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 Thu Aug 25 15:43:57 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 25 Aug 2011 11:43:57 -0400 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: At 8/24/2011 03:20 PM Wednesday, Paul Groot wrote: >Alternatively you could use a simple inline script at the start of >the trial and use the E-Basic random() function to set durations. >(That would be uniform random w/o replacement.) Um, wouldn't the E-Basic random() function result in uniform random samples *with* replacement? -- 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 pfc.groot at gmail.com Thu Aug 25 19:25:12 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Thu, 25 Aug 2011 21:25:12 +0200 Subject: EPrime - motion stim issues In-Reply-To: <4e566dcd.4a962a0a.5aa7.3a0cSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Absolutely; the cyclic chain of numbers will definitely pop-up the same numbers after a while... So they must have been but back ;-) my mistake! 2011/8/25 David McFarlane : > At 8/24/2011 03:20 PM Wednesday, Paul Groot wrote: >> >> Alternatively you could use a simple inline script at the start of the >> trial and use the E-Basic random() function to set durations. (That would be >> uniform random w/o replacement.) > > Um, wouldn't the E-Basic random() function result in uniform random samples > *with* replacement? > > -- 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. > > -- 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 Aug 25 20:59:16 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 25 Aug 2011 16:59:16 -0400 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Ah, I was not thinking about the underlying architecture of the Random() function, so you got me there! Now the discussion must get more technical... Of course, if Random() is based on, say, a 32-bit cyclic PRNG, then it will repeat its sequence after no more than 2^32 = 4,294,967,296 samples (or perhaps more like 2^31 = 2,147,483,648 samples, because E-Basic/VBA does not use unsigned integers). But that is not what I had in mind, because we rarely use Random() to pick numbers from that entire range. Rather, I had in mind more common & prosaic uses such as Random(0,99). The underlying architecture now parses the full 32-bit range into 100 segments, with no guarantee that it will not draw samples from the same segment until a sample has been drawn from each segment. To the contrary, it is extremely likely in this case that it will draw duplicate numbers within the first 100 samples. You can see this readily if you try a scaled-down example, say, Random(0,9) or even Random(0,2) -- I know, I just did this. More to the point, I was thinking in terms of my understanding of the *intent* or *specification* of the Random() function, apart from its actual implementation. As I understand it, Random() is *meant* to act as a die roll, not as a shuffled deck of cards. IOW, Random(1,6) should return a random number from 1 to 6 each time, without regard to what came before (just like a six-sided die), rather than return a number and then remember that number and not return it again until all other numbers have been returned (like a shuffled six-card deck). Did I get this right now? Best, -- David McFarlane, Professional Faultfinder At 8/25/2011 03:25 PM Thursday, Paul Groot wrote: >Absolutely; the cyclic chain of numbers will definitely pop-up the >same numbers after a while... So they must have been but back ;-) > >my mistake! > >2011/8/25 David McFarlane : > > At 8/24/2011 03:20 PM Wednesday, Paul Groot wrote: > >> > >> Alternatively you could use a simple inline script at the start of the > >> trial and use the E-Basic random() function to set durations. > (That would be > >> uniform random w/o replacement.) > > > > Um, wouldn't the E-Basic random() function result in uniform random samples > > *with* replacement? > > > > -- 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 lml1934 at gmail.com Thu Aug 25 23:08:13 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Thu, 25 Aug 2011 19:08:13 -0400 Subject: EPrime - motion stim issues In-Reply-To: <4e56b81d.4cd62a0a.10b3.54eeSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thank you - will try this tomorrow. Lisa On Thu, Aug 25, 2011 at 4:59 PM, David McFarlane wrote: > Ah, I was not thinking about the underlying architecture of the Random() > function, so you got me there! Now the discussion must get more > technical... > > Of course, if Random() is based on, say, a 32-bit cyclic PRNG, then it will > repeat its sequence after no more than 2^32 = 4,294,967,296 samples (or > perhaps more like 2^31 = 2,147,483,648 samples, because E-Basic/VBA does not > use unsigned integers). But that is not what I had in mind, because we > rarely use Random() to pick numbers from that entire range. > > Rather, I had in mind more common & prosaic uses such as Random(0,99). The > underlying architecture now parses the full 32-bit range into 100 segments, > with no guarantee that it will not draw samples from the same segment until > a sample has been drawn from each segment. To the contrary, it is extremely > likely in this case that it will draw duplicate numbers within the first 100 > samples. You can see this readily if you try a scaled-down example, say, > Random(0,9) or even Random(0,2) -- I know, I just did this. > > More to the point, I was thinking in terms of my understanding of the > *intent* or *specification* of the Random() function, apart from its actual > implementation. As I understand it, Random() is *meant* to act as a die > roll, not as a shuffled deck of cards. IOW, Random(1,6) should return a > random number from 1 to 6 each time, without regard to what came before > (just like a six-sided die), rather than return a number and then remember > that number and not return it again until all other numbers have been > returned (like a shuffled six-card deck). > > Did I get this right now? > > Best, > -- David McFarlane, Professional Faultfinder > > > > At 8/25/2011 03:25 PM Thursday, Paul Groot wrote: > >> Absolutely; the cyclic chain of numbers will definitely pop-up the >> same numbers after a while... So they must have been but back ;-) >> >> my mistake! >> >> 2011/8/25 David McFarlane : >> > At 8/24/2011 03:20 PM Wednesday, Paul Groot wrote: >> >> >> >> Alternatively you could use a simple inline script at the start of the >> >> trial and use the E-Basic random() function to set durations. (That >> would be >> >> uniform random w/o replacement.) >> > >> > Um, wouldn't the E-Basic random() function result in uniform random >> samples >> > *with* replacement? >> > >> > -- 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@** > googlegroups.com . > For more options, visit this group at http://groups.google.com/** > group/e-prime?hl=en . > > -- 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 pfc.groot at gmail.com Thu Aug 25 23:17:30 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Fri, 26 Aug 2011 01:17:30 +0200 Subject: EPrime - motion stim issues In-Reply-To: <4e56b81d.4cd62a0a.10b3.54eeSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hi David, That is indeed what happens when using the random function. (I was just trying to talk myself out of a silly typo ;-) A deeper understanding of the problem often raises new questions... Purely academic off course! I just realized that the EPrime (1.2) documentation mentions two types of random generators: The standard visual basic functions (random, randomize) and the E-Basic specific PRNG object. This might be important if you use the seed value to setup your experiment to a known state (for reproducibility and testing). The edat output file logs a single seed value retrieved with PRNG.GetSeed(), so it would be interesting to know if there is only one active PRNG under the hood. A simple test shows that this is indeed the case: PRNG.SetSeed 987654321 debug.print PRNG.GetSeed() Randomize 123456789 debug.print PRNG.GetSeed() will print: 987654321 123456789 cheers Paul 2011/8/25 David McFarlane : > Ah, I was not thinking about the underlying architecture of the Random() > function, so you got me there!  Now the discussion must get more > technical... > > Of course, if Random() is based on, say, a 32-bit cyclic PRNG, then it will > repeat its sequence after no more than 2^32 = 4,294,967,296 samples (or > perhaps more like 2^31 = 2,147,483,648 samples, because E-Basic/VBA does not > use unsigned integers).  But that is not what I had in mind, because we > rarely use Random() to pick numbers from that entire range. > > Rather, I had in mind more common & prosaic uses such as Random(0,99).  The > underlying architecture now parses the full 32-bit range into 100 segments, > with no guarantee that it will not draw samples from the same segment until > a sample has been drawn from each segment.  To the contrary, it is extremely > likely in this case that it will draw duplicate numbers within the first 100 > samples.  You can see this readily if you try a scaled-down example, say, > Random(0,9) or even Random(0,2) -- I know, I just did this. > > More to the point, I was thinking in terms of my understanding of the > *intent* or *specification* of the Random() function, apart from its actual > implementation.  As I understand it, Random() is *meant* to act as a die > roll, not as a shuffled deck of cards.  IOW, Random(1,6) should return a > random number from 1 to 6 each time, without regard to what came before > (just like a six-sided die), rather than return a number and then remember > that number and not return it again until all other numbers have been > returned (like a shuffled six-card deck). > > Did I get this right now? > > Best, > -- David McFarlane, Professional Faultfinder > > > At 8/25/2011 03:25 PM Thursday, Paul Groot wrote: >> >> Absolutely; the cyclic chain of numbers will definitely pop-up the >> same numbers after a while... So they must have been but back ;-) >> >> my mistake! >> >> 2011/8/25 David McFarlane : >> > At 8/24/2011 03:20 PM Wednesday, Paul Groot wrote: >> >> >> >> Alternatively you could use a simple inline script at the start of the >> >> trial and use the E-Basic random() function to set durations. (That >> >> would be >> >> uniform random w/o replacement.) >> > >> > Um, wouldn't the E-Basic random() function result in uniform random >> > samples >> > *with* replacement? >> > >> > -- 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. > > -- 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 Aug 26 14:41:59 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 26 Aug 2011 10:41:59 -0400 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Paul, Thanks for checking on the equivalence between PRNG and Randomize, etc., and posting a very nice test. I had wondered about that myself, and some time ago ran extensive tests to convince myself that they all use the same underlying generator. Perhaps it is time that I posted that as part of my "Mastering E-Prime" series. In short, I concluded that PRNG just gathers into one E-Object all of the functions of the standard VBA randomization functions, and that PRNG includes a GetSeed method lacking from standard VBA. Beyond that, which you use comes down to matter of personal programming taste or style. I like keeping all those functions neatly organized under one object, but I always comment that in my source code. But of course no one should take my word for anything, so it is good to have someone else verify this. Best, -- David McFarlane, Professional Faultfinder At 8/25/2011 07:17 PM Thursday, Paul Groot wrote: >Hi David, > >That is indeed what happens when using the random function. (I was >just trying to talk myself out of a silly typo ;-) > >A deeper understanding of the problem often raises new questions... >Purely academic off course! >I just realized that the EPrime (1.2) documentation mentions two types >of random generators: The standard visual basic functions (random, >randomize) and the E-Basic specific PRNG object. This might be >important if you use the seed value to setup your experiment to a >known state (for reproducibility and testing). The edat output file >logs a single seed value retrieved with PRNG.GetSeed(), so it would be >interesting to know if there is only one active PRNG under the hood. A >simple test shows that this is indeed the case: > >PRNG.SetSeed 987654321 >debug.print PRNG.GetSeed() >Randomize 123456789 >debug.print PRNG.GetSeed() > >will print: >987654321 >123456789 > >cheers >Paul > >2011/8/25 David McFarlane : > > Ah, I was not thinking about the underlying architecture of the Random() > > function, so you got me there! Now the discussion must get more > > technical... > > > > Of course, if Random() is based on, say, a 32-bit cyclic PRNG, then it will > > repeat its sequence after no more than 2^32 = 4,294,967,296 samples (or > > perhaps more like 2^31 = 2,147,483,648 samples, because > E-Basic/VBA does not > > use unsigned integers). But that is not what I had in mind, because we > > rarely use Random() to pick numbers from that entire range. > > > > Rather, I had in mind more common & prosaic uses such as Random(0,99). The > > underlying architecture now parses the full 32-bit range into 100 segments, > > with no guarantee that it will not draw samples from the same segment until > > a sample has been drawn from each segment. To the contrary, it > is extremely > > likely in this case that it will draw duplicate numbers within > the first 100 > > samples. You can see this readily if you try a scaled-down example, say, > > Random(0,9) or even Random(0,2) -- I know, I just did this. > > > > More to the point, I was thinking in terms of my understanding of the > > *intent* or *specification* of the Random() function, apart from its actual > > implementation. As I understand it, Random() is *meant* to act as a die > > roll, not as a shuffled deck of cards. IOW, Random(1,6) should return a > > random number from 1 to 6 each time, without regard to what came before > > (just like a six-sided die), rather than return a number and then remember > > that number and not return it again until all other numbers have been > > returned (like a shuffled six-card deck). > > > > Did I get this right now? > > > > Best, > > -- David McFarlane, Professional Faultfinder > > > > > > At 8/25/2011 03:25 PM Thursday, Paul Groot wrote: > >> > >> Absolutely; the cyclic chain of numbers will definitely pop-up the > >> same numbers after a while... So they must have been but back ;-) > >> > >> my mistake! > >> > >> 2011/8/25 David McFarlane : > >> > At 8/24/2011 03:20 PM Wednesday, Paul Groot wrote: > >> >> > >> >> Alternatively you could use a simple inline script at the start of the > >> >> trial and use the E-Basic random() function to set durations. (That > >> >> would be > >> >> uniform random w/o replacement.) > >> > > >> > Um, wouldn't the E-Basic random() function result in uniform random > >> > samples > >> > *with* replacement? > >> > > >> > -- 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 mcfarla9 at msu.edu Fri Aug 26 15:36:19 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 26 Aug 2011 11:36:19 -0400 Subject: Mastering E-Prime: PRNG vs. standard randomization functions Message-ID: E-Basic offers two sets of randomization functions: The standard set from VBA (Randomize(), Rnd(), Random()), and the PRNG object (with methods GetSeed, SetSeed, Reset, GetNext, GetPrev, Random()). How do these differ? Do they use the same underlying pseudo-random number generator? Why use one rather than the other? As demonstrated by Paul Groot at http://groups.google.com/group/e-prime/browse_thread/thread/ccda3fe57a595c54 , both sets of functions *do* use the same underlying pseudo-random number generator (but you should still test that out for yourself!), and provide equivalent results. So what's the point? Well, the standard VBA set does have a confusing interface. I posit that E-Basic provides the PRNG object simply to gather all these functions into one tidy E-Object, and along the way provides one extra function lacking from the standard set. E-Basic still includes the standard set for those VBA programmers who prefer it, as well as to allow legacy code to work. Some further notes (in the following, x indicates an arbitrary number, +x a number greater than 0, -x a number less than 0): - PRNG.GetSeed has no equivalent in the standard VBA set. - PRNG.SetSeed x does the same as Randomize x (note that "Randomize" without an argument uses the system clock for the seed; PRNG has no simple equivalent to this -- "PRNG.SetSeed" without an argument sets the seed to 1). - PRNG.Reset is a synonym for PRNG.SetSeed 0 or Randomize 0 - PRNG.GetNext does the same as Rnd(+x) - PRNG.GetPrev does the same as Rnd(0) i.e., they simply repeat the value of the latest random number generated (e.g., from the latest use of PRNG.GetNext or Rnd(+x)). (Note also that after PRNG.Random() or Random() it returns the full double value, not the truncated long integer value.) - PRNG.Random(min,max) does the same as Random(min,max) 0 <= min < max, or they produce the run time error "Invalid Range Specified". - Rnd(-x) returns the same as Randomize Abs(x) ' (same x as above) Rnd(+y) which in turn does the same as PRNG.SetSeed Abs(x) PRNG.GetNext So which should you use? That comes down to your personal programming taste or style: Would you rather use well-known standard VBA statements & functions, or keep things organized as methods from one E-Object? Whichever you choose, you might help others by explaining your choice with comments in your program. -- 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 mcfarla9 at msu.edu Fri Aug 26 15:40:35 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 26 Aug 2011 11:40:35 -0400 Subject: EPrime - motion stim issues In-Reply-To: <4e57b0c8.87952a0a.34c2.7572SMTPIN_ADDED@gmr-mx.google.com> Message-ID: OK, I posted the article at http://groups.google.com/group/e-prime/browse_thread/thread/5b7862e01f738dfc . (Also, I should have mentioned in my earlier post here that, besides PRNG including a GetSeed method lacking from standard VBA, PRNG lacks a simple equivalent to the standard set's "Randomize" with no argument.) -- David McFarlane, Professional Faultfinder At 8/26/2011 10:41 AM Friday, David McFarlane wrote: >Paul, > >Thanks for checking on the equivalence between PRNG and Randomize, >etc., and posting a very nice test. I had wondered about that >myself, and some time ago ran extensive tests to convince myself >that they all use the same underlying generator. Perhaps it is time >that I posted that as part of my "Mastering E-Prime" series. In >short, I concluded that PRNG just gathers into one E-Object all of >the functions of the standard VBA randomization functions, and that >PRNG includes a GetSeed method lacking from standard VBA. Beyond >that, which you use comes down to matter of personal programming >taste or style. I like keeping all those functions neatly organized >under one object, but I always comment that in my source code. > >But of course no one should take my word for anything, so it is good >to have someone else verify this. > >Best, >-- David McFarlane, Professional Faultfinder > > >At 8/25/2011 07:17 PM Thursday, Paul Groot wrote: >>Hi David, >> >>That is indeed what happens when using the random function. (I was >>just trying to talk myself out of a silly typo ;-) >> >>A deeper understanding of the problem often raises new questions... >>Purely academic off course! >>I just realized that the EPrime (1.2) documentation mentions two types >>of random generators: The standard visual basic functions (random, >>randomize) and the E-Basic specific PRNG object. This might be >>important if you use the seed value to setup your experiment to a >>known state (for reproducibility and testing). The edat output file >>logs a single seed value retrieved with PRNG.GetSeed(), so it would be >>interesting to know if there is only one active PRNG under the hood. A >>simple test shows that this is indeed the case: >> >>PRNG.SetSeed 987654321 >>debug.print PRNG.GetSeed() >>Randomize 123456789 >>debug.print PRNG.GetSeed() >> >>will print: >>987654321 >>123456789 >> >>cheers >>Paul >> >>2011/8/25 David McFarlane : >> > Ah, I was not thinking about the underlying architecture of the Random() >> > function, so you got me there! Now the discussion must get more >> > technical... >> > >> > Of course, if Random() is based on, say, a 32-bit cyclic PRNG, >> then it will >> > repeat its sequence after no more than 2^32 = 4,294,967,296 samples (or >> > perhaps more like 2^31 = 2,147,483,648 samples, because >> E-Basic/VBA does not >> > use unsigned integers). But that is not what I had in mind, because we >> > rarely use Random() to pick numbers from that entire range. >> > >> > Rather, I had in mind more common & prosaic uses such as >> Random(0,99). The >> > underlying architecture now parses the full 32-bit range into >> 100 segments, >> > with no guarantee that it will not draw samples from the same >> segment until >> > a sample has been drawn from each segment. To the contrary, it >> is extremely >> > likely in this case that it will draw duplicate numbers within >> the first 100 >> > samples. You can see this readily if you try a scaled-down example, say, >> > Random(0,9) or even Random(0,2) -- I know, I just did this. >> > >> > More to the point, I was thinking in terms of my understanding of the >> > *intent* or *specification* of the Random() function, apart from >> its actual >> > implementation. As I understand it, Random() is *meant* to act as a die >> > roll, not as a shuffled deck of cards. IOW, Random(1,6) should return a >> > random number from 1 to 6 each time, without regard to what came before >> > (just like a six-sided die), rather than return a number and then remember >> > that number and not return it again until all other numbers have been >> > returned (like a shuffled six-card deck). >> > >> > Did I get this right now? >> > >> > Best, >> > -- David McFarlane, Professional Faultfinder >> > >> > >> > At 8/25/2011 03:25 PM Thursday, Paul Groot wrote: >> >> >> >> Absolutely; the cyclic chain of numbers will definitely pop-up the >> >> same numbers after a while... So they must have been but back ;-) >> >> >> >> my mistake! >> >> >> >> 2011/8/25 David McFarlane : >> >> > At 8/24/2011 03:20 PM Wednesday, Paul Groot wrote: >> >> >> >> >> >> Alternatively you could use a simple inline script at the start of the >> >> >> trial and use the E-Basic random() function to set durations. (That >> >> >> would be >> >> >> uniform random w/o replacement.) >> >> > >> >> > Um, wouldn't the E-Basic random() function result in uniform random >> >> > samples >> >> > *with* replacement? >> >> > >> >> > -- 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 jefriedel at gmail.com Mon Aug 29 19:59:34 2011 From: jefriedel at gmail.com (Jonathan Friedel) Date: Mon, 29 Aug 2011 12:59:34 -0700 Subject: Accuracy on the preceding n-trials Message-ID: Hello, I am new to e-prime. I am trying to change from when block of trials to a second block of trails based on a 100% accuracy on the previous n trials. Unfortunately, I do not know what key words will help me search to find what I want. Let us say have three conditions, A, B, and C, and each condition has 20 different trials with in it. I can get e-prime to randomly select a condition and then trials. What I need is for a condition to continue infinitely, selecting trials randomly without replacement, until the some number (let's 4) of consecutive trials are correct. Once those four trials are correct, then eprime will randomly select the next condition. I appreciate that inline code will be necessary, but I am not sure what is necessary. Can someone start to point me in the appropriate direction? Thanks for the help, Jon -- 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 Mon Aug 29 20:35:59 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 29 Aug 2011 16:35:59 -0400 Subject: Accuracy on the preceding n-trials In-Reply-To: Message-ID: Jon, 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... How about the "Criterion Based Exit" example downloadable from the PST web site? -- David McFarlane, Professional Faultfinder At 8/29/2011 03:59 PM Monday, you wrote: >I am new to e-prime. I am trying to change from when block of trials >to a second block of trails based on a 100% accuracy on the previous n >trials. Unfortunately, I do not know what key words will help me >search to find what I want. > >Let us say have three conditions, A, B, and C, and each condition has >20 different trials with in it. I can get e-prime to randomly select >a condition and then trials. What I need is for a condition to >continue infinitely, selecting trials randomly without replacement, >until the some number (let's 4) of consecutive trials are correct. >Once those four trials are correct, then eprime will randomly select >the next condition. I appreciate that inline code will be necessary, >but I am not sure what is necessary. > >Can someone start to point me in the appropriate direction? > >Thanks for the help, > >Jon -- 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 browncowwow at gmail.com Tue Aug 30 02:09:58 2011 From: browncowwow at gmail.com (Mo) Date: Mon, 29 Aug 2011 19:09:58 -0700 Subject: Multiple Mouse Click Question Message-ID: Hi! My colleague and I are currently designing an experiment using E- Prime2.0. The experiment requires subjects to respond to an audio stimulus with two responses. Subjects will hear an audio file that contains two English sounds (like "ba"). They must identify which two sounds they heard ("b" and "a"). There are 26 possible choices (as in 26 letters in English) for each sound. Both responses require a mouse as the input device. We have a couple questions about how to set up the experiment in E- Studio: 1. How do we set up 52 (26 choices for each of the two sounds) distinct response areas? 2. How do we tell E-Prime to recognize a mouse-click response, and in particular, multiple (2) mouse clicks in particular locations? Neither of us have any programming experience and this is our first time using E-Prime. While we have completed the basic tutorials, we are aware that mouse-click responses require a bit more inline coding. Could anyone refer us to a place that discusses mouse-click responses in more detail, as neither the reference guide nor the getting started guide discuss setting up mouse-click response in any detail? Thank you for your time and consideration. -- 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 pquain at une.edu.au Tue Aug 30 02:43:17 2011 From: pquain at une.edu.au (Peter Quain) Date: Tue, 30 Aug 2011 12:43:17 +1000 Subject: Multiple Mouse Click Question In-Reply-To: <24baa382-cf0f-4aa7-b282-cf7313a72b79@fi7g2000vbb.googlegro ups.com> Message-ID: try looking at the SlideState HitTest method. There is a topic, SlideState.HitTest, in the E-Basic Help. PST also has a sample program for this that you may download. Attached is a version from years ago, don't know whether there is an updated example At 12:09 PM 30/08/2011, you wrote: >Hi! > >My colleague and I are currently designing an experiment using E- >Prime2.0. The experiment requires subjects to respond to an audio >stimulus with two responses. Subjects will hear an audio file that >contains two English sounds (like "ba"). They must identify which two >sounds they heard ("b" and "a"). There are 26 possible choices (as in >26 letters in English) for each sound. Both responses require a mouse >as the input device. > >We have a couple questions about how to set up the experiment in E- >Studio: > >1. How do we set up 52 (26 choices for each of the two sounds) >distinct response areas? >2. How do we tell E-Prime to recognize a mouse-click response, and in >particular, multiple (2) mouse clicks in particular locations? > >Neither of us have any programming experience and this is our first >time using E-Prime. While we have completed the basic tutorials, we >are aware that mouse-click responses require a bit more inline coding. >Could anyone refer us to a place that discusses mouse-click responses >in more detail, as neither the reference guide nor the getting started >guide discuss setting up mouse-click response in any detail? > >Thank you for your time and consideration. > >-- >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. -- 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 -------------- [WARNING] WARNING: DO NOT EDIT THIS FILE DIRECTLY! Use only E-Studio to edit this file. Editing of this file from any other means is not supported and may corrupt the experiment design specification. Technical support will not be able to address any issue in regards to this file format. [Experiment] VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 _VersionPersist=6 Root="SessionProc" Author="PST Support" Abstract="This example illustrates how to create response areas on the screen,\r\nthen collect and score mouse-click responses based on those \r\nareas.\r\n\r\nIn beta 5, response areas simply become sub-objects on the Slide\r\n(text blocks, image placeholders) which you can rename in the \r\nProperties window for the sub-object. \r\n\r\nYou can then call the sub-objects, via the TrialList, as areas of \r\nstimuli presentation and/or correct response areas.\r\n\r\nEssentially, the DoHitTest script tells E-Prime to find the x- and y-\r\ncoordinates of the mouse click when a response is made. If the \r\nmouse click coordinates match the response area coordinates, the\r\n response is correct. If they do not, the response is incorrect. " Notes="Revised: 12/12/00" Creation=1010414586 [Device0] _VersionPersist=1 OpenDevice=1 CollectionMode=1 EmulateDeviceName="" CapsLock=0 NumLock=0 Name="Keyboard" Class="Keyboard" [Device1] _VersionPersist=1 OpenDevice=1 CollectionMode=1 EmulateDeviceName="" OpenMode=0 ShowCursor=0 Name="Mouse" Class="Mouse" [Device2] _VersionPersist=1 OpenDevice=1 Width=640 Height=480 Bpp=16 Name="Display" Class="Display" [Device3] _VersionPersist=1 OpenDevice=0 Channels=2 Samples=22050 Bps=16 Name="Sound" Class="Sound" [DataFile] WarnBeforeOverwrite=1 WarnIfConvertFailed=1 RemoveERecoveryFile=0 ReceiveFeedbackDuringDataFileConversion=1 LogLevel(2).Name="Block" LogLevel(3).Name="Trial" LogLevel(4).Name="SubTrial" LogLevel(5).Name="LogLevel5" LogLevel(6).Name="LogLevel6" LogLevel(7).Name="LogLevel7" LogLevel(8).Name="LogLevel8" LogLevel(9).Name="LogLevel9" LogLevel(10).Name="LogLevel10" [StartupInfo] DisplaySummary=1 UseDefaults=0 [StartupInfo1] Name="Subject" Prompt="Please enter the Subject Number (0-32767):" DataType=0 Enabled=1 PromptEnabled=1 Default="1" Min=0 Max=32767 PrivateFlags=268435477 PrivateInfo=1 [StartupInfo2] Name="Session" Prompt="Please enter the Session Number (0-32767):" DataType=0 Enabled=1 PromptEnabled=1 Default="1" Min=0 Max=32767 PrivateFlags=268435477 PrivateInfo=1 [StartupInfo3] Name="Group" Prompt="Please enter Subject's Group (0-32767):" DataType=0 Enabled=0 PromptEnabled=0 Default="1" Min=0 Max=32767 [StartupInfo4] Name="Name" Prompt="Please enter Subject's Name:" DataType=1 Enabled=0 PromptEnabled=0 Default="" MaxLength=255 [StartupInfo5] Name="Age" Prompt="Please enter Subject's Age (0-150):" DataType=0 Enabled=0 PromptEnabled=0 Default="0" Min=0 Max=150 [StartupInfo6] Name="Sex" Prompt="Please enter Subject's Sex:" DataType=2 Enabled=0 PromptEnabled=0 Default="male" Choice(1).Value="male" Choice(2).Value="female" [StartupInfo7] Name="Handedness" Prompt="Enter Subject's Handedness:" DataType=2 Enabled=0 PromptEnabled=0 Default="left" Choice(1).Value="left" Choice(2).Value="right" [StartupInfo8] Name="ResearcherID" Prompt="Please enter Researcher's ID:" DataType=0 Enabled=0 PromptEnabled=0 Default="1" Min=0 Max=32767 [Object0] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 _ItemList="Instructions;ShowCursor;BlockList;Goodbye" _VersionPersist=1 FlowLines(0).Count=4 FlowLines(0).FlowItem(0).Name="Instructions" FlowLines(0).FlowItem(1).Name="ShowCursor" FlowLines(0).FlowItem(2).Name="BlockList" FlowLines(0).FlowItem(3).Name="Goodbye" LogData=1 Name="SessionProc" TypeName="Procedure" Tag="" Notes="" [Object1] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Logging("OnsetDelay").Log=0 Logging("OnsetTime").Log=0 Logging("DurationError").Log=0 Logging("PreRelease").Log=0 Logging("Duration").Log=0 Logging("StartTime").Log=0 Logging("OffsetTime").Log=0 Logging("FinishTime").Log=0 Logging("TimingMode").Log=0 Logging("CustomOnsetTime").Log=0 Logging("CustomOffsetTime").Log=0 Logging("ActionDelay").Log=0 Logging("ActionTime").Log=0 Logging("TargetOffsetTime").Log=0 Logging("TargetOnsetTime").Log=0 Logging("OffsetDelay").Log=0 Logging("RTTime").Log=0 Logging("ACC").Log=0 Logging("RT").Log=0 Logging("RESP").Log=0 Logging("CRESP").Log=0 Logging("Tag").Log=0 Input(0)=!Data0 _VersionPersist=1 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Text="Welcome to the experiment\n\nYou will see a fixation followed by an arrow and a '*' in 1 of 4 positions.\n\n\nAs quickly as you can, click the box containing the '*'.\n\nPress any key to continue" ForeColor="black" BackColor="white" BackStyle="opaque" BorderColor="black" BorderWidth="0" X="center" Y="center" Width="100%" Height="100%" XAlign="center" YAlign="center" AlignHorizontal="center" AlignVertical="center" FontName="Courier New" FontSize="18" FontBold="Yes" FontItalic="No" FontUnderline="No" FontStrikeout="No" WordWrap=1 ClearAfter="No" Duration="10000" JumpLabel="" TimingMode=0 PreRelease="0" OnsetSync=1 OffsetSync=0 Name="Instructions" TypeName="TextDisplay" Tag="" Notes="" [Data0] DeviceName="Keyboard" DeviceClass="Keyboard" AllowableInput="{ANY}" CorrectInput="" TimeLimit="" MaxCount="1" InputAction=1 SyncOwnerDuration=1 Enabled=1 FlushInputBuffer="Yes" TerminationInput="" UserTag="" ResponseMode="All" ProcessBackspace="Yes" [Object2] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Logging("PracticeMode").Log=-1 _ItemList="BlockProc" _VersionPersist=1 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Order=0 OrderBy=0 ResetEveryRun=0 HideLevelsWithZeroWeight=0 CycleDef=0 CycleValueSamples=0 CycleValueCondition="" ExitDef=0 ExitValueCycles=1 ExitValueSamples=1 ExitValueSeconds=0 ExitValueCondition="" LoadMethod=2 Filename="" UserAttributes=1 Attributes("Weight").DefaultValue="1" Attributes("Weight").Visible=1 Attributes("Weight").Width=75 Attributes("Weight").OrderIndex=0 Attributes("Procedure").DefaultValue="" Attributes("Procedure").Visible=1 Attributes("Procedure").Width=75 Attributes("Procedure").OrderIndex=1 Attributes("Nested").DefaultValue="" Attributes("Nested").Visible=1 Attributes("Nested").Width=75 Attributes("Nested").OrderIndex=2 Attributes(1).Name="PracticeMode" Attributes(1).DefaultValue="?" Attributes(1).VarType=8 Attributes(1).VarTypeInternal=8 Attributes(1).Visible=1 Attributes(1).Width=86 Levels=1 Levels(1).ValueString="1\tBlockProc\t\tNo\t" Name="BlockList" TypeName="List" Tag="" Notes="" [Object3] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Logging("OnsetDelay").Log=0 Logging("OnsetTime").Log=0 Logging("DurationError").Log=0 Logging("PreRelease").Log=0 Logging("Duration").Log=0 Logging("StartTime").Log=0 Logging("OffsetTime").Log=0 Logging("FinishTime").Log=0 Logging("TimingMode").Log=0 Logging("CustomOnsetTime").Log=0 Logging("CustomOffsetTime").Log=0 Logging("ActionDelay").Log=0 Logging("ActionTime").Log=0 Logging("TargetOffsetTime").Log=0 Logging("TargetOnsetTime").Log=0 Logging("OffsetDelay").Log=0 Logging("RTTime").Log=0 Logging("ACC").Log=0 Logging("RT").Log=0 Logging("RESP").Log=0 Logging("CRESP").Log=0 Logging("Tag").Log=0 _VersionPersist=1 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Text="Thank you for participating.\n\n\nGoodbye!" ForeColor="black" BackColor="white" BackStyle="opaque" BorderColor="black" BorderWidth="0" X="center" Y="center" Width="100%" Height="100%" XAlign="center" YAlign="center" AlignHorizontal="center" AlignVertical="center" FontName="Courier New" FontSize="18" FontBold="Yes" FontItalic="No" FontUnderline="No" FontStrikeout="No" WordWrap=1 ClearAfter="yes" Duration="2000" JumpLabel="" TimingMode=0 PreRelease="0" OnsetSync=1 OffsetSync=0 Name="Goodbye" TypeName="TextDisplay" Tag="" Notes="" [Object4] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 _ItemList="TrialList" _VersionPersist=1 FlowLines(0).Count=1 FlowLines(0).FlowItem(0).Name="TrialList" LogData=1 Name="BlockProc" TypeName="Procedure" Tag="" Notes="" [Object5] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Logging("OnsetDelay").Log=0 Logging("OnsetTime").Log=0 Logging("DurationError").Log=0 Logging("PreRelease").Log=0 Logging("Duration").Log=0 Logging("StartTime").Log=0 Logging("OffsetTime").Log=0 Logging("FinishTime").Log=0 Logging("TimingMode").Log=0 Logging("CustomOnsetTime").Log=0 Logging("CustomOffsetTime").Log=0 Logging("ActionDelay").Log=0 Logging("ActionTime").Log=0 Logging("TargetOffsetTime").Log=0 Logging("TargetOnsetTime").Log=0 Logging("OffsetDelay").Log=0 Logging("RTTime").Log=0 Logging("ACC").Log=0 Logging("RT").Log=0 Logging("RESP").Log=0 Logging("CRESP").Log=0 Logging("Tag").Log=0 _VersionPersist=1 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Text="\n\n\n\n\n\n\n+\n\n\n\n\n\n" ForeColor="black" BackColor="white" BackStyle="opaque" BorderColor="black" BorderWidth="0" X="center" Y="center" Width="100%" Height="100%" XAlign="center" YAlign="center" AlignHorizontal="center" AlignVertical="center" FontName="Courier New" FontSize="18" FontBold="Yes" FontItalic="No" FontUnderline="No" FontStrikeout="No" WordWrap=1 ClearAfter="No" Duration="1000" JumpLabel="" TimingMode=0 PreRelease="0" OnsetSync=1 OffsetSync=0 Name="Fixation" TypeName="TextDisplay" Tag="" Notes="" [Object6] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Logging("Up").Log=-1 Logging("Right").Log=-1 Logging("Down").Log=-1 Logging("Left").Log=-1 Logging("Stimulus").Log=-1 Logging("CorrectAnswer").Log=-1 _ItemList="TrialProc" _VersionPersist=1 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Order=0 OrderBy=0 ResetEveryRun=0 HideLevelsWithZeroWeight=0 CycleDef=0 CycleValueSamples=0 CycleValueCondition="" ExitDef=0 ExitValueCycles=1 ExitValueSamples=1 ExitValueSeconds=0 ExitValueCondition="" LoadMethod=2 Filename="" UserAttributes=6 Attributes("Weight").DefaultValue="1" Attributes("Weight").Visible=1 Attributes("Weight").Width=43 Attributes("Weight").OrderIndex=0 Attributes("Procedure").DefaultValue="TrialProc" Attributes("Procedure").Visible=1 Attributes("Procedure").Width=75 Attributes("Procedure").OrderIndex=1 Attributes("Nested").DefaultValue="" Attributes("Nested").Visible=1 Attributes("Nested").Width=75 Attributes("Nested").OrderIndex=2 Attributes(1).Name="Up" Attributes(1).DefaultValue="?" Attributes(1).VarType=8 Attributes(1).VarTypeInternal=8 Attributes(1).Visible=1 Attributes(1).Width=48 Attributes(2).Name="Right" Attributes(2).DefaultValue="?" Attributes(2).VarType=8 Attributes(2).VarTypeInternal=8 Attributes(2).Visible=1 Attributes(2).Width=50 Attributes(3).Name="Down" Attributes(3).DefaultValue="?" Attributes(3).VarType=8 Attributes(3).VarTypeInternal=8 Attributes(3).Visible=1 Attributes(3).Width=45 Attributes(4).Name="Left" Attributes(4).DefaultValue="?" Attributes(4).VarType=8 Attributes(4).VarTypeInternal=8 Attributes(4).Visible=1 Attributes(4).Width=47 Attributes(5).Name="Stimulus" Attributes(5).DefaultValue="?" Attributes(5).VarType=8 Attributes(5).VarTypeInternal=8 Attributes(5).Visible=1 Attributes(5).Width=75 Attributes(6).Name="CorrectAnswer" Attributes(6).DefaultValue="?" Attributes(6).VarType=8 Attributes(6).VarTypeInternal=8 Attributes(6).Visible=1 Attributes(6).Width=75 Levels=4 Levels(1).ValueString="1\tTrialProc\t\t*\t\t\t\tUp\tUp\t" Levels(2).ValueString="1\tTrialProc\t\t\t*\t\t\tRight\tRight\t" Levels(3).ValueString="1\tTrialProc\t\t\t\t*\t\tDown\tDown\t" Levels(4).ValueString="1\tTrialProc\t\t\t\t\t*\tLeft\tLeft\t" Name="TrialList" TypeName="List" Tag="" Notes="" [Object7] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 _ItemList="Fixation;Stimulus;DoHitTest;Feedback" _VersionPersist=1 FlowLines(0).Count=4 FlowLines(0).FlowItem(0).Name="Fixation" FlowLines(0).FlowItem(1).Name="Stimulus" FlowLines(0).FlowItem(2).Name="DoHitTest" FlowLines(0).FlowItem(3).Name="Feedback" LogData=1 Name="TrialProc" TypeName="Procedure" Tag="" Notes="" [Object8] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Logging("OnsetDelay").Log=-1 Logging("OnsetTime").Log=-1 Logging("DurationError").Log=-1 Logging("PreRelease").Log=0 Logging("Duration").Log=0 Logging("StartTime").Log=0 Logging("OffsetTime").Log=0 Logging("FinishTime").Log=0 Logging("TimingMode").Log=0 Logging("CustomOnsetTime").Log=0 Logging("CustomOffsetTime").Log=0 Logging("ActionDelay").Log=0 Logging("ActionTime").Log=0 Logging("TargetOffsetTime").Log=0 Logging("TargetOnsetTime").Log=0 Logging("OffsetDelay").Log=0 Logging("RTTime").Log=-1 Logging("ACC").Log=-1 Logging("RT").Log=-1 Logging("RESP").Log=-1 Logging("CRESP").Log=-1 Logging("Tag").Log=0 Input(0)=!Data1 _VersionPersist=2 ActiveState="Default" States.Count=1 States(1).Name="Default" States("Default").X="center" States("Default").Y="center" States("Default").Width="100%" States("Default").Height="100%" States("Default").XAlign="center" States("Default").YAlign="center" States("Default").BackColor="white" States("Default").BackStyle="opaque" States("Default").BorderColor="black" States("Default").BorderWidth="0" States("Default").ClearAfter="No" States("Default").Enabled="Yes" States("Default").ChildCount=5 States("Default").Objects(1).Type="Text" States("Default").Objects(1).Text="[Left]" States("Default").Objects(1).Width="5%" States("Default").Objects(1).Height="5%" States("Default").Objects(1).X="30%" States("Default").Objects(1).Y="239" States("Default").Objects(1).AlignHorizontal="center" States("Default").Objects(1).AlignVertical="center" States("Default").Objects(1).FontName="Courier New" States("Default").Objects(1).FontSize="18" States("Default").Objects(1).FontBold="Yes" States("Default").Objects(1).FontUnderline="No" States("Default").Objects(1).FontStrikeout="No" States("Default").Objects(1).FontItalic="No" States("Default").Objects(1).ForeColor="black" States("Default").Objects(1).BackColor="white" States("Default").Objects(1).BackStyle="transparent" States("Default").Objects(1).BorderWidth="1" States("Default").Objects(1).BorderColor="black" States("Default").Objects(1).XAlign="center" States("Default").Objects(1).YAlign="center" States("Default").Objects(1).WordWrap=1 States("Default").Objects(1).Name="Left" States("Default").Objects(2).Type="Text" States("Default").Objects(2).Text="[Up]" States("Default").Objects(2).Width="5%" States("Default").Objects(2).Height="5%" States("Default").Objects(2).X="316" States("Default").Objects(2).Y="30%" States("Default").Objects(2).AlignHorizontal="center" States("Default").Objects(2).AlignVertical="center" States("Default").Objects(2).FontName="Courier New" States("Default").Objects(2).FontSize="18" States("Default").Objects(2).FontBold="Yes" States("Default").Objects(2).FontUnderline="No" States("Default").Objects(2).FontStrikeout="No" States("Default").Objects(2).FontItalic="No" States("Default").Objects(2).ForeColor="black" States("Default").Objects(2).BackColor="white" States("Default").Objects(2).BackStyle="transparent" States("Default").Objects(2).BorderWidth="1" States("Default").Objects(2).BorderColor="black" States("Default").Objects(2).XAlign="center" States("Default").Objects(2).YAlign="center" States("Default").Objects(2).WordWrap=1 States("Default").Objects(2).Name="Up" States("Default").Objects(3).Type="Text" States("Default").Objects(3).Text="[Right]" States("Default").Objects(3).Width="5%" States("Default").Objects(3).Height="5%" States("Default").Objects(3).X="70%" States("Default").Objects(3).Y="239" States("Default").Objects(3).AlignHorizontal="center" States("Default").Objects(3).AlignVertical="center" States("Default").Objects(3).FontName="Courier New" States("Default").Objects(3).FontSize="18" States("Default").Objects(3).FontBold="Yes" States("Default").Objects(3).FontUnderline="No" States("Default").Objects(3).FontStrikeout="No" States("Default").Objects(3).FontItalic="No" States("Default").Objects(3).ForeColor="black" States("Default").Objects(3).BackColor="white" States("Default").Objects(3).BackStyle="transparent" States("Default").Objects(3).BorderWidth="1" States("Default").Objects(3).BorderColor="black" States("Default").Objects(3).XAlign="center" States("Default").Objects(3).YAlign="center" States("Default").Objects(3).WordWrap=1 States("Default").Objects(3).Name="Right" States("Default").Objects(4).Type="Text" States("Default").Objects(4).Text="[Down]" States("Default").Objects(4).Width="5%" States("Default").Objects(4).Height="5%" States("Default").Objects(4).X="319" States("Default").Objects(4).Y="70%" States("Default").Objects(4).AlignHorizontal="center" States("Default").Objects(4).AlignVertical="center" States("Default").Objects(4).FontName="Courier New" States("Default").Objects(4).FontSize="18" States("Default").Objects(4).FontBold="Yes" States("Default").Objects(4).FontUnderline="No" States("Default").Objects(4).FontStrikeout="No" States("Default").Objects(4).FontItalic="No" States("Default").Objects(4).ForeColor="black" States("Default").Objects(4).BackColor="white" States("Default").Objects(4).BackStyle="transparent" States("Default").Objects(4).BorderWidth="1" States("Default").Objects(4).BorderColor="black" States("Default").Objects(4).XAlign="center" States("Default").Objects(4).YAlign="center" States("Default").Objects(4).WordWrap=1 States("Default").Objects(4).Name="Down" States("Default").Objects(5).Type="Image" States("Default").Objects(5).Filename="[Stimulus].bmp" States("Default").Objects(5).Stretch="No" States("Default").Objects(5).MirrorLeftRight="No" States("Default").Objects(5).MirrorUpDown="No" States("Default").Objects(5).Width="17%" States("Default").Objects(5).Height="19%" States("Default").Objects(5).X="318" States("Default").Objects(5).Y="234" States("Default").Objects(5).AlignHorizontal="center" States("Default").Objects(5).AlignVertical="center" States("Default").Objects(5).ForeColor="black" States("Default").Objects(5).BackColor="white" States("Default").Objects(5).BackStyle="opaque" States("Default").Objects(5).BorderWidth="0" States("Default").Objects(5).BorderColor="black" States("Default").Objects(5).XAlign="center" States("Default").Objects(5).YAlign="No" States("Default").Objects(5).SourceColorKey="No" States("Default").Objects(5).UseSourceColorKey="No" States("Default").Objects(5).Name="Image1" Duration="10000" JumpLabel="" TimingMode=0 PreRelease="0" OnsetSync=1 OffsetSync=0 Name="Stimulus" TypeName="Slide" Tag="" Notes="" [Data1] DeviceName="Mouse" DeviceClass="Mouse" AllowableInput="{ANY}" CorrectInput="" TimeLimit="" MaxCount="1" InputAction=1 SyncOwnerDuration=1 Enabled=1 FlushInputBuffer="Yes" TerminationInput="" UserTag="" [Object9] _Version=131072 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 _VersionPersist=1 Code="'This InLine forces scoring of the mouse click\n\n'theState is assigned as the Active SlideState on the Stimulus Slide\nDim theState as SlideState\nSet theState = Stimulus.States(\"Default\")\n\n'Declare variables that will return and store mouse click coordinates\nDim ptMouse As Point\nDim strHit As String\n\n'Return x and y coordinates of mouse click\nMouse.GetCursorPos ptMouse.x, ptMouse.y\n'Store coordinates in strHit variable\nstrHit = theState.HitTest(ptMouse.x, ptMouse.y)\n\n'Compare mouse click location to location of sub-objects on theState\nIf strHit = c.GetAttrib (\"CorrectAnswer\") Then\n Stimulus.ACC = 1\nElse\n Stimulus.ACC = 0\t\nEnd If\n\n\n" Name="DoHitTest" TypeName="InLine" Tag="" Notes="" [Object10] _Version=131072 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 _VersionPersist=1 Code="'Make mouse cursor visible at run-time\nmouse.ShowCursor true\n\n" Name="ShowCursor" TypeName="InLine" Tag="" Notes="" [Object11] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Logging("OnsetDelay").Log=0 Logging("OnsetTime").Log=0 Logging("DurationError").Log=0 Logging("PreRelease").Log=0 Logging("Duration").Log=0 Logging("StartTime").Log=0 Logging("OffsetTime").Log=0 Logging("FinishTime").Log=0 Logging("TimingMode").Log=0 Logging("CustomOnsetTime").Log=0 Logging("CustomOffsetTime").Log=0 Logging("ActionDelay").Log=0 Logging("ActionTime").Log=0 Logging("TargetOffsetTime").Log=0 Logging("TargetOnsetTime").Log=0 Logging("OffsetDelay").Log=0 Logging("RTTime").Log=0 Logging("ACC").Log=0 Logging("RT").Log=0 Logging("RESP").Log=0 Logging("CRESP").Log=0 Logging("Tag").Log=0 _VersionPersist=1 States("Correct").X="center" States("Correct").Y="center" States("Correct").Width="100%" States("Correct").Height="100%" States("Correct").XAlign="center" States("Correct").YAlign="center" States("Correct").BackColor="white" States("Correct").BackStyle="opaque" States("Correct").BorderColor="black" States("Correct").BorderWidth="0" States("Correct").ClearAfter="No" States("Correct").Enabled="Yes" States("Correct").ChildCount=3 States("Correct").Objects(1).Type="Text" States("Correct").Objects(1).Text="Correct!" States("Correct").Objects(1).Width="75%" States("Correct").Objects(1).Height="10%" States("Correct").Objects(1).X="center" States("Correct").Objects(1).Y="20%" States("Correct").Objects(1).AlignHorizontal="left" States("Correct").Objects(1).AlignVertical="center" States("Correct").Objects(1).FontName="Courier New" States("Correct").Objects(1).FontSize="18" States("Correct").Objects(1).FontBold="Yes" States("Correct").Objects(1).FontUnderline="No" States("Correct").Objects(1).FontStrikeout="No" States("Correct").Objects(1).FontItalic="No" States("Correct").Objects(1).ForeColor="blue" States("Correct").Objects(1).BackColor="white" States("Correct").Objects(1).BackStyle="transparent" States("Correct").Objects(1).BorderWidth="0" States("Correct").Objects(1).BorderColor="black" States("Correct").Objects(1).XAlign="center" States("Correct").Objects(1).YAlign="center" States("Correct").Objects(1).WordWrap=1 States("Correct").Objects(1).Name="Text1" States("Correct").Objects(2).Type="Text" States("Correct").Objects(2).Text="@RT Seconds Response Time" States("Correct").Objects(2).Width="75%" States("Correct").Objects(2).Height="10%" States("Correct").Objects(2).X="center" States("Correct").Objects(2).Y="35%" States("Correct").Objects(2).AlignHorizontal="left" States("Correct").Objects(2).AlignVertical="center" States("Correct").Objects(2).FontName="Courier New" States("Correct").Objects(2).FontSize="18" States("Correct").Objects(2).FontBold="Yes" States("Correct").Objects(2).FontUnderline="No" States("Correct").Objects(2).FontStrikeout="No" States("Correct").Objects(2).FontItalic="No" States("Correct").Objects(2).ForeColor="blue" States("Correct").Objects(2).BackColor="white" States("Correct").Objects(2).BackStyle="transparent" States("Correct").Objects(2).BorderWidth="0" States("Correct").Objects(2).BorderColor="black" States("Correct").Objects(2).XAlign="center" States("Correct").Objects(2).YAlign="center" States("Correct").Objects(2).WordWrap=1 States("Correct").Objects(2).Name="Text2" States("Correct").Objects(3).Type="Text" States("Correct").Objects(3).Text="@ACC.MEAN Average Percent Correct" States("Correct").Objects(3).Width="75%" States("Correct").Objects(3).Height="10%" States("Correct").Objects(3).X="center" States("Correct").Objects(3).Y="45%" States("Correct").Objects(3).AlignHorizontal="left" States("Correct").Objects(3).AlignVertical="center" States("Correct").Objects(3).FontName="Courier New" States("Correct").Objects(3).FontSize="18" States("Correct").Objects(3).FontBold="Yes" States("Correct").Objects(3).FontUnderline="No" States("Correct").Objects(3).FontStrikeout="No" States("Correct").Objects(3).FontItalic="No" States("Correct").Objects(3).ForeColor="blue" States("Correct").Objects(3).BackColor="white" States("Correct").Objects(3).BackStyle="transparent" States("Correct").Objects(3).BorderWidth="0" States("Correct").Objects(3).BorderColor="black" States("Correct").Objects(3).XAlign="center" States("Correct").Objects(3).YAlign="center" States("Correct").Objects(3).WordWrap=1 States("Correct").Objects(3).Name="Text3" States("Incorrect").X="center" States("Incorrect").Y="center" States("Incorrect").Width="100%" States("Incorrect").Height="100%" States("Incorrect").XAlign="center" States("Incorrect").YAlign="center" States("Incorrect").BackColor="white" States("Incorrect").BackStyle="opaque" States("Incorrect").BorderColor="black" States("Incorrect").BorderWidth="0" States("Incorrect").ClearAfter="No" States("Incorrect").Enabled="Yes" States("Incorrect").ChildCount=3 States("Incorrect").Objects(1).Type="Text" States("Incorrect").Objects(1).Text="Incorrect" States("Incorrect").Objects(1).Width="75%" States("Incorrect").Objects(1).Height="10%" States("Incorrect").Objects(1).X="center" States("Incorrect").Objects(1).Y="20%" States("Incorrect").Objects(1).AlignHorizontal="left" States("Incorrect").Objects(1).AlignVertical="center" States("Incorrect").Objects(1).FontName="Courier New" States("Incorrect").Objects(1).FontSize="18" States("Incorrect").Objects(1).FontBold="Yes" States("Incorrect").Objects(1).FontUnderline="No" States("Incorrect").Objects(1).FontStrikeout="No" States("Incorrect").Objects(1).FontItalic="No" States("Incorrect").Objects(1).ForeColor="red" States("Incorrect").Objects(1).BackColor="white" States("Incorrect").Objects(1).BackStyle="transparent" States("Incorrect").Objects(1).BorderWidth="0" States("Incorrect").Objects(1).BorderColor="black" States("Incorrect").Objects(1).XAlign="center" States("Incorrect").Objects(1).YAlign="center" States("Incorrect").Objects(1).WordWrap=1 States("Incorrect").Objects(1).Name="Text1" States("Incorrect").Objects(2).Type="Text" States("Incorrect").Objects(2).Text="@RT Seconds Response Time" States("Incorrect").Objects(2).Width="75%" States("Incorrect").Objects(2).Height="10%" States("Incorrect").Objects(2).X="center" States("Incorrect").Objects(2).Y="35%" States("Incorrect").Objects(2).AlignHorizontal="left" States("Incorrect").Objects(2).AlignVertical="center" States("Incorrect").Objects(2).FontName="Courier New" States("Incorrect").Objects(2).FontSize="18" States("Incorrect").Objects(2).FontBold="Yes" States("Incorrect").Objects(2).FontUnderline="No" States("Incorrect").Objects(2).FontStrikeout="No" States("Incorrect").Objects(2).FontItalic="No" States("Incorrect").Objects(2).ForeColor="red" States("Incorrect").Objects(2).BackColor="white" States("Incorrect").Objects(2).BackStyle="transparent" States("Incorrect").Objects(2).BorderWidth="0" States("Incorrect").Objects(2).BorderColor="black" States("Incorrect").Objects(2).XAlign="center" States("Incorrect").Objects(2).YAlign="center" States("Incorrect").Objects(2).WordWrap=1 States("Incorrect").Objects(2).Name="Text2" States("Incorrect").Objects(3).Type="Text" States("Incorrect").Objects(3).Text="@ACC.MEAN Average Percent Correct" States("Incorrect").Objects(3).Width="75%" States("Incorrect").Objects(3).Height="10%" States("Incorrect").Objects(3).X="center" States("Incorrect").Objects(3).Y="45%" States("Incorrect").Objects(3).AlignHorizontal="left" States("Incorrect").Objects(3).AlignVertical="center" States("Incorrect").Objects(3).FontName="Courier New" States("Incorrect").Objects(3).FontSize="18" States("Incorrect").Objects(3).FontBold="Yes" States("Incorrect").Objects(3).FontUnderline="No" States("Incorrect").Objects(3).FontStrikeout="No" States("Incorrect").Objects(3).FontItalic="No" States("Incorrect").Objects(3).ForeColor="red" States("Incorrect").Objects(3).BackColor="white" States("Incorrect").Objects(3).BackStyle="transparent" States("Incorrect").Objects(3).BorderWidth="0" States("Incorrect").Objects(3).BorderColor="black" States("Incorrect").Objects(3).XAlign="center" States("Incorrect").Objects(3).YAlign="center" States("Incorrect").Objects(3).WordWrap=1 States("Incorrect").Objects(3).Name="Text3" States("NoResponse").X="center" States("NoResponse").Y="center" States("NoResponse").Width="100%" States("NoResponse").Height="100%" States("NoResponse").XAlign="center" States("NoResponse").YAlign="center" States("NoResponse").BackColor="white" States("NoResponse").BackStyle="opaque" States("NoResponse").BorderColor="black" States("NoResponse").BorderWidth="0" States("NoResponse").ClearAfter="No" States("NoResponse").Enabled="Yes" States("NoResponse").ChildCount=1 States("NoResponse").Objects(1).Type="Text" States("NoResponse").Objects(1).Text="No response detected." States("NoResponse").Objects(1).Width="75%" States("NoResponse").Objects(1).Height="10%" States("NoResponse").Objects(1).X="center" States("NoResponse").Objects(1).Y="20%" States("NoResponse").Objects(1).AlignHorizontal="left" States("NoResponse").Objects(1).AlignVertical="center" States("NoResponse").Objects(1).FontName="Courier New" States("NoResponse").Objects(1).FontSize="18" States("NoResponse").Objects(1).FontBold="Yes" States("NoResponse").Objects(1).FontUnderline="No" States("NoResponse").Objects(1).FontStrikeout="No" States("NoResponse").Objects(1).FontItalic="No" States("NoResponse").Objects(1).ForeColor="red" States("NoResponse").Objects(1).BackColor="white" States("NoResponse").Objects(1).BackStyle="transparent" States("NoResponse").Objects(1).BorderWidth="0" States("NoResponse").Objects(1).BorderColor="black" States("NoResponse").Objects(1).XAlign="center" States("NoResponse").Objects(1).YAlign="center" States("NoResponse").Objects(1).WordWrap=1 States("NoResponse").Objects(1).Name="Text1" States("Pending").X="center" States("Pending").Y="center" States("Pending").Width="100%" States("Pending").Height="100%" States("Pending").XAlign="center" States("Pending").YAlign="center" States("Pending").BackColor="white" States("Pending").BackStyle="opaque" States("Pending").BorderColor="black" States("Pending").BorderWidth="0" States("Pending").ClearAfter="No" States("Pending").Enabled="Yes" States("Pending").ChildCount=0 UseScriptActivation=0 CollectACCStats=1 CollectNoRespACCStats=1 CollectCorrectRTStats=1 CollectIncorrectRTStats=1 ACCDivisor="1.0" ACCFormat="Percent" RTDivisor="1000.0" RTFormat="###0.000" CorrectRTDivisor="1000.0" CorrectRTFormat="###0.000" IncorrectRTDivisor="1000.0" IncorrectRTFormat="###0.000" Duration="1500" JumpLabel="" TimingMode=0 PreRelease="0" OnsetSync=1 OffsetSync=0 InputObjectName="Stimulus" Name="Feedback" TypeName="FeedbackDisplay" Tag="" Notes="" [UserScript] From benny.liebold at googlemail.com Wed Aug 31 13:01:02 2011 From: benny.liebold at googlemail.com (Benny Liebold) Date: Wed, 31 Aug 2011 06:01:02 -0700 Subject: My Experiences with Video in E-Prime - freezing and jumping issues Message-ID: After having read at lot in this group and the forum I feel the need to share the experiences I made in the past few days regarding two video issues. For my trial I wanted to use 180 video stimuli (each about 5 s) that were presented in a pre-randomized order. After intense testing of my trial I experienced two major issues regarding the presentation of the video stimuli. (1) Some test machines crashed during the trial with a frozen picture and an audio loop or simply displayed an error that should not be related to the design of the trial. (2) Some videos were aborted after about 700ms of playtime and the script jumped to the next one. I will refer to the latter one as “video jumping”. Those two issues gave quite me a headache … especially because the machine I used to design the trial did not produce any of these errors at all. But at that point I realized, that I used quite a potent machine for the trial design, being a 27” iMac with a 3.3 GHz Intel Core i7, 8GB Ram and a Radeon 4870 with 1 GB of video memory running Windows 7 x64 (fully updated). The test machines were not slow at all (AMD 64 X2 with 2.7 GHz, 4 GB Ram and a onboard Video Card with 256 MB of video memory running Windows 7 x86, fully updated), but the difference is quite significant. So this really had to be the cause for both issues I mentioned above. Consequently I had to deal with the video codec I used as I already used the latest build of E-Prime 2.0, the DivX codec packet and the K-Lite codec packet. The movie display did work, but it was quite unstable as mentioned above. At the beginning I used 720p-material (1280x720, 29,97 fps) and the h. 264 codec as it is know for its superb compression abilities. The other side of the coin is the high CPU usage it produces when decoding the videos. Speaking of CPU-usage: I realized that E-Prime only uses one CPU-core! This really is a problem when you have quite potent multi-core CPUs but with a poor single-core performance. In fact the iMac’s Core i7 should be at least twice as fast as the AMDs in the test machines when using a single core. This is due to the higher CPU- clock, the i7’s ability to hyperthread and it’s Turbo mode which boosts the clock to 3.6 GHz when using only one core. The architecture is way ahead of the AMDs as well. So this really was on the one hand the Problem of my trial and on the other hand the weakness of the current E-Prime build. Why not using the full capabilities of current CPUs? Back to my trial: Consequently I had to lower the CPU-usage during video playback. So I re-encoded my files into MPEG1 as stated by many forum threads and built a small trial only running the stimuli in a randomized order. Additionally I logged the Start and Finish Times of the slides. After some testing with various video resolutions and bit rates I came to the following conclusions. 1. the most important: take some time for intense testing and maxing out the stimulus quality (if necessary as in my case) 2. and probably the second most important: use very fast machines/CPUs with high single-core capabilities (i.e. Intel Core i5 and i7; an older 3 GHz Intel Quadcore worked flawless as well) for the trial to avoid performance issues and video jumping 3. preparation: deactivate any unnecessary services to maximize the machine performance (Windows-Key+A; type “msconfig”; go to services; mark “hide windows services” and deactivate all unnecessary services; go to system start and deactivate any unnecessary programs that would run in the background otherwise); also deinstall your virus scanning program and deactivate the Windows Defender (and its real time scanning ability); deactivate Windows 7 Aero; pluck out your network cable to avoid viruses ☺ 4. use MPEG1: this codec really IS CPU-friendly 5. in Codec Config I finally used the standard MPEG-codecs; only for audio I used ffdshow-Audio as provided by the K-lite codec packet 6. do NOT – under any circumstances – use the “stretch video” function if you experience issues related to poor performance; instead aim for higher resolutions in the initial conversion process and display the videos 1:1 7. set “stop after” to “no” if you don’t need the function (don’t know if that really helped though …) 8. the freezing-script-issue seemed to be related to the available video ram; every time the overall file size reached about 230 MB there was a 50% chance a system would freeze; so keep your file sizes small! Alternative: Use dedicated video cards with at least 512 MB of video ram 9. try to experiment with the bit rate; for me bit rates between 800 kbps and 1300 kbps worked quite well; every thing higher would lead to a freezing script; every thing lower lead to poor video quality; aim for a bitrate as high as possible (in fact the iMacs Core i7 could handle 6000 kbps in h.264 easily without any mistake; I settled with 1024x576 at 1000 fps for the AMDs, this led to 0,625 jumped videos in average per trial, nothing the final data could not handle) 10. video jumping can be observed by calculating the difference between the finish time and the start time of a slide; values lower than a threshold you have to define indicate jumped videos 11. run theses tests on all of your test systems at the same time to compare the results and write down any crashes and video jumps per system to compare individual system stability as well 12. finally, important to avoid losing cases: split your Experiment into the smallest possible count of parts; this way crashed parts can be re-initiated without starting allover again or loosing the participants data I really hope this helps! So good luck and interesting data for future experiments. --- Benny Liebold, B.A. Academic Assistant Chair of Media Psychology Institute of Media Research Faculty of Humanities Chemnitz University of Technology Thüringer Weg 11, 09126 Chemnitz, Germany -- 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 jefriedel at gmail.com Wed Aug 31 15:18:14 2011 From: jefriedel at gmail.com (Jonathan Friedel) Date: Wed, 31 Aug 2011 08:18:14 -0700 Subject: Accuracy on the preceding n-trials In-Reply-To: <4e5bf842.52312a0a.743d.ffffed07SMTPIN_ADDED@gmr-mx.google.com> Message-ID: The description seems to fit a basic version of what I need, and I should be able to tweak it to do just what I want. Thanks for your help! Jon On Aug 29, 2:35 pm, David McFarlane wrote: > Jon, > > Stock reminder:  1) I do not work for PST.  2) PST's trained staff > takes any and all questions athttp://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... > > How about the "Criterion Based Exit" example downloadable from the > PST web site? > > -- David McFarlane, Professional Faultfinder > > At 8/29/2011 03:59 PM Monday, you wrote: > > > > > > > > >I am new to e-prime.  I am trying to change from when block of trials > >to a second block of trails based on a 100% accuracy on the previous n > >trials.  Unfortunately, I do not know what key words will help me > >search to find what I want. > > >Let us say have three conditions, A, B, and C, and each condition has > >20 different trials with in it.  I can get e-prime to randomly select > >a condition and then trials.  What I need is for a condition to > >continue infinitely, selecting trials randomly without replacement, > >until the some number (let's 4) of consecutive trials are correct. > >Once those four trials are correct, then eprime will randomly select > >the next condition.  I appreciate that inline code will be necessary, > >but I am not sure what is necessary. > > >Can someone start to point me in the appropriate direction? > > >Thanks for the help, > > >Jon -- 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 santistevan64 at gmail.com Wed Aug 31 17:54:52 2011 From: santistevan64 at gmail.com (Anthony) Date: Wed, 31 Aug 2011 10:54:52 -0700 Subject: Slide time limit issues Message-ID: Hello All, The setup of this is a bit confusing, but I'll try to explain it as clearly as possible. I have a slide, SlideA, setup with a duration of zero and an infinite time limit. The problem is, clicks on slides that follow SlideA are recorded in the SlideA responses. I think the solution to this would be to set the duration of SlideA to a finite value. The problem is that this slide varies in length due to however long the subject takes to advance the slide. What I think I need to do is set the time limit of the SlideA to the actual duration of said slide during the experiment, but I am at a loss of how to set time limits to variable lengths. Thanks a ton, and I'll give further clarifications if necessary. -- 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 santistevan64 at gmail.com Wed Aug 31 20:51:42 2011 From: santistevan64 at gmail.com (Anthony) Date: Wed, 31 Aug 2011 13:51:42 -0700 Subject: Slide time limit issues In-Reply-To: <4307f6ed-43f2-4da6-b290-fd40f1a06f51@j4g2000prh.googlegroups.com> Message-ID: Never mind, simple fix. For any who may be having the same problem, just stick an inline following the stimulus page with the following code: STIMULUSSLIDE.InputMasks.Terminate -Anthony On Aug 31, 10:54 am, Anthony wrote: > Hello All, > > The setup of this is a bit confusing, but I'll try to explain it as > clearly as possible. I have a slide, SlideA, setup with a duration of > zero and an infinite time limit. The problem is, clicks on slides that > follow SlideA are recorded in the SlideA responses. I think the > solution to this would be to set the duration of SlideA to a finite > value. The problem is that this slide varies in length due to however > long the subject takes to advance the slide. What I think I need to do > is set the time limit of the SlideA to the actual duration of said > slide during the experiment, but I am at a loss of how to set time > limits to variable lengths. > > Thanks a ton, and I'll give further clarifications if necessary. -- 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 jakey.anderson at gmail.com Mon Aug 1 18:37:30 2011 From: jakey.anderson at gmail.com (Jake) Date: Mon, 1 Aug 2011 11:37:30 -0700 Subject: Running an Unreferenced List Message-ID: Dear Group, As a simple fix to a problem created by a last minute feature request by my PIs, I'd like to run an unreferenced list object, which intern runs an unreferenced procedure and 3 trial-level, unreferenced objects. When I try to use the ListObject.Run method, I get this error: "Factor Error: Invalid Context" I can run a SlideObject or TextObject just fine, but this error is specific to the ListObject. Has anyone tried something like this before? Is it even possible to run an unreferenced list object? Thanks! Jake -- 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 karisaparkington at gmail.com Mon Aug 1 18:45:35 2011 From: karisaparkington at gmail.com (KarisaP) Date: Mon, 1 Aug 2011 11:45:35 -0700 Subject: multiple movies Message-ID: I am new to EPrime, and am trying to implement a procedure in which four videos and an image appear on the screen at the same time, as well as another procedure in which five videos appear on the screen at the same time. Is this possible in EPrime? Any suggestions are 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 david.averill.nicholson at gmail.com Mon Aug 1 19:36:01 2011 From: david.averill.nicholson at gmail.com (David Nicholson) Date: Mon, 1 Aug 2011 15:36:01 -0400 Subject: Running an Unreferenced List In-Reply-To: <73ca3a5f-e132-49bb-a6ed-746a18f3a662@a12g2000vbf.googlegroups.com> Message-ID: Hi Jake, I'm not sure I completely understand how you want this structured but check out Laura McCarthy Contingent Branching and see if that helps any. I trimmed the program to just have the part that may help you. All you might need to do is add a c after ListObject.Run to tell the program that it is context in your secession proc. For example ListObject.Run c Best of luck, David On Mon, Aug 1, 2011 at 2:37 PM, Jake wrote: > Dear Group, > As a simple fix to a problem created by a last minute feature request > by my PIs, I'd like to run an unreferenced list object, which intern > runs an unreferenced procedure and 3 trial-level, unreferenced > objects. > > When I try to use the ListObject.Run method, I get this error: > "Factor Error: Invalid Context" > > I can run a SlideObject or TextObject just fine, but this error is > specific to the ListObject. > > Has anyone tried something like this before? Is it even possible to > run an unreferenced list object? > > Thanks! > Jake > > -- > 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. > > -- 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: ContingentBranching_revised.es2 Type: application/octet-stream Size: 82072 bytes Desc: not available URL: From d.vinson at ucl.ac.uk Tue Aug 2 09:15:02 2011 From: d.vinson at ucl.ac.uk (David Vinson) Date: Tue, 2 Aug 2011 10:15:02 +0100 Subject: multiple movies In-Reply-To: <9ef2564b-da4c-41ae-97c0-b1a48ff1b322@15g2000vbw.googlegroups.com> Message-ID: It is certainly possible to use E-Prime 2.0 to display multiple movies at the same time using a Slide object (I think the Professional version may be necessary, but I'm not 100% sure about this). You'd just place the different MovieDisplays at your desired locations on the Slide, specify filenames either directly or via List entries, and there you go. However you may find that it is impossible to sufficiently manage timing if you are loading multiple movies at the same time - I expect timing would be the greatest concern. You will also learn that MovieDisplay objects are still not really covered in E-Prime documentation, so you may need to contact E-Prime support to solve some of the problems you come across. Keep in mind that for MovieDisplay objects embedded in Slides, it is not possible to log sub-object properties in the normal manner (e.g. ticking boxes in the Logging object tab). However this is essential for a study like the one you describe; you will definitely need to log the MovieDisplay properties as part of your checks on timing. This can be done using inline code: (From Matt Lenhart, E-Prime technical consultant): > It is possible to log information about movies that are presented via a SlideMoie sub-objects. The properties are accessed in the same was as with a MovieDisplay. However, you must use InLine script to gain access to the SlideMovie sub-object before you can access the properties. > I would recommend taking a look at the MovieRT sample that is installed with E-Prime 2.0. The MovieLogging InLine contains script for gaining access to a sub-object and then logging the related properties for the SlideMovie. You can find the sample under \My Experiments\Samples\MovieRT. I hope this is somewhat helpful - good luck! -dv > I am new to EPrime, and am trying to implement a procedure in which > four videos and an image appear on the screen at the same time, as > well as another procedure in which five videos appear on the screen at > the same time. Is this possible in EPrime? Any suggestions are > greatly appreciated. > -- David Vinson, Ph.D. Senior Postdoctoral Researcher Cognitive, Perceptual and Brain Sciences Research Department University College London 26 Bedford Way, London WC1H 0AP Tel +44 (0)20 7679 5311 (UCL internal ext. 25311) -- 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 karisaparkington at gmail.com Tue Aug 2 23:36:13 2011 From: karisaparkington at gmail.com (KarisaP) Date: Tue, 2 Aug 2011 16:36:13 -0700 Subject: Conditional: progression error Message-ID: Hey all, I am having a hard time convincing eprime that it really does want to do the following script. I have used something that is pretty much identical in another experiment without any hiccups but for some reason eprime is getting upset with the following: If ManSun4.RESP = "y" Then MoonPracProc.Run c Elseif ManSun4.RESP = "n" Then FISTTempList.Run c Else ManSun4.RESP = "e" Then EndExperimentTempList.Run c End If I keep getting the following error message Encountered: Then Expecting: ':', end of line. Any idea what the problem is and how to fix it? -- 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 cobwebfaery at gmail.com Wed Aug 3 00:34:40 2011 From: cobwebfaery at gmail.com (Becky Clements) Date: Tue, 2 Aug 2011 17:34:40 -0700 Subject: audio feedback for mouse click Message-ID: Hi All, I am in the process of designing an experiment that will be run on a touch screen tablet. I want an short audio file to play when participants touch the screen. I know I am able to use the feedback slide to do this but there are 10+ tasks each with many many slides which would need feedback and as such it would be a very messy way of doing it. I am on the hunt for a neater way. I am a coding novice but have been programming conditional statements and hittests as part of the experiment and was wondering if there was a bit of code I can use that will play an audio clip if the mouse response > 0? I have been playing around with trying to this but I am not sure if there are things I need to define before I can do something like: If mouse.RESP > "0" Then AudioFile.Play All and any help would be much appreciated. Cheers, 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 baltimore.ben at gmail.com Wed Aug 3 01:01:24 2011 From: baltimore.ben at gmail.com (ben robinson) Date: Tue, 2 Aug 2011 21:01:24 -0400 Subject: Conditional: progression error In-Reply-To: Message-ID: i think the problem might be here: Else ManSun4.RESP = "e" Then maybe you meant to type ElseIf ManSun4.RESP = "e" Then the Else statement (not elseif) we be a line unto itself. it's a catch-all, not a single case kinda deal. so alternatively you might have meant to type Else EndExperimentTempList.Run c End If On Tue, Aug 2, 2011 at 7:36 PM, KarisaP wrote: > Hey all, > > I am having a hard time convincing eprime that it really does want to > do the following script. I have used something that is pretty much > identical in another experiment without any hiccups but for some > reason eprime is getting upset with the following: > > If ManSun4.RESP = "y" Then > MoonPracProc.Run c > Elseif ManSun4.RESP = "n" Then > FISTTempList.Run c > Else ManSun4.RESP = "e" Then > EndExperimentTempList.Run c > End If > > I keep getting the following error message > > Encountered: Then > Expecting: ':', end of line. > > Any idea what the problem is and how to fix it? > > -- > 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. > > -- 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 pfc.groot at gmail.com Wed Aug 3 09:30:00 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Wed, 3 Aug 2011 11:30:00 +0200 Subject: audio feedback for mouse click In-Reply-To: <46cbe66e-21f9-4e34-975d-a0ebc2e7efaf@e35g2000yqc.googlegroups.com> Message-ID: Hi Becky, If the mouse responses are collected by the slide objects, this might be a non-trivial task to do with a single piece of script. The most straigtforward construction would be something like this: if Len(Slide1.RESP)>0 Set SoundOut1SoundBuffer = SoundOut1.Buffers(1) SoundOut1.Run end But if you do it like this, you will have to create a new inline script for each unique Slide because the Slide-variable will be different each time. Even if the audio clip ittself doesn't change. As a workaround you could place the SoundOut object immediately after the slides and collect the response with the SoundOut object itself. The slide should not collect the responses in this case and have a duration of zero. This would only be acceptable if RT's are not critical and all response windows have the same duration. (Sidenote: RT's on touch screens are not very accurate anyway.) Also, if there are several 'clickable' slides on a single procedure, things become more complicated if you wan't to log all responses. NB. Having lots of copies of similar slides within the same experiment is (in most cases) an indication of a less-optimal (already messy) script. cheers Paul 2011/8/3 Becky Clements : > Hi All, > > I am in the process of designing an experiment that will be run on a > touch screen tablet. I want an short audio file to play when > participants touch the screen. I know I am able to use the feedback > slide to do this but there are 10+ tasks each with many many slides > which would need feedback and as such it would be a very messy way of > doing it. I am on the hunt for a neater way. I am a coding novice but > have been programming conditional statements and hittests as part of > the experiment and was wondering if there was a bit of code I can use > that will play an audio clip if the mouse response > 0? I have been > playing around with trying to this but I am not sure if there are > things I need to define before I can do something like: > > If mouse.RESP > "0" Then > > AudioFile.Play > > All and any help would be much appreciated. > > Cheers, > > 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. > > -- 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 cobwebfaery at gmail.com Wed Aug 3 13:29:56 2011 From: cobwebfaery at gmail.com (Becky Clements) Date: Wed, 3 Aug 2011 06:29:56 -0700 Subject: audio feedback for mouse click In-Reply-To: Message-ID: Hi Paul, The experiment is a bit convoluted due to there being many contingency elements during the practice phase of each of the tasks. I am working on tidying it up but as a novice getting it to work is my current priority as I learn more I hope I will be able to streamline things. One thing I forgot to mention in my initial post which is probably quite important is that each of the slides has a unique audio file that is either instructions or feedback to the participant it is in addition to these audio files, which must be there, that I need there to be a beep when participants touch the screen. I was wondering if you knew anyway of having in the user script, which would cover all of the task with in the experiment I am designing, code to have a 'beep' when participants make a mouse response. Thanks for helping. Cheers, Becky On Aug 3, 6:30?am, Paul Groot wrote: > Hi Becky, > > If the mouse responses are collected by the slide objects, this might > be a non-trivial task to do with a single piece of script. The most > straigtforward construction would be something like this: > > if Len(Slide1.RESP)>0 > ? Set SoundOut1SoundBuffer = SoundOut1.Buffers(1) > ? SoundOut1.Run > end > > But if you do it like this, you will have to create a new inline > script for each unique Slide because the Slide-variable will be > different each time. Even if the audio clip ittself doesn't change. > > As a workaround you could place the SoundOut object immediately after > the slides and collect the response with the SoundOut object itself. > The slide should not collect the responses in this case and have a > duration of zero. This would only be acceptable if RT's are not > critical and all response windows have the same duration. (Sidenote: > RT's on touch screens are not very accurate anyway.) Also, if there > are several 'clickable' slides on a single procedure, things become > more complicated if you wan't to log all responses. NB. Having lots of > copies of similar slides within the same experiment is (in most cases) > an indication of a less-optimal (already messy) script. > > cheers > Paul > > 2011/8/3 Becky Clements : > > > > > > > > > Hi All, > > > I am in the process of designing an experiment that will be run on a > > touch screen tablet. I want an short audio file to play when > > participants touch the screen. I know I am able to use the feedback > > slide to do this but there are 10+ tasks each with many many slides > > which would need feedback and as such it would be a very messy way of > > doing it. I am on the hunt for a neater way. I am a coding novice but > > have been programming conditional statements and hittests as part of > > the experiment and was wondering if there was a bit of code I can use > > that will play an audio clip if the mouse response > 0? I have been > > playing around with trying to this but I am not sure if there are > > things I need to define before I can do something like: > > > If mouse.RESP > "0" Then > > > AudioFile.Play > > > All and any help would be much appreciated. > > > Cheers, > > > 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. -- 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 baltimore.ben at gmail.com Wed Aug 3 15:38:13 2011 From: baltimore.ben at gmail.com (ben robinson) Date: Wed, 3 Aug 2011 11:38:13 -0400 Subject: audio feedback for mouse click In-Reply-To: <472739a3-63cc-43bb-a5ad-89e456d3229e@a12g2000vbf.googlegroups.com> Message-ID: if you just need a beep i might suggest using the built-in beep available on pcs. after each slide that collects a mouse click you could write something like this: If PreviousSlide.RESP <> "" Then Beep i think that should work. On Wed, Aug 3, 2011 at 9:29 AM, Becky Clements wrote: > Hi Paul, > > The experiment is a bit convoluted due to there being many contingency > elements during the practice phase of each of the tasks. I am working > on tidying it up but as a novice getting it to work is my current > priority as I learn more I hope I will be able to streamline things. > One thing I forgot to mention in my initial post which is probably > quite important is that each of the slides has a unique audio file > that is either instructions or feedback to the participant it is in > addition to these audio files, which must be there, that I need there > to be a beep when participants touch the screen. I was wondering if > you knew anyway of having in the user script, which would cover all of > the task with in the experiment I am designing, code to have a 'beep' > when participants make a mouse response. Thanks for helping. > > Cheers, > > Becky > > > On Aug 3, 6:30 am, Paul Groot wrote: > > Hi Becky, > > > > If the mouse responses are collected by the slide objects, this might > > be a non-trivial task to do with a single piece of script. The most > > straigtforward construction would be something like this: > > > > if Len(Slide1.RESP)>0 > > Set SoundOut1SoundBuffer = SoundOut1.Buffers(1) > > SoundOut1.Run > > end > > > > But if you do it like this, you will have to create a new inline > > script for each unique Slide because the Slide-variable will be > > different each time. Even if the audio clip ittself doesn't change. > > > > As a workaround you could place the SoundOut object immediately after > > the slides and collect the response with the SoundOut object itself. > > The slide should not collect the responses in this case and have a > > duration of zero. This would only be acceptable if RT's are not > > critical and all response windows have the same duration. (Sidenote: > > RT's on touch screens are not very accurate anyway.) Also, if there > > are several 'clickable' slides on a single procedure, things become > > more complicated if you wan't to log all responses. NB. Having lots of > > copies of similar slides within the same experiment is (in most cases) > > an indication of a less-optimal (already messy) script. > > > > cheers > > Paul > > > > 2011/8/3 Becky Clements : > > > > > > > > > > > > > > > > > Hi All, > > > > > I am in the process of designing an experiment that will be run on a > > > touch screen tablet. I want an short audio file to play when > > > participants touch the screen. I know I am able to use the feedback > > > slide to do this but there are 10+ tasks each with many many slides > > > which would need feedback and as such it would be a very messy way of > > > doing it. I am on the hunt for a neater way. I am a coding novice but > > > have been programming conditional statements and hittests as part of > > > the experiment and was wondering if there was a bit of code I can use > > > that will play an audio clip if the mouse response > 0? I have been > > > playing around with trying to this but I am not sure if there are > > > things I need to define before I can do something like: > > > > > If mouse.RESP > "0" Then > > > > > AudioFile.Play > > > > > All and any help would be much appreciated. > > > > > Cheers, > > > > > 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. > > -- > 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. > > -- 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 Michiel.Spape at nottingham.ac.uk Wed Aug 3 16:03:51 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Wed, 3 Aug 2011 17:03:51 +0100 Subject: audio feedback for mouse click In-Reply-To: Message-ID: Hiya, Just a word of caution on that last suggestion (although I agree, the pc speaker - if it is actually connected - is groovy): "Under no circumstance should this be used for real-time access." says e-basic help. In many cases, you don't need brilliant timing, of course... Best, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of ben robinson Sent: 03 August 2011 16:38 To: e-prime at googlegroups.com Subject: Re: audio feedback for mouse click if you just need a beep i might suggest using the built-in beep available on pcs. after each slide that collects a mouse click you could write something like this: If PreviousSlide.RESP <> "" Then Beep i think that should work. On Wed, Aug 3, 2011 at 9:29 AM, Becky Clements > wrote: Hi Paul, The experiment is a bit convoluted due to there being many contingency elements during the practice phase of each of the tasks. I am working on tidying it up but as a novice getting it to work is my current priority as I learn more I hope I will be able to streamline things. One thing I forgot to mention in my initial post which is probably quite important is that each of the slides has a unique audio file that is either instructions or feedback to the participant it is in addition to these audio files, which must be there, that I need there to be a beep when participants touch the screen. I was wondering if you knew anyway of having in the user script, which would cover all of the task with in the experiment I am designing, code to have a 'beep' when participants make a mouse response. Thanks for helping. Cheers, Becky On Aug 3, 6:30 am, Paul Groot > wrote: > Hi Becky, > > If the mouse responses are collected by the slide objects, this might > be a non-trivial task to do with a single piece of script. The most > straigtforward construction would be something like this: > > if Len(Slide1.RESP)>0 > Set SoundOut1SoundBuffer = SoundOut1.Buffers(1) > SoundOut1.Run > end > > But if you do it like this, you will have to create a new inline > script for each unique Slide because the Slide-variable will be > different each time. Even if the audio clip ittself doesn't change. > > As a workaround you could place the SoundOut object immediately after > the slides and collect the response with the SoundOut object itself. > The slide should not collect the responses in this case and have a > duration of zero. This would only be acceptable if RT's are not > critical and all response windows have the same duration. (Sidenote: > RT's on touch screens are not very accurate anyway.) Also, if there > are several 'clickable' slides on a single procedure, things become > more complicated if you wan't to log all responses. NB. Having lots of > copies of similar slides within the same experiment is (in most cases) > an indication of a less-optimal (already messy) script. > > cheers > Paul > > 2011/8/3 Becky Clements >: > > > > > > > > > Hi All, > > > I am in the process of designing an experiment that will be run on a > > touch screen tablet. I want an short audio file to play when > > participants touch the screen. I know I am able to use the feedback > > slide to do this but there are 10+ tasks each with many many slides > > which would need feedback and as such it would be a very messy way of > > doing it. I am on the hunt for a neater way. I am a coding novice but > > have been programming conditional statements and hittests as part of > > the experiment and was wondering if there was a bit of code I can use > > that will play an audio clip if the mouse response > 0? I have been > > playing around with trying to this but I am not sure if there are > > things I need to define before I can do something like: > > > If mouse.RESP > "0" Then > > > AudioFile.Play > > > All and any help would be much appreciated. > > > Cheers, > > > 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. -- 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. -- 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From baltimore.ben at gmail.com Wed Aug 3 17:51:33 2011 From: baltimore.ben at gmail.com (ben robinson) Date: Wed, 3 Aug 2011 13:51:33 -0400 Subject: audio feedback for mouse click In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92F8153D72B@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: good to know, thanks. On Wed, Aug 3, 2011 at 12:03 PM, Michiel Spape < Michiel.Spape at nottingham.ac.uk> wrote: > Hiya,**** > > Just a word of caution on that last suggestion (although I agree, the pc > speaker ? if it is actually connected ? is groovy): ?Under no circumstance > should this be used for real-time access.? says e-basic help. In many cases, > you don?t need brilliant timing, of course?**** > > Best,**** > > Mich**** > > ** ** > > ** ** > > *Michiel Spap?* > > *Research Fellow* > > *Perception & Action group* > > *University of Nottingham* > > *School of Psychology* > > *www.cognitology.eu*** > > ** ** > > *From:* e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] *On > Behalf Of *ben robinson > *Sent:* 03 August 2011 16:38 > *To:* e-prime at googlegroups.com > *Subject:* Re: audio feedback for mouse click**** > > ** ** > > if you just need a beep i might suggest using the built-in beep available > on pcs.**** > > after each slide that collects a mouse click you could write something like > this:**** > > If PreviousSlide.RESP <> "" Then Beep**** > > i think that should work.**** > > On Wed, Aug 3, 2011 at 9:29 AM, Becky Clements > wrote:**** > > Hi Paul, > > The experiment is a bit convoluted due to there being many contingency > elements during the practice phase of each of the tasks. I am working > on tidying it up but as a novice getting it to work is my current > priority as I learn more I hope I will be able to streamline things. > One thing I forgot to mention in my initial post which is probably > quite important is that each of the slides has a unique audio file > that is either instructions or feedback to the participant it is in > addition to these audio files, which must be there, that I need there > to be a beep when participants touch the screen. I was wondering if > you knew anyway of having in the user script, which would cover all of > the task with in the experiment I am designing, code to have a 'beep' > when participants make a mouse response. Thanks for helping. > > Cheers, > > Becky**** > > > > On Aug 3, 6:30 am, Paul Groot wrote: > > Hi Becky, > > > > If the mouse responses are collected by the slide objects, this might > > be a non-trivial task to do with a single piece of script. The most > > straigtforward construction would be something like this: > > > > if Len(Slide1.RESP)>0 > > Set SoundOut1SoundBuffer = SoundOut1.Buffers(1) > > SoundOut1.Run > > end > > > > But if you do it like this, you will have to create a new inline > > script for each unique Slide because the Slide-variable will be > > different each time. Even if the audio clip ittself doesn't change. > > > > As a workaround you could place the SoundOut object immediately after > > the slides and collect the response with the SoundOut object itself. > > The slide should not collect the responses in this case and have a > > duration of zero. This would only be acceptable if RT's are not > > critical and all response windows have the same duration. (Sidenote: > > RT's on touch screens are not very accurate anyway.) Also, if there > > are several 'clickable' slides on a single procedure, things become > > more complicated if you wan't to log all responses. NB. Having lots of > > copies of similar slides within the same experiment is (in most cases) > > an indication of a less-optimal (already messy) script. > > > > cheers > > Paul > >**** > > > 2011/8/3 Becky Clements :**** > > > > > > > > > > > > > > > > > > Hi All, > > > > > I am in the process of designing an experiment that will be run on a > > > touch screen tablet. I want an short audio file to play when > > > participants touch the screen. I know I am able to use the feedback > > > slide to do this but there are 10+ tasks each with many many slides > > > which would need feedback and as such it would be a very messy way of > > > doing it. I am on the hunt for a neater way. I am a coding novice but > > > have been programming conditional statements and hittests as part of > > > the experiment and was wondering if there was a bit of code I can use > > > that will play an audio clip if the mouse response > 0? I have been > > > playing around with trying to this but I am not sure if there are > > > things I need to define before I can do something like: > > > > > If mouse.RESP > "0" Then > > > > > AudioFile.Play > > > > > All and any help would be much appreciated. > > > > > Cheers, > > > > > 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.**** > > > -- > 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.**** > > ** ** > > -- > 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. > -- 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 zhallez at gmail.com Thu Aug 4 19:46:03 2011 From: zhallez at gmail.com (HalleZ) Date: Thu, 4 Aug 2011 12:46:03 -0700 Subject: Randomized selection of stimuli across trials Message-ID: Hello, I am trying to program an experiment where I have three different words presented on each trial. I would like ePrime to uniquely select, without replacement across trials in a single session, the three words that get combined into a single trial so that this triplet is unique for each person. Currently, I have a separate text object in my TrialProcedure for each word (Word1, Word 2, Word3) with each of these text objects pulling from the same list ("Words") of all of my words (so, on each text object it pulls the attribute [Word] from the "Words" list). In my list object called "Words" where all of my stimuli are listed, I have the properties set so that the selection method is "random" (i.e., without replacement). However, ePrime pulls the same words within a trial (so, people might see "cat", "dog", "cat" but what I want them to see is three unique words like "cat", "dog", "bunny"). What did I do wrong? Is this property of no replacement only applied across trials? Thanks for the help! -Halle -- 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 jasoncraggs at gmail.com Fri Aug 5 19:06:19 2011 From: jasoncraggs at gmail.com (Jason Craggs) Date: Fri, 5 Aug 2011 15:06:19 -0400 Subject: Tips needed for tweaking the standard likert scale script In-Reply-To: <9a4968a6-a235-4290-8ac4-8f7bf16715df@l28g2000yqc.googlegroups.com> Message-ID: Hi Micah, I am sorry for joining this thread so late. I've been working on a similar situation and was wondering if you'd mind sharing what you've developed? Attached, are a couple of files I've been working with including, and inline VAS.vbs script, and some e-prime protocols that use it. The last includes IFIS calls. I am curious to know your thoughts on the attached files and what you've come up with. Cheers, Jason On Thu, Jul 21, 2011 at 2:25 PM, Micah wrote: > Woohoo! It actually works to add a textdisplay that inherits duration > from the scale stimulus. So now it works perfectly; it times out after > 6 seconds, which makes the "ISI" 0 duration, or it waits for 6- > duration. So the scale can never take longer than 6 seconds, making a > nice neat paradigm. I've also got it logging non-responses (in case > the participant falls asleep) although have not yet come up with a > solution for "confirmed" responses. Is there a wildcard variable in e- > basic? If so I could do a check like, if stimulus.RESP = *3* then > confirmed =1. Otherwise I may have to write a post-scan matlab script > to search for any responses not containing "3", which is a blah > solution. > > Tak, > Micah > > On Jul 21, 8:07 pm, Micah wrote: > > Great advice- there are a few problems however; > > > > 1. The second solution actually breaks the slider. It appears if you > > set the duration in the properties page, this prevents the loop from > > "animating" the slider properly. It just stays stuck at the default > > position and then selects that as the rating when the duration runs > > out. I can't figure this one out, so on to solution 1 > > > > 2. Inserting that line of code does not seem to do anything. To make > > sure, I set the duration variable to 10000, and it was terminating > > instantly after making a selection. > > > > I'm thinking that the best option might be to put a textobject > > immediately after the slideobject (i.e. "Stimulus") that presents the > > scale, where the duration is set to 6000-stimulus.duration. I'll see > > if I can do that now. > > > > P.S. I can easily log non-responses, but it's trickier to log > > responses where they move the slider but never confirm. The .resp show > > sup as (for example) =11223, or =11113 for confirmed responses, but > > =1112 etc for non-confirmed. Is there a function to search a stored > > variable for a specific number? I tried setting the "allowed" in the > > advanced collection options to [allowed], where allowed is a list > > variable with 3 in each row. This would have been perfect, as if it > > only logs "3"s then I have my solution. Seems weird they give us this > > option if it doesn't work (it didn't seem to change the logs at all). > > > > BW, > > Micah > > > > On Jul 21, 7:37 pm, David McFarlane wrote: > > > > > > > > > > > > > > > > > Micah, > > > > > 1. Indeed, you do need to "make some kind of check, so that if it > > > times out, it sets the value to NaN/etc." I think you can manage > > > that without me. > > > > > 2. Oops. First, I have to correct something I implied about my > > > second solution (PreRelease >= Duration), namely, the second solution > > > should already solve what you want to do here. The second solution > > > would have been a problem if you *did* want a response to move on to > > > the next stimulus. Even after the offset of a stimulus, the next > > > stimulus will not run until it reaches the NextTargetOnsetTime (see > > > the GetNextTargetOnsetTime and SetNextTargetOnsetTime topics in the > > > E-Basic Help facility). (This, BTW, is how PreRelease > > > works.) Because the second solution automatically sets > > > NextTargetOnsetTime to, say, 6000 ms from the OnsetTime (or > > > TargetOnsetTime, depending on Timing mode) of the scale, even after > > > the scale code loop ends the next stimulus will not run until it > > > reaches that NextTargetOnsetTime. Savvy? Better yet, try this and > > > see if I know what I am talking about :). > > > > > But back to the first solution. Your modification is what almost > > > anyone would come up with and in many cases is Good Enough, although > > > you may get some slop of a ms or so every once in a while. If you > > > still want something a little tidier, and absolutely precise, then > > > instead of a Sleep, I would simply do one of the following (depending > > > on desired Timing mode) at *any* time either before or after the loop: > > > > > SetNextTargetOnsetTime Stimulus.OnsetTime + Stimulus.Duration ' use > > > this for Event timing mode > > > > > - or - > > > > > SetNextTargetOnsetTime Stimulus.TargetOnsetTime + > > > Stimulus.Duration ' use this for Cumulativetiming mode > > > > > If you followed the earlier discussion, you will see that this just > > > expictly does in code what E-Prime would have done for you > > > automatically using the second solution. As a result, I much prefer > > > following the second approach myself, leveraging the features built > > > into E-Prime, but that does require deeper understanding of the > > > architecture of E-Prime. Mere mortals must stick with the first > > > approach and write more code. > > > > > -- David McFarlane, Professional Faultfinder > > > > > >Thank you Todd [sic -- should be David]! That's an excellent > > > >solution. I knew I'd need to > > > >somehow do a clock read and feed that into the loop, but I wasn't able > > > >to quite get there. Not to tax you, but there are two unresolved > > > >issues with this solution- > > > > > >1. The scale now records wherever the 'slider' is when the time limit > > > >ends. I think it's probably much safer to record these as no response, > > > >and I'm not sure how to manipulate the loop do so. I need to make some > > > >kind of check, so that if it times out, it sets the value to NaN/etc. > > > > > >2. The scale still ends immediately if a response is made. I've worked > > > >out a way to stop that- by adding: > > > > > >dim responsetime as integer > > > > > >....... (the loop) > > > > > >...bottom of the inline: > > > > > >responsetime=Stimulus.RT > > > > > >Sleep 6000-response time > > > > > >However, I don't think that is compatible with your solution. > > > > > >BW, > > > >Micah > > > > > >On Jul 21, 5:59 pm, David McFarlane wrote: > > > > > Stock reminder: 1) I do not work for PST. 2) PST's trained staff > > > > > takes any and all questions > > > > athttp://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... > > > > > > > Try replacing > > > > > > > Do While Stimulus.InputMasks.IsPending() > > > > > ... > > > > > > > with something like > > > > > > > Const StimulusDur as Long = 6000 > > > > > Dim StimulusTargetOffsetTime as Long > > > > > StimulusTargetOffsetTime = Clock.Read + StimulusDur > > > > > Do While (Stimulus.InputMasks.IsPending() and _ > > > > > (Clock.Read < StimulusTargetOffsetTime) ) > > > > > ... > > > > > > > Alternatively, if you prefer to set stimulus duration in its > Property > > > > > Pages instead of with an InLine constant, then set both Duration > and > > > > > PreRelease to 6000 (in this case), and E-Prime will automatically > > > > > compute the TargetOffsetTime for you, so the code simplifies to > > > > something like > > > > > > > Do While (Stimulus.InputMasks.IsPending() and _ > > > > > (Clock.Read < Stimulus.TargetOffsetTime) ) > > > > > ... > > > > > > > Of course, you will find confusion either way. For the first way, > > > > > any time you want to change stimulus duration you will have to > > > > > remember to dive into the code. For the second way, you can change > > > > > stimulus Duration in the normal way, but then you have to remember > to > > > > > always change PreRelease to the same thing (or, be daring and set > > > > > PreRelease to some one enormous value, but not so large that > > > > > TargetOnsetTime + Duration - PreRelease ever becomes negative!). > > > > > > > -- David McFarlane, Professional Faultfinder > > > > > ... six of one and half dozen of the other, you pays your money and > > > > > takes your choice. > > > > > > > >I've got an fMRI paradigm that is almost finished. I've embedded a > > > > > >customized version of the likert script, and could use a little > help > > > > > >with a simple tweak. I'm a moderately skilled e-basic coder, so if > you > > > > > >can suggest a general strategy, I can probably implement it. As it > is > > > > > >coded now, the likert scale waits for a response before closing. > The > > > > > >actual slideobject it draws to has 0 duration, and as far as I can > > > > > >tell, the script simply stops the the slide once a response is > given. > > > > > >I'd like to ensure that there is a time limit for the response, so > > > > > >that the total possible time to respond is 6 seconds. I.e. if a > > > > > >participant answers in 2 seconds, there would be 4 seconds of > fixation > > > > > >following the answer, before moving on. I much appreciate any tips > you > > > > > >can lend. > > > > > > > >Here is the inline that controls the Likert scale: > > > > > > > >'Declare a variable for accessing each SlideText object and > changing > > > > > >properties. > > > > > >Dim theSlideText As SlideText > > > > > > > >Dim strName As String > > > > > >Dim nLastResponseCount As Integer > > > > > >nLastResponseCount = 0 > > > > > > > >Dim nNextMoveTime As Long > > > > > > > >Dim strLastResponse As String > > > > > > > >Dim boolMove As Boolean > > > > > >boolMove = False > > > > > > > >Dim theKeyboardResponseData As KeyboardResponseData > > > > > > > >Do While Stimulus.InputMasks.IsPending() > > > > > > > > 'Was there a response? > > > > > > If Stimulus.InputMasks.Responses.Count > > nLastResponseCount Then > > > > > > > > nLastResponseCount = nLastResponseCount +1 > > > > > > > > Set theKeyboardResponseData = > > > > > > >CKeyboardResponseData(Stimulus.InputMasks.Responses(nLastResponseCount)) > > > > > > > > If theKeyboardResponseData.RESP = "2" Then > > > > > > > > 'Subject has already selected the highest > rating. > > > > > > If intCurrent < 7 Then > > > > > > > > 'Increment the current selection. > > > > > > intPrevious = intCurrent > > > > > > intCurrent = intCurrent + 1 > > > > > > > > 'Change border color of > previously > > > > > > selected box back to white, > > > > > >change border > > > > > > 'color of currently selected box > to red. > > > > > > strName = "Text" & intPrevious > > > > > > Set theSlideText = > > > > > >CSlideText(Stimulus.States.Item("Default").Objects(strName)) > > > > > > theSlideText.BorderColor = > > > > CColor("white") > > > > > > > > strName = "Text" & intCurrent > > > > > > Set theSlideText = > > > > > >CSlideText(Stimulus.States.Item("Default").Objects(strName)) > > > > > > > > > > ... > > > > read more ? > > -- > 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. > > -- 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: RatePictures.zip Type: application/zip Size: 59627 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Testing_v3.zip Type: application/zip Size: 447144 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: VAS_inlineScript.RENAME_to_vbs.zip Type: application/zip Size: 3060 bytes Desc: not available URL: From eliskim at gmail.com Fri Aug 5 20:47:28 2011 From: eliskim at gmail.com (Eli) Date: Fri, 5 Aug 2011 13:47:28 -0700 Subject: Setting list object's reset/terminate condition to number of rows in loaded text file Message-ID: Hi all. My design plays several different series of movies, each of a different length. I've created a single list object, which I use multiple times, once for each series of movies (listed in tab- separated text files). Each different series has a different number of movies. But I'm having trouble getting my list object to change its terminateCondition (or resetCondition) to reflect each newly loaded text file's length. I've tried doing the following (based on a blog post I saw here ) If listfilename$ <> "" Then List1.LoadMethod = ebLoadMethodFile List1.Filename = listfilename$ List1.Load List1.Reset Set List1.TerminateCondition = Cycles(1) Set List1.ResetCondition = Samples(List1.Deletion.Count) else MsgBox("Incorrect list file chosen") end if But I don't really understand what the Deletion object is. So instead I tried Set List1.ResetCondition = Samples(List1.Size) The problem with this is that Size seems to change unpredictably each time I load a different text file. Is there a way to clear all properties of a list object at the point of loading each next text file, so that the list object's size reflects the number of rows in each loaded text file? Or is there another way to get each text file's number of rows into a list object's ResetCondition? Thanks! Eli -- 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 giladsabo at gmail.com Sun Aug 7 14:51:28 2011 From: giladsabo at gmail.com (gilis) Date: Sun, 7 Aug 2011 07:51:28 -0700 Subject: Having text as input Message-ID: Dear all, I have an experiment in which participants input is text (i.e., words), I wonder how can I set the program to receive this input without using text box..Any help would be appreciated. Regards Gili -- 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 pfc.groot at gmail.com Mon Aug 8 07:22:43 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Mon, 8 Aug 2011 09:22:43 +0200 Subject: Having text as input In-Reply-To: <0ab9ba99-0bcb-43d6-8090-362ab6368119@d7g2000vbv.googlegroups.com> Message-ID: Hi Gili, You can any E-Object (i.e. Slide, ImageDisplay, TextDisplay, ...) with an input mask that accepts multiple responses. Just add a keyboard device to the object and click the advanced button. Then enter the maximum characters allowed and a termination response (i.e. {ENTER}) and you're done. If you also would like to have visual feedback of the typed characters then you should add a display object to the echo tab. best, paul 2011/8/7 gilis : > Dear all, > > I have an experiment in which participants input is text (i.e., > words), I wonder how can I set the program to receive this input > without using text box..Any help would be appreciated. > > Regards > Gili > > -- > 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. > > -- 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 pfc.groot at gmail.com Mon Aug 8 08:13:12 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Mon, 8 Aug 2011 10:13:12 +0200 Subject: Randomized selection of stimuli across trials In-Reply-To: <4dca0697-d16e-44cf-83dd-5f897cfc1b5c@a12g2000vbf.googlegroups.com> Message-ID: Hi Halle, You probably would like to use a separate Word list and include it as nested list in your TrialList. Then add 3 separate attributes in the trial list (Word1, Word2, Word3). The values of these attributes are resp. [Word:0], [Word:1], [Word:2] (all trials the same). These will pull 3 random words from the nested Word list and copy the values to the attributes: Word1, Word2, Word3. Then use these 3 attributes in your display objects as usual (i.e. resp [Word1], [Word2], [Word3]). That should do it... The attached EPrime 1.2 example demonstrates this mechanism. (You can also import this script in EPrime 2) Best, Paul 2011/8/4 HalleZ : > Hello, > > I am trying to program an experiment where I have three different > words presented on each trial. I would like ePrime to uniquely select, > without replacement across trials in a single session, the three words > that get combined into a single trial so that this triplet is unique > for each person. Currently, I have a separate text object in my > TrialProcedure for each word (Word1, Word 2, Word3) with each of these > text objects pulling from the same list ("Words") of all of my words > (so, on each text object it pulls the attribute [Word] from the > "Words" list). In my list object called "Words" where all of my > stimuli are listed, I have the properties set so that the selection > method is "random" (i.e., without replacement). However, ePrime pulls > the same words within a trial (so, people might see "cat", "dog", > "cat" but what I want them to see is three unique words like "cat", > "dog", "bunny"). What did I do wrong? Is this property of no > replacement only applied across trials? > > Thanks for the help! > > -Halle > > -- > 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. > > -- 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 -------------- A non-text attachment was scrubbed... Name: MultipleValuesFromNestedList.es Type: application/octet-stream Size: 12234 bytes Desc: not available URL: From giladsabo at gmail.com Mon Aug 8 09:20:16 2011 From: giladsabo at gmail.com (gilis) Date: Mon, 8 Aug 2011 02:20:16 -0700 Subject: Having text as input In-Reply-To: Message-ID: Sure Paul, and thanks very much-however, I forgot to add one detail that change the entire question, I want Eprime to receive text which is not written in Latin letters..Now how can I do that ? On Aug 8, 10:22?am, Paul Groot wrote: > Hi Gili, > > You can any E-Object (i.e. Slide, ImageDisplay, TextDisplay, ...) with > an input mask that accepts multiple responses. Just add a keyboard > device to the object and click the advanced button. Then enter the > maximum characters allowed and a termination response (i.e. {ENTER}) > and you're done. If you also would like to have visual feedback of the > typed characters then you should add a display object to the echo tab. > > best, > paul > > 2011/8/7 gilis : > > > > > > > > > Dear all, > > > I have an experiment in which participants input is text (i.e., > > words), I wonder how can I set the program to receive this input > > without using text box..Any help would be appreciated. > > > Regards > > Gili > > > -- > > 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. -- 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 pfc.groot at gmail.com Mon Aug 8 13:15:59 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Mon, 8 Aug 2011 15:15:59 +0200 Subject: Having text as input In-Reply-To: Message-ID: Well, using non-ASCII text is unexplored territory for me, so I'm afraid I can't help here... I know EP2 has some support for displaying UNICODE text, but I guess the interpretation of magic keystrokes for non-ASCII characters is not build-in. 2011/8/8 gilis : > Sure Paul, and thanks very much-however, I forgot to add one detail > that change the entire question, I want Eprime to receive text which > is not written in Latin letters..Now how can I do that ? > On Aug 8, 10:22?am, Paul Groot wrote: -- 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 giladsabo at gmail.com Mon Aug 8 15:59:35 2011 From: giladsabo at gmail.com (gilis) Date: Mon, 8 Aug 2011 08:59:35 -0700 Subject: Having text as input In-Reply-To: Message-ID: Thanks anyway :) On Aug 8, 4:15?pm, Paul Groot wrote: > Well, using non-ASCII text is unexplored territory for me, so I'm > afraid I can't help here... > I know EP2 has some support for displaying UNICODE text, but I guess > the interpretation of magic keystrokes for non-ASCII characters is not > build-in. > > 2011/8/8 gilis : > > > > > > > > > Sure Paul, and thanks very much-however, I forgot to add one detail > > that change the entire question, I want Eprime to receive text which > > is not written in Latin letters..Now how can I do that ? > > On Aug 8, 10:22?am, Paul Groot wrote: -- 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 pquain at une.edu.au Mon Aug 8 23:01:24 2011 From: pquain at une.edu.au (Peter Quain) Date: Tue, 9 Aug 2011 09:01:24 +1000 Subject: Having text as input In-Reply-To: <666e7604-f2af-4426-acc5-3441e06da353@a10g2000yqn.googlegro ups.com> Message-ID: Searched my e-prime list mailbox for old question about 'Hebrew' fonts: Thread-Url: http://groups.google.com/group/e-prime/t/46ff1dc45ff81cb2 -------DKM's reply includes PST reply to poster ------------------------------ Yoed, Thanks for getting and posting the reply from PST. I wonder if any of the alternatives to E-Prime (e.g., Presentation, http://www.neurobs.com ) could do a better job of handling non-English input? -- David McFarlane, Professional Faultfinder >i have actually taken this up with PST and late last night i got an >answer - the short version of it is no. attaching below the answer i >got from them, thanks everyone for their help in this issue! > >++++ > >Yoed, > >Are you using E-Prime v1.x or E-Prime 2.0? While E-Prime 2.0 is >supported by the English/Western European versions of Windows XP and >Vista, this really only applies to text that is displayed by the >objects. That is, while the "Text" property of a TextDisplay will >accept foreign characters, the other properties (including .Input >and its related echo properties) will not. All non-English >characters or accents will go unrecognized by E-Prime in the >responses and in the text that is echoed to the screen. > >E-Prime 2.0 has resolved this to some degree by allowing non-English >fonts to appear as responses in the data file (i.e., UNICODE fonts >are permitted). However, the echo client will still only display >English and the responses themselves will still be based on the >QWERTY keyboard. You could get around this by manually echoing the >subject's responses to the screen. For example, you could take the >subject's input and then convert it to Hebrew in script, and then >display this on screen (e.g., if the semicolon key is pressed, >convert this to a specific character and display it on screen, etc). >However, this can be fairly script intensive and would require that >the Hebrew characters appear correctly in TextDisplay objects and/or >Slide objects and appear correctly in InLine objects. If you are >interested, I would recommend taking a look at >SAMPLE:Process >Responses Template for an example of how to change what is displayed >on screen based on the subject's responses. > >Please let me know if you have any further questions. -------------------------------------------------------------------- At 01:59 AM 9/08/2011, you wrote: >Thanks anyway :) > >On Aug 8, 4:15 pm, Paul Groot wrote: > > Well, using non-ASCII text is unexplored territory for me, so I'm > > afraid I can't help here... > > I know EP2 has some support for displaying UNICODE text, but I guess > > the interpretation of magic keystrokes for non-ASCII characters is not > > build-in. > > > > 2011/8/8 gilis : > > > > > > > > > > > > > > > > > Sure Paul, and thanks very much-however, I forgot to add one detail > > > that change the entire question, I want Eprime to receive text which > > > is not written in Latin letters..Now how can I do that ? > > > On Aug 8, 10:22 am, Paul Groot wrote: > >-- >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. -- 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 grisha20112011 at gmail.com Tue Aug 9 08:17:16 2011 From: grisha20112011 at gmail.com (Grisha R) Date: Tue, 9 Aug 2011 13:47:16 +0530 Subject: help desperately needed Message-ID: Hello, I?ve been struggling in vain to design an experiment in e-prime since last several days. The problem is that I have absolutely no background in programming or computer science. I?m pleading you for help. Here is the design: To get blue color participant presses left-arrow key and to get red color he presses right-arrow key; he can press either key as per his wish. There are total two hundred trials. Of the total left-arrow key presses for blue, only 50% of the times he gets blue color, whereas remaining 50% of the time he gets the other color, that is, red. In the 50% blue that he is getting, half are blue squares and the remaining half are blue circles; and in the other 50% yellow, half are yellow squares and the remaining half are yellow circles. Same for right-arrow key presses for yellow: that is, of the total right-arrow key presses only 50% get him yellow color and the remaining 50% get him the other color, that is, blue. Of the total yellow, half should be yellow squares and the half should be yellow circles; and of the total blue, half should be blue squares and the other half should be blue circles. The participant reports the shape (whether he saw square or circle, and not the color) by pressing an appropriate key (say, upward-arrow key for square and the downward-arrow key for circle). The appearances of stimuli should be randomized for each key-press. The percentages should be maintained close to [75% and 25%] and [50% and 50% for squares and circles] (as mentioned above) following each key-press. The time duration for making a response is to be recorded for each trial. Also, the time the participant takes to make the next left- or right-arrow key press (after reporting what he saw in the preceding trial) is also to be recorded. I have working code in e-prime for this design. -- 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 Michiel.Spape at nottingham.ac.uk Tue Aug 9 10:41:18 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 9 Aug 2011 11:41:18 +0100 Subject: help desperately needed In-Reply-To: Message-ID: Hi, If you have working code for this design, then what is the problem? Do you get stuck somewhere or do you basically want somebody else to code your experiment? If the latter, than you might need to hire a programmer - I'm sure there are more than enough people here willing to act as one. If your budget doesn't really stretch that far, I'd suggest reading the tutorial and the absolutely marvellous E-Primer http://step.psy.cmu.edu/materials/EPrimer.pdf . On the other hand, if you're way past that, you could try rephrasing your plea for help in a way which makes it more possible for people here to shine: is the blue color the problem? Do you not know how to have 200 trials? Is the proportion/probability of trial type a problem? Each of these seems unlikely, but it is impossible to get a clue from your email. Best, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Grisha R Sent: 09 August 2011 09:17 To: e-prime at googlegroups.com Subject: help desperately needed Hello, I've been struggling in vain to design an experiment in e-prime since last several days. The problem is that I have absolutely no background in programming or computer science. I'm pleading you for help. Here is the design: To get blue color participant presses left-arrow key and to get red color he presses right-arrow key; he can press either key as per his wish. There are total two hundred trials. Of the total left-arrow key presses for blue, only 50% of the times he gets blue color, whereas remaining 50% of the time he gets the other color, that is, red. In the 50% blue that he is getting, half are blue squares and the remaining half are blue circles; and in the other 50% yellow, half are yellow squares and the remaining half are yellow circles. Same for right-arrow key presses for yellow: that is, of the total right-arrow key presses only 50% get him yellow color and the remaining 50% get him the other color, that is, blue. Of the total yellow, half should be yellow squares and the half should be yellow circles; and of the total blue, half should be blue squares and the other half should be blue circles. The participant reports the shape (whether he saw square or circle, and not the color) by pressing an appropriate key (say, upward-arrow key for square and the downward-arrow key for circle). The appearances of stimuli should be randomized for each key-press. The percentages should be maintained close to [75% and 25%] and [50% and 50% for squares and circles] (as mentioned above) following each key-press. The time duration for making a response is to be recorded for each trial. Also, the time the participant takes to make the next left- or right-arrow key press (after reporting what he saw in the preceding trial) is also to be recorded. I have working code in e-prime for this design. -- 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From baltimore.ben at gmail.com Tue Aug 9 17:42:22 2011 From: baltimore.ben at gmail.com (ben robinson) Date: Tue, 9 Aug 2011 13:42:22 -0400 Subject: Setting list object's reset/terminate condition to number of rows in loaded text file In-Reply-To: Message-ID: why not have a separate list object for each series of movies? that way you don't have to add and subtract rows from your list. On Fri, Aug 5, 2011 at 4:47 PM, Eli wrote: > Hi all. > > My design plays several different series of movies, each of a > different length. I've created a single list object, which I use > multiple times, once for each series of movies (listed in tab- > separated text files). > > Each different series has a different number of movies. But I'm having > trouble getting my list object to change its terminateCondition (or > resetCondition) to reflect each newly loaded text file's length. > > I've tried doing the following (based on a blog post I saw here > ) > > If listfilename$ <> "" Then > List1.LoadMethod = ebLoadMethodFile > List1.Filename = listfilename$ > List1.Load > > List1.Reset > Set List1.TerminateCondition = Cycles(1) > Set List1.ResetCondition = Samples(List1.Deletion.Count) > else > MsgBox("Incorrect list file chosen") > end if > > But I don't really understand what the Deletion object is. > > So instead I tried > Set List1.ResetCondition = Samples(List1.Size) > > The problem with this is that Size seems to change unpredictably each > time I load a different text file. > > Is there a way to clear all properties of a list object at the point > of loading each next text file, so that the list object's size > reflects the number of rows in each loaded text file? > > Or is there another way to get each text file's number of rows into a > list object's ResetCondition? > > Thanks! > Eli > > -- > 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. > > -- 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 erika.nyhus at gmail.com Tue Aug 9 18:40:21 2011 From: erika.nyhus at gmail.com (enyhus) Date: Tue, 9 Aug 2011 11:40:21 -0700 Subject: How to fade from slide1 to slide2 (inline?) In-Reply-To: <4e31a835.46422b0a.5182.1d3aSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thank you for all your help so far. I have tried integrating my color changing code with the code you have provided, but the color does not change nor are the key press and release being recorded. I was wondering if you had any more advice on getting this to work. First I put an InLine (SetTrialStartTime) at the very beginning of the trial like this. This sets up the initial color and gets the experiment time from the start of the trial: '----------------------------------------------------------------------------- 'create all the variables you'll need: dim r as integer dim g as integer dim b as integer dim vr as string dim vb as string dim vg as string dim stepcounter as integer dim Slide1Time as integer dim ResponseTime as integer 'assign value 255 to the red green and blue channels, rgb 255,255,255 is white r=0 b=255 g=255 'map the integer values of r, g, and b onto the string variables vr, vb and vg vr$= r vb$= b vg$= g 'use the string rgb variables to modify the backgroundcolor of the textobject CSlideText(Slide1.States(Slide1.ActiveState).Objects("Text1")).forecolor=CColor (""& vr$ &","& vg$ &","& vb$ &"") Dim lngTrialStart As Long lngTrialStart = Clock.Read '----------------------------------------------------------------------------- Then I added a label "Repeat" after the stimulus slide and before the next InLine, and another label "SkipInLine" after the next inline: Then the following InLine (WaitForKeypresses): '----------------------------------------------------------------------------- If Clock.Read - lngTrialStart >= 2500 Then GoTo SkipInLine Dim nResps As Long nResps = Slide1.InputMasks(1).Responses.Count 'waits for the initial keypress If nResps > 0 Then 'loops until either a response is made or the trial time runs out: nResps = Slide1.InputMasks(1).Responses.Count Do Until Slide1.InputMasks(1).Responses(nResps).RESP = "{1}" If Clock.Read - lngTrialStart >= 2500 Then GoTo SkipInLine Sleep 1 Loop 'logs the keypress time: c.SetAttrib "Keypress", Clock.Read 'loops the color changing code until either the release or the trial time runs out Do Until Slide1.InputMasks(1).Responses(nResps).RESP = "{-1}" If Clock.Read - lngTrialStart >= 2500 Then GoTo SkipInLine 'insert color changing code here 'First the values of green and blue will be decreased by 5 points, we started at 255,255,255 and this way after 50 repeats we will end at 255,0,0, which is pure red r = r g = g - 5 b = b - 5 'Map the integer values of rgb onto the string variables of rgb vr$= r vb$= b vg$= g 'Assign the new value to forecolor CSlideText(Slide1.States(Slide1.ActiveState).Objects("Text1")).forecolor=CColor (""& vr$ &","& vg$ &","& vb$ &"") Slide1.draw Loop Else Sleep 1 GoTo Repeat End If 'logs the key release time: c.SetAttrib "Keyrelease", Clock.Read '----------------------------------------------------------------------------- Then after the label "SkipInLine" I added a simple InLine (WaitForTrialEnd) that waits untilt 2500 ms has passed from the start of the trial until the trial end: '----------------------------------------------------------------------------- Do Until Clock.Read - lngTrialStart >= 2500 Sleep 1 Loop '----------------------------------------------------------------------------- Erika On Jul 28, 2:17?pm, David McFarlane wrote: > Erika, > > At 7/28/2011 01:55 PM Thursday, you wrote: > > >I have changed all the code to use > >Slide1.InputMasks(1).Responses.Count, but I am getting the following > >error when I run it. > > >Operator type mismatch > >For line: Do Until Slide1.InputMasks(1).Responses(nResps) = "{SPACE}" > > Um, Slide1.InputMasks(1).Responses gets you to the > ResponseDataCollection object associated with Slide1.InputMasks(1), > and Slide1.InputMasks(1).Responses(nResps) only gets you to a > particular ResponseData object, not any of its component > properties. ?You have to drill down a little further to specific > ResponseData properties, e.g., > > ? ? ? ? ?Do Until Slide1.InputMasks(1).Responses(nResps).RESP = "{SPACE}" > > Please, please read through all the relevant topics in the E-Basic > Help facility. ?This would also all become clear if you would take a > course on VBA, or give yourself some training using a book like "VBA > for Dummies". ?It is a huge mistake to try to get an intricate > program to work without understanding *how* it works -- even if it > *appears* to work to you, chances are it does not really do what you > think it does, and you will unwittingly publish invalid results. > > -- 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 Erika_Nyhus at brown.edu Tue Aug 9 18:42:04 2011 From: Erika_Nyhus at brown.edu (Erika Nyhus) Date: Tue, 9 Aug 2011 14:42:04 -0400 Subject: How to fade from slide1 to slide2 (inline?) In-Reply-To: Message-ID: Attached is a mini-experiment implementing this code. Erika On Tue, Aug 9, 2011 at 2:40 PM, enyhus wrote: > Thank you for all your help so far. I have tried integrating my color > changing code with the code you have provided, but the color does not > change nor are the key press and release being recorded. I was > wondering if you had any more advice on getting this to work. > > First I put an InLine (SetTrialStartTime) at the very beginning of the > trial like this. This sets up the initial color and gets the > experiment time from the start of the > trial: > > > '----------------------------------------------------------------------------- > 'create all the variables you'll need: > dim r as integer > dim g as integer > dim b as integer > dim vr as string > dim vb as string > dim vg as string > dim stepcounter as integer > dim Slide1Time as integer > dim ResponseTime as integer > > 'assign value 255 to the red green and blue channels, rgb 255,255,255 > is white > r=0 > b=255 > g=255 > > 'map the integer values of r, g, and b onto the string variables vr, > vb and vg > vr$= r > vb$= b > vg$= g > > 'use the string rgb variables to modify the backgroundcolor of the > textobject > > CSlideText(Slide1.States(Slide1.ActiveState).Objects("Text1")).forecolor=CColor > (""& vr$ &","& vg$ &","& vb$ &"") > > Dim lngTrialStart As Long > lngTrialStart = Clock.Read > > '----------------------------------------------------------------------------- > > Then I added a label "Repeat" after the stimulus slide and before the > next > InLine, and another label "SkipInLine" after the next inline: > > Then the following InLine (WaitForKeypresses): > > > '----------------------------------------------------------------------------- > If Clock.Read - lngTrialStart >= 2500 Then GoTo SkipInLine > > Dim nResps As Long > > nResps = Slide1.InputMasks(1).Responses.Count > > 'waits for the initial keypress > If nResps > 0 Then > > 'loops until either a response is made or the trial time runs out: > nResps = Slide1.InputMasks(1).Responses.Count > Do Until Slide1.InputMasks(1).Responses(nResps).RESP = "{1}" > If Clock.Read - lngTrialStart >= 2500 Then GoTo SkipInLine > Sleep 1 > Loop > > 'logs the keypress time: > c.SetAttrib "Keypress", Clock.Read > > 'loops the color changing code until either the release or the > trial time runs out > Do Until Slide1.InputMasks(1).Responses(nResps).RESP = "{-1}" > If Clock.Read - lngTrialStart >= 2500 Then GoTo SkipInLine > 'insert color changing code here > 'First the values of green and blue will be decreased by 5 points, > we started at 255,255,255 and this way after 50 repeats we will end at > 255,0,0, which is pure red > r = r > g = g - 5 > b = b - 5 > > 'Map the integer values of rgb onto the string variables of rgb > vr$= r > vb$= b > vg$= g > > 'Assign the new value to forecolor > > CSlideText(Slide1.States(Slide1.ActiveState).Objects("Text1")).forecolor=CColor > (""& vr$ &","& vg$ &","& vb$ &"") > Slide1.draw > Loop > Else > Sleep 1 > GoTo Repeat > End If > > 'logs the key release time: > c.SetAttrib "Keyrelease", Clock.Read > > '----------------------------------------------------------------------------- > > Then after the label "SkipInLine" I added a simple InLine > (WaitForTrialEnd) that waits untilt 2500 ms has passed from the start > of the trial until the trial end: > > > '----------------------------------------------------------------------------- > Do Until Clock.Read - lngTrialStart >= 2500 > Sleep 1 > Loop > > '----------------------------------------------------------------------------- > > Erika > > On Jul 28, 2:17 pm, David McFarlane wrote: > > Erika, > > > > At 7/28/2011 01:55 PM Thursday, you wrote: > > > > >I have changed all the code to use > > >Slide1.InputMasks(1).Responses.Count, but I am getting the following > > >error when I run it. > > > > >Operator type mismatch > > >For line: Do Until Slide1.InputMasks(1).Responses(nResps) = "{SPACE}" > > > > Um, Slide1.InputMasks(1).Responses gets you to the > > ResponseDataCollection object associated with Slide1.InputMasks(1), > > and Slide1.InputMasks(1).Responses(nResps) only gets you to a > > particular ResponseData object, not any of its component > > properties. You have to drill down a little further to specific > > ResponseData properties, e.g., > > > > Do Until Slide1.InputMasks(1).Responses(nResps).RESP = "{SPACE}" > > > > Please, please read through all the relevant topics in the E-Basic > > Help facility. This would also all become clear if you would take a > > course on VBA, or give yourself some training using a book like "VBA > > for Dummies". It is a huge mistake to try to get an intricate > > program to work without understanding *how* it works -- even if it > > *appears* to work to you, chances are it does not really do what you > > think it does, and you will unwittingly publish invalid results. > > > > -- 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. > > -- Erika Nyhus, Ph.D. Cognitive, Linguistic, and Psychological Sciences Brown University 229 Waterman St. Providence, RI 02912-1821 -- 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestImage.es2 Type: application/octet-stream Size: 25952 bytes Desc: not available URL: From cobwebfaery at gmail.com Wed Aug 10 00:56:24 2011 From: cobwebfaery at gmail.com (Becky Clements) Date: Tue, 9 Aug 2011 17:56:24 -0700 Subject: Multiple Image Responses Message-ID: Hi everyone. I am currently designing an experiment in which children will be presented with four images, and will have to choose two objects using a mouse response. I have looked at the "Multiple Response Sample" provided on EPrime Support, however, I cannot see how to manipulate this Inline to an image slide, in order to record the two responses from the one slide. (The proceeding slide's correct answer is based upon the combination of these two responses, so it would be preferable to have the multiple responses be on one slide). Any help would be greatly appreciated. Cheers, 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 artmkt.h at gmail.com Wed Aug 10 08:46:39 2011 From: artmkt.h at gmail.com (stella H) Date: Wed, 10 Aug 2011 01:46:39 -0700 Subject: some questions about inline and answer box!!!!! Message-ID: i am an E-prime starter and i have some basic questions in staring out E-prime.. what are the functions of inline and how do i use it ? i read the guideline several times but i have no idea.. plus, when producing answer box via inline, do i type the source cord just like html ? if not? how do i make the formula ? i need your big help!! asap !! -- 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 Wed Aug 10 10:20:34 2011 From: liwenna at gmail.com (liwenna) Date: Wed, 10 Aug 2011 03:20:34 -0700 Subject: some questions about inline and answer box!!!!! In-Reply-To: Message-ID: Hi Stella, Yes, use source code, just like HTML except that the language is e- basic. And that then is exactly the function of the inline object, while the other objects are visual representations of a bunch of sourcecode that remains largely invisible to the user, the inline makes it possible to 'insert' your own sourcecode into the program. Examples of implementations of the text box are available either on pst's knowledge base page (http://www.pstnet.com/support/samples.asp login required) or floating around on the net, in this group and the post user forum (http://www.pstnet.com/forum/ ). Also within the program under help you can find an e-basic guide with all possible e- basic commands. However, the examples given there (and in the paper guide that comes with the program) are not always completely correct i.e. copy/paste ready. Keep that in mind, if I recall from years ago this is also the case with the example code for the answer box. Best, liw On Aug 10, 10:46?am, stella H wrote: > i am an E-prime starter and i have some basic questions in staring out > E-prime.. > what are ?the functions of inline and how do i use it ? i read the > guideline several times but i have no idea.. > plus, when producing answer box via inline, do i type the source cord > just like html ? if not? how do i make the formula ? > i need your big help!! asap !! -- 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 Wed Aug 10 10:33:11 2011 From: liwenna at gmail.com (liwenna) Date: Wed, 10 Aug 2011 03:33:11 -0700 Subject: some questions about inline and answer box!!!!! In-Reply-To: <1aedda4b-5a6b-4267-b596-3abf4b263e27@dc3g2000vbb.googlegroups.com> Message-ID: Also, while it does not cover the answer box implementation, this guide written by Michiel Spape (en Rinus V.) is a great help when starting e-prime: http://step.psy.cmu.edu/materials/EPrimer.pdf On Aug 10, 12:20?pm, liwenna wrote: > Hi Stella, > > Yes, use source code, just like HTML except that the language is e- > basic. And that then is exactly the function of the inline object, > while the other objects are visual representations of a bunch of > sourcecode that remains largely invisible to the user, the inline > makes it possible to 'insert' your own sourcecode into the program. > > Examples of implementations of the text box are available either on > pst's knowledge base page (http://www.pstnet.com/support/samples.asp > login required) or floating around on the net, in this group and the > post user forum (http://www.pstnet.com/forum/). Also within the > program under help you can find an e-basic guide with all possible e- > basic commands. However, the examples given there (and in the paper > guide that comes with the program) are not always completely correct > i.e. copy/paste ready. Keep that in mind, if I recall from years ago > this is also the case with the example code for the answer box. > > Best, > > liw > > On Aug 10, 10:46?am, stella H wrote: > > > > > > > > > i am an E-prime starter and i have some basic questions in staring out > > E-prime.. > > what are ?the functions of inline and how do i use it ? i read the > > guideline several times but i have no idea.. > > plus, when producing answer box via inline, do i type the source cord > > just like html ? if not? how do i make the formula ? > > i need your big help!! asap !! -- 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 baltimore.ben at gmail.com Wed Aug 10 14:02:05 2011 From: baltimore.ben at gmail.com (ben robinson) Date: Wed, 10 Aug 2011 10:02:05 -0400 Subject: Multiple Image Responses In-Reply-To: Message-ID: i'm sure you could find a way to do this using a single slide collecting the two responses, but i think it would be easier to use two slides one after the other, each collecting a single response. i would have a procedure start with Label1, then Slide1, then Inline1, then Label2, Slide2, Inline2. Slide1 shows your 4 images. Inline1 performs a HitTest on the mouse response to Slide1. if an invalid response then go back to Label1 to represent Slide1, otherwise procede to Slide2. you might label this valid response something like strHit1. Slide2 is configured exactly the same as Slide1 so that to the participant's eye no change occurs on the screen following their successful mouse response to Slide1. Inline2 again checks to see that a valid response is made. if not, for instance if they click on the same item as they did on Slide1, just jump back to Label2 so that Slide2 can be redisplayed and a valid response collected. label that valid response strHit2. furthermore, with Inline2 you can take your two valid responses and craft your remaining slide, which you said needed to be based on the previous two responses. for instance, once you've received a valid response to Slide2, Inline2 might continue as follows: Select Case strHit1 Case "Image1" Select Case strHit2 Case "Image1" 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image1 Case "Image2" 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image2 Case "Image3" 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image3 Case "Image4" 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image4 End Select Case "Image2" Case "Image3" Case "Image4" End Select On Tue, Aug 9, 2011 at 8:56 PM, Becky Clements wrote: > Hi everyone. > > I am currently designing an experiment in which children will be > presented with four images, and will have to choose two objects using > a mouse response. I have looked at the "Multiple Response Sample" > provided on EPrime Support, however, I cannot see how to manipulate > this Inline to an image slide, in order to record the two responses > from the one slide. (The proceeding slide's correct answer is based > upon the combination of these two responses, so it would be preferable > to have the multiple responses be on one slide). > > Any help would be greatly appreciated. > > Cheers, > 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. > > -- 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 cobwebfaery at gmail.com Wed Aug 10 17:08:35 2011 From: cobwebfaery at gmail.com (Becky Clements) Date: Wed, 10 Aug 2011 10:08:35 -0700 Subject: Multiple Image Responses In-Reply-To: Message-ID: Hi Ben, Thanks for the advise. The task is a little bit more complicated than simply logging two response which if that is all we were doing two slides would be fine but the two response are paired in regards to accuracy. For example say the four images comprised of a red circle, blue circle, yellow triangle, and red rectangle there are two correct answers consisting of 4 mouse responses the two circles are one correct pair and the red circle and the red triangle the other correct pair. The participant is not restricted as to which pair they must pick first but it is a paired response that is correct rather than each response independently. Do you know if there is a way of pairing the hittest? I have tried to combine two attributes for example if strhit1 = red circle and strhit2 = blue circle then On Aug 10, 11:02?am, ben robinson wrote: > i'm sure you could find a way to do this using a single slide collecting the > two responses, but i think it would be easier to use two slides one after > the other, each collecting a single response. > i would have a procedure start with Label1, then Slide1, then Inline1, then > Label2, Slide2, Inline2. > Slide1 shows your 4 images. > Inline1 performs a HitTest on the mouse response to Slide1. ?if an invalid > response then go back to Label1 to represent Slide1, otherwise procede to > Slide2. ?you might label this valid response something like strHit1. > Slide2 is configured exactly the same as Slide1 so that to the participant's > eye no change occurs on the screen following their successful mouse response > to Slide1. > Inline2 again checks to see that a valid response is made. ?if not, for > instance if they click on the same item as they did on Slide1, just jump > back to Label2 so that Slide2 can be redisplayed and a valid response > collected. ?label that valid response strHit2. > furthermore, with Inline2 you can take your two valid responses and craft > your remaining slide, which you said needed to be based on the previous two > responses. > for instance, once you've received a valid response to Slide2, Inline2 might > continue as follows: > > Select Case strHit1 > ? ? Case "Image1" > > Select Case strHit2 > ? ? Case "Image1" > ? ? ? ? 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image1 > ? ? Case "Image2" > ? ? ? ? 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image2 > ? ? Case "Image3" > ? ? ? ? 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image3 > ? ? Case "Image4" > ? ? ? ? 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image4 > End Select > > ? ? Case "Image2" > ? ? Case "Image3" > ? ? Case "Image4" > End Select > > On Tue, Aug 9, 2011 at 8:56 PM, Becky Clements wrote: > > > > > > > > > Hi everyone. > > > I am currently designing an experiment in which children will be > > presented with four images, and will have to choose two objects using > > a mouse response. ?I have looked at the "Multiple Response Sample" > > provided on EPrime Support, however, I cannot see how to manipulate > > this Inline to an image slide, in order to record the two responses > > from the one slide. ?(The proceeding slide's correct answer is based > > upon the combination of these two responses, so it would be preferable > > to have the multiple responses be on one slide). > > > Any help would be greatly appreciated. > > > Cheers, > > 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. -- 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 cobwebfaery at gmail.com Wed Aug 10 17:14:38 2011 From: cobwebfaery at gmail.com (Becky Clements) Date: Wed, 10 Aug 2011 10:14:38 -0700 Subject: Multiple Image Responses In-Reply-To: Message-ID: Opps! sent early if strhit1 = red circle and blue circle or strhit = red circle and red rectangle then acc = 1 Else acc = 0 I don't know if something like this is possible I have be searching the literature and reading pages after pages in forums to no avail. Thanks again for your advise Becky On Aug 10, 2:08?pm, Becky Clements wrote: > Hi Ben, > > Thanks for the advise. The task is a little bit more complicated than > simply logging two response which if that is all we were doing two > slides would be fine but the two response are paired in regards to > accuracy. For example say the four images comprised of a red circle, > blue circle, yellow triangle, and red rectangle there are two correct > answers consisting of 4 mouse responses the two circles are one > correct pair and the red circle and the red triangle the other correct > pair. The participant is not restricted as to which pair they must > pick first but it is a paired response that is correct rather than > each response independently. Do you know if there is a way of pairing > the hittest? I have tried to combine two attributes for example > if strhit1 = red circle and strhit2 = blue circle then > > On Aug 10, 11:02?am, ben robinson wrote: > > > > > > > > > i'm sure you could find a way to do this using a single slide collecting the > > two responses, but i think it would be easier to use two slides one after > > the other, each collecting a single response. > > i would have a procedure start with Label1, then Slide1, then Inline1, then > > Label2, Slide2, Inline2. > > Slide1 shows your 4 images. > > Inline1 performs a HitTest on the mouse response to Slide1. ?if an invalid > > response then go back to Label1 to represent Slide1, otherwise procede to > > Slide2. ?you might label this valid response something like strHit1. > > Slide2 is configured exactly the same as Slide1 so that to the participant's > > eye no change occurs on the screen following their successful mouse response > > to Slide1. > > Inline2 again checks to see that a valid response is made. ?if not, for > > instance if they click on the same item as they did on Slide1, just jump > > back to Label2 so that Slide2 can be redisplayed and a valid response > > collected. ?label that valid response strHit2. > > furthermore, with Inline2 you can take your two valid responses and craft > > your remaining slide, which you said needed to be based on the previous two > > responses. > > for instance, once you've received a valid response to Slide2, Inline2 might > > continue as follows: > > > Select Case strHit1 > > ? ? Case "Image1" > > > Select Case strHit2 > > ? ? Case "Image1" > > ? ? ? ? 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image1 > > ? ? Case "Image2" > > ? ? ? ? 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image2 > > ? ? Case "Image3" > > ? ? ? ? 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image3 > > ? ? Case "Image4" > > ? ? ? ? 'set Slide3 to reflect a choice of Slide1.Image1 and Slide2.Image4 > > End Select > > > ? ? Case "Image2" > > ? ? Case "Image3" > > ? ? Case "Image4" > > End Select > > > On Tue, Aug 9, 2011 at 8:56 PM, Becky Clements wrote: > > > > Hi everyone. > > > > I am currently designing an experiment in which children will be > > > presented with four images, and will have to choose two objects using > > > a mouse response. ?I have looked at the "Multiple Response Sample" > > > provided on EPrime Support, however, I cannot see how to manipulate > > > this Inline to an image slide, in order to record the two responses > > > from the one slide. ?(The proceeding slide's correct answer is based > > > upon the combination of these two responses, so it would be preferable > > > to have the multiple responses be on one slide). > > > > Any help would be greatly appreciated. > > > > Cheers, > > > 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. -- 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 baltimore.ben at gmail.com Wed Aug 10 19:12:49 2011 From: baltimore.ben at gmail.com (ben robinson) Date: Wed, 10 Aug 2011 15:12:49 -0400 Subject: Multiple Image Responses In-Reply-To: Message-ID: i'm a big fan of Select Case... rather than If Then... when things start getting complicated. you could do something like this: Select Case strhit1 Case "redcircle" Select Case strhit2 Case "bluecircle" CORRECT Case Else INCORRECT End Select Case "bluecircle" Select Case strhit2 Case "redcircle" CORRECT Case Else INCORRECT End Select Case "redsquare" Case "bluesquare" End Select On Wed, Aug 10, 2011 at 1:08 PM, Becky Clements wrote: > Hi Ben, > > Thanks for the advise. The task is a little bit more complicated than > simply logging two response which if that is all we were doing two > slides would be fine but the two response are paired in regards to > accuracy. For example say the four images comprised of a red circle, > blue circle, yellow triangle, and red rectangle there are two correct > answers consisting of 4 mouse responses the two circles are one > correct pair and the red circle and the red triangle the other correct > pair. The participant is not restricted as to which pair they must > pick first but it is a paired response that is correct rather than > each response independently. Do you know if there is a way of pairing > the hittest? I have tried to combine two attributes for example > if strhit1 = red circle and strhit2 = blue circle then > > > On Aug 10, 11:02 am, ben robinson wrote: > > i'm sure you could find a way to do this using a single slide collecting > the > > two responses, but i think it would be easier to use two slides one after > > the other, each collecting a single response. > > i would have a procedure start with Label1, then Slide1, then Inline1, > then > > Label2, Slide2, Inline2. > > Slide1 shows your 4 images. > > Inline1 performs a HitTest on the mouse response to Slide1. if an > invalid > > response then go back to Label1 to represent Slide1, otherwise procede to > > Slide2. you might label this valid response something like strHit1. > > Slide2 is configured exactly the same as Slide1 so that to the > participant's > > eye no change occurs on the screen following their successful mouse > response > > to Slide1. > > Inline2 again checks to see that a valid response is made. if not, for > > instance if they click on the same item as they did on Slide1, just jump > > back to Label2 so that Slide2 can be redisplayed and a valid response > > collected. label that valid response strHit2. > > furthermore, with Inline2 you can take your two valid responses and craft > > your remaining slide, which you said needed to be based on the previous > two > > responses. > > for instance, once you've received a valid response to Slide2, Inline2 > might > > continue as follows: > > > > Select Case strHit1 > > Case "Image1" > > > > Select Case strHit2 > > Case "Image1" > > 'set Slide3 to reflect a choice of Slide1.Image1 and > Slide2.Image1 > > Case "Image2" > > 'set Slide3 to reflect a choice of Slide1.Image1 and > Slide2.Image2 > > Case "Image3" > > 'set Slide3 to reflect a choice of Slide1.Image1 and > Slide2.Image3 > > Case "Image4" > > 'set Slide3 to reflect a choice of Slide1.Image1 and > Slide2.Image4 > > End Select > > > > Case "Image2" > > Case "Image3" > > Case "Image4" > > End Select > > > > On Tue, Aug 9, 2011 at 8:56 PM, Becky Clements >wrote: > > > > > > > > > > > > > > > > > Hi everyone. > > > > > I am currently designing an experiment in which children will be > > > presented with four images, and will have to choose two objects using > > > a mouse response. I have looked at the "Multiple Response Sample" > > > provided on EPrime Support, however, I cannot see how to manipulate > > > this Inline to an image slide, in order to record the two responses > > > from the one slide. (The proceeding slide's correct answer is based > > > upon the combination of these two responses, so it would be preferable > > > to have the multiple responses be on one slide). > > > > > Any help would be greatly appreciated. > > > > > Cheers, > > > 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. > > -- > 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. > > -- 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 zhallez at gmail.com Thu Aug 11 17:14:17 2011 From: zhallez at gmail.com (HalleZ) Date: Thu, 11 Aug 2011 10:14:17 -0700 Subject: Randomized selection of stimuli across trials In-Reply-To: Message-ID: Hi Paul, Thanks so much for the example script--that was extremely helpful! I think perhaps when I initially posted the question I oversimplified my problem a bit. So, let me see if I can more fully explain what I want to program. On each trial, I want to select a unique triplet that does not repeat across trials (e.g., WordA, WordB, WordC). However, what I'm really selecting is the parent word list from which the stimuli are pulled (e.g., selecting WordA means that wordA1, wordA2, wordA3, and wordA4 are what get presented to the subject so that an entire trial looks like wordA1, wordA2, wordA3, wordA4, wordB1, wordB2, wordB3, wordB4, wordC1, wordC2, wordC3, wordC4). Following the way you suggested using the nesting of word lists, I believe I have it so that the words do not repeat across trials. However, it seems to be pulling the same word multiple times within a single trial (e.g., wordA1, wordA2, wordA3, wordA4, wordB1, wordB2, wordB3, wordB4, wordA1, wordA2, wordA3, wordA4). I'm assuming there's just another level of nesting that I'm missing here, but I can't seem to figure out where/how to nest this! thanks, Halle On Aug 8, 4:13?am, Paul Groot wrote: > Hi Halle, > > You probably would like to use a separate Word list and include it as > nested list in your TrialList. Then add 3 separate attributes in the > trial list (Word1, Word2, Word3). The values of these attributes are > resp. [Word:0], [Word:1], [Word:2] (all trials the same). These will > pull 3 random words from the nested Word list and copy the values to > the attributes: Word1, Word2, Word3. Then use these 3 attributes in > your display objects as usual (i.e. resp [Word1], [Word2], [Word3]). > That should do it... > > The attached EPrime 1.2 example demonstrates this mechanism. (You can > also import this script in EPrime 2) > > Best, > Paul > > 2011/8/4 HalleZ : > > > Hello, > > > I am trying to program an experiment where I have three different > > words presented on each trial. I would like ePrime to uniquely select, > > without replacement across trials in a single session, the three words > > that get combined into a single trial so that this triplet is unique > > for each person. Currently, I have a separate text object in my > > TrialProcedure for each word (Word1, Word 2, Word3) with each of these > > text objects pulling from the same list ("Words") of all of my words > > (so, on each text object it pulls the attribute [Word] from the > > "Words" list). In my list object called "Words" where all of my > > stimuli are listed, I have the properties set so that the selection > > method is "random" (i.e., without replacement). However, ePrime pulls > > the same words within a trial (so, people might see "cat", "dog", > > "cat" but what I want them to see is three unique words like "cat", > > "dog", "bunny"). What did I do wrong? Is this property of no > > replacement only applied across trials? > > > Thanks for the help! > > > -Halle > > > -- > > 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. > > > > ?MultipleValuesFromNestedList.es > 16KViewDownload -- 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 cobwebfaery at gmail.com Sun Aug 14 20:41:04 2011 From: cobwebfaery at gmail.com (Becky Clements) Date: Sun, 14 Aug 2011 13:41:04 -0700 Subject: Multiple Image Responses In-Reply-To: Message-ID: Hi Ben, You advise was perfect select case works like a charm! I ended up using two slides this is the general gist of the script. Select Case Shapes.RESP Case strHit1 = c.GetAttrib("a") And strHit2 = c.GetAttrib("b") Shapes.ACC = 1 Case strHit1 = c.GetAttrib("b") And strHit2 = c.GetAttrib("a") Shapes.ACC = 1 Case strHit1 = c.GetAttrib("c") And strHit2 = c.GetAttrib("d") Shapes.ACC = 1 Case strHit1 = c.GetAttrib("d") And strHit2 = c.GetAttrib("c") Shapes.ACC = 1 Case Else Shapes.ACC = 0 End Select End If For the second slide Select Case Shapes1.RESP Case strHit3 = c.GetAttrib("a") And strHit4 = c.GetAttrib("b") Shapes1.ACC = 1 Case strHit3 = c.GetAttrib("b") And strHit4 = c.GetAttrib("a") Shapes1.ACC = 1 Case strHit3 = c.GetAttrib("c") And strHit4 = c.GetAttrib("d") Shapes1.ACC = 1 Case strHit3 = c.GetAttrib("d") And strHit4 = c.GetAttrib("c") Shapes.ACC = 1 Case strHit1 = c.GetAttrib("a") And strHit2 = c.GetAttrib("b") Shapes1.ACC = 0 Case strHit1 = c.GetAttrib("b") And strHit2 = c.GetAttrib("a") Shapes1.ACC = 0 Case strHit1 = c.GetAttrib("c") And strHit2 = c.GetAttrib("d") Shapes1.ACC = 0 Case strHit1 = c.GetAttrib("d") And strHit2 = c.GetAttrib("c") Shapes1.ACC = 0 Case Else Shapes1.ACC = 0 End Select End If Thank you for all of your help it has been most enlightening! Becky On Aug 10, 4:12?pm, ben robinson wrote: > i'm a big fan of Select Case... rather than If Then... when things start > getting complicated. > you could do something like this: > Select Case strhit1 > ? ? Case "redcircle" > ? ? ? ? Select Case strhit2 > ? ? ? ? ? ? Case "bluecircle" > ? ? ? ? ? ? ? ? CORRECT > ? ? ? ? ? ? Case Else > ? ? ? ? ? ? ? ? INCORRECT > ? ? ? ? End Select > ? ? Case "bluecircle" > ? ? ? ? Select Case strhit2 > ? ? ? ? ? ? Case "redcircle" > ? ? ? ? ? ? ? ? CORRECT > ? ? ? ? ? ? Case Else > ? ? ? ? ? ? ? ? INCORRECT > ? ? ? ? End Select > ? ? Case "redsquare" > ? ? Case "bluesquare" > End Select > > On Wed, Aug 10, 2011 at 1:08 PM, Becky Clements wrote: > > > > > > > > > Hi Ben, > > > Thanks for the advise. The task is a little bit more complicated than > > simply logging two response which if that is all we were doing two > > slides would be fine but the two response are paired in regards to > > accuracy. For example say the four images comprised of a red circle, > > blue circle, yellow triangle, and red rectangle there are two correct > > answers consisting of 4 mouse responses the two circles are one > > correct pair and the red circle and the red triangle the other correct > > pair. The participant is not restricted as to which pair they must > > pick first but it is a paired response that is correct rather than > > each response independently. Do you know if there is a way of pairing > > the hittest? I have tried to combine two attributes for example > > if strhit1 = red circle and strhit2 = blue circle then > > > On Aug 10, 11:02 am, ben robinson wrote: > > > i'm sure you could find a way to do this using a single slide collecting > > the > > > two responses, but i think it would be easier to use two slides one after > > > the other, each collecting a single response. > > > i would have a procedure start with Label1, then Slide1, then Inline1, > > then > > > Label2, Slide2, Inline2. > > > Slide1 shows your 4 images. > > > Inline1 performs a HitTest on the mouse response to Slide1. ?if an > > invalid > > > response then go back to Label1 to represent Slide1, otherwise procede to > > > Slide2. ?you might label this valid response something like strHit1. > > > Slide2 is configured exactly the same as Slide1 so that to the > > participant's > > > eye no change occurs on the screen following their successful mouse > > response > > > to Slide1. > > > Inline2 again checks to see that a valid response is made. ?if not, for > > > instance if they click on the same item as they did on Slide1, just jump > > > back to Label2 so that Slide2 can be redisplayed and a valid response > > > collected. ?label that valid response strHit2. > > > furthermore, with Inline2 you can take your two valid responses and craft > > > your remaining slide, which you said needed to be based on the previous > > two > > > responses. > > > for instance, once you've received a valid response to Slide2, Inline2 > > might > > > continue as follows: > > > > Select Case strHit1 > > > ? ? Case "Image1" > > > > Select Case strHit2 > > > ? ? Case "Image1" > > > ? ? ? ? 'set Slide3 to reflect a choice of Slide1.Image1 and > > Slide2.Image1 > > > ? ? Case "Image2" > > > ? ? ? ? 'set Slide3 to reflect a choice of Slide1.Image1 and > > Slide2.Image2 > > > ? ? Case "Image3" > > > ? ? ? ? 'set Slide3 to reflect a choice of Slide1.Image1 and > > Slide2.Image3 > > > ? ? Case "Image4" > > > ? ? ? ? 'set Slide3 to reflect a choice of Slide1.Image1 and > > Slide2.Image4 > > > End Select > > > > ? ? Case "Image2" > > > ? ? Case "Image3" > > > ? ? Case "Image4" > > > End Select > > > > On Tue, Aug 9, 2011 at 8:56 PM, Becky Clements > >wrote: > > > > > Hi everyone. > > > > > I am currently designing an experiment in which children will be > > > > presented with four images, and will have to choose two objects using > > > > a mouse response. ?I have looked at the "Multiple Response Sample" > > > > provided on EPrime Support, however, I cannot see how to manipulate > > > > this Inline to an image slide, in order to record the two responses > > > > from the one slide. ?(The proceeding slide's correct answer is based > > > > upon the combination of these two responses, so it would be preferable > > > > to have the multiple responses be on one slide). > > > > > Any help would be greatly appreciated. > > > > > Cheers, > > > > 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. > > > -- > > 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. -- 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 hackersdady at gmail.com Mon Aug 15 14:37:03 2011 From: hackersdady at gmail.com (Hacker's Dad) Date: Mon, 15 Aug 2011 20:07:03 +0530 Subject: Fwd: How to determine/maintain probabilistic ratios of stimuli presentations In-Reply-To: Message-ID: Hi there, I am new at e-prime. I wish to know the following: 1] How to maintain/determine probabilistic ratios of two kinds of stimuli (say, a blue and a yellow square) for their appearance on comp screen over a hundred trials, such that on most key-presses their predetermined/desired ratios are maintained? 2] How to initialize and declare GLOBAL variables in e-prime? 3] There seems to be some problem with the Debug.print portion in the code I have written. I am not able to figure out what the problem is. I shall be grateful for help. Thanks, Ravindra -- 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 Tue Aug 16 18:36:28 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 16 Aug 2011 14:36:28 -0400 Subject: Fwd: How to determine/maintain probabilistic ratios of stimuli presentations In-Reply-To: Message-ID: Ravinda 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... At 8/15/2011 10:37 AM Monday, you wrote: >Hi there, > >I am new at e-prime. I wish to know the following: > >1] How to maintain/determine probabilistic ratios of two kinds of >stimuli (say, a blue and a yellow square) for their appearance on comp >screen over a hundred trials, such that on most key-presses their >predetermined/desired ratios are maintained? Not sure I fully understand your question, and if I did I would probably not have an answer. But if you merely mean to randomly present, say, 20 blue squares and 80 yellow squares over 100 trials, then you might simply make a List with one row for blue squares, one row for yellow squares, and set Weights to 20 and 80, respectively. >2] How to initialize and declare GLOBAL variables in e-prime? This is covered in Chapter 4 of the User's Guide that came with E-Prime. In general, everyone who uses E-Prime should first work through *all* the tutorials in the Getting Started and User's Guides before starting their first project. You might also try Michiel Spap?'s E-Primer at http://step.psy.cmu.edu/materials/EPrimer.pdf . >3] There seems to be some problem with the Debug.print portion in the >code I have written. I am not able to figure out what the problem is. > >I shall be grateful for help. > >Thanks, >Ravindra -- 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 jasoncraggs at gmail.com Tue Aug 16 19:25:40 2011 From: jasoncraggs at gmail.com (jasoncraggs at gmail.com) Date: Tue, 16 Aug 2011 19:25:40 +0000 Subject: Medoc and E-prime Message-ID: Greetings, Does anyone have any experience running the Medoc software and E-prime, simultaneously, on the same machine? Thanks in advance for any help. Sent from my Verizon Wireless BlackBerry -- 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 lml1934 at gmail.com Wed Aug 17 03:24:29 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Tue, 16 Aug 2011 23:24:29 -0400 Subject: EPrime - motion stim issues Message-ID: I am looking to replicate an experiment originally created in Presentation for use with EPrime, part of an EEG experiment. The original experiment used that software?s programming language to create a color and motion stimulus that allowed the researchers to compare the parvocellular and magnocellular visual pathways. I do not know EBasic and so I have created the color stim in Photoshop and imported the image as a slide. While I am not able to control luminance it appears very close to the original. The motion stim is proving much more complicated. I created a vertically oriented sinusoidal spatial frequency grating as an animation file in Final Cut (editing software) and have been struggling ever since to make it work as intended. The experiment calls for a low frequency grating to traverse from left to right for 100ms with inter-stimulus intervals anywhere from 500 ms to 1000ms. Because the stimulus presentation is so short I don?t seem to be able to use the video start/stop feature; additionally, randomizing the ISI is not possible using this feature. I determined that one cycle of the animation sequence is 31 frames and with a 60 frame per second animation that means that I have 10 six frame sets per second (each set 100ms). I then created 6 frame .avi files and loaded them sequentially. Because the experiment calls for 320 trials I had the choice to load 320 files or create a loop with 5 six frame sets, I opted for the loop. To allow for the randomized ISI intervals I created jpeg files containing the final frame of each set and then finished the sequence with my one remaining frame (5 six frame sets plus one final still, making 31 frames). After loading the movie/still files (sequentially) it seems that even though the stills(jpegs) were captured from the animation frames they are not similar in size, so I have an inconsistency there ? issue one. The other issue is that the two images (movie/still) overlap rather than following in sequence. One appears inside the other and the error message I get once I abort is ?unable to update frame.? I did eliminate the 500ms ISI but that has not helped. I also tried to eliminated the jpeg files but then I can only randomize the duration of the motion which should be consistent at 100ms intervals. It is the time between presentations that should randomly fall within 500 to 100ms. I am at a complete loss as to what to try next. HELP! -- 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 issabern at gmail.com Wed Aug 17 13:52:29 2011 From: issabern at gmail.com (issabern) Date: Wed, 17 Aug 2011 06:52:29 -0700 Subject: Reading images from a file. Message-ID: Hi all, I was just wondering if anyone has experience with reading images from a file using Eprime, or if that is at all possible. I'm using Eprime 2.0 professional. Thanks for your help, Bernie -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To view this discussion on the web visit https://groups.google.com/d/msg/e-prime/-/ybhUsDreKPQJ. 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 d.vinson at ucl.ac.uk Wed Aug 17 17:12:35 2011 From: d.vinson at ucl.ac.uk (David Vinson) Date: Wed, 17 Aug 2011 18:12:35 +0100 Subject: Reading images from a file. In-Reply-To: <1296518.1280.1313589149487.JavaMail.geo-discussion-forums@yqej16> Message-ID: Hi issabern, I think you need to clarify your question as there are a few different ways it can be interpreted. For example it's very straightforward to use e-prime to display an image file (e.g. foo.bmp) using an ImageDisplay object as in the PictureRT sample experiment. It's also possible for E-prime to access an external text file containing lists of image filenames, to load images in the same way as above. I suppose it is more problematic if you are trying to read images from some kind of composite file that contains multiple images at once (ummm, maybe a pdf, or powerpoint slide, or thumbnail file). Anyway if you are asking about a situation more complex than those I describe above, it would be useful to clarify it a bit. -dv On 17/08/2011 14:52, issabern wrote: > Hi all, > I was just wondering if anyone has experience with reading images from a > file using Eprime, or if that is at all possible. I'm using Eprime 2.0 > professional. > > Thanks for your help, > Bernie > > -- > You received this message because you are subscribed to the Google > Groups "E-Prime" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/e-prime/-/ybhUsDreKPQJ. > 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. -- 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 lml1934 at gmail.com Wed Aug 17 20:39:48 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Wed, 17 Aug 2011 16:39:48 -0400 Subject: help desperately needed In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D9308F3606D8@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Thank you for the link to E-Primer, very helpful. Lisa Levinson On Tue, Aug 9, 2011 at 6:41 AM, Michiel Spape < Michiel.Spape at nottingham.ac.uk> wrote: > Hi,**** > > If you have working code for this design, then what is the problem? Do you > get stuck somewhere or do you basically want somebody else to code your > experiment? If the latter, than you might need to hire a programmer ? I?m > sure there are more than enough people here willing to act as one. If your > budget doesn?t really stretch that far, I?d suggest reading the tutorial and > the absolutely marvellous E-Primer > http://step.psy.cmu.edu/materials/EPrimer.pdf . On the other hand, if > you?re way past that, you could try rephrasing your plea for help in a way > which makes it more possible for people here to shine: is the blue color the > problem? Do you not know how to have 200 trials? Is the > proportion/probability of trial type a problem? Each of these seems > unlikely, but it is impossible to get a clue from your email.**** > > Best,**** > > Mich**** > > ** ** > > *Michiel Spap?* > > *Research Fellow* > > *Perception & Action group* > > *University of Nottingham* > > *School of Psychology* > > *www.cognitology.eu*** > > ** ** > > *From:* e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] *On > Behalf Of *Grisha R > *Sent:* 09 August 2011 09:17 > *To:* e-prime at googlegroups.com > *Subject:* help desperately needed**** > > ** ** > > Hello, **** > > I?ve been struggling in vain to design an experiment in e-prime since last > several days. The problem is that I have absolutely no background in > programming or computer science. I?m pleading you for help. **** > > Here is the design:**** > > ** ** > > To get blue color participant presses left-arrow key and to get red color > he presses right-arrow key; he can press either key as per his wish. There > are total two hundred trials. Of the total left-arrow key presses for blue, > only 50% of the times he gets blue color, whereas remaining 50% of the time > he gets the other color, that is, red. In the 50% blue that he is getting, > half are blue squares and the remaining half are blue circles; and in the > other 50% yellow, half are yellow squares and the remaining half are yellow > circles. Same for right-arrow key presses for yellow: that is, of the total > right-arrow key presses only 50% get him yellow color and the remaining 50% > get him the other color, that is, blue. Of the total yellow, half should be > yellow squares and the half should be yellow circles; and of the total blue, > half should be blue squares and the other half should be blue circles. The > participant reports the shape (whether he saw square or circle, and not the > color) by pressing an appropriate key (say, upward-arrow key for square and > the downward-arrow key for circle). **** > > ** ** > > The appearances of stimuli should be randomized for each key-press. The > percentages should be maintained close to [75% and 25%] and [50% and 50% for > squares and circles] (as mentioned above) following each key-press. **** > > The time duration for making a response is to be recorded for each trial. > Also, the time the participant takes to make the next left- or right-arrow > key press (after reporting what he saw in the preceding trial) is also to be > recorded. **** > > I have working code in e-prime for this design. **** > > **** > > ** ** > > -- > 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. > -- 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 Thu Aug 18 17:26:53 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 18 Aug 2011 13:26:53 -0400 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Lisa, OK, I will ask the obvious dumb question. If you already have a program that works in Presentation, why would you want to recreate it in E-Prime? Although in principle E-Prime should be able to handle this, it may require jumping through a lot of complicated hoops, and it seems to me that Presentation makes a better platform for this type of task. -- David McFarlane, Professional Faultfinder At 8/16/2011 11:24 PM Tuesday, you wrote: >I am looking to replicate an experiment >originally created in Presentation for use with >EPrime, part of an EEG experiment. The original >experiment used that software?s programming >language to create a color and motion stimulus >that allowed the researchers to compare the >parvocellular and magnocellular visual pathways. >I do not know EBasic and so I have created the >color stim in Photoshop and imported the image >as a slide. While I am not able to control >luminance it appears very close to the original. >The motion stim is proving much more >complicated. I created a vertically oriented >sinusoidal spatial frequency grating as an >animation file in Final Cut (editing software) >and have been struggling ever since to make it work as intended. > >The experiment calls for a low frequency grating >to traverse from left to right for 100ms with >inter-stimulus intervals anywhere from 500 ms to >1000ms. Because the stimulus presentation is so >short I don?t seem to be able to use the video >start/stop feature; additionally, randomizing >the ISI is not possible using this feature. I >determined that one cycle of the animation >sequence is 31 frames and with a 60 frame per >second animation that means that I have 10 six >frame sets per second (each set 100ms). I then >created 6 frame .avi files and loaded them >sequentially. Because the experiment calls for >320 trials I had the choice to load 320 files or >create a loop with 5 six frame sets, I opted for >the loop. To allow for the randomized ISI >intervals I created jpeg files containing the >final frame of each set and then finished the >sequence with my one remaining frame (5 six >frame sets plus one final still, making 31 frames). > >After loading the movie/still files >(sequentially) it seems that even though the >stills(jpegs) were captured from the animation >frames they are not similar in size, so I have >an inconsistency there ? issue one. The other >issue is that the two images (movie/still) >overlap rather than following in sequence. One >appears inside the other and the error message I >get once I abort is ?unable to update frame.? I >did eliminate the 500ms ISI but that has not >helped. I also tried to eliminated the jpeg >files but then I can only randomize the duration >of the motion which should be consistent at >100ms intervals. It is the time between >presentations that should randomly fall within 500 to 100ms. > >I am at a complete loss as to what to try next. HELP! -- 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 paigejablonski at gmail.com Thu Aug 18 17:46:55 2011 From: paigejablonski at gmail.com (Paige Jablonski) Date: Thu, 18 Aug 2011 10:46:55 -0700 Subject: Help Needed with Cell Numbers and Net Station Message-ID: I'm working in an EEG lab and we are wondering how a cell number changes in terms of coding to Net Station (the EEG software we're using). We're modifying a previous experiment, and the codes have changes for all but two blocks and we do not know why it changed in the first place. We think we can just manually change the code to be what we want, but also need to know why for future reference. Thanks for the help!!! -- 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 lml1934 at gmail.com Thu Aug 18 18:48:42 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Thu, 18 Aug 2011 14:48:42 -0400 Subject: EPrime - motion stim issues In-Reply-To: <4e4d4b6a.89832a0a.1049.2159SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Yes, Presentation is better for this type of experiment, however, the Presentation script was generated in a different lab and the lab I am working in is not set up to use Presentation (requires a serial port connection for which we have had issues with timing). So, you are 100% correct, I have been jumping through complicated hoops for more time than I will admit and while I have made progress the motion stim for this experiment is just crazy difficult to figure out. Today I was going to attempt to increase the duration of stimulus presentation to see if it is a loading issue. Will let you know but any thoughts would be greatly appreciated. On Thu, Aug 18, 2011 at 1:26 PM, David McFarlane wrote: > Lisa, > > OK, I will ask the obvious dumb question. If you already have a program > that works in Presentation, why would you want to recreate it in E-Prime? > Although in principle E-Prime should be able to handle this, it may require > jumping through a lot of complicated hoops, and it seems to me that > Presentation makes a better platform for this type of task. > > -- David McFarlane, Professional Faultfinder > > > > At 8/16/2011 11:24 PM Tuesday, you wrote: > >> I am looking to replicate an experiment originally created in Presentation >> for use with EPrime, part of an EEG experiment. The original experiment used >> that software?s programming language to create a color and motion stimulus >> that allowed the researchers to compare the parvocellular and magnocellular >> visual pathways. I do not know EBasic and so I have created the color stim >> in Photoshop and imported the image as a slide. While I am not able to >> control luminance it appears very close to the original. The motion stim is >> proving much more complicated. I created a vertically oriented sinusoidal >> spatial frequency grating as an animation file in Final Cut (editing >> software) and have been struggling ever since to make it work as intended. >> >> The experiment calls for a low frequency grating to traverse from left to >> right for 100ms with inter-stimulus intervals anywhere from 500 ms to >> 1000ms. Because the stimulus presentation is so short I don?t seem to be >> able to use the video start/stop feature; additionally, randomizing the ISI >> is not possible using this feature. I determined that one cycle of the >> animation sequence is 31 frames and with a 60 frame per second animation >> that means that I have 10 six frame sets per second (each set 100ms). I then >> created 6 frame .avi files and loaded them sequentially. Because the >> experiment calls for 320 trials I had the choice to load 320 files or create >> a loop with 5 six frame sets, I opted for the loop. To allow for the >> randomized ISI intervals I created jpeg files containing the final frame of >> each set and then finished the sequence with my one remaining frame (5 six >> frame sets plus one final still, making 31 frames). >> >> After loading the movie/still files (sequentially) it seems that even >> though the stills(jpegs) were captured from the animation frames they are >> not similar in size, so I have an inconsistency there ? issue one. The other >> issue is that the two images (movie/still) overlap rather than following in >> sequence. One appears inside the other and the error message I get once I >> abort is ?unable to update frame.? I did eliminate the 500ms ISI but that >> has not helped. I also tried to eliminated the jpeg files but then I can >> only randomize the duration of the motion which should be consistent at >> 100ms intervals. It is the time between presentations that should randomly >> fall within 500 to 100ms. >> >> I am at a complete loss as to what to try next. HELP! >> > > -- > 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@** > googlegroups.com . > For more options, visit this group at http://groups.google.com/** > group/e-prime?hl=en . > > -- 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 pfc.groot at gmail.com Thu Aug 18 23:04:38 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Fri, 19 Aug 2011 01:04:38 +0200 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Hi Lisa, It looks like this 'hybrid' movie/still solution is causing more problems than it solves. Like Presentation, you probably would like to use some script to create/present the graphics. Unfortunately, E-Basic only has limited support for creating graphics on the fly (text, lines, rectangles and ellipses), and I'm not sure if your stimuli could be drawn by those primitives. However, pre-created static bitmaps (as movies) can be a workaround for painting more complex graphics objects. Programming moving objects is not extremely difficult, and if I remember correctly, there is an example available on the pst support site (http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=8) When the graphics objects themself change, you might run into difficulties when the computer hardware cannot keep up with the number of required bitmaps and desired frame rate. Using movies will probably the only working solution in that case. I think I would include the ISI's in the movie so it becomes a single file that can be played without interruption. ISI durations cannot be set at runtime this way, unless you use the technique described below. In some cases is also possible to use an external (DLL) library to create complex stimuli at run time (gabor patches, gradient fills, ...). Such an external library could be used to create bitmaps or movies on the fly, which then can be loaded by eprime. However, this requires in-depth knowledge of a programming language such as C++ because such a specific library probably doesn't exist yet. I used this technique before to create audio files and complex bitmap sequences. (If you have EPrime version 1, you might have a look at the attached example. This will display a changing ellipse with a gradient fill that can be defined at runtime in EPrime) Best, Paul 2011/8/18 Lisa Levinson : > Yes, Presentation is better for this type of experiment, however, the > Presentation script was generated in a different lab and the lab I am > working in is not set up to use Presentation (requires a serial port > connection for which we have had issues with timing). So, you are 100% > correct, I have been jumping through complicated hoops for more time than I > will admit and while I have made progress the motion stim for this > experiment is just crazy difficult to figure out. Today I was going to > attempt to increase the duration of stimulus presentation to see if it is a > loading issue. Will let you know but any thoughts would be greatly > appreciated. > > > On Thu, Aug 18, 2011 at 1:26 PM, David McFarlane wrote: >> >> Lisa, >> >> OK, I will ask the obvious dumb question. ?If you already have a program >> that works in Presentation, why would you want to recreate it in E-Prime? >> ?Although in principle E-Prime should be able to handle this, it may require >> jumping through a lot of complicated hoops, and it seems to me that >> Presentation makes a better platform for this type of task. >> >> -- David McFarlane, Professional Faultfinder >> >> >> At 8/16/2011 11:24 PM Tuesday, you wrote: >>> >>> I am looking to replicate an experiment originally created in >>> Presentation for use with EPrime, part of an EEG experiment. The original >>> experiment used that software?s programming language to create a color and >>> motion stimulus that allowed the researchers to compare the parvocellular >>> and magnocellular visual pathways. I do not know EBasic and so I have >>> created the color stim in Photoshop and imported the image as a slide. While >>> I am not able to control luminance it appears very close to the original. >>> The motion stim is proving much more complicated. I created a vertically >>> oriented sinusoidal spatial frequency grating as an animation file in Final >>> Cut (editing software) and have been struggling ever since to make it work >>> as intended. >>> >>> The experiment calls for a low frequency grating to traverse from left to >>> right for 100ms with inter-stimulus intervals anywhere from 500 ms to >>> 1000ms. Because the stimulus presentation is so short I don?t seem to be >>> able to use the video start/stop feature; additionally, randomizing the ISI >>> is not possible using this feature. I determined that one cycle of the >>> animation sequence is 31 frames and with a 60 frame per second animation >>> that means that I have 10 six frame sets per second (each set 100ms). I then >>> created 6 frame .avi files and loaded them sequentially. Because the >>> experiment calls for 320 trials I had the choice to load 320 files or create >>> a loop with 5 six frame sets, I opted for the loop. To allow for the >>> randomized ISI intervals I created jpeg files containing the final frame of >>> each set and then finished the sequence with my one remaining frame (5 six >>> frame sets plus one final still, making 31 frames). >>> >>> After loading the movie/still files (sequentially) it seems that even >>> though the stills(jpegs) were captured from the animation frames they are >>> not similar in size, so I have an inconsistency there ? issue one. The other >>> issue is that the two images (movie/still) overlap rather than following in >>> sequence. One appears inside the other and the error message I get once I >>> abort is ?unable to update frame.? I did eliminate the 500ms ISI but that >>> has not helped. I also tried to eliminated the jpeg files but then I can >>> only randomize the duration of the motion which should be consistent at >>> 100ms intervals. It is the time between presentations that should randomly >>> fall within 500 to 100ms. >>> >>> I am at a complete loss as to what to try next. HELP! >> >> -- >> 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. >> > > -- > 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. > -- 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 -------------- A non-text attachment was scrubbed... Name: StimMaker.dll Type: application/octet-stream Size: 49152 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: StimMakerTest.ebs Type: application/octet-stream Size: 13473 bytes Desc: not available URL: From lml1934 at gmail.com Fri Aug 19 13:15:06 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Fri, 19 Aug 2011 09:15:06 -0400 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Paul - Thanks so much for your input. One thought I had yesterday (which you seem to have come up with too) was to generate a video that basically included the movie, still images and my targets (behavioral task to maintain attention). I would edit six frames to run and then maintain the non-moving images for a set but externally randomized intervals (take the ISI times, randomize in excel and then use that sequence in the editing of the still images). I would do the same for the targets. I would add a white box at the bottom of the screen when these various elements begin/end. Running the video off of a monitor and use a photo cell (under a tent) to record when these elements appear and then go back and sync the EGI recording to the photo cell indicators. This borrows from the eye tracking technique and bypasses EPrime. I will take a look on the pst site. Yesterday I didn't get to test my duration theory to see if this is strictly a loading issue, instead I tried a few other approaches - unsuccessfully. Monday I will change durations to confirm a loading issue, which my gut tells me it is. If that is the case this will call for radical problem solving (like what I am thinking above) rather than figuring out how and where to customize the script. Thank you for the StimMaker ellipse script. Will review in WORD and see on Monday if I can get it to run. Thanks so much for your help. We may be wired to learn by trial and error but this process has been ridiculous, I have spent a very long time learning all the ways this can't be done. Best, Lisa On Thu, Aug 18, 2011 at 7:04 PM, Paul Groot wrote: > Hi Lisa, > > It looks like this 'hybrid' movie/still solution is causing more > problems than it solves. Like Presentation, you probably would like to > use some script to create/present the graphics. Unfortunately, E-Basic > only has limited support for creating graphics on the fly (text, > lines, rectangles and ellipses), and I'm not sure if your stimuli > could be drawn by those primitives. However, pre-created static > bitmaps (as movies) can be a workaround for painting more complex > graphics objects. Programming moving objects is not extremely > difficult, and if I remember correctly, there is an example available > on the pst support site > (http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=8) When > the graphics objects themself change, you might run into difficulties > when the computer hardware cannot keep up with the number of required > bitmaps and desired frame rate. Using movies will probably the only > working solution in that case. I think I would include the ISI's in > the movie so it becomes a single file that can be played without > interruption. ISI durations cannot be set at runtime this way, unless > you use the technique described below. > > In some cases is also possible to use an external (DLL) library to > create complex stimuli at run time (gabor patches, gradient fills, > ...). Such an external library could be used to create bitmaps or > movies on the fly, which then can be loaded by eprime. However, this > requires in-depth knowledge of a programming language such as C++ > because such a specific library probably doesn't exist yet. I used > this technique before to create audio files and complex bitmap > sequences. (If you have EPrime version 1, you might have a look at the > attached example. This will display a changing ellipse with a gradient > fill that can be defined at runtime in EPrime) > > Best, > Paul > > 2011/8/18 Lisa Levinson : > > Yes, Presentation is better for this type of experiment, however, the > > Presentation script was generated in a different lab and the lab I am > > working in is not set up to use Presentation (requires a serial port > > connection for which we have had issues with timing). So, you are 100% > > correct, I have been jumping through complicated hoops for more time than > I > > will admit and while I have made progress the motion stim for this > > experiment is just crazy difficult to figure out. Today I was going to > > attempt to increase the duration of stimulus presentation to see if it is > a > > loading issue. Will let you know but any thoughts would be greatly > > appreciated. > > > > > > On Thu, Aug 18, 2011 at 1:26 PM, David McFarlane > wrote: > >> > >> Lisa, > >> > >> OK, I will ask the obvious dumb question. If you already have a program > >> that works in Presentation, why would you want to recreate it in > E-Prime? > >> Although in principle E-Prime should be able to handle this, it may > require > >> jumping through a lot of complicated hoops, and it seems to me that > >> Presentation makes a better platform for this type of task. > >> > >> -- David McFarlane, Professional Faultfinder > >> > >> > >> At 8/16/2011 11:24 PM Tuesday, you wrote: > >>> > >>> I am looking to replicate an experiment originally created in > >>> Presentation for use with EPrime, part of an EEG experiment. The > original > >>> experiment used that software?s programming language to create a color > and > >>> motion stimulus that allowed the researchers to compare the > parvocellular > >>> and magnocellular visual pathways. I do not know EBasic and so I have > >>> created the color stim in Photoshop and imported the image as a slide. > While > >>> I am not able to control luminance it appears very close to the > original. > >>> The motion stim is proving much more complicated. I created a > vertically > >>> oriented sinusoidal spatial frequency grating as an animation file in > Final > >>> Cut (editing software) and have been struggling ever since to make it > work > >>> as intended. > >>> > >>> The experiment calls for a low frequency grating to traverse from left > to > >>> right for 100ms with inter-stimulus intervals anywhere from 500 ms to > >>> 1000ms. Because the stimulus presentation is so short I don?t seem to > be > >>> able to use the video start/stop feature; additionally, randomizing the > ISI > >>> is not possible using this feature. I determined that one cycle of the > >>> animation sequence is 31 frames and with a 60 frame per second > animation > >>> that means that I have 10 six frame sets per second (each set 100ms). I > then > >>> created 6 frame .avi files and loaded them sequentially. Because the > >>> experiment calls for 320 trials I had the choice to load 320 files or > create > >>> a loop with 5 six frame sets, I opted for the loop. To allow for the > >>> randomized ISI intervals I created jpeg files containing the final > frame of > >>> each set and then finished the sequence with my one remaining frame (5 > six > >>> frame sets plus one final still, making 31 frames). > >>> > >>> After loading the movie/still files (sequentially) it seems that even > >>> though the stills(jpegs) were captured from the animation frames they > are > >>> not similar in size, so I have an inconsistency there ? issue one. The > other > >>> issue is that the two images (movie/still) overlap rather than > following in > >>> sequence. One appears inside the other and the error message I get once > I > >>> abort is ?unable to update frame.? I did eliminate the 500ms ISI but > that > >>> has not helped. I also tried to eliminated the jpeg files but then I > can > >>> only randomize the duration of the motion which should be consistent at > >>> 100ms intervals. It is the time between presentations that should > randomly > >>> fall within 500 to 100ms. > >>> > >>> I am at a complete loss as to what to try next. HELP! > >> > >> -- > >> 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. > >> > > > > -- > > 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. > > > > -- > 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. > > -- 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 lml1934 at gmail.com Tue Aug 23 13:45:11 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Tue, 23 Aug 2011 09:45:11 -0400 Subject: Making movie clips for E-Prime? In-Reply-To: <4e1b50e0.83842b0a.705c.ffffccd5SMTPIN_ADDED@gmr-mx.google.com> Message-ID: On this topic I have some experience and am fairly familiar with the limitations of EPrime. I have successfully imported .avi files into EPrime. As you will notice in either the slide/movie image or movie feature you can indicate a start and stop time. The issue there seems to be duration, too short - as in ms - and you have problems. Since I did need ms clips I edited my video files into frame sequence video clips and saved as .avi files and successfully imported them to run in sequence. Because EPrime runs on a PC you have to run universal movie files compatible with PCs - I have had the most success with .avi files. Based on my experience you can generate a movie and/or use an existing movie so long as it is saved as an .avi. A great deal of trial and error was involved in determining what kind of files would open in EPrime, might be different with your system. Essentially, I saved my footage in a number of formats and then tested what would open. The issue I have had using video is the timing. I am looking to present 100ms clips and that becomes more complicated as EPrime seems to have issues loading the files quickly enough. Working on that issue as we speak. Hope this is helpful though very after the fact. Lisa Levinson On Mon, Jul 11, 2011 at 3:36 PM, David McFarlane wrote: > Well fellow E-Prime mavens, now I could use your experience & advice. I > first checked in the New Features Guide, and did a cursory search through > the PST Knowledge Base, the PST Forum, and the E-Prime Google Group, and did > not find this addressed anywhere, so I hope I have done my homework at least > as well as I expect others to :). > > Two related questions: > > 1) Suppose we want to make some short clips from a larger, existing movie > file for use in E-Prime. What software would you recommend for this? > > 2) Suppose we want to record our own movie clips from scratch for use in > E-Prime. What systems would you recommend for that? > > I might also reframe those questions as, "What did *you* use?" or, "What > worked for *you*?" > > Note that the KB and online discussions have addressed at length how to get > *existing* clips to work with E-Prime (installing codec libraries, etc.). I > instead want to avoid those problems by preparing our clips in the first > place in a way that plays well with E-Prime "out-of-the-box". Any advice? > > Thanks, > -- 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@** > googlegroups.com . > For more options, visit this group at http://groups.google.com/** > group/e-prime?hl=en . > > -- 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 nitz.david at googlemail.com Tue Aug 23 15:50:02 2011 From: nitz.david at googlemail.com (Dave) Date: Tue, 23 Aug 2011 08:50:02 -0700 Subject: Making movie clips for E-Prime? In-Reply-To: Message-ID: Hi all, Everybody please realize that AVI is but a *container* format (see https://secure.wikimedia.org/wikipedia/en/wiki/Container_format_%28digital%29). The type of container alone tells you little as to how its *contents* (video and audio data) are encoded (cf. https://secure.wikimedia.org/wikipedia/en/wiki/Comparison_of_container_formats). Bottom line: Just because it's called AVI doesn't mean it will work -- you still might have codec issues to deal with. Just my $0.02, -Dave On Aug 23, 3:45?pm, Lisa Levinson wrote: > On this topic I have some experience and am fairly familiar with the > limitations of EPrime. > > I have successfully imported .avi files into EPrime. As you will notice in > either the slide/movie image or movie feature you can indicate a start and > stop time. The issue there seems to be duration, too short - as in ms - and > you have problems. Since I did need ms clips I edited my video files into > frame sequence video clips and saved as .avi files and successfully imported > them to run in sequence. Because EPrime runs on a PC you have to run > universal movie files compatible with PCs - I have had the most success with > .avi files. Based on my experience you can generate a movie and/or use an > existing movie so long as it is saved as an .avi. A great deal of trial and > error was involved in determining what kind of files would open in EPrime, > might be different with your system. Essentially, I saved my footage in a > number of formats and then tested what would open. The issue I have had > using video is the timing. I am looking to present 100ms clips and that > becomes more complicated as EPrime seems to have issues loading the files > quickly enough. Working on that issue as we speak. > > Hope this is helpful though very after the fact. > Lisa Levinson > > > > > > > > On Mon, Jul 11, 2011 at 3:36 PM, David McFarlane wrote: > > Well fellow E-Prime mavens, now I could use your experience & advice. ?I > > first checked in the New Features Guide, and did a cursory search through > > the PST Knowledge Base, the PST Forum, and the E-Prime Google Group, and did > > not find this addressed anywhere, so I hope I have done my homework at least > > as well as I expect others to :). > > > Two related questions: > > > 1) Suppose we want to make some short clips from a larger, existing movie > > file for use in E-Prime. ?What software would you recommend for this? > > > 2) Suppose we want to record our own movie clips from scratch for use in > > E-Prime. ?What systems would you recommend for that? > > > I might also reframe those questions as, "What did *you* use?" or, "What > > worked for *you*?" > > > Note that the KB and online discussions have addressed at length how to get > > *existing* clips to work with E-Prime (installing codec libraries, etc.). ?I > > instead want to avoid those problems by preparing our clips in the first > > place in a way that plays well with E-Prime "out-of-the-box". ?Any advice? > > > Thanks, > > -- 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@** > > googlegroups.com . > > For more options, visit this group athttp://groups.google.com/** > > group/e-prime?hl=en . -- 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 lml1934 at gmail.com Tue Aug 23 20:03:22 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Tue, 23 Aug 2011 16:03:22 -0400 Subject: Making movie clips for E-Prime? In-Reply-To: <87b698ad-c728-4a31-adb8-25dd80b5b98e@k8g2000yqk.googlegroups.com> Message-ID: That would make sense, the "containers" make the content compatible with the platform (MAC/PC). I have had luck saving video footage as .avi files but as I said, it's something you have to test. I created an animation sequence in Final Cut Pro (a MAC product) and saved in multiple formats (Mpeg, Mpg4, Avi, etc) trying each to see which would run. On Tue, Aug 23, 2011 at 11:50 AM, Dave wrote: > Hi all, > > Everybody please realize that AVI is but a *container* format (see > > https://secure.wikimedia.org/wikipedia/en/wiki/Container_format_%28digital%29 > ). > The type of container alone tells you little as to how its *contents* > (video and audio data) are encoded (cf. > > https://secure.wikimedia.org/wikipedia/en/wiki/Comparison_of_container_formats > ). > Bottom line: Just because it's called AVI doesn't mean it will work -- > you still might have codec issues to deal with. > > Just my $0.02, > -Dave > > On Aug 23, 3:45 pm, Lisa Levinson wrote: > > On this topic I have some experience and am fairly familiar with the > > limitations of EPrime. > > > > I have successfully imported .avi files into EPrime. As you will notice > in > > either the slide/movie image or movie feature you can indicate a start > and > > stop time. The issue there seems to be duration, too short - as in ms - > and > > you have problems. Since I did need ms clips I edited my video files into > > frame sequence video clips and saved as .avi files and successfully > imported > > them to run in sequence. Because EPrime runs on a PC you have to run > > universal movie files compatible with PCs - I have had the most success > with > > .avi files. Based on my experience you can generate a movie and/or use an > > existing movie so long as it is saved as an .avi. A great deal of trial > and > > error was involved in determining what kind of files would open in > EPrime, > > might be different with your system. Essentially, I saved my footage in a > > number of formats and then tested what would open. The issue I have had > > using video is the timing. I am looking to present 100ms clips and that > > becomes more complicated as EPrime seems to have issues loading the files > > quickly enough. Working on that issue as we speak. > > > > Hope this is helpful though very after the fact. > > Lisa Levinson > > > > > > > > > > > > > > > > On Mon, Jul 11, 2011 at 3:36 PM, David McFarlane > wrote: > > > Well fellow E-Prime mavens, now I could use your experience & advice. > I > > > first checked in the New Features Guide, and did a cursory search > through > > > the PST Knowledge Base, the PST Forum, and the E-Prime Google Group, > and did > > > not find this addressed anywhere, so I hope I have done my homework at > least > > > as well as I expect others to :). > > > > > Two related questions: > > > > > 1) Suppose we want to make some short clips from a larger, existing > movie > > > file for use in E-Prime. What software would you recommend for this? > > > > > 2) Suppose we want to record our own movie clips from scratch for use > in > > > E-Prime. What systems would you recommend for that? > > > > > I might also reframe those questions as, "What did *you* use?" or, > "What > > > worked for *you*?" > > > > > Note that the KB and online discussions have addressed at length how to > get > > > *existing* clips to work with E-Prime (installing codec libraries, > etc.). I > > > instead want to avoid those problems by preparing our clips in the > first > > > place in a way that plays well with E-Prime "out-of-the-box". Any > advice? > > > > > Thanks, > > > -- 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@** > > > googlegroups.com . > > > For more options, visit this group athttp://groups.google.com/** > > > group/e-prime?hl=en . > > -- > 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. > > -- 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 lml1934 at gmail.com Tue Aug 23 23:06:57 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Tue, 23 Aug 2011 19:06:57 -0400 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Paul- I have worked out a script that seems to run properly. Rather than use a still/jpeg file between motion files I added a "wait" slide. So, my gradient runs for 100ms and the wait slide follows allowing me to present a non-moving image of the gradient for a specified duration. Note: in order for the animation to run as a loop I have five motion files, loaded in sequence. Here is my next challenge...I need five wait slides between my motion files but I would like to randomly assign a duration to those wait slides. At the moment I have them set up so that wait1 runs for 1000ms, wait2 for 600ms, wait3 for 700ms, wait4 for 800ms and wait5 for 900ms. This list is set for random but I am not exactly sure what I am getting. Do you think wait1 will always run at 1000ms, wait 2 for 600ms, etc? Lisa On Thu, Aug 18, 2011 at 7:04 PM, Paul Groot wrote: > Hi Lisa, > > It looks like this 'hybrid' movie/still solution is causing more > problems than it solves. Like Presentation, you probably would like to > use some script to create/present the graphics. Unfortunately, E-Basic > only has limited support for creating graphics on the fly (text, > lines, rectangles and ellipses), and I'm not sure if your stimuli > could be drawn by those primitives. However, pre-created static > bitmaps (as movies) can be a workaround for painting more complex > graphics objects. Programming moving objects is not extremely > difficult, and if I remember correctly, there is an example available > on the pst support site > (http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=8) When > the graphics objects themself change, you might run into difficulties > when the computer hardware cannot keep up with the number of required > bitmaps and desired frame rate. Using movies will probably the only > working solution in that case. I think I would include the ISI's in > the movie so it becomes a single file that can be played without > interruption. ISI durations cannot be set at runtime this way, unless > you use the technique described below. > > In some cases is also possible to use an external (DLL) library to > create complex stimuli at run time (gabor patches, gradient fills, > ...). Such an external library could be used to create bitmaps or > movies on the fly, which then can be loaded by eprime. However, this > requires in-depth knowledge of a programming language such as C++ > because such a specific library probably doesn't exist yet. I used > this technique before to create audio files and complex bitmap > sequences. (If you have EPrime version 1, you might have a look at the > attached example. This will display a changing ellipse with a gradient > fill that can be defined at runtime in EPrime) > > Best, > Paul > > 2011/8/18 Lisa Levinson : > > Yes, Presentation is better for this type of experiment, however, the > > Presentation script was generated in a different lab and the lab I am > > working in is not set up to use Presentation (requires a serial port > > connection for which we have had issues with timing). So, you are 100% > > correct, I have been jumping through complicated hoops for more time than > I > > will admit and while I have made progress the motion stim for this > > experiment is just crazy difficult to figure out. Today I was going to > > attempt to increase the duration of stimulus presentation to see if it is > a > > loading issue. Will let you know but any thoughts would be greatly > > appreciated. > > > > > > On Thu, Aug 18, 2011 at 1:26 PM, David McFarlane > wrote: > >> > >> Lisa, > >> > >> OK, I will ask the obvious dumb question. If you already have a program > >> that works in Presentation, why would you want to recreate it in > E-Prime? > >> Although in principle E-Prime should be able to handle this, it may > require > >> jumping through a lot of complicated hoops, and it seems to me that > >> Presentation makes a better platform for this type of task. > >> > >> -- David McFarlane, Professional Faultfinder > >> > >> > >> At 8/16/2011 11:24 PM Tuesday, you wrote: > >>> > >>> I am looking to replicate an experiment originally created in > >>> Presentation for use with EPrime, part of an EEG experiment. The > original > >>> experiment used that software?s programming language to create a color > and > >>> motion stimulus that allowed the researchers to compare the > parvocellular > >>> and magnocellular visual pathways. I do not know EBasic and so I have > >>> created the color stim in Photoshop and imported the image as a slide. > While > >>> I am not able to control luminance it appears very close to the > original. > >>> The motion stim is proving much more complicated. I created a > vertically > >>> oriented sinusoidal spatial frequency grating as an animation file in > Final > >>> Cut (editing software) and have been struggling ever since to make it > work > >>> as intended. > >>> > >>> The experiment calls for a low frequency grating to traverse from left > to > >>> right for 100ms with inter-stimulus intervals anywhere from 500 ms to > >>> 1000ms. Because the stimulus presentation is so short I don?t seem to > be > >>> able to use the video start/stop feature; additionally, randomizing the > ISI > >>> is not possible using this feature. I determined that one cycle of the > >>> animation sequence is 31 frames and with a 60 frame per second > animation > >>> that means that I have 10 six frame sets per second (each set 100ms). I > then > >>> created 6 frame .avi files and loaded them sequentially. Because the > >>> experiment calls for 320 trials I had the choice to load 320 files or > create > >>> a loop with 5 six frame sets, I opted for the loop. To allow for the > >>> randomized ISI intervals I created jpeg files containing the final > frame of > >>> each set and then finished the sequence with my one remaining frame (5 > six > >>> frame sets plus one final still, making 31 frames). > >>> > >>> After loading the movie/still files (sequentially) it seems that even > >>> though the stills(jpegs) were captured from the animation frames they > are > >>> not similar in size, so I have an inconsistency there ? issue one. The > other > >>> issue is that the two images (movie/still) overlap rather than > following in > >>> sequence. One appears inside the other and the error message I get once > I > >>> abort is ?unable to update frame.? I did eliminate the 500ms ISI but > that > >>> has not helped. I also tried to eliminated the jpeg files but then I > can > >>> only randomize the duration of the motion which should be consistent at > >>> 100ms intervals. It is the time between presentations that should > randomly > >>> fall within 500 to 100ms. > >>> > >>> I am at a complete loss as to what to try next. HELP! > >> > >> -- > >> 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. > >> > > > > -- > > 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. > > > > -- > 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. > > -- 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 pfc.groot at gmail.com Wed Aug 24 19:20:57 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Wed, 24 Aug 2011 21:20:57 +0200 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Hi Lisa, If you enter a numeric (hard coded) value into the duration properties of the wait1 to wait5 objects, you will indeed get fixed (non-randomized) intervals. Setting the ordering property of the list to random has no effect on this. There are several ways to get random duration values. The easiest way (=without any inline script) is to create a separate list and add an attribute with the interval values you would like to use. Set the ordering of this list to random (with or w/o replacement) and use this list as nested list in your real trial list. The name of the attribute (i.e. 'FootageInterval') can then be used to set the duration property in the wait objects. To make sure EPrime picks a new value from the nested list for each wait object you will have to use the following syntax for the durations: [FootageInterval:0] (for duration Wait1) [FootageInterval:1] (for duration Wait2) etc. Alternatively you could use a simple inline script at the start of the trial and use the E-Basic random() function to set durations. (That would be uniform random w/o replacement.) Hope this helps Paul 2011/8/24 Lisa Levinson : > Paul- > > I have worked out a script that seems to run properly. Rather than use a > still/jpeg file between motion files I added a "wait" slide. So, my gradient > runs for 100ms and the wait slide follows allowing me to present a > non-moving image of the gradient for a specified duration. Note: in order > for the animation to run as a loop I have five motion files, loaded in > sequence. Here is my next challenge...I need five wait slides between my > motion files but I would like to randomly assign a duration to those wait > slides. At the moment I have them set up so that wait1 runs for 1000ms, > wait2 for 600ms, wait3 for 700ms, wait4 for 800ms and wait5 for 900ms. This > list is set for random but I am not exactly sure what I am getting. Do you > think wait1 will always run at 1000ms, wait 2 for 600ms, etc? > > Lisa > > On Thu, Aug 18, 2011 at 7:04 PM, Paul Groot wrote: >> >> Hi Lisa, >> >> It looks like this 'hybrid' movie/still solution is causing more >> problems than it solves. Like Presentation, you probably would like to >> use some script to create/present the graphics. Unfortunately, E-Basic >> only has limited support for creating graphics on the fly (text, >> lines, rectangles and ellipses), and I'm not sure if your stimuli >> could be drawn by those primitives. However, pre-created static >> bitmaps (as movies) can be a workaround for painting more complex >> graphics objects. Programming moving objects is not extremely >> difficult, and if I remember correctly, there is an example available >> on the pst support site >> (http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=8) ?When >> the graphics objects themself change, you might run into difficulties >> when the computer hardware cannot keep up with the number of required >> bitmaps and desired frame rate. Using movies will probably the only >> working solution in that case. I think I would include the ISI's in >> the movie so it becomes a single file that can be played without >> interruption. ISI durations cannot be set at runtime this way, unless >> you use the technique described below. >> >> In some cases is also possible to use an external (DLL) library to >> create complex stimuli at run time (gabor patches, gradient fills, >> ...). Such an external library could be used to create bitmaps or >> movies on the fly, which then can be loaded by eprime. ?However, this >> requires in-depth knowledge of a programming language such as C++ >> because such a specific library probably doesn't exist yet. ?I used >> this technique before to create audio files and complex bitmap >> sequences. (If you have EPrime version 1, you might have a look at the >> attached example. This will display a changing ellipse with a gradient >> fill that can be defined at runtime in EPrime) >> >> Best, >> Paul >> >> 2011/8/18 Lisa Levinson : >> > Yes, Presentation is better for this type of experiment, however, the >> > Presentation script was generated in a different lab and the lab I am >> > working in is not set up to use Presentation (requires a serial port >> > connection for which we have had issues with timing). So, you are 100% >> > correct, I have been jumping through complicated hoops for more time >> > than I >> > will admit and while I have made progress the motion stim for this >> > experiment is just crazy difficult to figure out. Today I was going to >> > attempt to increase the duration of stimulus presentation to see if it >> > is a >> > loading issue. Will let you know but any thoughts would be greatly >> > appreciated. >> > >> > >> > On Thu, Aug 18, 2011 at 1:26 PM, David McFarlane >> > wrote: >> >> >> >> Lisa, >> >> >> >> OK, I will ask the obvious dumb question. ?If you already have a >> >> program >> >> that works in Presentation, why would you want to recreate it in >> >> E-Prime? >> >> ?Although in principle E-Prime should be able to handle this, it may >> >> require >> >> jumping through a lot of complicated hoops, and it seems to me that >> >> Presentation makes a better platform for this type of task. >> >> >> >> -- David McFarlane, Professional Faultfinder >> >> >> >> >> >> At 8/16/2011 11:24 PM Tuesday, you wrote: >> >>> >> >>> I am looking to replicate an experiment originally created in >> >>> Presentation for use with EPrime, part of an EEG experiment. The >> >>> original >> >>> experiment used that software?s programming language to create a color >> >>> and >> >>> motion stimulus that allowed the researchers to compare the >> >>> parvocellular >> >>> and magnocellular visual pathways. I do not know EBasic and so I have >> >>> created the color stim in Photoshop and imported the image as a slide. >> >>> While >> >>> I am not able to control luminance it appears very close to the >> >>> original. >> >>> The motion stim is proving much more complicated. I created a >> >>> vertically >> >>> oriented sinusoidal spatial frequency grating as an animation file in >> >>> Final >> >>> Cut (editing software) and have been struggling ever since to make it >> >>> work >> >>> as intended. >> >>> >> >>> The experiment calls for a low frequency grating to traverse from left >> >>> to >> >>> right for 100ms with inter-stimulus intervals anywhere from 500 ms to >> >>> 1000ms. Because the stimulus presentation is so short I don?t seem to >> >>> be >> >>> able to use the video start/stop feature; additionally, randomizing >> >>> the ISI >> >>> is not possible using this feature. I determined that one cycle of the >> >>> animation sequence is 31 frames and with a 60 frame per second >> >>> animation >> >>> that means that I have 10 six frame sets per second (each set 100ms). >> >>> I then >> >>> created 6 frame .avi files and loaded them sequentially. Because the >> >>> experiment calls for 320 trials I had the choice to load 320 files or >> >>> create >> >>> a loop with 5 six frame sets, I opted for the loop. To allow for the >> >>> randomized ISI intervals I created jpeg files containing the final >> >>> frame of >> >>> each set and then finished the sequence with my one remaining frame (5 >> >>> six >> >>> frame sets plus one final still, making 31 frames). >> >>> >> >>> After loading the movie/still files (sequentially) it seems that even >> >>> though the stills(jpegs) were captured from the animation frames they >> >>> are >> >>> not similar in size, so I have an inconsistency there ? issue one. The >> >>> other >> >>> issue is that the two images (movie/still) overlap rather than >> >>> following in >> >>> sequence. One appears inside the other and the error message I get >> >>> once I >> >>> abort is ?unable to update frame.? I did eliminate the 500ms ISI but >> >>> that >> >>> has not helped. I also tried to eliminated the jpeg files but then I >> >>> can >> >>> only randomize the duration of the motion which should be consistent >> >>> at >> >>> 100ms intervals. It is the time between presentations that should >> >>> randomly >> >>> fall within 500 to 100ms. >> >>> >> >>> I am at a complete loss as to what to try next. HELP! >> >> >> >> -- >> >> 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. >> >> >> > >> > -- >> > 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. >> > >> >> -- >> 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. >> > > -- > 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. > -- 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 lml1934 at gmail.com Wed Aug 24 21:17:53 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Wed, 24 Aug 2011 17:17:53 -0400 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Thanks Paul - very helpful. On Wed, Aug 24, 2011 at 3:20 PM, Paul Groot wrote: > Hi Lisa, > > If you enter a numeric (hard coded) value into the duration properties > of the wait1 to wait5 objects, you will indeed get fixed > (non-randomized) intervals. Setting the ordering property of the list > to random has no effect on this. There are several ways to get random > duration values. The easiest way (=without any inline script) is to > create a separate list and add an attribute with the interval values > you would like to use. Set the ordering of this list to random (with > or w/o replacement) and use this list as nested list in your real > trial list. The name of the attribute (i.e. 'FootageInterval') can > then be used to set the duration property in the wait objects. To make > sure EPrime picks a new value from the nested list for each wait > object you will have to use the following syntax for the durations: > > [FootageInterval:0] (for duration Wait1) > [FootageInterval:1] (for duration Wait2) > etc. > > Alternatively you could use a simple inline script at the start of the > trial and use the E-Basic random() function to set durations. (That > would be uniform random w/o replacement.) > > Hope this helps > Paul > > > 2011/8/24 Lisa Levinson : > > Paul- > > > > I have worked out a script that seems to run properly. Rather than use a > > still/jpeg file between motion files I added a "wait" slide. So, my > gradient > > runs for 100ms and the wait slide follows allowing me to present a > > non-moving image of the gradient for a specified duration. Note: in order > > for the animation to run as a loop I have five motion files, loaded in > > sequence. Here is my next challenge...I need five wait slides between my > > motion files but I would like to randomly assign a duration to those wait > > slides. At the moment I have them set up so that wait1 runs for 1000ms, > > wait2 for 600ms, wait3 for 700ms, wait4 for 800ms and wait5 for 900ms. > This > > list is set for random but I am not exactly sure what I am getting. Do > you > > think wait1 will always run at 1000ms, wait 2 for 600ms, etc? > > > > Lisa > > > > On Thu, Aug 18, 2011 at 7:04 PM, Paul Groot wrote: > >> > >> Hi Lisa, > >> > >> It looks like this 'hybrid' movie/still solution is causing more > >> problems than it solves. Like Presentation, you probably would like to > >> use some script to create/present the graphics. Unfortunately, E-Basic > >> only has limited support for creating graphics on the fly (text, > >> lines, rectangles and ellipses), and I'm not sure if your stimuli > >> could be drawn by those primitives. However, pre-created static > >> bitmaps (as movies) can be a workaround for painting more complex > >> graphics objects. Programming moving objects is not extremely > >> difficult, and if I remember correctly, there is an example available > >> on the pst support site > >> (http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=8) When > >> the graphics objects themself change, you might run into difficulties > >> when the computer hardware cannot keep up with the number of required > >> bitmaps and desired frame rate. Using movies will probably the only > >> working solution in that case. I think I would include the ISI's in > >> the movie so it becomes a single file that can be played without > >> interruption. ISI durations cannot be set at runtime this way, unless > >> you use the technique described below. > >> > >> In some cases is also possible to use an external (DLL) library to > >> create complex stimuli at run time (gabor patches, gradient fills, > >> ...). Such an external library could be used to create bitmaps or > >> movies on the fly, which then can be loaded by eprime. However, this > >> requires in-depth knowledge of a programming language such as C++ > >> because such a specific library probably doesn't exist yet. I used > >> this technique before to create audio files and complex bitmap > >> sequences. (If you have EPrime version 1, you might have a look at the > >> attached example. This will display a changing ellipse with a gradient > >> fill that can be defined at runtime in EPrime) > >> > >> Best, > >> Paul > >> > >> 2011/8/18 Lisa Levinson : > >> > Yes, Presentation is better for this type of experiment, however, the > >> > Presentation script was generated in a different lab and the lab I am > >> > working in is not set up to use Presentation (requires a serial port > >> > connection for which we have had issues with timing). So, you are 100% > >> > correct, I have been jumping through complicated hoops for more time > >> > than I > >> > will admit and while I have made progress the motion stim for this > >> > experiment is just crazy difficult to figure out. Today I was going to > >> > attempt to increase the duration of stimulus presentation to see if it > >> > is a > >> > loading issue. Will let you know but any thoughts would be greatly > >> > appreciated. > >> > > >> > > >> > On Thu, Aug 18, 2011 at 1:26 PM, David McFarlane > >> > wrote: > >> >> > >> >> Lisa, > >> >> > >> >> OK, I will ask the obvious dumb question. If you already have a > >> >> program > >> >> that works in Presentation, why would you want to recreate it in > >> >> E-Prime? > >> >> Although in principle E-Prime should be able to handle this, it may > >> >> require > >> >> jumping through a lot of complicated hoops, and it seems to me that > >> >> Presentation makes a better platform for this type of task. > >> >> > >> >> -- David McFarlane, Professional Faultfinder > >> >> > >> >> > >> >> At 8/16/2011 11:24 PM Tuesday, you wrote: > >> >>> > >> >>> I am looking to replicate an experiment originally created in > >> >>> Presentation for use with EPrime, part of an EEG experiment. The > >> >>> original > >> >>> experiment used that software?s programming language to create a > color > >> >>> and > >> >>> motion stimulus that allowed the researchers to compare the > >> >>> parvocellular > >> >>> and magnocellular visual pathways. I do not know EBasic and so I > have > >> >>> created the color stim in Photoshop and imported the image as a > slide. > >> >>> While > >> >>> I am not able to control luminance it appears very close to the > >> >>> original. > >> >>> The motion stim is proving much more complicated. I created a > >> >>> vertically > >> >>> oriented sinusoidal spatial frequency grating as an animation file > in > >> >>> Final > >> >>> Cut (editing software) and have been struggling ever since to make > it > >> >>> work > >> >>> as intended. > >> >>> > >> >>> The experiment calls for a low frequency grating to traverse from > left > >> >>> to > >> >>> right for 100ms with inter-stimulus intervals anywhere from 500 ms > to > >> >>> 1000ms. Because the stimulus presentation is so short I don?t seem > to > >> >>> be > >> >>> able to use the video start/stop feature; additionally, randomizing > >> >>> the ISI > >> >>> is not possible using this feature. I determined that one cycle of > the > >> >>> animation sequence is 31 frames and with a 60 frame per second > >> >>> animation > >> >>> that means that I have 10 six frame sets per second (each set > 100ms). > >> >>> I then > >> >>> created 6 frame .avi files and loaded them sequentially. Because the > >> >>> experiment calls for 320 trials I had the choice to load 320 files > or > >> >>> create > >> >>> a loop with 5 six frame sets, I opted for the loop. To allow for the > >> >>> randomized ISI intervals I created jpeg files containing the final > >> >>> frame of > >> >>> each set and then finished the sequence with my one remaining frame > (5 > >> >>> six > >> >>> frame sets plus one final still, making 31 frames). > >> >>> > >> >>> After loading the movie/still files (sequentially) it seems that > even > >> >>> though the stills(jpegs) were captured from the animation frames > they > >> >>> are > >> >>> not similar in size, so I have an inconsistency there ? issue one. > The > >> >>> other > >> >>> issue is that the two images (movie/still) overlap rather than > >> >>> following in > >> >>> sequence. One appears inside the other and the error message I get > >> >>> once I > >> >>> abort is ?unable to update frame.? I did eliminate the 500ms ISI but > >> >>> that > >> >>> has not helped. I also tried to eliminated the jpeg files but then I > >> >>> can > >> >>> only randomize the duration of the motion which should be consistent > >> >>> at > >> >>> 100ms intervals. It is the time between presentations that should > >> >>> randomly > >> >>> fall within 500 to 100ms. > >> >>> > >> >>> I am at a complete loss as to what to try next. HELP! > >> >> > >> >> -- > >> >> 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. > >> >> > >> > > >> > -- > >> > 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. > >> > > >> > >> -- > >> 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. > >> > > > > -- > > 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. > > > > -- > 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. > > -- 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 Thu Aug 25 15:43:57 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 25 Aug 2011 11:43:57 -0400 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: At 8/24/2011 03:20 PM Wednesday, Paul Groot wrote: >Alternatively you could use a simple inline script at the start of >the trial and use the E-Basic random() function to set durations. >(That would be uniform random w/o replacement.) Um, wouldn't the E-Basic random() function result in uniform random samples *with* replacement? -- 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 pfc.groot at gmail.com Thu Aug 25 19:25:12 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Thu, 25 Aug 2011 21:25:12 +0200 Subject: EPrime - motion stim issues In-Reply-To: <4e566dcd.4a962a0a.5aa7.3a0cSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Absolutely; the cyclic chain of numbers will definitely pop-up the same numbers after a while... So they must have been but back ;-) my mistake! 2011/8/25 David McFarlane : > At 8/24/2011 03:20 PM Wednesday, Paul Groot wrote: >> >> Alternatively you could use a simple inline script at the start of the >> trial and use the E-Basic random() function to set durations. (That would be >> uniform random w/o replacement.) > > Um, wouldn't the E-Basic random() function result in uniform random samples > *with* replacement? > > -- 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. > > -- 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 Aug 25 20:59:16 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 25 Aug 2011 16:59:16 -0400 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Ah, I was not thinking about the underlying architecture of the Random() function, so you got me there! Now the discussion must get more technical... Of course, if Random() is based on, say, a 32-bit cyclic PRNG, then it will repeat its sequence after no more than 2^32 = 4,294,967,296 samples (or perhaps more like 2^31 = 2,147,483,648 samples, because E-Basic/VBA does not use unsigned integers). But that is not what I had in mind, because we rarely use Random() to pick numbers from that entire range. Rather, I had in mind more common & prosaic uses such as Random(0,99). The underlying architecture now parses the full 32-bit range into 100 segments, with no guarantee that it will not draw samples from the same segment until a sample has been drawn from each segment. To the contrary, it is extremely likely in this case that it will draw duplicate numbers within the first 100 samples. You can see this readily if you try a scaled-down example, say, Random(0,9) or even Random(0,2) -- I know, I just did this. More to the point, I was thinking in terms of my understanding of the *intent* or *specification* of the Random() function, apart from its actual implementation. As I understand it, Random() is *meant* to act as a die roll, not as a shuffled deck of cards. IOW, Random(1,6) should return a random number from 1 to 6 each time, without regard to what came before (just like a six-sided die), rather than return a number and then remember that number and not return it again until all other numbers have been returned (like a shuffled six-card deck). Did I get this right now? Best, -- David McFarlane, Professional Faultfinder At 8/25/2011 03:25 PM Thursday, Paul Groot wrote: >Absolutely; the cyclic chain of numbers will definitely pop-up the >same numbers after a while... So they must have been but back ;-) > >my mistake! > >2011/8/25 David McFarlane : > > At 8/24/2011 03:20 PM Wednesday, Paul Groot wrote: > >> > >> Alternatively you could use a simple inline script at the start of the > >> trial and use the E-Basic random() function to set durations. > (That would be > >> uniform random w/o replacement.) > > > > Um, wouldn't the E-Basic random() function result in uniform random samples > > *with* replacement? > > > > -- 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 lml1934 at gmail.com Thu Aug 25 23:08:13 2011 From: lml1934 at gmail.com (Lisa Levinson) Date: Thu, 25 Aug 2011 19:08:13 -0400 Subject: EPrime - motion stim issues In-Reply-To: <4e56b81d.4cd62a0a.10b3.54eeSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thank you - will try this tomorrow. Lisa On Thu, Aug 25, 2011 at 4:59 PM, David McFarlane wrote: > Ah, I was not thinking about the underlying architecture of the Random() > function, so you got me there! Now the discussion must get more > technical... > > Of course, if Random() is based on, say, a 32-bit cyclic PRNG, then it will > repeat its sequence after no more than 2^32 = 4,294,967,296 samples (or > perhaps more like 2^31 = 2,147,483,648 samples, because E-Basic/VBA does not > use unsigned integers). But that is not what I had in mind, because we > rarely use Random() to pick numbers from that entire range. > > Rather, I had in mind more common & prosaic uses such as Random(0,99). The > underlying architecture now parses the full 32-bit range into 100 segments, > with no guarantee that it will not draw samples from the same segment until > a sample has been drawn from each segment. To the contrary, it is extremely > likely in this case that it will draw duplicate numbers within the first 100 > samples. You can see this readily if you try a scaled-down example, say, > Random(0,9) or even Random(0,2) -- I know, I just did this. > > More to the point, I was thinking in terms of my understanding of the > *intent* or *specification* of the Random() function, apart from its actual > implementation. As I understand it, Random() is *meant* to act as a die > roll, not as a shuffled deck of cards. IOW, Random(1,6) should return a > random number from 1 to 6 each time, without regard to what came before > (just like a six-sided die), rather than return a number and then remember > that number and not return it again until all other numbers have been > returned (like a shuffled six-card deck). > > Did I get this right now? > > Best, > -- David McFarlane, Professional Faultfinder > > > > At 8/25/2011 03:25 PM Thursday, Paul Groot wrote: > >> Absolutely; the cyclic chain of numbers will definitely pop-up the >> same numbers after a while... So they must have been but back ;-) >> >> my mistake! >> >> 2011/8/25 David McFarlane : >> > At 8/24/2011 03:20 PM Wednesday, Paul Groot wrote: >> >> >> >> Alternatively you could use a simple inline script at the start of the >> >> trial and use the E-Basic random() function to set durations. (That >> would be >> >> uniform random w/o replacement.) >> > >> > Um, wouldn't the E-Basic random() function result in uniform random >> samples >> > *with* replacement? >> > >> > -- 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@** > googlegroups.com . > For more options, visit this group at http://groups.google.com/** > group/e-prime?hl=en . > > -- 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 pfc.groot at gmail.com Thu Aug 25 23:17:30 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Fri, 26 Aug 2011 01:17:30 +0200 Subject: EPrime - motion stim issues In-Reply-To: <4e56b81d.4cd62a0a.10b3.54eeSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hi David, That is indeed what happens when using the random function. (I was just trying to talk myself out of a silly typo ;-) A deeper understanding of the problem often raises new questions... Purely academic off course! I just realized that the EPrime (1.2) documentation mentions two types of random generators: The standard visual basic functions (random, randomize) and the E-Basic specific PRNG object. This might be important if you use the seed value to setup your experiment to a known state (for reproducibility and testing). The edat output file logs a single seed value retrieved with PRNG.GetSeed(), so it would be interesting to know if there is only one active PRNG under the hood. A simple test shows that this is indeed the case: PRNG.SetSeed 987654321 debug.print PRNG.GetSeed() Randomize 123456789 debug.print PRNG.GetSeed() will print: 987654321 123456789 cheers Paul 2011/8/25 David McFarlane : > Ah, I was not thinking about the underlying architecture of the Random() > function, so you got me there! ?Now the discussion must get more > technical... > > Of course, if Random() is based on, say, a 32-bit cyclic PRNG, then it will > repeat its sequence after no more than 2^32 = 4,294,967,296 samples (or > perhaps more like 2^31 = 2,147,483,648 samples, because E-Basic/VBA does not > use unsigned integers). ?But that is not what I had in mind, because we > rarely use Random() to pick numbers from that entire range. > > Rather, I had in mind more common & prosaic uses such as Random(0,99). ?The > underlying architecture now parses the full 32-bit range into 100 segments, > with no guarantee that it will not draw samples from the same segment until > a sample has been drawn from each segment. ?To the contrary, it is extremely > likely in this case that it will draw duplicate numbers within the first 100 > samples. ?You can see this readily if you try a scaled-down example, say, > Random(0,9) or even Random(0,2) -- I know, I just did this. > > More to the point, I was thinking in terms of my understanding of the > *intent* or *specification* of the Random() function, apart from its actual > implementation. ?As I understand it, Random() is *meant* to act as a die > roll, not as a shuffled deck of cards. ?IOW, Random(1,6) should return a > random number from 1 to 6 each time, without regard to what came before > (just like a six-sided die), rather than return a number and then remember > that number and not return it again until all other numbers have been > returned (like a shuffled six-card deck). > > Did I get this right now? > > Best, > -- David McFarlane, Professional Faultfinder > > > At 8/25/2011 03:25 PM Thursday, Paul Groot wrote: >> >> Absolutely; the cyclic chain of numbers will definitely pop-up the >> same numbers after a while... So they must have been but back ;-) >> >> my mistake! >> >> 2011/8/25 David McFarlane : >> > At 8/24/2011 03:20 PM Wednesday, Paul Groot wrote: >> >> >> >> Alternatively you could use a simple inline script at the start of the >> >> trial and use the E-Basic random() function to set durations. (That >> >> would be >> >> uniform random w/o replacement.) >> > >> > Um, wouldn't the E-Basic random() function result in uniform random >> > samples >> > *with* replacement? >> > >> > -- 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. > > -- 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 Aug 26 14:41:59 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 26 Aug 2011 10:41:59 -0400 Subject: EPrime - motion stim issues In-Reply-To: Message-ID: Paul, Thanks for checking on the equivalence between PRNG and Randomize, etc., and posting a very nice test. I had wondered about that myself, and some time ago ran extensive tests to convince myself that they all use the same underlying generator. Perhaps it is time that I posted that as part of my "Mastering E-Prime" series. In short, I concluded that PRNG just gathers into one E-Object all of the functions of the standard VBA randomization functions, and that PRNG includes a GetSeed method lacking from standard VBA. Beyond that, which you use comes down to matter of personal programming taste or style. I like keeping all those functions neatly organized under one object, but I always comment that in my source code. But of course no one should take my word for anything, so it is good to have someone else verify this. Best, -- David McFarlane, Professional Faultfinder At 8/25/2011 07:17 PM Thursday, Paul Groot wrote: >Hi David, > >That is indeed what happens when using the random function. (I was >just trying to talk myself out of a silly typo ;-) > >A deeper understanding of the problem often raises new questions... >Purely academic off course! >I just realized that the EPrime (1.2) documentation mentions two types >of random generators: The standard visual basic functions (random, >randomize) and the E-Basic specific PRNG object. This might be >important if you use the seed value to setup your experiment to a >known state (for reproducibility and testing). The edat output file >logs a single seed value retrieved with PRNG.GetSeed(), so it would be >interesting to know if there is only one active PRNG under the hood. A >simple test shows that this is indeed the case: > >PRNG.SetSeed 987654321 >debug.print PRNG.GetSeed() >Randomize 123456789 >debug.print PRNG.GetSeed() > >will print: >987654321 >123456789 > >cheers >Paul > >2011/8/25 David McFarlane : > > Ah, I was not thinking about the underlying architecture of the Random() > > function, so you got me there! Now the discussion must get more > > technical... > > > > Of course, if Random() is based on, say, a 32-bit cyclic PRNG, then it will > > repeat its sequence after no more than 2^32 = 4,294,967,296 samples (or > > perhaps more like 2^31 = 2,147,483,648 samples, because > E-Basic/VBA does not > > use unsigned integers). But that is not what I had in mind, because we > > rarely use Random() to pick numbers from that entire range. > > > > Rather, I had in mind more common & prosaic uses such as Random(0,99). The > > underlying architecture now parses the full 32-bit range into 100 segments, > > with no guarantee that it will not draw samples from the same segment until > > a sample has been drawn from each segment. To the contrary, it > is extremely > > likely in this case that it will draw duplicate numbers within > the first 100 > > samples. You can see this readily if you try a scaled-down example, say, > > Random(0,9) or even Random(0,2) -- I know, I just did this. > > > > More to the point, I was thinking in terms of my understanding of the > > *intent* or *specification* of the Random() function, apart from its actual > > implementation. As I understand it, Random() is *meant* to act as a die > > roll, not as a shuffled deck of cards. IOW, Random(1,6) should return a > > random number from 1 to 6 each time, without regard to what came before > > (just like a six-sided die), rather than return a number and then remember > > that number and not return it again until all other numbers have been > > returned (like a shuffled six-card deck). > > > > Did I get this right now? > > > > Best, > > -- David McFarlane, Professional Faultfinder > > > > > > At 8/25/2011 03:25 PM Thursday, Paul Groot wrote: > >> > >> Absolutely; the cyclic chain of numbers will definitely pop-up the > >> same numbers after a while... So they must have been but back ;-) > >> > >> my mistake! > >> > >> 2011/8/25 David McFarlane : > >> > At 8/24/2011 03:20 PM Wednesday, Paul Groot wrote: > >> >> > >> >> Alternatively you could use a simple inline script at the start of the > >> >> trial and use the E-Basic random() function to set durations. (That > >> >> would be > >> >> uniform random w/o replacement.) > >> > > >> > Um, wouldn't the E-Basic random() function result in uniform random > >> > samples > >> > *with* replacement? > >> > > >> > -- 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 mcfarla9 at msu.edu Fri Aug 26 15:36:19 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 26 Aug 2011 11:36:19 -0400 Subject: Mastering E-Prime: PRNG vs. standard randomization functions Message-ID: E-Basic offers two sets of randomization functions: The standard set from VBA (Randomize(), Rnd(), Random()), and the PRNG object (with methods GetSeed, SetSeed, Reset, GetNext, GetPrev, Random()). How do these differ? Do they use the same underlying pseudo-random number generator? Why use one rather than the other? As demonstrated by Paul Groot at http://groups.google.com/group/e-prime/browse_thread/thread/ccda3fe57a595c54 , both sets of functions *do* use the same underlying pseudo-random number generator (but you should still test that out for yourself!), and provide equivalent results. So what's the point? Well, the standard VBA set does have a confusing interface. I posit that E-Basic provides the PRNG object simply to gather all these functions into one tidy E-Object, and along the way provides one extra function lacking from the standard set. E-Basic still includes the standard set for those VBA programmers who prefer it, as well as to allow legacy code to work. Some further notes (in the following, x indicates an arbitrary number, +x a number greater than 0, -x a number less than 0): - PRNG.GetSeed has no equivalent in the standard VBA set. - PRNG.SetSeed x does the same as Randomize x (note that "Randomize" without an argument uses the system clock for the seed; PRNG has no simple equivalent to this -- "PRNG.SetSeed" without an argument sets the seed to 1). - PRNG.Reset is a synonym for PRNG.SetSeed 0 or Randomize 0 - PRNG.GetNext does the same as Rnd(+x) - PRNG.GetPrev does the same as Rnd(0) i.e., they simply repeat the value of the latest random number generated (e.g., from the latest use of PRNG.GetNext or Rnd(+x)). (Note also that after PRNG.Random() or Random() it returns the full double value, not the truncated long integer value.) - PRNG.Random(min,max) does the same as Random(min,max) 0 <= min < max, or they produce the run time error "Invalid Range Specified". - Rnd(-x) returns the same as Randomize Abs(x) ' (same x as above) Rnd(+y) which in turn does the same as PRNG.SetSeed Abs(x) PRNG.GetNext So which should you use? That comes down to your personal programming taste or style: Would you rather use well-known standard VBA statements & functions, or keep things organized as methods from one E-Object? Whichever you choose, you might help others by explaining your choice with comments in your program. -- 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 mcfarla9 at msu.edu Fri Aug 26 15:40:35 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 26 Aug 2011 11:40:35 -0400 Subject: EPrime - motion stim issues In-Reply-To: <4e57b0c8.87952a0a.34c2.7572SMTPIN_ADDED@gmr-mx.google.com> Message-ID: OK, I posted the article at http://groups.google.com/group/e-prime/browse_thread/thread/5b7862e01f738dfc . (Also, I should have mentioned in my earlier post here that, besides PRNG including a GetSeed method lacking from standard VBA, PRNG lacks a simple equivalent to the standard set's "Randomize" with no argument.) -- David McFarlane, Professional Faultfinder At 8/26/2011 10:41 AM Friday, David McFarlane wrote: >Paul, > >Thanks for checking on the equivalence between PRNG and Randomize, >etc., and posting a very nice test. I had wondered about that >myself, and some time ago ran extensive tests to convince myself >that they all use the same underlying generator. Perhaps it is time >that I posted that as part of my "Mastering E-Prime" series. In >short, I concluded that PRNG just gathers into one E-Object all of >the functions of the standard VBA randomization functions, and that >PRNG includes a GetSeed method lacking from standard VBA. Beyond >that, which you use comes down to matter of personal programming >taste or style. I like keeping all those functions neatly organized >under one object, but I always comment that in my source code. > >But of course no one should take my word for anything, so it is good >to have someone else verify this. > >Best, >-- David McFarlane, Professional Faultfinder > > >At 8/25/2011 07:17 PM Thursday, Paul Groot wrote: >>Hi David, >> >>That is indeed what happens when using the random function. (I was >>just trying to talk myself out of a silly typo ;-) >> >>A deeper understanding of the problem often raises new questions... >>Purely academic off course! >>I just realized that the EPrime (1.2) documentation mentions two types >>of random generators: The standard visual basic functions (random, >>randomize) and the E-Basic specific PRNG object. This might be >>important if you use the seed value to setup your experiment to a >>known state (for reproducibility and testing). The edat output file >>logs a single seed value retrieved with PRNG.GetSeed(), so it would be >>interesting to know if there is only one active PRNG under the hood. A >>simple test shows that this is indeed the case: >> >>PRNG.SetSeed 987654321 >>debug.print PRNG.GetSeed() >>Randomize 123456789 >>debug.print PRNG.GetSeed() >> >>will print: >>987654321 >>123456789 >> >>cheers >>Paul >> >>2011/8/25 David McFarlane : >> > Ah, I was not thinking about the underlying architecture of the Random() >> > function, so you got me there! Now the discussion must get more >> > technical... >> > >> > Of course, if Random() is based on, say, a 32-bit cyclic PRNG, >> then it will >> > repeat its sequence after no more than 2^32 = 4,294,967,296 samples (or >> > perhaps more like 2^31 = 2,147,483,648 samples, because >> E-Basic/VBA does not >> > use unsigned integers). But that is not what I had in mind, because we >> > rarely use Random() to pick numbers from that entire range. >> > >> > Rather, I had in mind more common & prosaic uses such as >> Random(0,99). The >> > underlying architecture now parses the full 32-bit range into >> 100 segments, >> > with no guarantee that it will not draw samples from the same >> segment until >> > a sample has been drawn from each segment. To the contrary, it >> is extremely >> > likely in this case that it will draw duplicate numbers within >> the first 100 >> > samples. You can see this readily if you try a scaled-down example, say, >> > Random(0,9) or even Random(0,2) -- I know, I just did this. >> > >> > More to the point, I was thinking in terms of my understanding of the >> > *intent* or *specification* of the Random() function, apart from >> its actual >> > implementation. As I understand it, Random() is *meant* to act as a die >> > roll, not as a shuffled deck of cards. IOW, Random(1,6) should return a >> > random number from 1 to 6 each time, without regard to what came before >> > (just like a six-sided die), rather than return a number and then remember >> > that number and not return it again until all other numbers have been >> > returned (like a shuffled six-card deck). >> > >> > Did I get this right now? >> > >> > Best, >> > -- David McFarlane, Professional Faultfinder >> > >> > >> > At 8/25/2011 03:25 PM Thursday, Paul Groot wrote: >> >> >> >> Absolutely; the cyclic chain of numbers will definitely pop-up the >> >> same numbers after a while... So they must have been but back ;-) >> >> >> >> my mistake! >> >> >> >> 2011/8/25 David McFarlane : >> >> > At 8/24/2011 03:20 PM Wednesday, Paul Groot wrote: >> >> >> >> >> >> Alternatively you could use a simple inline script at the start of the >> >> >> trial and use the E-Basic random() function to set durations. (That >> >> >> would be >> >> >> uniform random w/o replacement.) >> >> > >> >> > Um, wouldn't the E-Basic random() function result in uniform random >> >> > samples >> >> > *with* replacement? >> >> > >> >> > -- 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 jefriedel at gmail.com Mon Aug 29 19:59:34 2011 From: jefriedel at gmail.com (Jonathan Friedel) Date: Mon, 29 Aug 2011 12:59:34 -0700 Subject: Accuracy on the preceding n-trials Message-ID: Hello, I am new to e-prime. I am trying to change from when block of trials to a second block of trails based on a 100% accuracy on the previous n trials. Unfortunately, I do not know what key words will help me search to find what I want. Let us say have three conditions, A, B, and C, and each condition has 20 different trials with in it. I can get e-prime to randomly select a condition and then trials. What I need is for a condition to continue infinitely, selecting trials randomly without replacement, until the some number (let's 4) of consecutive trials are correct. Once those four trials are correct, then eprime will randomly select the next condition. I appreciate that inline code will be necessary, but I am not sure what is necessary. Can someone start to point me in the appropriate direction? Thanks for the help, Jon -- 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 Mon Aug 29 20:35:59 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 29 Aug 2011 16:35:59 -0400 Subject: Accuracy on the preceding n-trials In-Reply-To: Message-ID: Jon, 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... How about the "Criterion Based Exit" example downloadable from the PST web site? -- David McFarlane, Professional Faultfinder At 8/29/2011 03:59 PM Monday, you wrote: >I am new to e-prime. I am trying to change from when block of trials >to a second block of trails based on a 100% accuracy on the previous n >trials. Unfortunately, I do not know what key words will help me >search to find what I want. > >Let us say have three conditions, A, B, and C, and each condition has >20 different trials with in it. I can get e-prime to randomly select >a condition and then trials. What I need is for a condition to >continue infinitely, selecting trials randomly without replacement, >until the some number (let's 4) of consecutive trials are correct. >Once those four trials are correct, then eprime will randomly select >the next condition. I appreciate that inline code will be necessary, >but I am not sure what is necessary. > >Can someone start to point me in the appropriate direction? > >Thanks for the help, > >Jon -- 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 browncowwow at gmail.com Tue Aug 30 02:09:58 2011 From: browncowwow at gmail.com (Mo) Date: Mon, 29 Aug 2011 19:09:58 -0700 Subject: Multiple Mouse Click Question Message-ID: Hi! My colleague and I are currently designing an experiment using E- Prime2.0. The experiment requires subjects to respond to an audio stimulus with two responses. Subjects will hear an audio file that contains two English sounds (like "ba"). They must identify which two sounds they heard ("b" and "a"). There are 26 possible choices (as in 26 letters in English) for each sound. Both responses require a mouse as the input device. We have a couple questions about how to set up the experiment in E- Studio: 1. How do we set up 52 (26 choices for each of the two sounds) distinct response areas? 2. How do we tell E-Prime to recognize a mouse-click response, and in particular, multiple (2) mouse clicks in particular locations? Neither of us have any programming experience and this is our first time using E-Prime. While we have completed the basic tutorials, we are aware that mouse-click responses require a bit more inline coding. Could anyone refer us to a place that discusses mouse-click responses in more detail, as neither the reference guide nor the getting started guide discuss setting up mouse-click response in any detail? Thank you for your time and consideration. -- 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 pquain at une.edu.au Tue Aug 30 02:43:17 2011 From: pquain at une.edu.au (Peter Quain) Date: Tue, 30 Aug 2011 12:43:17 +1000 Subject: Multiple Mouse Click Question In-Reply-To: <24baa382-cf0f-4aa7-b282-cf7313a72b79@fi7g2000vbb.googlegro ups.com> Message-ID: try looking at the SlideState HitTest method. There is a topic, SlideState.HitTest, in the E-Basic Help. PST also has a sample program for this that you may download. Attached is a version from years ago, don't know whether there is an updated example At 12:09 PM 30/08/2011, you wrote: >Hi! > >My colleague and I are currently designing an experiment using E- >Prime2.0. The experiment requires subjects to respond to an audio >stimulus with two responses. Subjects will hear an audio file that >contains two English sounds (like "ba"). They must identify which two >sounds they heard ("b" and "a"). There are 26 possible choices (as in >26 letters in English) for each sound. Both responses require a mouse >as the input device. > >We have a couple questions about how to set up the experiment in E- >Studio: > >1. How do we set up 52 (26 choices for each of the two sounds) >distinct response areas? >2. How do we tell E-Prime to recognize a mouse-click response, and in >particular, multiple (2) mouse clicks in particular locations? > >Neither of us have any programming experience and this is our first >time using E-Prime. While we have completed the basic tutorials, we >are aware that mouse-click responses require a bit more inline coding. >Could anyone refer us to a place that discusses mouse-click responses >in more detail, as neither the reference guide nor the getting started >guide discuss setting up mouse-click response in any detail? > >Thank you for your time and consideration. > >-- >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. -- 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 -------------- [WARNING] WARNING: DO NOT EDIT THIS FILE DIRECTLY! Use only E-Studio to edit this file. Editing of this file from any other means is not supported and may corrupt the experiment design specification. Technical support will not be able to address any issue in regards to this file format. [Experiment] VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 _VersionPersist=6 Root="SessionProc" Author="PST Support" Abstract="This example illustrates how to create response areas on the screen,\r\nthen collect and score mouse-click responses based on those \r\nareas.\r\n\r\nIn beta 5, response areas simply become sub-objects on the Slide\r\n(text blocks, image placeholders) which you can rename in the \r\nProperties window for the sub-object. \r\n\r\nYou can then call the sub-objects, via the TrialList, as areas of \r\nstimuli presentation and/or correct response areas.\r\n\r\nEssentially, the DoHitTest script tells E-Prime to find the x- and y-\r\ncoordinates of the mouse click when a response is made. If the \r\nmouse click coordinates match the response area coordinates, the\r\n response is correct. If they do not, the response is incorrect. " Notes="Revised: 12/12/00" Creation=1010414586 [Device0] _VersionPersist=1 OpenDevice=1 CollectionMode=1 EmulateDeviceName="" CapsLock=0 NumLock=0 Name="Keyboard" Class="Keyboard" [Device1] _VersionPersist=1 OpenDevice=1 CollectionMode=1 EmulateDeviceName="" OpenMode=0 ShowCursor=0 Name="Mouse" Class="Mouse" [Device2] _VersionPersist=1 OpenDevice=1 Width=640 Height=480 Bpp=16 Name="Display" Class="Display" [Device3] _VersionPersist=1 OpenDevice=0 Channels=2 Samples=22050 Bps=16 Name="Sound" Class="Sound" [DataFile] WarnBeforeOverwrite=1 WarnIfConvertFailed=1 RemoveERecoveryFile=0 ReceiveFeedbackDuringDataFileConversion=1 LogLevel(2).Name="Block" LogLevel(3).Name="Trial" LogLevel(4).Name="SubTrial" LogLevel(5).Name="LogLevel5" LogLevel(6).Name="LogLevel6" LogLevel(7).Name="LogLevel7" LogLevel(8).Name="LogLevel8" LogLevel(9).Name="LogLevel9" LogLevel(10).Name="LogLevel10" [StartupInfo] DisplaySummary=1 UseDefaults=0 [StartupInfo1] Name="Subject" Prompt="Please enter the Subject Number (0-32767):" DataType=0 Enabled=1 PromptEnabled=1 Default="1" Min=0 Max=32767 PrivateFlags=268435477 PrivateInfo=1 [StartupInfo2] Name="Session" Prompt="Please enter the Session Number (0-32767):" DataType=0 Enabled=1 PromptEnabled=1 Default="1" Min=0 Max=32767 PrivateFlags=268435477 PrivateInfo=1 [StartupInfo3] Name="Group" Prompt="Please enter Subject's Group (0-32767):" DataType=0 Enabled=0 PromptEnabled=0 Default="1" Min=0 Max=32767 [StartupInfo4] Name="Name" Prompt="Please enter Subject's Name:" DataType=1 Enabled=0 PromptEnabled=0 Default="" MaxLength=255 [StartupInfo5] Name="Age" Prompt="Please enter Subject's Age (0-150):" DataType=0 Enabled=0 PromptEnabled=0 Default="0" Min=0 Max=150 [StartupInfo6] Name="Sex" Prompt="Please enter Subject's Sex:" DataType=2 Enabled=0 PromptEnabled=0 Default="male" Choice(1).Value="male" Choice(2).Value="female" [StartupInfo7] Name="Handedness" Prompt="Enter Subject's Handedness:" DataType=2 Enabled=0 PromptEnabled=0 Default="left" Choice(1).Value="left" Choice(2).Value="right" [StartupInfo8] Name="ResearcherID" Prompt="Please enter Researcher's ID:" DataType=0 Enabled=0 PromptEnabled=0 Default="1" Min=0 Max=32767 [Object0] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 _ItemList="Instructions;ShowCursor;BlockList;Goodbye" _VersionPersist=1 FlowLines(0).Count=4 FlowLines(0).FlowItem(0).Name="Instructions" FlowLines(0).FlowItem(1).Name="ShowCursor" FlowLines(0).FlowItem(2).Name="BlockList" FlowLines(0).FlowItem(3).Name="Goodbye" LogData=1 Name="SessionProc" TypeName="Procedure" Tag="" Notes="" [Object1] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Logging("OnsetDelay").Log=0 Logging("OnsetTime").Log=0 Logging("DurationError").Log=0 Logging("PreRelease").Log=0 Logging("Duration").Log=0 Logging("StartTime").Log=0 Logging("OffsetTime").Log=0 Logging("FinishTime").Log=0 Logging("TimingMode").Log=0 Logging("CustomOnsetTime").Log=0 Logging("CustomOffsetTime").Log=0 Logging("ActionDelay").Log=0 Logging("ActionTime").Log=0 Logging("TargetOffsetTime").Log=0 Logging("TargetOnsetTime").Log=0 Logging("OffsetDelay").Log=0 Logging("RTTime").Log=0 Logging("ACC").Log=0 Logging("RT").Log=0 Logging("RESP").Log=0 Logging("CRESP").Log=0 Logging("Tag").Log=0 Input(0)=!Data0 _VersionPersist=1 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Text="Welcome to the experiment\n\nYou will see a fixation followed by an arrow and a '*' in 1 of 4 positions.\n\n\nAs quickly as you can, click the box containing the '*'.\n\nPress any key to continue" ForeColor="black" BackColor="white" BackStyle="opaque" BorderColor="black" BorderWidth="0" X="center" Y="center" Width="100%" Height="100%" XAlign="center" YAlign="center" AlignHorizontal="center" AlignVertical="center" FontName="Courier New" FontSize="18" FontBold="Yes" FontItalic="No" FontUnderline="No" FontStrikeout="No" WordWrap=1 ClearAfter="No" Duration="10000" JumpLabel="" TimingMode=0 PreRelease="0" OnsetSync=1 OffsetSync=0 Name="Instructions" TypeName="TextDisplay" Tag="" Notes="" [Data0] DeviceName="Keyboard" DeviceClass="Keyboard" AllowableInput="{ANY}" CorrectInput="" TimeLimit="" MaxCount="1" InputAction=1 SyncOwnerDuration=1 Enabled=1 FlushInputBuffer="Yes" TerminationInput="" UserTag="" ResponseMode="All" ProcessBackspace="Yes" [Object2] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Logging("PracticeMode").Log=-1 _ItemList="BlockProc" _VersionPersist=1 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Order=0 OrderBy=0 ResetEveryRun=0 HideLevelsWithZeroWeight=0 CycleDef=0 CycleValueSamples=0 CycleValueCondition="" ExitDef=0 ExitValueCycles=1 ExitValueSamples=1 ExitValueSeconds=0 ExitValueCondition="" LoadMethod=2 Filename="" UserAttributes=1 Attributes("Weight").DefaultValue="1" Attributes("Weight").Visible=1 Attributes("Weight").Width=75 Attributes("Weight").OrderIndex=0 Attributes("Procedure").DefaultValue="" Attributes("Procedure").Visible=1 Attributes("Procedure").Width=75 Attributes("Procedure").OrderIndex=1 Attributes("Nested").DefaultValue="" Attributes("Nested").Visible=1 Attributes("Nested").Width=75 Attributes("Nested").OrderIndex=2 Attributes(1).Name="PracticeMode" Attributes(1).DefaultValue="?" Attributes(1).VarType=8 Attributes(1).VarTypeInternal=8 Attributes(1).Visible=1 Attributes(1).Width=86 Levels=1 Levels(1).ValueString="1\tBlockProc\t\tNo\t" Name="BlockList" TypeName="List" Tag="" Notes="" [Object3] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Logging("OnsetDelay").Log=0 Logging("OnsetTime").Log=0 Logging("DurationError").Log=0 Logging("PreRelease").Log=0 Logging("Duration").Log=0 Logging("StartTime").Log=0 Logging("OffsetTime").Log=0 Logging("FinishTime").Log=0 Logging("TimingMode").Log=0 Logging("CustomOnsetTime").Log=0 Logging("CustomOffsetTime").Log=0 Logging("ActionDelay").Log=0 Logging("ActionTime").Log=0 Logging("TargetOffsetTime").Log=0 Logging("TargetOnsetTime").Log=0 Logging("OffsetDelay").Log=0 Logging("RTTime").Log=0 Logging("ACC").Log=0 Logging("RT").Log=0 Logging("RESP").Log=0 Logging("CRESP").Log=0 Logging("Tag").Log=0 _VersionPersist=1 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Text="Thank you for participating.\n\n\nGoodbye!" ForeColor="black" BackColor="white" BackStyle="opaque" BorderColor="black" BorderWidth="0" X="center" Y="center" Width="100%" Height="100%" XAlign="center" YAlign="center" AlignHorizontal="center" AlignVertical="center" FontName="Courier New" FontSize="18" FontBold="Yes" FontItalic="No" FontUnderline="No" FontStrikeout="No" WordWrap=1 ClearAfter="yes" Duration="2000" JumpLabel="" TimingMode=0 PreRelease="0" OnsetSync=1 OffsetSync=0 Name="Goodbye" TypeName="TextDisplay" Tag="" Notes="" [Object4] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 _ItemList="TrialList" _VersionPersist=1 FlowLines(0).Count=1 FlowLines(0).FlowItem(0).Name="TrialList" LogData=1 Name="BlockProc" TypeName="Procedure" Tag="" Notes="" [Object5] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Logging("OnsetDelay").Log=0 Logging("OnsetTime").Log=0 Logging("DurationError").Log=0 Logging("PreRelease").Log=0 Logging("Duration").Log=0 Logging("StartTime").Log=0 Logging("OffsetTime").Log=0 Logging("FinishTime").Log=0 Logging("TimingMode").Log=0 Logging("CustomOnsetTime").Log=0 Logging("CustomOffsetTime").Log=0 Logging("ActionDelay").Log=0 Logging("ActionTime").Log=0 Logging("TargetOffsetTime").Log=0 Logging("TargetOnsetTime").Log=0 Logging("OffsetDelay").Log=0 Logging("RTTime").Log=0 Logging("ACC").Log=0 Logging("RT").Log=0 Logging("RESP").Log=0 Logging("CRESP").Log=0 Logging("Tag").Log=0 _VersionPersist=1 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Text="\n\n\n\n\n\n\n+\n\n\n\n\n\n" ForeColor="black" BackColor="white" BackStyle="opaque" BorderColor="black" BorderWidth="0" X="center" Y="center" Width="100%" Height="100%" XAlign="center" YAlign="center" AlignHorizontal="center" AlignVertical="center" FontName="Courier New" FontSize="18" FontBold="Yes" FontItalic="No" FontUnderline="No" FontStrikeout="No" WordWrap=1 ClearAfter="No" Duration="1000" JumpLabel="" TimingMode=0 PreRelease="0" OnsetSync=1 OffsetSync=0 Name="Fixation" TypeName="TextDisplay" Tag="" Notes="" [Object6] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Logging("Up").Log=-1 Logging("Right").Log=-1 Logging("Down").Log=-1 Logging("Left").Log=-1 Logging("Stimulus").Log=-1 Logging("CorrectAnswer").Log=-1 _ItemList="TrialProc" _VersionPersist=1 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Order=0 OrderBy=0 ResetEveryRun=0 HideLevelsWithZeroWeight=0 CycleDef=0 CycleValueSamples=0 CycleValueCondition="" ExitDef=0 ExitValueCycles=1 ExitValueSamples=1 ExitValueSeconds=0 ExitValueCondition="" LoadMethod=2 Filename="" UserAttributes=6 Attributes("Weight").DefaultValue="1" Attributes("Weight").Visible=1 Attributes("Weight").Width=43 Attributes("Weight").OrderIndex=0 Attributes("Procedure").DefaultValue="TrialProc" Attributes("Procedure").Visible=1 Attributes("Procedure").Width=75 Attributes("Procedure").OrderIndex=1 Attributes("Nested").DefaultValue="" Attributes("Nested").Visible=1 Attributes("Nested").Width=75 Attributes("Nested").OrderIndex=2 Attributes(1).Name="Up" Attributes(1).DefaultValue="?" Attributes(1).VarType=8 Attributes(1).VarTypeInternal=8 Attributes(1).Visible=1 Attributes(1).Width=48 Attributes(2).Name="Right" Attributes(2).DefaultValue="?" Attributes(2).VarType=8 Attributes(2).VarTypeInternal=8 Attributes(2).Visible=1 Attributes(2).Width=50 Attributes(3).Name="Down" Attributes(3).DefaultValue="?" Attributes(3).VarType=8 Attributes(3).VarTypeInternal=8 Attributes(3).Visible=1 Attributes(3).Width=45 Attributes(4).Name="Left" Attributes(4).DefaultValue="?" Attributes(4).VarType=8 Attributes(4).VarTypeInternal=8 Attributes(4).Visible=1 Attributes(4).Width=47 Attributes(5).Name="Stimulus" Attributes(5).DefaultValue="?" Attributes(5).VarType=8 Attributes(5).VarTypeInternal=8 Attributes(5).Visible=1 Attributes(5).Width=75 Attributes(6).Name="CorrectAnswer" Attributes(6).DefaultValue="?" Attributes(6).VarType=8 Attributes(6).VarTypeInternal=8 Attributes(6).Visible=1 Attributes(6).Width=75 Levels=4 Levels(1).ValueString="1\tTrialProc\t\t*\t\t\t\tUp\tUp\t" Levels(2).ValueString="1\tTrialProc\t\t\t*\t\t\tRight\tRight\t" Levels(3).ValueString="1\tTrialProc\t\t\t\t*\t\tDown\tDown\t" Levels(4).ValueString="1\tTrialProc\t\t\t\t\t*\tLeft\tLeft\t" Name="TrialList" TypeName="List" Tag="" Notes="" [Object7] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 _ItemList="Fixation;Stimulus;DoHitTest;Feedback" _VersionPersist=1 FlowLines(0).Count=4 FlowLines(0).FlowItem(0).Name="Fixation" FlowLines(0).FlowItem(1).Name="Stimulus" FlowLines(0).FlowItem(2).Name="DoHitTest" FlowLines(0).FlowItem(3).Name="Feedback" LogData=1 Name="TrialProc" TypeName="Procedure" Tag="" Notes="" [Object8] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Logging("OnsetDelay").Log=-1 Logging("OnsetTime").Log=-1 Logging("DurationError").Log=-1 Logging("PreRelease").Log=0 Logging("Duration").Log=0 Logging("StartTime").Log=0 Logging("OffsetTime").Log=0 Logging("FinishTime").Log=0 Logging("TimingMode").Log=0 Logging("CustomOnsetTime").Log=0 Logging("CustomOffsetTime").Log=0 Logging("ActionDelay").Log=0 Logging("ActionTime").Log=0 Logging("TargetOffsetTime").Log=0 Logging("TargetOnsetTime").Log=0 Logging("OffsetDelay").Log=0 Logging("RTTime").Log=-1 Logging("ACC").Log=-1 Logging("RT").Log=-1 Logging("RESP").Log=-1 Logging("CRESP").Log=-1 Logging("Tag").Log=0 Input(0)=!Data1 _VersionPersist=2 ActiveState="Default" States.Count=1 States(1).Name="Default" States("Default").X="center" States("Default").Y="center" States("Default").Width="100%" States("Default").Height="100%" States("Default").XAlign="center" States("Default").YAlign="center" States("Default").BackColor="white" States("Default").BackStyle="opaque" States("Default").BorderColor="black" States("Default").BorderWidth="0" States("Default").ClearAfter="No" States("Default").Enabled="Yes" States("Default").ChildCount=5 States("Default").Objects(1).Type="Text" States("Default").Objects(1).Text="[Left]" States("Default").Objects(1).Width="5%" States("Default").Objects(1).Height="5%" States("Default").Objects(1).X="30%" States("Default").Objects(1).Y="239" States("Default").Objects(1).AlignHorizontal="center" States("Default").Objects(1).AlignVertical="center" States("Default").Objects(1).FontName="Courier New" States("Default").Objects(1).FontSize="18" States("Default").Objects(1).FontBold="Yes" States("Default").Objects(1).FontUnderline="No" States("Default").Objects(1).FontStrikeout="No" States("Default").Objects(1).FontItalic="No" States("Default").Objects(1).ForeColor="black" States("Default").Objects(1).BackColor="white" States("Default").Objects(1).BackStyle="transparent" States("Default").Objects(1).BorderWidth="1" States("Default").Objects(1).BorderColor="black" States("Default").Objects(1).XAlign="center" States("Default").Objects(1).YAlign="center" States("Default").Objects(1).WordWrap=1 States("Default").Objects(1).Name="Left" States("Default").Objects(2).Type="Text" States("Default").Objects(2).Text="[Up]" States("Default").Objects(2).Width="5%" States("Default").Objects(2).Height="5%" States("Default").Objects(2).X="316" States("Default").Objects(2).Y="30%" States("Default").Objects(2).AlignHorizontal="center" States("Default").Objects(2).AlignVertical="center" States("Default").Objects(2).FontName="Courier New" States("Default").Objects(2).FontSize="18" States("Default").Objects(2).FontBold="Yes" States("Default").Objects(2).FontUnderline="No" States("Default").Objects(2).FontStrikeout="No" States("Default").Objects(2).FontItalic="No" States("Default").Objects(2).ForeColor="black" States("Default").Objects(2).BackColor="white" States("Default").Objects(2).BackStyle="transparent" States("Default").Objects(2).BorderWidth="1" States("Default").Objects(2).BorderColor="black" States("Default").Objects(2).XAlign="center" States("Default").Objects(2).YAlign="center" States("Default").Objects(2).WordWrap=1 States("Default").Objects(2).Name="Up" States("Default").Objects(3).Type="Text" States("Default").Objects(3).Text="[Right]" States("Default").Objects(3).Width="5%" States("Default").Objects(3).Height="5%" States("Default").Objects(3).X="70%" States("Default").Objects(3).Y="239" States("Default").Objects(3).AlignHorizontal="center" States("Default").Objects(3).AlignVertical="center" States("Default").Objects(3).FontName="Courier New" States("Default").Objects(3).FontSize="18" States("Default").Objects(3).FontBold="Yes" States("Default").Objects(3).FontUnderline="No" States("Default").Objects(3).FontStrikeout="No" States("Default").Objects(3).FontItalic="No" States("Default").Objects(3).ForeColor="black" States("Default").Objects(3).BackColor="white" States("Default").Objects(3).BackStyle="transparent" States("Default").Objects(3).BorderWidth="1" States("Default").Objects(3).BorderColor="black" States("Default").Objects(3).XAlign="center" States("Default").Objects(3).YAlign="center" States("Default").Objects(3).WordWrap=1 States("Default").Objects(3).Name="Right" States("Default").Objects(4).Type="Text" States("Default").Objects(4).Text="[Down]" States("Default").Objects(4).Width="5%" States("Default").Objects(4).Height="5%" States("Default").Objects(4).X="319" States("Default").Objects(4).Y="70%" States("Default").Objects(4).AlignHorizontal="center" States("Default").Objects(4).AlignVertical="center" States("Default").Objects(4).FontName="Courier New" States("Default").Objects(4).FontSize="18" States("Default").Objects(4).FontBold="Yes" States("Default").Objects(4).FontUnderline="No" States("Default").Objects(4).FontStrikeout="No" States("Default").Objects(4).FontItalic="No" States("Default").Objects(4).ForeColor="black" States("Default").Objects(4).BackColor="white" States("Default").Objects(4).BackStyle="transparent" States("Default").Objects(4).BorderWidth="1" States("Default").Objects(4).BorderColor="black" States("Default").Objects(4).XAlign="center" States("Default").Objects(4).YAlign="center" States("Default").Objects(4).WordWrap=1 States("Default").Objects(4).Name="Down" States("Default").Objects(5).Type="Image" States("Default").Objects(5).Filename="[Stimulus].bmp" States("Default").Objects(5).Stretch="No" States("Default").Objects(5).MirrorLeftRight="No" States("Default").Objects(5).MirrorUpDown="No" States("Default").Objects(5).Width="17%" States("Default").Objects(5).Height="19%" States("Default").Objects(5).X="318" States("Default").Objects(5).Y="234" States("Default").Objects(5).AlignHorizontal="center" States("Default").Objects(5).AlignVertical="center" States("Default").Objects(5).ForeColor="black" States("Default").Objects(5).BackColor="white" States("Default").Objects(5).BackStyle="opaque" States("Default").Objects(5).BorderWidth="0" States("Default").Objects(5).BorderColor="black" States("Default").Objects(5).XAlign="center" States("Default").Objects(5).YAlign="No" States("Default").Objects(5).SourceColorKey="No" States("Default").Objects(5).UseSourceColorKey="No" States("Default").Objects(5).Name="Image1" Duration="10000" JumpLabel="" TimingMode=0 PreRelease="0" OnsetSync=1 OffsetSync=0 Name="Stimulus" TypeName="Slide" Tag="" Notes="" [Data1] DeviceName="Mouse" DeviceClass="Mouse" AllowableInput="{ANY}" CorrectInput="" TimeLimit="" MaxCount="1" InputAction=1 SyncOwnerDuration=1 Enabled=1 FlushInputBuffer="Yes" TerminationInput="" UserTag="" [Object9] _Version=131072 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 _VersionPersist=1 Code="'This InLine forces scoring of the mouse click\n\n'theState is assigned as the Active SlideState on the Stimulus Slide\nDim theState as SlideState\nSet theState = Stimulus.States(\"Default\")\n\n'Declare variables that will return and store mouse click coordinates\nDim ptMouse As Point\nDim strHit As String\n\n'Return x and y coordinates of mouse click\nMouse.GetCursorPos ptMouse.x, ptMouse.y\n'Store coordinates in strHit variable\nstrHit = theState.HitTest(ptMouse.x, ptMouse.y)\n\n'Compare mouse click location to location of sub-objects on theState\nIf strHit = c.GetAttrib (\"CorrectAnswer\") Then\n Stimulus.ACC = 1\nElse\n Stimulus.ACC = 0\t\nEnd If\n\n\n" Name="DoHitTest" TypeName="InLine" Tag="" Notes="" [Object10] _Version=131072 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 _VersionPersist=1 Code="'Make mouse cursor visible at run-time\nmouse.ShowCursor true\n\n" Name="ShowCursor" TypeName="InLine" Tag="" Notes="" [Object11] _Version=65536 _ExtentX=2646 _ExtentY=1323 _StockProps=0 VersionMajor=1 VersionMinor=1 VersionInternal=4 VersionBuild=1 Logging("OnsetDelay").Log=0 Logging("OnsetTime").Log=0 Logging("DurationError").Log=0 Logging("PreRelease").Log=0 Logging("Duration").Log=0 Logging("StartTime").Log=0 Logging("OffsetTime").Log=0 Logging("FinishTime").Log=0 Logging("TimingMode").Log=0 Logging("CustomOnsetTime").Log=0 Logging("CustomOffsetTime").Log=0 Logging("ActionDelay").Log=0 Logging("ActionTime").Log=0 Logging("TargetOffsetTime").Log=0 Logging("TargetOnsetTime").Log=0 Logging("OffsetDelay").Log=0 Logging("RTTime").Log=0 Logging("ACC").Log=0 Logging("RT").Log=0 Logging("RESP").Log=0 Logging("CRESP").Log=0 Logging("Tag").Log=0 _VersionPersist=1 States("Correct").X="center" States("Correct").Y="center" States("Correct").Width="100%" States("Correct").Height="100%" States("Correct").XAlign="center" States("Correct").YAlign="center" States("Correct").BackColor="white" States("Correct").BackStyle="opaque" States("Correct").BorderColor="black" States("Correct").BorderWidth="0" States("Correct").ClearAfter="No" States("Correct").Enabled="Yes" States("Correct").ChildCount=3 States("Correct").Objects(1).Type="Text" States("Correct").Objects(1).Text="Correct!" States("Correct").Objects(1).Width="75%" States("Correct").Objects(1).Height="10%" States("Correct").Objects(1).X="center" States("Correct").Objects(1).Y="20%" States("Correct").Objects(1).AlignHorizontal="left" States("Correct").Objects(1).AlignVertical="center" States("Correct").Objects(1).FontName="Courier New" States("Correct").Objects(1).FontSize="18" States("Correct").Objects(1).FontBold="Yes" States("Correct").Objects(1).FontUnderline="No" States("Correct").Objects(1).FontStrikeout="No" States("Correct").Objects(1).FontItalic="No" States("Correct").Objects(1).ForeColor="blue" States("Correct").Objects(1).BackColor="white" States("Correct").Objects(1).BackStyle="transparent" States("Correct").Objects(1).BorderWidth="0" States("Correct").Objects(1).BorderColor="black" States("Correct").Objects(1).XAlign="center" States("Correct").Objects(1).YAlign="center" States("Correct").Objects(1).WordWrap=1 States("Correct").Objects(1).Name="Text1" States("Correct").Objects(2).Type="Text" States("Correct").Objects(2).Text="@RT Seconds Response Time" States("Correct").Objects(2).Width="75%" States("Correct").Objects(2).Height="10%" States("Correct").Objects(2).X="center" States("Correct").Objects(2).Y="35%" States("Correct").Objects(2).AlignHorizontal="left" States("Correct").Objects(2).AlignVertical="center" States("Correct").Objects(2).FontName="Courier New" States("Correct").Objects(2).FontSize="18" States("Correct").Objects(2).FontBold="Yes" States("Correct").Objects(2).FontUnderline="No" States("Correct").Objects(2).FontStrikeout="No" States("Correct").Objects(2).FontItalic="No" States("Correct").Objects(2).ForeColor="blue" States("Correct").Objects(2).BackColor="white" States("Correct").Objects(2).BackStyle="transparent" States("Correct").Objects(2).BorderWidth="0" States("Correct").Objects(2).BorderColor="black" States("Correct").Objects(2).XAlign="center" States("Correct").Objects(2).YAlign="center" States("Correct").Objects(2).WordWrap=1 States("Correct").Objects(2).Name="Text2" States("Correct").Objects(3).Type="Text" States("Correct").Objects(3).Text="@ACC.MEAN Average Percent Correct" States("Correct").Objects(3).Width="75%" States("Correct").Objects(3).Height="10%" States("Correct").Objects(3).X="center" States("Correct").Objects(3).Y="45%" States("Correct").Objects(3).AlignHorizontal="left" States("Correct").Objects(3).AlignVertical="center" States("Correct").Objects(3).FontName="Courier New" States("Correct").Objects(3).FontSize="18" States("Correct").Objects(3).FontBold="Yes" States("Correct").Objects(3).FontUnderline="No" States("Correct").Objects(3).FontStrikeout="No" States("Correct").Objects(3).FontItalic="No" States("Correct").Objects(3).ForeColor="blue" States("Correct").Objects(3).BackColor="white" States("Correct").Objects(3).BackStyle="transparent" States("Correct").Objects(3).BorderWidth="0" States("Correct").Objects(3).BorderColor="black" States("Correct").Objects(3).XAlign="center" States("Correct").Objects(3).YAlign="center" States("Correct").Objects(3).WordWrap=1 States("Correct").Objects(3).Name="Text3" States("Incorrect").X="center" States("Incorrect").Y="center" States("Incorrect").Width="100%" States("Incorrect").Height="100%" States("Incorrect").XAlign="center" States("Incorrect").YAlign="center" States("Incorrect").BackColor="white" States("Incorrect").BackStyle="opaque" States("Incorrect").BorderColor="black" States("Incorrect").BorderWidth="0" States("Incorrect").ClearAfter="No" States("Incorrect").Enabled="Yes" States("Incorrect").ChildCount=3 States("Incorrect").Objects(1).Type="Text" States("Incorrect").Objects(1).Text="Incorrect" States("Incorrect").Objects(1).Width="75%" States("Incorrect").Objects(1).Height="10%" States("Incorrect").Objects(1).X="center" States("Incorrect").Objects(1).Y="20%" States("Incorrect").Objects(1).AlignHorizontal="left" States("Incorrect").Objects(1).AlignVertical="center" States("Incorrect").Objects(1).FontName="Courier New" States("Incorrect").Objects(1).FontSize="18" States("Incorrect").Objects(1).FontBold="Yes" States("Incorrect").Objects(1).FontUnderline="No" States("Incorrect").Objects(1).FontStrikeout="No" States("Incorrect").Objects(1).FontItalic="No" States("Incorrect").Objects(1).ForeColor="red" States("Incorrect").Objects(1).BackColor="white" States("Incorrect").Objects(1).BackStyle="transparent" States("Incorrect").Objects(1).BorderWidth="0" States("Incorrect").Objects(1).BorderColor="black" States("Incorrect").Objects(1).XAlign="center" States("Incorrect").Objects(1).YAlign="center" States("Incorrect").Objects(1).WordWrap=1 States("Incorrect").Objects(1).Name="Text1" States("Incorrect").Objects(2).Type="Text" States("Incorrect").Objects(2).Text="@RT Seconds Response Time" States("Incorrect").Objects(2).Width="75%" States("Incorrect").Objects(2).Height="10%" States("Incorrect").Objects(2).X="center" States("Incorrect").Objects(2).Y="35%" States("Incorrect").Objects(2).AlignHorizontal="left" States("Incorrect").Objects(2).AlignVertical="center" States("Incorrect").Objects(2).FontName="Courier New" States("Incorrect").Objects(2).FontSize="18" States("Incorrect").Objects(2).FontBold="Yes" States("Incorrect").Objects(2).FontUnderline="No" States("Incorrect").Objects(2).FontStrikeout="No" States("Incorrect").Objects(2).FontItalic="No" States("Incorrect").Objects(2).ForeColor="red" States("Incorrect").Objects(2).BackColor="white" States("Incorrect").Objects(2).BackStyle="transparent" States("Incorrect").Objects(2).BorderWidth="0" States("Incorrect").Objects(2).BorderColor="black" States("Incorrect").Objects(2).XAlign="center" States("Incorrect").Objects(2).YAlign="center" States("Incorrect").Objects(2).WordWrap=1 States("Incorrect").Objects(2).Name="Text2" States("Incorrect").Objects(3).Type="Text" States("Incorrect").Objects(3).Text="@ACC.MEAN Average Percent Correct" States("Incorrect").Objects(3).Width="75%" States("Incorrect").Objects(3).Height="10%" States("Incorrect").Objects(3).X="center" States("Incorrect").Objects(3).Y="45%" States("Incorrect").Objects(3).AlignHorizontal="left" States("Incorrect").Objects(3).AlignVertical="center" States("Incorrect").Objects(3).FontName="Courier New" States("Incorrect").Objects(3).FontSize="18" States("Incorrect").Objects(3).FontBold="Yes" States("Incorrect").Objects(3).FontUnderline="No" States("Incorrect").Objects(3).FontStrikeout="No" States("Incorrect").Objects(3).FontItalic="No" States("Incorrect").Objects(3).ForeColor="red" States("Incorrect").Objects(3).BackColor="white" States("Incorrect").Objects(3).BackStyle="transparent" States("Incorrect").Objects(3).BorderWidth="0" States("Incorrect").Objects(3).BorderColor="black" States("Incorrect").Objects(3).XAlign="center" States("Incorrect").Objects(3).YAlign="center" States("Incorrect").Objects(3).WordWrap=1 States("Incorrect").Objects(3).Name="Text3" States("NoResponse").X="center" States("NoResponse").Y="center" States("NoResponse").Width="100%" States("NoResponse").Height="100%" States("NoResponse").XAlign="center" States("NoResponse").YAlign="center" States("NoResponse").BackColor="white" States("NoResponse").BackStyle="opaque" States("NoResponse").BorderColor="black" States("NoResponse").BorderWidth="0" States("NoResponse").ClearAfter="No" States("NoResponse").Enabled="Yes" States("NoResponse").ChildCount=1 States("NoResponse").Objects(1).Type="Text" States("NoResponse").Objects(1).Text="No response detected." States("NoResponse").Objects(1).Width="75%" States("NoResponse").Objects(1).Height="10%" States("NoResponse").Objects(1).X="center" States("NoResponse").Objects(1).Y="20%" States("NoResponse").Objects(1).AlignHorizontal="left" States("NoResponse").Objects(1).AlignVertical="center" States("NoResponse").Objects(1).FontName="Courier New" States("NoResponse").Objects(1).FontSize="18" States("NoResponse").Objects(1).FontBold="Yes" States("NoResponse").Objects(1).FontUnderline="No" States("NoResponse").Objects(1).FontStrikeout="No" States("NoResponse").Objects(1).FontItalic="No" States("NoResponse").Objects(1).ForeColor="red" States("NoResponse").Objects(1).BackColor="white" States("NoResponse").Objects(1).BackStyle="transparent" States("NoResponse").Objects(1).BorderWidth="0" States("NoResponse").Objects(1).BorderColor="black" States("NoResponse").Objects(1).XAlign="center" States("NoResponse").Objects(1).YAlign="center" States("NoResponse").Objects(1).WordWrap=1 States("NoResponse").Objects(1).Name="Text1" States("Pending").X="center" States("Pending").Y="center" States("Pending").Width="100%" States("Pending").Height="100%" States("Pending").XAlign="center" States("Pending").YAlign="center" States("Pending").BackColor="white" States("Pending").BackStyle="opaque" States("Pending").BorderColor="black" States("Pending").BorderWidth="0" States("Pending").ClearAfter="No" States("Pending").Enabled="Yes" States("Pending").ChildCount=0 UseScriptActivation=0 CollectACCStats=1 CollectNoRespACCStats=1 CollectCorrectRTStats=1 CollectIncorrectRTStats=1 ACCDivisor="1.0" ACCFormat="Percent" RTDivisor="1000.0" RTFormat="###0.000" CorrectRTDivisor="1000.0" CorrectRTFormat="###0.000" IncorrectRTDivisor="1000.0" IncorrectRTFormat="###0.000" Duration="1500" JumpLabel="" TimingMode=0 PreRelease="0" OnsetSync=1 OffsetSync=0 InputObjectName="Stimulus" Name="Feedback" TypeName="FeedbackDisplay" Tag="" Notes="" [UserScript] From benny.liebold at googlemail.com Wed Aug 31 13:01:02 2011 From: benny.liebold at googlemail.com (Benny Liebold) Date: Wed, 31 Aug 2011 06:01:02 -0700 Subject: My Experiences with Video in E-Prime - freezing and jumping issues Message-ID: After having read at lot in this group and the forum I feel the need to share the experiences I made in the past few days regarding two video issues. For my trial I wanted to use 180 video stimuli (each about 5 s) that were presented in a pre-randomized order. After intense testing of my trial I experienced two major issues regarding the presentation of the video stimuli. (1) Some test machines crashed during the trial with a frozen picture and an audio loop or simply displayed an error that should not be related to the design of the trial. (2) Some videos were aborted after about 700ms of playtime and the script jumped to the next one. I will refer to the latter one as ?video jumping?. Those two issues gave quite me a headache ? especially because the machine I used to design the trial did not produce any of these errors at all. But at that point I realized, that I used quite a potent machine for the trial design, being a 27? iMac with a 3.3 GHz Intel Core i7, 8GB Ram and a Radeon 4870 with 1 GB of video memory running Windows 7 x64 (fully updated). The test machines were not slow at all (AMD 64 X2 with 2.7 GHz, 4 GB Ram and a onboard Video Card with 256 MB of video memory running Windows 7 x86, fully updated), but the difference is quite significant. So this really had to be the cause for both issues I mentioned above. Consequently I had to deal with the video codec I used as I already used the latest build of E-Prime 2.0, the DivX codec packet and the K-Lite codec packet. The movie display did work, but it was quite unstable as mentioned above. At the beginning I used 720p-material (1280x720, 29,97 fps) and the h. 264 codec as it is know for its superb compression abilities. The other side of the coin is the high CPU usage it produces when decoding the videos. Speaking of CPU-usage: I realized that E-Prime only uses one CPU-core! This really is a problem when you have quite potent multi-core CPUs but with a poor single-core performance. In fact the iMac?s Core i7 should be at least twice as fast as the AMDs in the test machines when using a single core. This is due to the higher CPU- clock, the i7?s ability to hyperthread and it?s Turbo mode which boosts the clock to 3.6 GHz when using only one core. The architecture is way ahead of the AMDs as well. So this really was on the one hand the Problem of my trial and on the other hand the weakness of the current E-Prime build. Why not using the full capabilities of current CPUs? Back to my trial: Consequently I had to lower the CPU-usage during video playback. So I re-encoded my files into MPEG1 as stated by many forum threads and built a small trial only running the stimuli in a randomized order. Additionally I logged the Start and Finish Times of the slides. After some testing with various video resolutions and bit rates I came to the following conclusions. 1. the most important: take some time for intense testing and maxing out the stimulus quality (if necessary as in my case) 2. and probably the second most important: use very fast machines/CPUs with high single-core capabilities (i.e. Intel Core i5 and i7; an older 3 GHz Intel Quadcore worked flawless as well) for the trial to avoid performance issues and video jumping 3. preparation: deactivate any unnecessary services to maximize the machine performance (Windows-Key+A; type ?msconfig?; go to services; mark ?hide windows services? and deactivate all unnecessary services; go to system start and deactivate any unnecessary programs that would run in the background otherwise); also deinstall your virus scanning program and deactivate the Windows Defender (and its real time scanning ability); deactivate Windows 7 Aero; pluck out your network cable to avoid viruses ? 4. use MPEG1: this codec really IS CPU-friendly 5. in Codec Config I finally used the standard MPEG-codecs; only for audio I used ffdshow-Audio as provided by the K-lite codec packet 6. do NOT ? under any circumstances ? use the ?stretch video? function if you experience issues related to poor performance; instead aim for higher resolutions in the initial conversion process and display the videos 1:1 7. set ?stop after? to ?no? if you don?t need the function (don?t know if that really helped though ?) 8. the freezing-script-issue seemed to be related to the available video ram; every time the overall file size reached about 230 MB there was a 50% chance a system would freeze; so keep your file sizes small! Alternative: Use dedicated video cards with at least 512 MB of video ram 9. try to experiment with the bit rate; for me bit rates between 800 kbps and 1300 kbps worked quite well; every thing higher would lead to a freezing script; every thing lower lead to poor video quality; aim for a bitrate as high as possible (in fact the iMacs Core i7 could handle 6000 kbps in h.264 easily without any mistake; I settled with 1024x576 at 1000 fps for the AMDs, this led to 0,625 jumped videos in average per trial, nothing the final data could not handle) 10. video jumping can be observed by calculating the difference between the finish time and the start time of a slide; values lower than a threshold you have to define indicate jumped videos 11. run theses tests on all of your test systems at the same time to compare the results and write down any crashes and video jumps per system to compare individual system stability as well 12. finally, important to avoid losing cases: split your Experiment into the smallest possible count of parts; this way crashed parts can be re-initiated without starting allover again or loosing the participants data I really hope this helps! So good luck and interesting data for future experiments. --- Benny Liebold, B.A. Academic Assistant Chair of Media Psychology Institute of Media Research Faculty of Humanities Chemnitz University of Technology Th?ringer Weg 11, 09126 Chemnitz, Germany -- 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 jefriedel at gmail.com Wed Aug 31 15:18:14 2011 From: jefriedel at gmail.com (Jonathan Friedel) Date: Wed, 31 Aug 2011 08:18:14 -0700 Subject: Accuracy on the preceding n-trials In-Reply-To: <4e5bf842.52312a0a.743d.ffffed07SMTPIN_ADDED@gmr-mx.google.com> Message-ID: The description seems to fit a basic version of what I need, and I should be able to tweak it to do just what I want. Thanks for your help! Jon On Aug 29, 2:35?pm, David McFarlane wrote: > Jon, > > Stock reminder: ?1) I do not work for PST. ?2) PST's trained staff > takes any and all questions athttp://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... > > How about the "Criterion Based Exit" example downloadable from the > PST web site? > > -- David McFarlane, Professional Faultfinder > > At 8/29/2011 03:59 PM Monday, you wrote: > > > > > > > > >I am new to e-prime. ?I am trying to change from when block of trials > >to a second block of trails based on a 100% accuracy on the previous n > >trials. ?Unfortunately, I do not know what key words will help me > >search to find what I want. > > >Let us say have three conditions, A, B, and C, and each condition has > >20 different trials with in it. ?I can get e-prime to randomly select > >a condition and then trials. ?What I need is for a condition to > >continue infinitely, selecting trials randomly without replacement, > >until the some number (let's 4) of consecutive trials are correct. > >Once those four trials are correct, then eprime will randomly select > >the next condition. ?I appreciate that inline code will be necessary, > >but I am not sure what is necessary. > > >Can someone start to point me in the appropriate direction? > > >Thanks for the help, > > >Jon -- 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 santistevan64 at gmail.com Wed Aug 31 17:54:52 2011 From: santistevan64 at gmail.com (Anthony) Date: Wed, 31 Aug 2011 10:54:52 -0700 Subject: Slide time limit issues Message-ID: Hello All, The setup of this is a bit confusing, but I'll try to explain it as clearly as possible. I have a slide, SlideA, setup with a duration of zero and an infinite time limit. The problem is, clicks on slides that follow SlideA are recorded in the SlideA responses. I think the solution to this would be to set the duration of SlideA to a finite value. The problem is that this slide varies in length due to however long the subject takes to advance the slide. What I think I need to do is set the time limit of the SlideA to the actual duration of said slide during the experiment, but I am at a loss of how to set time limits to variable lengths. Thanks a ton, and I'll give further clarifications if necessary. -- 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 santistevan64 at gmail.com Wed Aug 31 20:51:42 2011 From: santistevan64 at gmail.com (Anthony) Date: Wed, 31 Aug 2011 13:51:42 -0700 Subject: Slide time limit issues In-Reply-To: <4307f6ed-43f2-4da6-b290-fd40f1a06f51@j4g2000prh.googlegroups.com> Message-ID: Never mind, simple fix. For any who may be having the same problem, just stick an inline following the stimulus page with the following code: STIMULUSSLIDE.InputMasks.Terminate -Anthony On Aug 31, 10:54?am, Anthony wrote: > Hello All, > > The setup of this is a bit confusing, but I'll try to explain it as > clearly as possible. I have a slide, SlideA, setup with a duration of > zero and an infinite time limit. The problem is, clicks on slides that > follow SlideA are recorded in the SlideA responses. I think the > solution to this would be to set the duration of SlideA to a finite > value. The problem is that this slide varies in length due to however > long the subject takes to advance the slide. What I think I need to do > is set the time limit of the SlideA to the actual duration of said > slide during the experiment, but I am at a loss of how to set time > limits to variable lengths. > > Thanks a ton, and I'll give further clarifications if necessary. -- 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.