From pquain at une.edu.au Tue Sep 1 06:39:53 2009 From: pquain at une.edu.au (Peter Quain) Date: Tue, 1 Sep 2009 16:39:53 +1000 Subject: PreRelease?? In-Reply-To: <4a9c1b60.5344f10a.6697.26cbSMTPIN_ADDED@gmr-mx.google.com> Message-ID: ahhh .. Thanks, David. BTW, I like "... minimally out of context" !! like saying "my dog is minimally not alive." At 04:49 AM 1/09/2009, you wrote: >Peter, > >At 8/30/2009 12:30 PM Sunday, you wrote: > > From e-basic help (both versions 1, and 2) > >---------------------------------------------- > >Syntax > > > >RteRunnableInputObject.PreRelease > > >¨ This property is used only with > >Cumulative Timing Mode. It is ignored in Event timing. > >Thanks for noticing this, and for bringing it to >our attention here. I brought this up on the PST >Forum over a year ago (in the context of the >topic "Size of Image Files", see >http://support.pstnet.com/forum/Topic1197-5-1.aspx >), and got this response from Brandon Cernicky: > >"... thank you for bringing a significant >oversight in the E-Basic help file to our >attention. The documentation you mentioned in >RteRunnableInputObject.PreRelease is minimally >out of context and the statement about PreRelease >being ignored in Event timing mode is just plain >inaccurate. We have typically not referred end >users to the E-Basic help for this specific >property instead towards the Critical Timing >Chapter in the manuals. Thanks again for bring >this to our attention so that it can be corrected. > >"The use of PreRelease works the same for both >Cumulative and Event timing modes. Cumulative >timing mode depends more on PreRelease because of >its temporal sync mechanisms. But Event timing >requires the benefits of PreRelease just as well." > > >Hope that clarifies that issue. Also FWIW, as >far as I can tell, the E-Basic Help that comes >with EP2 contains exactly the same content as in >EP1 -- in particular, the EP2 Help lacks any >documentation on new features added in EP2. So I >expect that any errors in the EP1 Help carry over unchanged into the EP2 Help. > >-- 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 janhoffm at mail.uni-mannheim.de Wed Sep 2 09:53:42 2009 From: janhoffm at mail.uni-mannheim.de (janpsy) Date: Wed, 2 Sep 2009 02:53:42 -0700 Subject: Multiple responses in a dual-task paradigm Message-ID: Hello, at the moment I am programming a dual-task paradigm where the secondary task consists of pressing the space bar randomly. As a primary task the subjects are typing numbers. So I have a slide with two keyboard input masks from which I like to grab multiple responses. How can I save my data separately? Or in other words, how are the two keyboard input masks called in e-Basic? Thanks a lot for your help, Janina --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 jeff.larsen at ttu.edu Wed Sep 2 22:15:27 2009 From: jeff.larsen at ttu.edu (Larsen, Jeff) Date: Wed, 2 Sep 2009 17:15:27 -0500 Subject: problems with long video files In-Reply-To: Message-ID: Hi all -- I've been having a hard time with the MovieDisplay object. Things seem to work OK with short movies, but I need to play a 20-min movie. A variety of bad things happen when I try to do this. For instance, midway through the movie the audio begins to lag behind the audio. If I try to have separate MovieDisplay objects, each playing a single minute of the movie, Eprime will freeze up before it reaches the end of the third minute. Has anyone had any troubles like this? -- Jeff ******************************************************* Jeff T. Larsen, PhD Department of Psychology Texas Tech University Phone: 806-742-3711 x234 Fax: 806-742-0818 Email: jeff.larsen at ttu.edu Webpage: http://webpages.acs.ttu.edu/jelarsen/ ******************************************************* --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 ll356 at medschl.cam.ac.uk Thu Sep 3 10:26:04 2009 From: ll356 at medschl.cam.ac.uk (River) Date: Thu, 3 Sep 2009 03:26:04 -0700 Subject: PreRelease?? In-Reply-To: <200909010640.n816eX2f006357@mail13.tpg.com.au> Message-ID: David & Peter, Thanks so much for all the extensive guidance on my Onset Delay/ PreRelease Queries. I have successfully managed to get my OnsetDelay down to -1 (!) thanks to using the preloading without canvas script and without having to shrink my images or reduce their colour resolution. I am a happy (eprime) camper indeed. With regards to the Event mode use of PreRelease, I can further confirm that PreRelease does seem to work with Event mode as it did reduce my OnsetDelay (prior to using PreLoad script). many thanks, R On Sep 1, 7:39 am, Peter Quain wrote: > ahhh .. Thanks, David. BTW, I like "... minimally > out of context"  !! like saying "my dog is minimally not alive." > > At 04:49 AM 1/09/2009, you wrote: > > > > >Peter, > > >At 8/30/2009 12:30 PM Sunday, you wrote: > > > From e-basic help (both versions 1, and 2) > > >---------------------------------------------- > > >Syntax > > > >RteRunnableInputObject.PreRelease > > > > >¨       This property is used only with > > >Cumulative Timing Mode.  It is ignored in Event timing. > > >Thanks for noticing this, and for bringing it to > >our attention here.  I brought this up on the PST > >Forum over a year ago (in the context of the > >topic "Size of Image Files", see > >http://support.pstnet.com/forum/Topic1197-5-1.aspx > >), and got this response from Brandon Cernicky: > > >"... thank you for bringing a significant > >oversight in the E-Basic help file to our > >attention.  The documentation you mentioned in > >RteRunnableInputObject.PreRelease is minimally > >out of context and the statement about PreRelease > >being ignored in Event timing mode is just plain > >inaccurate.  We have typically not referred end > >users to the E-Basic help for this specific > >property instead towards the Critical Timing > >Chapter in the manuals.  Thanks again for bring > >this to our attention so that it can be corrected. > > >"The use of PreRelease works the same for both > >Cumulative and Event timing modes.  Cumulative > >timing mode depends more on PreRelease because of > >its temporal sync mechanisms.  But Event timing > >requires the benefits of PreRelease just as well." > > >Hope that clarifies that issue.  Also FWIW, as > >far as I can tell, the E-Basic Help that comes > >with EP2 contains exactly the same content as in > >EP1 -- in particular, the EP2 Help lacks any > >documentation on new features added in EP2.  So I > >expect that any errors in the EP1 Help carry over unchanged into the EP2 Help. > > >-- David McFarlane, Professional Faultfinder- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Thu Sep 3 15:00:08 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 3 Sep 2009 11:00:08 -0400 Subject: problems with long video files In-Reply-To: Message-ID: Jeff, For the record, do you use EP2 under Vista or XP? MovieDisplay is known to have problems under Vista (just run a search on the E-Prime Google Group or the PST Forum to see for yourself). No ideas if you still have trouble under XP. BTW, I notice that in the E-Prime Google Group the topic "Multiple responses in a dual-task paradigm" got changed to "problems with long video files", which is where this post appears. This makes for a confusing thread in the archive, making it hard for others to find things in the future (or am I wrong to think of this Group as a problem-solving aid going forward?). Please everyone, let's avoid this in the future. If you want to actually post a new question, please do not alter an existing unrelated thread. Thanks. -- David McFarlane, Professional Faultfinder At 9/2/2009 06:15 PM Wednesday, you wrote: >I've been having a hard time with the MovieDisplay object. Things >seem to work OK with short movies, but I need to play a 20-min >movie. A variety of bad things happen when I try to do this. For >instance, midway through the movie the audio begins to lag behind >the audio. If I try to have separate MovieDisplay objects, each >playing a single minute of the movie, Eprime will freeze up before >it reaches the end of the third minute. Has anyone had any troubles like this? > >-- Jeff --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Sep 3 15:15:39 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 3 Sep 2009 11:15:39 -0400 Subject: Multiple responses in a dual-task paradigm In-Reply-To: Message-ID: Janina, Ah yes, as explained in the InputMask Object topic of the online E-Basic Help, E-Prime only stores the results from *one* input mask of an object with multiple input masks. Here is the relevant passage in full: "When dealing with multiple InputMask objects, the rule of thumb to remember is that the RteRunnableInputObject's mirror properties (ACC, RESP, RT, RTTime, CRESP) will reflect the last mask to have processed a response or timed out. Therefore, if two input masks are to be disarmed if the InputMask.TerminationResponse = {ENTER}, then the properties for the input mask that was added last to the InputMaskManager will have its properties reflected in the RteRunnableInputObject's mirror properties. In E-Studio, the order that the input masks appear in the Duration/Input property page is the order in which they will be added to the InputMaskManager object. When an input mask is disarmed as a result of another mask completing, it does not update its information to the RteRunnableInputObject's mirror properties. For example, if the first mask meets its max count, then the RteRunnableInputObject mirror properties reflects the values in the first mask, and not the second, third, etc." To save data separately, you will need some inline script. The Multiple Response Collection example from the Downloads area of the PST web site may help you with that (you will have to register and login to have access to the Downloads area). -- David McFarlane, Professional Faultfinder At 9/2/2009 05:53 AM Wednesday, you wrote: >at the moment I am programming a dual-task paradigm where the >secondary task consists of pressing the space bar randomly. As a >primary task the subjects are typing numbers. So I have a slide with >two keyboard input masks from which I like to grab multiple responses. >How can I save my data separately? Or in other words, how are the two >keyboard input masks called in e-Basic? > >Thanks a lot for your help, > >Janina --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From tobias.fw at gmail.com Fri Sep 4 11:30:09 2009 From: tobias.fw at gmail.com (Tobi) Date: Fri, 4 Sep 2009 04:30:09 -0700 Subject: Using ERTS keys in E-Prime Message-ID: Hi everyone, does anyone of you have experience with using ERTS key with E-Prime. I used to work with the DOS-based ERTS for quite a long time and prefer its response keys, there are several sizes and they are quite handy as compared to the PST response box. Thanks a lot, Tobias --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From tobias.fw at gmail.com Fri Sep 4 17:40:20 2009 From: tobias.fw at gmail.com (Tobi) Date: Fri, 4 Sep 2009 10:40:20 -0700 Subject: correct answer depending on "group" startup information Message-ID: Hi everyone, I have a question concerning the "group" variable than can be prompted for in the beginning of each session. I want to change the correct answer key according to this group variable (and change the key assignment as a consequence of corse). In a very easy example there might be a trials with a target or no target (blank). One group should answer with "w" for TARGET and "q" for BLANK, the other group the other way round: LIST: ID Procedure corrAns ------------------------------- 1 blank [no] 1 target [yes] I used this InLineas the very first line: dim yes, no if group = 1 then yes = "q" and no = "w" if group = 2 then yes = "w" and no = "q" Unfortunately I get the error message "Unknown function "group"". What does that mean? I am not so familiar with Basic, so any help might be very cool. Maybe you have other suggestions to change key assignment by the help of startup information. Thanks a lot, Tobias --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From tobias.fw at gmail.com Fri Sep 4 22:10:53 2009 From: tobias.fw at gmail.com (Tobi) Date: Fri, 4 Sep 2009 15:10:53 -0700 Subject: correct answer depending on "group" startup information In-Reply-To: Message-ID: To be more understandable, here are two screenshots, one of the list and one of the InLine: http://chilion.com/probl1.JPG http://chilion.com/probl2.JPG On 4 Sep., 19:40, Tobi wrote: > Hi everyone, > > I have a question concerning the "group" variable than can be prompted > for in the beginning of each session. I want to change the correct > answer key according to this group variable (and change the key > assignment as a consequence of corse). > > In a very easy example there might be a trials with a target or no > target (blank). One group should answer with "w" for TARGET and "q" > for BLANK, the other group the other way round: > > LIST: > > ID             Procedure   corrAns > ------------------------------- > 1               blank           [no] > 1               target  [yes] > > I used this InLineas the very first line: > > dim yes, no > if group = 1 then yes = "q" and no = "w" > if group = 2 then yes = "w" and no = "q" > > Unfortunately I get the error message "Unknown function "group"". > What does that mean? I am not so familiar with Basic, so any help > might be very cool. > Maybe you have other suggestions to change key assignment by the help > of startup information. > > Thanks a lot, > Tobias --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From shinyi.fang at gmail.com Sat Sep 5 21:08:56 2009 From: shinyi.fang at gmail.com (Shin-Yi Fang) Date: Sat, 5 Sep 2009 17:08:56 -0400 Subject: correct answer depending on "group" startup information In-Reply-To: <73f4e5f3-98fe-4365-8c77-d6babb66273f@s39g2000yqj.googlegroups.com> Message-ID: Hi, I think group is not really a variable. It is an attribute. You will need getattrib function. The following script probably is what you need. if c.GetAttrib("group") = 1 then List1.SetAttrib 1, "corrAns", "w" List1.SetAttrib 2, "corrAns", "q" else List1.SetAttrib 1, "corrAns", "q" List1.SetAttrib 2, "corrAns", "w" end if Best, Shin-Yi List1.SetAttrib 1 "corrAns")yes = "q" and no = "w" > if group = 2 then yes = "w" and no = "q" On Fri, Sep 4, 2009 at 6:10 PM, Tobi wrote: > > To be more understandable, here are two screenshots, one of the list > and one of the InLine: > > http://chilion.com/probl1.JPG > http://chilion.com/probl2.JPG > > > On 4 Sep., 19:40, Tobi wrote: > > Hi everyone, > > > > I have a question concerning the "group" variable than can be prompted > > for in the beginning of each session. I want to change the correct > > answer key according to this group variable (and change the key > > assignment as a consequence of corse). > > > > In a very easy example there might be a trials with a target or no > > target (blank). One group should answer with "w" for TARGET and "q" > > for BLANK, the other group the other way round: > > > > LIST: > > > > ID Procedure corrAns > > ------------------------------- > > 1 blank [no] > > 1 target [yes] > > > > I used this InLineas the very first line: > > > > dim yes, no > > if group = 1 then yes = "q" and no = "w" > > if group = 2 then yes = "w" and no = "q" > > > > Unfortunately I get the error message "Unknown function "group"". > > What does that mean? I am not so familiar with Basic, so any help > > might be very cool. > > Maybe you have other suggestions to change key assignment by the help > > of startup information. > > > > Thanks a lot, > > Tobias > > > -- Ph.D. Student Department of Psychology University of Connecticut and Haskins Laboratories --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 liyansongrenzs at gmail.com Mon Sep 7 09:27:33 2009 From: liyansongrenzs at gmail.com (lickey1981) Date: Mon, 7 Sep 2009 02:27:33 -0700 Subject: About stop signal paradigm. Message-ID: Hello eprime experter, I am a new user of eprime. I am currently developing a task called stop signal task. But it is not easy for me to programme it using eprime because I know little about the script. My question is do those people who have the eprime version of the paradigm would like to share with me? Thanks in advance. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Sep 7 17:53:56 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 7 Sep 2009 13:53:56 -0400 Subject: correct answer depending on "group" startup information In-Reply-To: Message-ID: You may also need to do a List1.Reset after you make changes to the list. See the FactorSpace.Reset topic in the onine E-Basic Help. -- David McFarlane, Professional Faultfinder At 9/5/2009 05:08 PM Saturday, you wrote: >Hi, > >I think group is not really a variable. It is an attribute. You >will need getattrib function. The following script probably is what you need. > >if c.GetAttrib("group") = 1 then > List1.SetAttrib 1, "corrAns", "w" > List1.SetAttrib 2, "corrAns", "q" >else > List1.SetAttrib 1, "corrAns", "q" > List1.SetAttrib 2, "corrAns", "w" >end if > >Best, > >Shin-Yi > > > List1.SetAttrib 1 "corrAns")yes = "q" and no = "w" > > if group = 2 then yes = "w" and no = "q" > >On Fri, Sep 4, 2009 at 6:10 PM, Tobi ><tobias.fw at gmail.com> wrote: > >To be more understandable, here are two screenshots, one of the list >and one of the InLine: > >http://chilion.com/probl1.JPG >http://chilion.com/probl2.JPG > > >On 4 Sep., 19:40, Tobi ><tobias... at gmail.com> wrote: > > Hi everyone, > > > > I have a question concerning the "group" variable than can be prompted > > for in the beginning of each session. I want to change the correct > > answer key according to this group variable (and change the key > > assignment as a consequence of corse). > > > > In a very easy example there might be a trials with a target or no > > target (blank). One group should answer with "w" for TARGET and "q" > > for BLANK, the other group the other way round: > > > > LIST: > > > > ID Procedure corrAns > > ------------------------------- > > 1 blank [no] > > 1 target [yes] > > > > I used this InLineas the very first line: > > > > dim yes, no > > if group = 1 then yes = "q" and no = "w" > > if group = 2 then yes = "w" and no = "q" > > > > Unfortunately I get the error message "Unknown function "group"". > > What does that mean? I am not so familiar with Basic, so any help > > might be very cool. > > Maybe you have other suggestions to change key assignment by the help > > of startup information. > > > > Thanks a lot, > > Tobias > > > > >-- >Ph.D. Student >Department of Psychology >University of Connecticut >and >Haskins Laboratories --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 vladimir.lichev at googlemail.com Tue Sep 8 09:51:54 2009 From: vladimir.lichev at googlemail.com (Deeppack) Date: Tue, 8 Sep 2009 02:51:54 -0700 Subject: randomized block design Message-ID: Hey everyone, I’ve just started using e-prime and already have a simple question! Im trying to create a simple experiment with randomized blocks. My experiments consist of a learning- and test-phase. In the test there are three blocks to complete. I would like to have e-prime selecting the three blocks per random! Hope you have the solution! Deeppack --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Tue Sep 8 12:59:13 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 8 Sep 2009 08:59:13 -0400 Subject: randomized block design In-Reply-To: <254f16b2-3975-4a02-a9c6-37afeab90a0e@z30g2000yqz.googlegroups.com> Message-ID: Deeppack, I'm pretty sure that this is covered in Tutorial 1 of the Getting Started Guide that came with E-Prime, please give that a try. -- David McFarlane, Professional Faultfinder Deeppack wrote: > Hey everyone, > I’ve just started using e-prime and already have a simple question! > Im trying to create a simple experiment with randomized blocks. > My experiments consist of a learning- and test-phase. In the test > there are three blocks to complete. I would like to have e-prime > selecting the three blocks per random! > Hope you have the solution! > Deeppack --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 pbren004 at odu.edu Tue Sep 8 17:21:00 2009 From: pbren004 at odu.edu (Patricia B) Date: Tue, 8 Sep 2009 10:21:00 -0700 Subject: Feedback Help Message-ID: I am conducting an airport luggage screening and need to tailor my feedback to where there is a different feedback for each response. (Hit, Miss, False Alarm and Correct Rejection). Participants press Z to indicate that weapon is present and M to indicate that there is no weapon present. Hit: Z Z (Correct Response/ User Response) Miss: Z M False Alarm: M Z Correct Rejection: M M I have no idea how to write script. Please help. Thanks --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Tue Sep 8 21:36:11 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 8 Sep 2009 17:36:11 -0400 Subject: Feedback Help In-Reply-To: <6e7df9c9-f8ff-4a8f-9325-78e8871fba58@s39g2000yqj.googlegroups.com> Message-ID: Patricia, First off, if you really have no idea how to write script, then you *must* pause here and work through Chapter 4 of the User's Guide that came with E-Prime. I can wait... ... OK, did you *really* stop and work through Chapter 4? Then let us proceed ... You might do this with a simple TextDisplay object, or Text sub-objects within a slide, or you might go whole hog and use a Slide with multiple states. To use a text object, just use an attribute reference for your feedback text, e.g., [myFeedback] Then add a bit of inline script between your response object and your feedback object to assign a value to myFeedback. Suppose we call your response object ResponseText, and it uses the attribute CorrectKey for the correct response, then your script might look like this: If ResponseText.RESP = "Z" Then If ResponseText.CRESP = "Z" Then c.SetAttrib "myFeedback", "Hit" Else c.SetAttrib "myFeedback", "Miss" Else If ResponseText.CRESP = "Z" Then c.SetAttrib "myFeedback", "FA" Else c.SetAttrib "myFeedback", "Correct Rejection" End If Or if you prefer, you can do this using the correct response scoring built in to E-Prime: If ResponseText.CORR Then If ResponseText.RESP = "Z" Then c.SetAttrib "myFeedback", "Hit" Else c.SetAttrib "myFeedback", "Correct Rejection" Else If ResponseText.RESP = "Z" Then c.SetAttrib "myFeedback", "FA" Else c.SetAttrib "myFeedback", "Miss" End If Finally, at the risk of some obfuscation, you could make use of the Iif() function to compact this to: If ResponseText.CORR Then c.SetAttrib "myFeedback", Iif( ResponseText.RESP = "Z", "Hit", "Correct Rejection" ) Else c.SetAttrib "myFeedback", Iif( ResponseText.RESP = "Z", "FA", "Miss" ) End If It's really up to you and your programming style. You could instead do this with a Slide with multiple states, one state each for Hit, Miss, False Alarm, and Correct Rejection. Then you might keep all the slide text and design static, and just flip the state depending on the response. I can only give a sketch of how to approach this. First, to learn more about using Slides I would look through the manuals that came with E-Prime, and browse through the Slide topic in the online E-Basic Help (unfortunatley, I did not find any "Slide with multiple states" sample on the PST web site, perhaps they could add one?). Then to really understand how to script this and how to invoke the separate slide states, I would create a Slide with multiple states and then look at the script that E-Prime generates for me. In fact I figure out a lot of things in E-Prime just by looking at the script that E-Prime generates for me. I have used a number of terms here that may be new to you (Iif, SetAttrib, etc.), in general to learn more about these please look in the online E-Basic Help. -- David McFarlane, Professional Faultfinder > I am conducting an airport luggage screening and need to tailor my > feedback to where there is a different feedback for each response. > (Hit, Miss, False Alarm and Correct Rejection). Participants press Z > to indicate that weapon is present and M to indicate that there is no > weapon present. > Hit: Z Z (Correct Response/ User Response) > Miss: Z M > False Alarm: M Z > Correct Rejection: M M > > I have no idea how to write script. Please help. Thanks --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Wed Sep 9 11:45:32 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 9 Sep 2009 07:45:32 -0400 Subject: Feedback Help In-Reply-To: <4AA6CE4B.1090109@msu.edu> Message-ID: Oops. I was in a rush when I wrote my reply last night, plus I had a head/chest cold. Please replace .CORR everywhere with .ACC. But you already figured that out. Thank you. -- 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 tobias.fw at gmail.com Wed Sep 9 18:38:05 2009 From: tobias.fw at gmail.com (Tobi) Date: Wed, 9 Sep 2009 11:38:05 -0700 Subject: Inline for calling feedback screen in unreferenced objects Message-ID: Dear colleagues, I am having a strange problem using an inline code that refers to a TextDisplay in unreferenced objects. First I had a feedback TextDisplay between two blocklists (to show mean performance after blocks) and it worked fine with these Inlines: (1. Summation reset) Set g_theSummationP = New Summation Set g_theSummationPRT = New Summation (2. summation each trial) g_theSummationP.AddObservation mask2.Acc g_theSummationPRT.AddObservation mask2.RT (3. variable setting) c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * 100)), "0.00") c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), "0.00") And then there was Feedback (TextDisplay) with this content: "Your result: Mean Reaction Time: [BlockRTP] ms Correctness: [BlockAccuracyP]%" Well, that worked fine, I got feedback after each block. Now I wanted Feedback more often, not only after blocklists, but after 48 trials. So I used this Inline: If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 48 = 0 Then c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * 100)), "0.00") c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), "0.00") TextDisplay2.InputMasks.Add Keyboard.CreateInputMask("{ANY}", "", CLng (TextDisplay2.Duration), CLng("1"), ebEndResponseActionTerminate, CLogical("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") TextDisplay2.Run Set g_theSummationP = New Summation Set g_theSummationPRT = New Summation Set g_theSummationS = New Summation Set g_theSummationSRT = New Summation End If TextDisplay was in unreferenced objects. I was already using this "trick" to insert a break (break display in unreferenced objects) in order to have a break every X trials, independent of blocks etc. Now what I get is that it is actually calling TextDisplay2 (which is the feedback) but the screen is blank (that is no text, only background can be seen). If I leave away the variables [BlockAccuracyP] and [BlockRTP] it is working, though! Do I need to specify variables in the inline when they are used in displays that are in the unreferenced objects? If yes, how? Thank you very much for you patience and potential help! Cheers, Tobias --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From tobias.fw at gmail.com Fri Sep 11 12:29:10 2009 From: tobias.fw at gmail.com (Tobi) Date: Fri, 11 Sep 2009 05:29:10 -0700 Subject: Inline for calling feedback screen in unreferenced objects In-Reply-To: Message-ID: Hi again, doing some more work on this strange E-Prime behaviour, I found out that every Inline, calling for an objects (no matter if elsewhere in the program or in unreferenced objects) will cause the object to show only the background and no text as long as some variable or attribute (in square brackets) is embedded in the text. So it seems to be a general problem. Still, maybe some of you know a solution... Tobias On 9 Sep., 20:38, Tobi wrote: > Dear colleagues, > > I am having a strange problem using an inline code that refers to a > TextDisplay in unreferenced objects. > > First I had a feedback TextDisplay between two blocklists (to show > mean performance after blocks) and it worked fine with these Inlines: > > (1. Summation reset) > Set g_theSummationP = New Summation > Set g_theSummationPRT = New Summation > > (2. summation each trial) > g_theSummationP.AddObservation mask2.Acc > g_theSummationPRT.AddObservation mask2.RT > > (3. variable setting) > c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * > 100)), "0.00") > c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > "0.00") > > And then there was Feedback (TextDisplay) with this content: > "Your result: > > Mean Reaction Time: > [BlockRTP] ms > > Correctness: > [BlockAccuracyP]%" > > Well, that worked fine, I got feedback after each block. Now I wanted > Feedback more often, not only after blocklists, but after 48 trials. > So I used this Inline: > > If c.GetAttrib(c.GetAttrib("Running") & ".Sample")  MOD 48 = 0 Then >         c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * > 100)), "0.00") >         c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > "0.00") >         TextDisplay2.InputMasks.Add Keyboard.CreateInputMask("{ANY}", "", CLng > (TextDisplay2.Duration), CLng("1"), ebEndResponseActionTerminate, > CLogical("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") >         TextDisplay2.Run >         Set g_theSummationP = New Summation >         Set g_theSummationPRT = New Summation >         Set g_theSummationS = New Summation >         Set g_theSummationSRT = New Summation > End If > > TextDisplay was in unreferenced objects. I was already using this > "trick" to insert a break (break display in unreferenced objects) in > order to have a break every X trials, independent of blocks etc. > > Now what I get is that it is actually calling TextDisplay2 (which is > the feedback) but the screen is blank (that is no text, only > background can be seen). If I leave away the variables > [BlockAccuracyP] and [BlockRTP] it is working, though! Do I need to > specify variables in the inline when they are used in displays that > are in the unreferenced objects? If yes, how? > > Thank you very much for you patience and potential help! > Cheers, > Tobias --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From pquain at une.edu.au Fri Sep 11 13:14:22 2009 From: pquain at une.edu.au (Peter Quain) Date: Fri, 11 Sep 2009 23:14:22 +1000 Subject: Inline for calling feedback screen in unreferenced objects In-Reply-To: Message-ID: Not sure I understand what the problem is, but maybe try something like this to set the FeedBack text?: Dim urrt, uracc As Single urrt = c.GetAttrib "BlockRTP" uracc = c.GetAttrib "BlockAccuracyP" Dim str1, str2 As String str1 = "Your Result: " & vbCrLf & vbCrLf & "Mean Reaction Time: " & urrt & " ms" & vbCrLf & vbCrLf str2 = "Correctness: " & uracc & "%" TextDisplay2.Text = str1 & str2 At 10:29 PM 11/09/2009, you wrote: >Hi again, > >doing some more work on this strange E-Prime behaviour, I found out >that every Inline, calling for an objects (no matter if elsewhere in >the program or in unreferenced objects) will cause the object to show >only the background and no text as long as some variable or attribute >(in square brackets) is embedded in the text. So it seems to be a >general problem. Still, maybe some of you know a solution... > >Tobias > >On 9 Sep., 20:38, Tobi wrote: > > Dear colleagues, > > > > I am having a strange problem using an inline code that refers to a > > TextDisplay in unreferenced objects. > > > > First I had a feedback TextDisplay between two blocklists (to show > > mean performance after blocks) and it worked fine with these Inlines: > > > > (1. Summation reset) > > Set g_theSummationP = New Summation > > Set g_theSummationPRT = New Summation > > > > (2. summation each trial) > > g_theSummationP.AddObservation mask2.Acc > > g_theSummationPRT.AddObservation mask2.RT > > > > (3. variable setting) > > c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * > > 100)), "0.00") > > c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > > "0.00") > > > > And then there was Feedback (TextDisplay) with this content: > > "Your result: > > > > Mean Reaction Time: > > [BlockRTP] ms > > > > Correctness: > > [BlockAccuracyP]%" > > > > Well, that worked fine, I got feedback after each block. Now I wanted > > Feedback more often, not only after blocklists, but after 48 trials. > > So I used this Inline: > > > > If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 48 = 0 Then > > c.SetAttrib "BlockAccuracyP", > Format(CStr(CDbl(g_theSummationP.Mean * > > 100)), "0.00") > > c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > > "0.00") > > TextDisplay2.InputMasks.Add > Keyboard.CreateInputMask("{ANY}", "", CLng > > (TextDisplay2.Duration), CLng("1"), ebEndResponseActionTerminate, > > CLogical("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") > > TextDisplay2.Run > > Set g_theSummationP = New Summation > > Set g_theSummationPRT = New Summation > > Set g_theSummationS = New Summation > > Set g_theSummationSRT = New Summation > > End If > > > > TextDisplay was in unreferenced objects. I was already using this > > "trick" to insert a break (break display in unreferenced objects) in > > order to have a break every X trials, independent of blocks etc. > > > > Now what I get is that it is actually calling TextDisplay2 (which is > > the feedback) but the screen is blank (that is no text, only > > background can be seen). If I leave away the variables > > [BlockAccuracyP] and [BlockRTP] it is working, though! Do I need to > > specify variables in the inline when they are used in displays that > > are in the unreferenced objects? If yes, how? > > > > Thank you very much for you patience and potential help! > > Cheers, > > Tobias > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From pquain at une.edu.au Fri Sep 11 13:46:57 2009 From: pquain at une.edu.au (Peter Quain) Date: Fri, 11 Sep 2009 23:46:57 +1000 Subject: Inline for calling feedback screen in unreferenced objects Message-ID: ...oh. not sure if e-basic accepts &vbCrLf as line space character. If not use \n instead: Rest.text = "Thank you."&_ "\n" &_ "Take a rest now, and relax your eyes."&_ "\n" &_ "\n" &_ "ONLY " & numleft & " BLOCKS TO GO NOW."&_ "\n" &_ "\n" &_ "Please stop complaining. Remember - you are doing this for course credit. "&_ "\n" &_ "Please wait for the experimenter to tell you when to begin the next block of trials." At 10:29 PM 11/09/2009, you wrote: >Hi again, > >doing some more work on this strange E-Prime behaviour, I found out >that every Inline, calling for an objects (no matter if elsewhere in >the program or in unreferenced objects) will cause the object to show >only the background and no text as long as some variable or attribute >(in square brackets) is embedded in the text. So it seems to be a >general problem. Still, maybe some of you know a solution... > >Tobias > >On 9 Sep., 20:38, Tobi wrote: > > Dear colleagues, > > > > I am having a strange problem using an inline code that refers to a > > TextDisplay in unreferenced objects. > > > > First I had a feedback TextDisplay between two blocklists (to show > > mean performance after blocks) and it worked fine with these Inlines: > > > > (1. Summation reset) > > Set g_theSummationP = New Summation > > Set g_theSummationPRT = New Summation > > > > (2. summation each trial) > > g_theSummationP.AddObservation mask2.Acc > > g_theSummationPRT.AddObservation mask2.RT > > > > (3. variable setting) > > c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * > > 100)), "0.00") > > c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > > "0.00") > > > > And then there was Feedback (TextDisplay) with this content: > > "Your result: > > > > Mean Reaction Time: > > [BlockRTP] ms > > > > Correctness: > > [BlockAccuracyP]%" > > > > Well, that worked fine, I got feedback after each block. Now I wanted > > Feedback more often, not only after blocklists, but after 48 trials. > > So I used this Inline: > > > > If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 48 = 0 Then > > c.SetAttrib "BlockAccuracyP", > Format(CStr(CDbl(g_theSummationP.Mean * > > 100)), "0.00") > > c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > > "0.00") > > TextDisplay2.InputMasks.Add > Keyboard.CreateInputMask("{ANY}", "", CLng > > (TextDisplay2.Duration), CLng("1"), ebEndResponseActionTerminate, > > CLogical("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") > > TextDisplay2.Run > > Set g_theSummationP = New Summation > > Set g_theSummationPRT = New Summation > > Set g_theSummationS = New Summation > > Set g_theSummationSRT = New Summation > > End If > > > > TextDisplay was in unreferenced objects. I was already using this > > "trick" to insert a break (break display in unreferenced objects) in > > order to have a break every X trials, independent of blocks etc. > > > > Now what I get is that it is actually calling TextDisplay2 (which is > > the feedback) but the screen is blank (that is no text, only > > background can be seen). If I leave away the variables > > [BlockAccuracyP] and [BlockRTP] it is working, though! Do I need to > > specify variables in the inline when they are used in displays that > > are in the unreferenced objects? If yes, how? > > > > Thank you very much for you patience and potential help! > > Cheers, > > Tobias > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From adamosth at gmail.com Fri Sep 11 18:13:03 2009 From: adamosth at gmail.com (Adam Osth) Date: Fri, 11 Sep 2009 14:13:03 -0400 Subject: End a for loop early in ebasic? Message-ID: Hello all, I have a program in e-basic that takes two arrays and combines them, then randomizes and recombines them. Since I can't reuse any combinations that were in place previously, I have a loop structure in place to detect whether the combinations have been used. It goes something like this. HeadColor(7) As String HeadShape(7) As String (takes values for each) For a = 0 to a = 7 Heads(a) = HeadColor(a) + HeadShape(a) /*randomize and check for repeats Nomatch As Boolean Nomatch = false Matches As Integer While Nomatch = false Randomize HeadColor Randomize HeadShape * For b = 0 to b = 7 If HeadColor(b) + HeadShape(b) = Heads(b) Matches = Matches + 1* End If Next b If Matches = 0 Nomatch = true Wend Now -- in the highlighted FOR loop, if the If statement is true, it is basically saying that the entire While loop needs to be repeated and re-randomized (a match is present). Thus, the rest of the For loop is irrelevant. Is there a statement that can be used to end the for loop, like a break or end statement? Also, if my code is horribly inefficient, feel free to critique me as I'm not a trained programmer. Any help would be appreciated! Thanks! Adam --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 mcgree at gmail.com Fri Sep 11 18:46:31 2009 From: mcgree at gmail.com (mcgree) Date: Fri, 11 Sep 2009 11:46:31 -0700 Subject: Displaying The Information Within An Array Message-ID: Hello, I am new to E Prime but I have had a little experience with other programming languages. Currently, I am trying to fill an array with information and then display the information from a particular trial number at the end of that trial. However, when I run the program I get an error when it goes to display the information (on the feedback screen) from the array. The code looks like the following: You made [Hits(TrialNumber)] hits. You made [Misses(TrialNumber)] misses. You made [FalseAlarms(TrialNumber)] false alarms. Can anyone help me set this up correctly or provide a source for more information? Any help would be appreciated! Thanks in advance! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From tobias.fw at gmail.com Sat Sep 12 13:40:52 2009 From: tobias.fw at gmail.com (Tobi) Date: Sat, 12 Sep 2009 06:40:52 -0700 Subject: Inline for calling feedback screen in unreferenced objects In-Reply-To: <200909111408.n8BE8Kka018121@mail13.tpg.com.au> Message-ID: Thanks, with your help it worked out: I use this code now: If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 80= 0 Then c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * 100)), "0.0") c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), "0") c.SetAttrib "BlockAccuracyS", Format(CStr(CDbl(g_theSummationS.Mean * 100)), "0.0") Dim probeRT, probeAcc, searchAcc probeRT = c.GetAttrib("BlockRTP") probeAcc = c.GetAttrib("BlockAccuracyP") searchAcc = c.GetAttrib("BlockAccuracyS") TextDisplay2.InputMasks.Add Keyboard.CreateInputMask("{ANY}", "", CLng (TextDisplay2.Duration), CLng("1"), ebEndResponseActionTerminate, CLogical("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") TextDisplay2.text = "performance: " & "\n\n\n\n" & "COLOR TASK" & "\n \n" & "Reaction Time: " & probeRT & " ms" & "\n" & "Correctness: " & probeAcc & " %" & "\n\n\n" & "SEARCH TASK" & "\n\n" & "Correctness: " & searchAcc & " %" & "\n\n\n" & "- Press button to continue -" TextDisplay2.run Set g_theSummationP = New Summation Set g_theSummationPRT = New Summation Set g_theSummationS = New Summation Set g_theSummationSRT = New Summation End if On 11 Sep., 15:46, Peter Quain wrote: > ...oh. not sure if e-basic accepts &vbCrLf as line space character. > If not use \n instead: > > Rest.text = "Thank you."&_ > "\n" &_ > "Take a rest now, and relax your eyes."&_ > "\n" &_ > "\n" &_ > "ONLY  " & numleft & " BLOCKS TO GO NOW."&_ > "\n" &_ > "\n" &_ > "Please stop complaining. Remember - you are doing this for course credit. "&_ > "\n" &_ > "Please wait for the experimenter to tell you when to begin the next > block of trials." > > At 10:29 PM 11/09/2009, you wrote: > > >Hi again, > > >doing some more work on this strange E-Prime behaviour, I found out > >that every Inline, calling for an objects (no matter if elsewhere in > >the program or in unreferenced objects) will cause the object to show > >only the background and no text as long as some variable or attribute > >(in square brackets) is embedded in the text. So it seems to be a > >general problem. Still, maybe some of you know a solution... > > >Tobias > > >On 9 Sep., 20:38, Tobi wrote: > > > Dear colleagues, > > > > I am having a strange problem using an inline code that refers to a > > > TextDisplay in unreferenced objects. > > > > First I had a feedback TextDisplay between two blocklists (to show > > > mean performance after blocks) and it worked fine with these Inlines: > > > > (1. Summation reset) > > > Set g_theSummationP = New Summation > > > Set g_theSummationPRT = New Summation > > > > (2. summation each trial) > > > g_theSummationP.AddObservation mask2.Acc > > > g_theSummationPRT.AddObservation mask2.RT > > > > (3. variable setting) > > > c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * > > > 100)), "0.00") > > > c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > > > "0.00") > > > > And then there was Feedback (TextDisplay) with this content: > > > "Your result: > > > > Mean Reaction Time: > > > [BlockRTP] ms > > > > Correctness: > > > [BlockAccuracyP]%" > > > > Well, that worked fine, I got feedback after each block. Now I wanted > > > Feedback more often, not only after blocklists, but after 48 trials. > > > So I used this Inline: > > > > If c.GetAttrib(c.GetAttrib("Running") & ".Sample")  MOD 48 = 0 Then > > >         c.SetAttrib "BlockAccuracyP", > > Format(CStr(CDbl(g_theSummationP.Mean * > > > 100)), "0.00") > > >         c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > > > "0.00") > > >         TextDisplay2.InputMasks.Add > > Keyboard.CreateInputMask("{ANY}", "", CLng > > > (TextDisplay2.Duration), CLng("1"), ebEndResponseActionTerminate, > > > CLogical("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") > > >         TextDisplay2.Run > > >         Set g_theSummationP = New Summation > > >         Set g_theSummationPRT = New Summation > > >         Set g_theSummationS = New Summation > > >         Set g_theSummationSRT = New Summation > > > End If > > > > TextDisplay was in unreferenced objects. I was already using this > > > "trick" to insert a break (break display in unreferenced objects) in > > > order to have a break every X trials, independent of blocks etc. > > > > Now what I get is that it is actually calling TextDisplay2 (which is > > > the feedback) but the screen is blank (that is no text, only > > > background can be seen). If I leave away the variables > > > [BlockAccuracyP] and [BlockRTP] it is working, though! Do I need to > > > specify variables in the inline when they are used in displays that > > > are in the unreferenced objects? If yes, how? > > > > Thank you very much for you patience and potential help! > > > Cheers, > > > Tobias --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Mon Sep 14 21:13:19 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 14 Sep 2009 17:13:19 -0400 Subject: End a for loop early in ebasic? In-Reply-To: <7ef748980909111113u7e58be10ob3872efcbca34c64@mail.gmail.co m> Message-ID: Adam, You may use Exit For to get out of a For loop early, please see the "Exit (keyword)" topic in the E-Basic online help and take it from there. On a style note, for some reason even young E-Prime programmers seem to latch on to the quaint and long deprecated While...Wend statement instead of using the much more serviceable and preferred Do...Loop construct (please see, e.g., http://msdn.microsoft.com/en-us/library/661sy9w2(VS.85).aspx ). I would ask everyone to abandon While...Wend in favor of Do...Loop; While...Wend went out with the Commodore 64! Finally, as in PST's NoRepeat.es example, you use a non-deterministic algorithm instead of a deterministic algorithm. I have discussed this elsewhere. But a deterministic algorithm, though arguably more efficient, takes some intricate programming, and your sample size is so small that I do not think it worth the effort. So I would have you continue with what you are doing. -- David McFarlane, Professional Faultfinder At 9/11/2009 02:13 PM Friday, you wrote: >Hello all, > >I have a program in e-basic that takes two arrays and combines them, >then randomizes and recombines them. Since I can't reuse any >combinations that were in place previously, I have a loop structure >in place to detect whether the combinations have been used. It goes >something like this. > >HeadColor(7) As String >HeadShape(7) As String >(takes values for each) >For a = 0 to a = 7 > Heads(a) = HeadColor(a) + HeadShape(a) > >/*randomize and check for repeats >Nomatch As Boolean >Nomatch = false >Matches As Integer > >While Nomatch = false > Randomize HeadColor > Randomize HeadShape > For b = 0 to b = 7 > If HeadColor(b) + HeadShape(b) = Heads(b) > Matches = Matches + 1 > End If > Next b > If Matches = 0 > Nomatch = true >Wend > >Now -- in the highlighted FOR loop, if the If statement is true, it >is basically saying that the entire While loop needs to be repeated >and re-randomized (a match is present). Thus, the rest of the For >loop is irrelevant. Is there a statement that can be used to end the >for loop, like a break or end statement? > >Also, if my code is horribly inefficient, feel free to critique me >as I'm not a trained programmer. > >Any help would be appreciated! Thanks! > >Adam --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Sep 14 21:23:39 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 14 Sep 2009 17:23:39 -0400 Subject: Displaying The Information Within An Array In-Reply-To: Message-ID: McGree, I assume that "You made [...]" is text from your feedback Text or Slide object. In that case you must learn that between the square brackets you must enter an "attribute reference", you may not use an actual variable there (an easy bit of confusion when coming to E-Prime from other programming systems). So you will need to change your feedback Text or Slide to something like You made [Hits] hits. You made [Misses] misses. You made [FalseAlarms] false alarms. And then in script before your feedback Text or Slide you might do something like c.SetAttrib "Hits", Hits(TrialNumber) c.SetAttrib "Misses", Misses(TrialNumber) c.SetAttrib "FalstAlarms", FalseAlarms(TrialNumber) (Note, BTW, that variables and attribute references may have the same name.) For more info, you might start with the Context Object topic in the online E-Basic Help. In general, the online E-Basic Help is the real documentation for E-Prime. Hope this helps, -- David McFarlane, Professional Faultfinder At 9/11/2009 02:46 PM Friday, you wrote: >Hello, > I am new to E Prime but I have had a little experience with other >programming languages. Currently, I am trying to fill an array with >information and then display the information from a particular trial >number at the end of that trial. However, when I run the program I >get an error when it goes to display the information (on the feedback >screen) from the array. The code looks like the following: >You made [Hits(TrialNumber)] hits. >You made [Misses(TrialNumber)] misses. >You made [FalseAlarms(TrialNumber)] false alarms. > >Can anyone help me set this up correctly or provide a source for more >information? Any help would be appreciated! Thanks in advance! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 debramalpass at yahoo.co.uk Tue Sep 15 13:08:13 2009 From: debramalpass at yahoo.co.uk (Deb Malpass) Date: Tue, 15 Sep 2009 06:08:13 -0700 Subject: Thread Error - Sound Buffer Message-ID: Hi All, I'm running an experiment that requires participants to listen to an auditory question and then respond following three beeps. The program runs fine during the first trial and then crashes during the second trial with the following error message: "Unable to communicate with thread that fills the sound buffer contents Extra1: 320000 Extra2: 0 Extra3: 421250 Extra4: No Extra 5: 2696 Error Number: -999" I'm running E-Prime v.2 on Windows XP. All of the .wav files are recorded as 16bit 22050Hz in stereo. The auditory question files are between 70 and 90KB in size and the beep file is 5KB. I'd be grateful if anyone has any insights in how to address this problem. Many Thanks, Debra Malpass --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Tue Sep 15 18:07:25 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 15 Sep 2009 14:07:25 -0400 Subject: Thread Error - Sound Buffer In-Reply-To: Message-ID: I would submit this sort of thing directly to PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp. -- David McFarlane, Professional Faultfinder At 9/15/2009 09:08 AM Tuesday, you wrote: >Hi All, > >I'm running an experiment that requires participants to listen to an >auditory question and then respond following three beeps. The program >runs fine during the first trial and then crashes during the second >trial with the following error message: > >"Unable to communicate with thread that fills the sound buffer >contents >Extra1: 320000 >Extra2: 0 >Extra3: 421250 >Extra4: No >Extra 5: 2696 > >Error Number: -999" > >I'm running E-Prime v.2 on Windows XP. All of the .wav files are >recorded as 16bit 22050Hz in stereo. The auditory question files are >between 70 and 90KB in size and the beep file is 5KB. > >I'd be grateful if anyone has any insights in how to address this >problem. > >Many Thanks, > >Debra Malpass --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Tue Sep 15 18:34:33 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 15 Sep 2009 14:34:33 -0400 Subject: tms pulse during video playing In-Reply-To: <4a11b9b0.0d0bca0a.0b32.41eaSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Well, I discovered I made a mistake in this reply, once again illustrating that no one should take my word for anything! As it turns out, E-Prime does have a mechanism for performing secondary actions or script during sound playback, and perhaps even movie playback. I was only thinking about what happens with a SoundOut object or sub-object placed directly in the structure. But as explained in the online E-Basic Help, you may do this with some inline script. In particular, SoundOut.Play will begin *asynchronous* sound playback, i.e., the sound file "begins playing and then program execution continues with the next object in the procedure." This would allow you to start your playback in script and then go on to run more script to manage TMS pulses, etc. while the sound continued to play. By contrast, SoundOut.Run (which is what happens when you just use the SoundOut object in the structure) begins *synchronous* sound playback, i.e., "Run does not return until the execution of all of the object is done." One would think that the new MovieDisplay object would have similar properties and methods to the SoundOut object, but so far PST has not provided any documentation. And we already know that MovieDisplay lacks a Loop property, in contrast to the SoundOut object (see http://support.pstnet.com/forum/Topic2772-12-1.aspx ), so I would not make any bets. Just wanted to correct the record, my apologies. -- David McFarlane, Professional Faultfinder At 5/18/2009 03:40 PM Monday, you wrote: >Hmm, you bring up an interesting limitation of movie presentation in >E-Prime. I also find the same limitation with sound >presentation. As far as I can tell, E-Prime has no mechanism to >perform secondary actions or script during the playback of sound or >movie files. With a lower level language (e.g., C or C++) I would >write a loop to keep refreshing the output buffer and checking the >clock to perform other actions, but I do not know how to do that with >E-Prime objects, or if that is even possible. I will be really >interested if someone more clever than me can post a solution. > >-- David McFarlane, Professional Faultfinder > > >At 5/12/2009 12:52 PM Tuesday, you wrote: > > >Hello everybody, > > > >I have some troubles with movies presentation: I'm trying to give a > >TMS pulse during the presentation of a video (it lasts 2 seconds so > >it's pretty short), at very precise timings, for example 767 > >milliseconds after the stimulus onset, while the video is still > >ongoing. > > > >I already did a similar experiment using images: I sat the stimulus > >duration time at 0, and it worked, but it doesn't with videos (the > >program shows just the frame zero). > > > >What kind of InLine should I write? > > > >And, how can I determine the pre-release time with movies? > > > >Thank you all, I really need some help. > > > >Ilaria. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 iubmartin at gmail.com Wed Sep 16 04:01:19 2009 From: iubmartin at gmail.com (Martin Yang) Date: Tue, 15 Sep 2009 21:01:19 -0700 Subject: Set the timing to record RT? Message-ID: Dear all, I'm still a rookie in E-Prime and designing an ABX discrimination task. I got a question about the timing to record RT. Does anyone know how to set the timing to record RT in E-Studio 2.0? I looked up the user's guide and it says that RT is always recorded from the onset of the response logging event. However, this is not the way I want. I need to record RT right AFTER subject has heard the audio stimuli. I tried two different methods, but none of them gave me accurate RTs. The first thing I tried was making the sound object itself as the response logging event, but in that case, RT would be measured from the onset of the event, which was BEFORE the whole sound file has been played to the subject and the RT would include the duration of the sound "file", which was way longer than subject's actual response. The second thing I tried was adding a "Wait" object which records RT AFTER the sound object. The duration of the sound object was set to 1500ms, but given that the length of sound files were all different, the wait object didn't immediately start right after the sound "file" was played. Rather, the wait object started after the whole 1500ms of sound object had elapsed. Now the problem is that subject may already start responding before the whole 1500ms has elapsed, so some parts of RT will be missing since subject starts responding before the wait object which records RT starts. So, does anyone have any idea to record RT right after the sound "file" has been played to the subject? Thank you in advance for your great help!! -Martin --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Wed Sep 16 04:31:01 2009 From: pquain at une.edu.au (Peter Quain) Date: Wed, 16 Sep 2009 14:31:01 +1000 Subject: Set the timing to record RT? In-Reply-To: <41b4e396-ce15-44c0-a92f-b85887316653@o21g2000vbl.googlegro ups.com> Message-ID: maybe something like this would work (or maybe not..): use 'dummy' object (a text object, duration = 0, wait for response = forever; response action = jump to label) just before sound object, to collect RT. There is a sample experiment on e-prime samples which illustrates this, maybe someone remembers its name? Is it CollectInputDuringInLine? Log onset time of dummy. Log offset time of sound object. Compute adjustRT = sound offset - dummy onset. After RT is collected, compute realRT = dummy.RT - adjustRT . Set realRT as attribute. At 02:01 PM 16/09/2009, you wrote: >Dear all, > >I'm still a rookie in E-Prime and designing an ABX discrimination >task. I got a question about the timing to record RT. Does anyone know >how to set the timing to record RT in E-Studio 2.0? I looked up the >user's guide and it says that RT is always recorded from the onset of >the response logging event. However, this is not the way I want. I >need to record RT right AFTER subject has heard the audio stimuli. I >tried two different methods, but none of them gave me accurate RTs. > >The first thing I tried was making the sound object itself as the >response logging event, but in that case, RT would be measured from >the onset of the event, which was BEFORE the whole sound file has been >played to the subject and the RT would include the duration of the >sound "file", which was way longer than subject's actual response. > >The second thing I tried was adding a "Wait" object which records RT >AFTER the sound object. The duration of the sound object was set to >1500ms, but given that the length of sound files were all different, >the wait object didn't immediately start right after the sound "file" >was played. Rather, the wait object started after the whole 1500ms of >sound object had elapsed. Now the problem is that subject may already >start responding before the whole 1500ms has elapsed, so some parts of >RT will be missing since subject starts responding before the wait >object which records RT starts. So, does anyone have any idea to >record RT right after the sound "file" has been played to the >subject? > >Thank you in advance for your great help!! > >-Martin > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Wed Sep 16 05:04:45 2009 From: pquain at une.edu.au (Peter Quain) Date: Wed, 16 Sep 2009 15:04:45 +1000 Subject: Set the timing to record RT? Message-ID: You say you're new to e-prime. Using dummy object, something like this in an inline before the end of a trial would log true RT from sound offset: dumOnset = c.GetAttrib("dummy.OnsetTime") dumRT = c.GetAttrib("dummy.RT") soundOffset = c.GetAttrib("soundObject.OffsetTime") adjustRT = soundOffset - dumOnset realRT = dumRT - adjustRT c.SetAttrib "ReactionTime", realRT maybe something like this would work (or maybe not..): use 'dummy' object (a text object, duration = 0, wait for response = forever; response action = jump to label) just before sound object, to collect RT. There is a sample experiment on e-prime samples which illustrates this, maybe someone remembers its name? Is it CollectInputDuringInLine? Log onset time of dummy. Log offset time of sound object. Compute adjustRT = sound offset - dummy onset. After RT is collected, compute realRT = dummy.RT - adjustRT . Set realRT as attribute. At 02:01 PM 16/09/2009, you wrote: >Dear all, > >I'm still a rookie in E-Prime and designing an ABX discrimination >task. I got a question about the timing to record RT. Does anyone know >how to set the timing to record RT in E-Studio 2.0? I looked up the >user's guide and it says that RT is always recorded from the onset of >the response logging event. However, this is not the way I want. I >need to record RT right AFTER subject has heard the audio stimuli. I >tried two different methods, but none of them gave me accurate RTs. > >The first thing I tried was making the sound object itself as the >response logging event, but in that case, RT would be measured from >the onset of the event, which was BEFORE the whole sound file has been >played to the subject and the RT would include the duration of the >sound "file", which was way longer than subject's actual response. > >The second thing I tried was adding a "Wait" object which records RT >AFTER the sound object. The duration of the sound object was set to >1500ms, but given that the length of sound files were all different, >the wait object didn't immediately start right after the sound "file" >was played. Rather, the wait object started after the whole 1500ms of >sound object had elapsed. Now the problem is that subject may already >start responding before the whole 1500ms has elapsed, so some parts of >RT will be missing since subject starts responding before the wait >object which records RT starts. So, does anyone have any idea to >record RT right after the sound "file" has been played to the >subject? > >Thank you in advance for your great help!! > >-Martin > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From tobias.fw at gmail.com Wed Sep 16 09:56:42 2009 From: tobias.fw at gmail.com (Tobi) Date: Wed, 16 Sep 2009 02:56:42 -0700 Subject: correct answer depending on "group" startup information In-Reply-To: Message-ID: Thank you, that works fine. Unfortunately, in my real experiment (this example was kept simple due to comprehensiveness) I don't have 2 lines in my list but 640. I guess there is an easier way than using 640*2 lines in this InLine. If I understand correctly, "List1.SetAttrib 1" changes the first line in the list and "List1.SetAttrib 2" changes the second line. That means, that the CorrAns value is replaced (see http://chilion.com/probl1.JPG ) no matter if [yes] or [no] was specified. In fact in my real experiment I also have only two variables. Easiest would be to change [yes] to let's say "D" and [no] to "F" if c.GetAttrib("group") = 1 and the other way round if it's 2. Is that possible? Thanks already in advance! Cheers, Tobias On 5 Sep., 23:08, Shin-Yi Fang wrote: > Hi, > > I think group is not really a variable. It  is an attribute. You will need > getattrib function. The following script probably is what you need. > > if c.GetAttrib("group") = 1 then >    List1.SetAttrib 1, "corrAns", "w" >    List1.SetAttrib 2, "corrAns", "q" > else >    List1.SetAttrib 1, "corrAns", "q" >    List1.SetAttrib 2, "corrAns", "w" > end if > > Best, > > Shin-Yi > >    List1.SetAttrib 1 "corrAns")yes = "q" and no = "w" > > > > > if group = 2 then yes = "w" and no = "q" > On Fri, Sep 4, 2009 at 6:10 PM, Tobi wrote: > > > To be more understandable, here are two screenshots, one of the list > > and one of the InLine: > > >http://chilion.com/probl1.JPG > >http://chilion.com/probl2.JPG > > > On 4 Sep., 19:40, Tobi wrote: > > > Hi everyone, > > > > I have a question concerning the "group" variable than can be prompted > > > for in the beginning of each session. I want to change the correct > > > answer key according to this group variable (and change the key > > > assignment as a consequence of corse). > > > > In a very easy example there might be a trials with a target or no > > > target (blank). One group should answer with "w" for TARGET and "q" > > > for BLANK, the other group the other way round: > > > > LIST: > > > > ID             Procedure   corrAns > > > ------------------------------- > > > 1               blank           [no] > > > 1               target  [yes] > > > > I used this InLineas the very first line: > > > > dim yes, no > > > if group = 1 then yes = "q" and no = "w" > > > if group = 2 then yes = "w" and no = "q" > > > > Unfortunately I get the error message "Unknown function "group"". > > > What does that mean? I am not so familiar with Basic, so any help > > > might be very cool. > > > Maybe you have other suggestions to change key assignment by the help > > > of startup information. > > > > Thanks a lot, > > > Tobias > > -- > Ph.D. Student > Department of Psychology > University of Connecticut > and > Haskins Laboratories --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Sep 16 16:03:52 2009 From: liwenna at gmail.com (liwenna) Date: Wed, 16 Sep 2009 09:03:52 -0700 Subject: correct answer depending on "group" startup information In-Reply-To: <8b4db3bf-299a-4bd7-8355-d2d409345c8b@z34g2000vbl.googlegroups.com> Message-ID: I think I posted a reply to this thread (I wrote one for sure ^.^) but it doesn't show up... my guess is that I hit 'reply to author' by accident, but I can't find a record of that anywhere. Tobias, if you didn't receive mail from me, let me know, then I'll repost (right now I am a bit lazy to do so... it's time for me to go home...). Have a good evening everyone! On Sep 16, 11:56 am, Tobi wrote: > Thank you, > > that works fine. Unfortunately, in my real experiment (this example > was kept simple due to comprehensiveness) I don't have 2 lines in my > list but 640. I guess there is an easier way than using 640*2 lines in > this InLine. If I understand correctly, "List1.SetAttrib 1" changes > the first line in the list and "List1.SetAttrib 2" changes the second > line. > > That means, that the CorrAns value is replaced (seehttp://chilion.com/probl1.JPG > ) no matter if [yes] or [no] was specified. In fact in my real > experiment I also have only two variables. Easiest would be to change > [yes] to let's say "D" and [no] to "F" if c.GetAttrib("group") = 1 and > the other way round if it's 2. > > Is that possible? > > Thanks already in advance! > > Cheers, > Tobias > > On 5 Sep., 23:08, Shin-Yi Fang wrote: > > > Hi, > > > I think group is not really a variable. It is an attribute. You will need > > getattrib function. The following script probably is what you need. > > > if c.GetAttrib("group") = 1 then > > List1.SetAttrib 1, "corrAns", "w" > > List1.SetAttrib 2, "corrAns", "q" > > else > > List1.SetAttrib 1, "corrAns", "q" > > List1.SetAttrib 2, "corrAns", "w" > > end if > > > Best, > > > Shin-Yi > > > List1.SetAttrib 1 "corrAns")yes = "q" and no = "w" > > > > if group = 2 then yes = "w" and no = "q" > > On Fri, Sep 4, 2009 at 6:10 PM, Tobi wrote: > > > > To be more understandable, here are two screenshots, one of the list > > > and one of the InLine: > > > >http://chilion.com/probl1.JPG > > >http://chilion.com/probl2.JPG > > > > On 4 Sep., 19:40, Tobi wrote: > > > > Hi everyone, > > > > > I have a question concerning the "group" variable than can be prompted > > > > for in the beginning of each session. I want to change the correct > > > > answer key according to this group variable (and change the key > > > > assignment as a consequence of corse). > > > > > In a very easy example there might be a trials with a target or no > > > > target (blank). One group should answer with "w" for TARGET and "q" > > > > for BLANK, the other group the other way round: > > > > > LIST: > > > > > ID Procedure corrAns > > > > ------------------------------- > > > > 1 blank [no] > > > > 1 target [yes] > > > > > I used this InLineas the very first line: > > > > > dim yes, no > > > > if group = 1 then yes = "q" and no = "w" > > > > if group = 2 then yes = "w" and no = "q" > > > > > Unfortunately I get the error message "Unknown function "group"". > > > > What does that mean? I am not so familiar with Basic, so any help > > > > might be very cool. > > > > Maybe you have other suggestions to change key assignment by the help > > > > of startup information. > > > > > Thanks a lot, > > > > Tobias > > > -- > > Ph.D. Student > > Department of Psychology > > University of Connecticut > > and > > Haskins Laboratories --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Wed Sep 16 16:17:16 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 16 Sep 2009 12:17:16 -0400 Subject: correct answer depending on "group" startup information In-Reply-To: <8b4db3bf-299a-4bd7-8355-d2d409345c8b@z34g2000vbl.googlegro ups.com> Message-ID: Tobias, >I guess there is an easier way than using 640*2 lines in this InLine. Yes, you could use a For...Next loop. -- 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 Wed Sep 16 16:23:25 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 16 Sep 2009 12:23:25 -0400 Subject: Set the timing to record RT? In-Reply-To: <41b4e396-ce15-44c0-a92f-b85887316653@o21g2000vbl.googlegro ups.com> Message-ID: Martin, What if you set the End Sound Action of your SoundOut object to Terminate? Wouldn't that end the SoundOut as soon as your sound file ended (before the 1500 ms Duration of the SoundOut object) and then go on to collect your RT from there? -- David McFarlane, Professional Faultfinder >Dear all, > >I'm still a rookie in E-Prime and designing an ABX discrimination >task. I got a question about the timing to record RT. Does anyone know >how to set the timing to record RT in E-Studio 2.0? I looked up the >user's guide and it says that RT is always recorded from the onset of >the response logging event. However, this is not the way I want. I >need to record RT right AFTER subject has heard the audio stimuli. I >tried two different methods, but none of them gave me accurate RTs. > >The first thing I tried was making the sound object itself as the >response logging event, but in that case, RT would be measured from >the onset of the event, which was BEFORE the whole sound file has been >played to the subject and the RT would include the duration of the >sound "file", which was way longer than subject's actual response. > >The second thing I tried was adding a "Wait" object which records RT >AFTER the sound object. The duration of the sound object was set to >1500ms, but given that the length of sound files were all different, >the wait object didn't immediately start right after the sound "file" >was played. Rather, the wait object started after the whole 1500ms of >sound object had elapsed. Now the problem is that subject may already >start responding before the whole 1500ms has elapsed, so some parts of >RT will be missing since subject starts responding before the wait >object which records RT starts. So, does anyone have any idea to >record RT right after the sound "file" has been played to the >subject? > >Thank you in advance for your great help!! > >-Martin --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 pbren004 at odu.edu Fri Sep 18 18:04:41 2009 From: pbren004 at odu.edu (Patricia B) Date: Fri, 18 Sep 2009 11:04:41 -0700 Subject: Calculating Total Misses Message-ID: I am conducting an airport luggage screening and need to have feedback which calculates the total number of misses in a block. Each block has 100 images and at the end of the block the feedback should say something along the lines of you have lost x amount of points (which are deducted for misses). --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 t1msky at yahoo.co.uk Sat Sep 19 10:38:15 2009 From: t1msky at yahoo.co.uk (Victor) Date: Sat, 19 Sep 2009 03:38:15 -0700 Subject: Calculating Total Misses In-Reply-To: <7f8fce7b-06e7-4dd3-97f2-bdc78da476c6@p15g2000vbl.googlegroups.com> Message-ID: Hi Patricia, This should be simple. Declare a global variable 'Dim misses as integer'. At the start of the script, misses = 0. In an inline after the slide object, 'If slide1.ACC = "0" then misses = misses + 1'. At the end you can then have a feedback with 'you have lost [misses] amount of points' I hope this answers your question, Tim On Sep 18, 7:04 pm, Patricia B wrote: > I am conducting an airport luggage screening and need to have feedback > which calculates the total number of misses in a block. Each block has > 100 images and at the end of the block the feedback should say > something along the lines of you have lost x amount of points (which > are deducted for misses). --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 marylandncdl at gmail.com Mon Sep 21 16:07:24 2009 From: marylandncdl at gmail.com (UMD NCDL) Date: Mon, 21 Sep 2009 09:07:24 -0700 Subject: Response which leads to continuation of a procedure or starts another procedure Message-ID: Hi all, I am trying to do a New/Old procedure. If the participant responds "New" I want the New/Old procedure to continue with the next stimulus presentation. However, if the participant responds "Old" I want a Context procedure to run that will allow the participant to respond that it was seen in context "A" or context "B." After this I want the next stimuli from the New/Old procedure to continue. Thank you! Leslie Neurocognitive Development Lab Neurocognitive Development Lab University of Maryland, College Park --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From Michiel.Spape at nottingham.ac.uk Mon Sep 21 16:34:00 2009 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Mon, 21 Sep 2009 17:34:00 +0100 Subject: Response which leads to continuation of a procedure or starts another procedure In-Reply-To: <2a0747c1-6cd9-4117-a454-c69ec4279a8c@m11g2000vbl.googlegroups.com> Message-ID: Hi, So, what is your question? How far did you get? Did you get stuck anywhere? It seems to me you're more familiar with other types of programming than e-prime - it makes less sense in E-Prime to make "procedures" the fundamental object which you would then call from dozens of lines of script. Instead of trying to do something like procedure.exit, you might try List.terminate instead, though, or (easier, I think) use a couple of jump labels. Say, you have a procedure with TextDisplay1, allowable input no (n)ew or (o)ld An inline with 'if TextDisplay1.RESP = "n" then goto AfterContextQuestion' TextDisplay2, "was it seen in context A or B?" AfterContextQuestion TextDisplay3, "thanks for the response" (whatever) Of course, if you want, you can make it yourself difficult and do some inlining, with a loop until the participant says 'new', doing some textdisplay.run and/or calling various subs you declared beforehand. People here can do very ingenious things, and no doubt can come up with better ideas than mine here, but I'd suggest being a bit more specific and less schematic then. Do you, for instance, really want that E-Prime "runs a Context procedure", or is your aim that the participant will see this or that? Best, Michiel Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of UMD NCDL Sent: 21 September 2009 17:07 To: E-Prime Subject: Response which leads to continuation of a procedure or starts another procedure Hi all, I am trying to do a New/Old procedure. If the participant responds "New" I want the New/Old procedure to continue with the next stimulus presentation. However, if the participant responds "Old" I want a Context procedure to run that will allow the participant to respond that it was seen in context "A" or context "B." After this I want the next stimuli from the New/Old procedure to continue. Thank you! Leslie Neurocognitive Development Lab Neurocognitive Development Lab University of Maryland, College Park This message has been checked for viruses but the contents of an attachment may still contain software viruses, which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From svlevi at gmail.com Mon Sep 21 17:28:50 2009 From: svlevi at gmail.com (susie) Date: Mon, 21 Sep 2009 10:28:50 -0700 Subject: problem with short ISI Message-ID: I have a vowel discrimination task (vowels are 50 ms each) that I've been presenting at several ISIs (as low as 40 ms and as long as 1500 ms). All of these ISIs have been correctly logged (subtracting slide onset of the blank screen from the onset of the second vowel). I have it set up to play a sound object, have a blank screen for the duration of the specified ISI, and then the second sound object. (I have the ISI blank screen set to preload at 100 ms and the sounds are set to 'streaming'. Also, I'm running 2.0 Pro on an XP machine). When I changed the duration of the blank screen to 10 ms I got actual durations from 27 to 40 ms. I've tried adding a preload of 50 to the second sound object and have also tried to reduce the preload on the blank screen to 50 ms and these have not helped. Thanks in advance! Susie --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Sep 21 18:43:24 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 21 Sep 2009 14:43:24 -0400 Subject: Calculating Total Misses In-Reply-To: <77008722-f41c-463e-85ec-e5be6fc7bcb6@p15g2000vbl.googlegro ups.com> Message-ID: Missing a small step here, as you cannot directly use a variable as an attribute reference in your feedback display. So just before your feedback display add a bit more inline script like c.SetAttrib "misses", misses (Note that variables and context attributes may have the same name.) See the Context topic in the online E-Basic Help for more details. -- David McFarlane, Professional Faultfinder At 9/19/2009 06:38 AM Saturday, you wrote: >Hi Patricia, > >This should be simple. Declare a global variable 'Dim misses as >integer'. At the start of the script, misses = 0. In an inline after >the slide object, 'If slide1.ACC = "0" then misses = misses + 1'. At >the end you can then have a feedback with 'you have lost [misses] >amount of points' > >I hope this answers your question, >Tim > >On Sep 18, 7:04 pm, Patricia B wrote: > > I am conducting an airport luggage screening and need to have feedback > > which calculates the total number of misses in a block. Each block has > > 100 images and at the end of the block the feedback should say > > something along the lines of you have lost x amount of points (which > > are deducted for misses). --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Sep 21 19:08:09 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 21 Sep 2009 15:08:09 -0400 Subject: problem with short ISI In-Reply-To: <4af0d51d-1504-4fc7-96b5-1fcf0ddba359@f33g2000vbm.googlegro ups.com> Message-ID: Susie, Thanks for all the wonderful detail, I wish I had a good answer for you! Just a couple thoughts... First, can you add a PreRelease to the first sound object? That might allow some time for your ISI blank screen to get set up (I don't think the PreRelease on the second sound object does anything for you). Do keep the PreRelease on your ISI as long as feasible. (When I use PreRelease I usually go ahead and make it as long as the Duration, or even longer, say 10000. It doesn't seem to matter (short of terminating with a response, etc.), which makes sense if you think about what PreRelease really does under the covers.) Second, as you remember from Chapter 3 of the User's Guide, take a look at the Onset and Offset Sync of your ISI blank screen. If you sync with the vertical blank then you will have delays due to waiting for the screen to refresh, so you may want to turn that off. OTOH, without syncing to vertical blank you may get brief visual artifacts as your blank screen goes on or off. Just an unavoidable limitation of our current technology. -- David McFarlane, Professional Faultfinder >I have a vowel discrimination task (vowels are 50 ms each) that I've >been presenting at several ISIs (as low as 40 ms and as long as 1500 >ms). All of these ISIs have been correctly logged (subtracting slide >onset of the blank screen from the onset of the second vowel). I have >it set up to play a sound object, have a blank screen for the duration >of the specified ISI, and then the second sound object. (I have the >ISI blank screen set to preload at 100 ms and the sounds are set to >'streaming'. Also, I'm running 2.0 Pro on an XP machine). When I >changed the duration of the blank screen to 10 ms I got actual >durations from 27 to 40 ms. I've tried adding a preload of 50 to the >second sound object and have also tried to reduce the preload on the >blank screen to 50 ms and these have not helped. > >Thanks in advance! >Susie --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From Michiel.Spape at nottingham.ac.uk Tue Sep 22 13:53:41 2009 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 22 Sep 2009 14:53:41 +0100 Subject: problem with short ISI In-Reply-To: <4ab7cf4a.5344f10a.2c9b.023dSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hi David, Susie, On the second point, you might, if you are using a CRT screen, change the resolution and refresh rate in your windows monitor options. In the past, it happened quite a lot that discrepancies here between E-Prime (1) and windows screen options would lead to refresh rates that were different from what they were supposed to be. Check your edat file to see what your refresh rate was during the experiment. Also, I don't think ISIs of 10 ms with LCD screens are possible, if you happen to be using that (the fastest refresh rates I've seen in that department were around 70 Hz - 14ms), unless you want half of your screen refreshed at some point. Best Mich Susie, Thanks for all the wonderful detail, I wish I had a good answer for you! Just a couple thoughts... First, can you add a PreRelease to the first sound object? That might allow some time for your ISI blank screen to get set up (I don't think the PreRelease on the second sound object does anything for you). Do keep the PreRelease on your ISI as long as feasible. (When I use PreRelease I usually go ahead and make it as long as the Duration, or even longer, say 10000. It doesn't seem to matter (short of terminating with a response, etc.), which makes sense if you think about what PreRelease really does under the covers.) Second, as you remember from Chapter 3 of the User's Guide, take a look at the Onset and Offset Sync of your ISI blank screen. If you sync with the vertical blank then you will have delays due to waiting for the screen to refresh, so you may want to turn that off. OTOH, without syncing to vertical blank you may get brief visual artifacts as your blank screen goes on or off. Just an unavoidable limitation of our current technology. -- David McFarlane, Professional Faultfinder >I have a vowel discrimination task (vowels are 50 ms each) that I've >been presenting at several ISIs (as low as 40 ms and as long as 1500 >ms). All of these ISIs have been correctly logged (subtracting slide >onset of the blank screen from the onset of the second vowel). I have >it set up to play a sound object, have a blank screen for the duration >of the specified ISI, and then the second sound object. (I have the >ISI blank screen set to preload at 100 ms and the sounds are set to >'streaming'. Also, I'm running 2.0 Pro on an XP machine). When I >changed the duration of the blank screen to 10 ms I got actual >durations from 27 to 40 ms. I've tried adding a preload of 50 to the >second sound object and have also tried to reduce the preload on the >blank screen to 50 ms and these have not helped. > >Thanks in advance! >Susie This message has been checked for viruses but the contents of an attachment may still contain software viruses, which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From svlevi at gmail.com Wed Sep 23 16:37:23 2009 From: svlevi at gmail.com (susie) Date: Wed, 23 Sep 2009 09:37:23 -0700 Subject: problem with short ISI In-Reply-To: <0CA8E1B4EC20D743912B980E486C5CAF01F5CEC2@VUIEXCHC.ad.nottingham.ac.uk> Message-ID: David and Mich, Thanks so much. I had forgotten about the refresh rate (I am on and LCD monitor) and you're right, my refresh rate (which I'd checked at the very beginning of running things) was about 70 Hz. I actually don't have that many pairings so I think I'll just manually create single sound files with a 10 ms period of silence. I'll try the pre-release of the first element, but given the limitations of the refresh rate, I"m guessing that it won't help. Thanks, Susie On Sep 22, 9:53 am, Michiel Spape wrote: > Hi David, Susie, > On the second point, you might, if you are using a CRT screen, change > the resolution and refresh rate in your windows monitor options. In the > past, it happened quite a lot that discrepancies here between E-Prime > (1) and windows screen options would lead to refresh rates that were > different from what they were supposed to be. Check your edat file to > see what your refresh rate was during the experiment. Also, I don't > think ISIs of 10 ms with LCD screens are possible, if you happen to be > using that (the fastest refresh rates I've seen in that department were > around 70 Hz - 14ms), unless you want half of your screen refreshed at > some point. > Best > Mich > > Susie, > > Thanks for all the wonderful detail, I wish I had a good answer for > you!  Just a couple thoughts... > > First, can you add a PreRelease to the first sound object?  That > might allow some time for your ISI blank screen to get set up (I > don't think the PreRelease on the second sound object does anything > for you).  Do keep the PreRelease on your ISI as long as > feasible.  (When I use PreRelease I usually go ahead and make it as > long as the Duration, or even longer, say 10000.  It doesn't seem to > matter (short of terminating with a response, etc.), which makes > sense if you think about what PreRelease really does under the covers.) > > Second, as you remember from Chapter 3 of the User's Guide, take a > look at the Onset and Offset Sync of your ISI blank screen.  If you > sync with the vertical blank then you will have delays due to waiting > for the screen to refresh, so you may want to turn that off.  OTOH, > without syncing to vertical blank you may get brief visual artifacts > as your blank screen goes on or off.  Just an unavoidable limitation > of our current technology. > > -- David McFarlane, Professional Faultfinder > > >I have a vowel discrimination task (vowels are 50 ms each) that I've > >been presenting at several ISIs (as low as 40 ms and as long as 1500 > >ms). All of these ISIs have been correctly logged (subtracting slide > >onset of the blank screen from the onset of the second vowel).  I have > >it set up to play a sound object, have a blank screen for the duration > >of the specified ISI, and then the second sound object. (I have the > >ISI blank screen set to preload at 100 ms and the sounds are set to > >'streaming'. Also, I'm running 2.0 Pro on an XP machine). When I > >changed the duration of the blank screen to 10 ms I got actual > >durations from 27 to 40 ms. I've tried adding a preload of 50 to the > >second sound object and have also tried to reduce the preload on the > >blank screen to 50 ms and these have not helped. > > >Thanks in advance! > >Susie > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 golorengo at gmail.com Thu Sep 24 22:02:03 2009 From: golorengo at gmail.com (Lauren) Date: Thu, 24 Sep 2009 15:02:03 -0700 Subject: Response which leads to continuation of a procedure or starts another procedure In-Reply-To: <0CA8E1B4EC20D743912B980E486C5CAF01F5CB88@VUIEXCHC.ad.nottingham.ac.uk> Message-ID: Hi, I recently used your answer to Leslie to design a similar experiment, but I ran into a curious result. Whenever the participant responds "new" and the context slide (TextDisplay2, in this example) is skipped, e-prime records that a response has been given which is the same as the last response given to a context slide. So, for example, a subject might respond old, A, new, (skipped slide--it records A), new (it records A), old, B, new, (it records B), old, B, new (it records B). So that the response column for the context slide that should look like A, 0, 0, B, 0, B, 0, looks like A, A, A, B, B, B, B. Why would it record a response when the slide wasn't shown? I can obviously delete any responses that occur on trials that the subject responded "new," but that is an extra step that I'd like to avoid. Thanks for any help! Lauren TextDisplay1, allowable input no (n)ew or (o)ld An inline with 'if TextDisplay1.RESP = "n" then goto AfterContextQuestion' TextDisplay2, "was it seen in context A or B?" AfterContextQuestion On Sep 21, 12:34 pm, Michiel Spape wrote: > Hi, > So, what is your question? How far did you get? Did you get stuck anywhere? > It seems to me you're more familiar with other types of programming than e-prime - it makes less sense in E-Prime to make "procedures" the fundamental object which you would then call from dozens of lines of script. Instead of trying to do something like procedure.exit, you might try List.terminate instead, though, or (easier, I think) use a couple of jump labels. > Say, you have a procedure with > TextDisplay1, allowable input no (n)ew or (o)ld > An inline with 'if TextDisplay1.RESP = "n" then goto AfterContextQuestion' > TextDisplay2, "was it seen in context A or B?" > AfterContextQuestion > TextDisplay3, "thanks for the response" (whatever) > > Of course, if you want, you can make it yourself difficult and do some inlining, with a loop until the participant says 'new', doing some textdisplay.run and/or calling various subs you declared beforehand. People here can do very ingenious things, and no doubt can come up with better ideas than mine here, but I'd suggest being a bit more specific and less schematic then. Do you, for instance, really want that E-Prime "runs a Context procedure", or is your aim that the participant will see this or that? > Best, > Michiel > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychology > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of UMD NCDL > Sent: 21 September 2009 17:07 > To: E-Prime > Subject:Responsewhich leads to continuation of a procedure or starts another procedure > > Hi all, > > I am trying to do a New/Old procedure. If the participant responds > "New" I want the New/Old procedure to continue with the next stimulus > presentation. However, if the participant responds "Old" I want a > Context procedure to run that will allow the participant to respond > that it was seen in context "A" or context "B." After this I want the > next stimuli from the New/Old procedure to continue. > > Thank you! > Leslie > Neurocognitive Development Lab > > Neurocognitive Development Lab > University of Maryland, College Park > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses, which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From asmahanif85 at gmail.com Mon Sep 28 20:03:46 2009 From: asmahanif85 at gmail.com (alp115) Date: Mon, 28 Sep 2009 13:03:46 -0700 Subject: Introducing break Message-ID: Dear all, I am trying to introduce a break in the list of trials. Say, after 20 trials, a text display comes introducing a break. After a response from the participant, experiment should resume from the same place where it left. Does some body has a piece of code to share? Any suggestions are well appreciated. Asma Hanif --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 adamosth at gmail.com Mon Sep 28 20:08:55 2009 From: adamosth at gmail.com (Adam Osth) Date: Mon, 28 Sep 2009 16:08:55 -0400 Subject: Introducing break In-Reply-To: <8fd21fef-b543-421b-aac2-1a6e2a0e4fda@y21g2000yqn.googlegroups.com> Message-ID: You can do that really easily without any coding. Construct a list. Have all of your test trials come up during a given procedure, like say TrialProc. Set the TrialProc's weight to 20 for 20 repetitions. In level 2 of the list, come up with a break procedure called BreakProc (or whatever you want to call it) that contains the break. If you want to resume the trials after the break, for level 3 set TrialProc as the procedure. Adam On Mon, Sep 28, 2009 at 4:03 PM, alp115 wrote: > > Dear all, > > I am trying to introduce a break in the list of trials. Say, after 20 > trials, a text display comes introducing a break. After a response > from the participant, experiment should resume from the same place > where it left. Does some body has a piece of code to share? Any > suggestions are well appreciated. > > Asma Hanif > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 asmahanif85 at gmail.com Mon Sep 28 20:55:41 2009 From: asmahanif85 at gmail.com (alp115) Date: Mon, 28 Sep 2009 13:55:41 -0700 Subject: Introducing break In-Reply-To: <7ef748980909281308v69437892vf43aee685fab8198@mail.gmail.com> Message-ID: Thanks Adam. On Sep 28, 4:08 pm, Adam Osth wrote: > You can do that really easily without any coding. > > Construct a list. Have all of your test trials come up during a given > procedure, like say TrialProc. > > Set the TrialProc's weight to 20 for 20 repetitions. > > In level 2 of the list, come up with a break procedure called BreakProc (or > whatever you want to call it) that contains the break. If you want to resume > the trials after the break, for level 3 set TrialProc as the procedure. > > Adam > > On Mon, Sep 28, 2009 at 4:03 PM, alp115 wrote: > > > Dear all, > > > I am trying to introduce a break in the list of trials. Say, after 20 > > trials, a text display comes introducing a break. After a response > > from the participant, experiment should resume from the same place > > where it left. Does some body has a piece of code to share? Any > > suggestions are well appreciated. > > > Asma Hanif --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From liwenna at gmail.com Tue Sep 29 12:37:27 2009 From: liwenna at gmail.com (liwenna) Date: Tue, 29 Sep 2009 05:37:27 -0700 Subject: Introducing break In-Reply-To: Message-ID: It sometimes happens however, that your desired number of trials inbetween breaks does not correspond with the number of trials in your triallist (I took this code for instance from a task with 36 trials in one triallist that is repeated 8 times, and I wanted breaks every 20 trials). You can do the following: at the end of the trailproc add three consecutive elements: - an inline - a slide or textdisplay that is 'the break' - a label called skiplabel The inline should contain the following code: --------------------------------------- trialcounter = trialcounter + 1 if trialcounter mod 20 = 0 then else goto skiplabel end if -------------------------------------- For this code to work you also need to paste the following " dim trialcounter as integer " on the usertab of the scriptwindow (remove the " s). If you use one single triallist (I don't in this case) you can also remove the first line (trialcounter= trialcounter +1) and then replace trialcounter mod 20 by triallist.sample mod 20 (triallist being the name of your triallist). What it does: a trialcounter keeps track of the number of trials. If the number of trials can be divided by 20 (so: 20, 40, 80, 100 etc) then nothing will happen and the program will follow the proc. As the inline is followed by the breakslide, the breakslide will show. If the number of trials can not be divided by 20, e-prime will immediately 'goto' the skiplabel and as that is placed after the breakslide, the breakslide will be 'skipped'. Best regards, liwenna On Sep 28, 10:55 pm, alp115 wrote: > Thanks Adam. > > On Sep 28, 4:08 pm, Adam Osth wrote: > > > You can do that really easily without any coding. > > > Construct a list. Have all of your test trials come up during a given > > procedure, like say TrialProc. > > > Set the TrialProc's weight to 20 for 20 repetitions. > > > In level 2 of the list, come up with a break procedure called BreakProc (or > > whatever you want to call it) that contains the break. If you want to resume > > the trials after the break, for level 3 set TrialProc as the procedure. > > > Adam > > > On Mon, Sep 28, 2009 at 4:03 PM, alp115 wrote: > > > > Dear all, > > > > I am trying to introduce a break in the list of trials. Say, after 20 > > > trials, a text display comes introducing a break. After a response > > > from the participant, experiment should resume from the same place > > > where it left. Does some body has a piece of code to share? Any > > > suggestions are well appreciated. > > > > As ma Hanif --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Tue Sep 29 14:15:48 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 29 Sep 2009 10:15:48 -0400 Subject: Introducing break In-Reply-To: <2f6396a4-5a9f-43a9-b315-c71ad8c0e3b8@j39g2000yqh.googlegro ups.com> Message-ID: liwenna, Thanks for a nice explanation of this alternative method. Please note that the lines if trialcounter mod 20 = 0 then else goto skiplabel end if could be simplified to just If (trialcounter mod 20) <> 0 Then Goto skiplabel (I also added capitalization and parentheses just to suit my style). Regards, -- David McFarlane, Professional Faultfinder At 9/29/2009 08:37 AM Tuesday, you wrote: >It sometimes happens however, that your desired number of trials >inbetween breaks does not correspond with the number of trials in your >triallist (I took this code for instance from a task with 36 trials in >one triallist that is repeated 8 times, and I wanted breaks every 20 >trials). > >You can do the following: > >at the end of the trailproc add three consecutive elements: >- an inline >- a slide or textdisplay that is 'the break' >- a label called skiplabel > >The inline should contain the following code: >--------------------------------------- > trialcounter = trialcounter + 1 > > if trialcounter mod 20 = 0 then > > else goto skiplabel > end if >-------------------------------------- >For this code to work you also need to paste the following " dim >trialcounter as integer " on the usertab of the scriptwindow (remove >the " s). >If you use one single triallist (I don't in this case) you can also >remove the first line (trialcounter= trialcounter +1) and then replace >trialcounter mod 20 by triallist.sample mod 20 (triallist being the >name of your triallist). > >What it does: a trialcounter keeps track of the number of trials. If >the number of trials can be divided by 20 (so: 20, 40, 80, 100 etc) >then nothing will happen and the program will follow the proc. As the >inline is followed by the breakslide, the breakslide will show. If the >number of trials can not be divided by 20, e-prime will immediately >'goto' the skiplabel and as that is placed after the breakslide, the >breakslide will be 'skipped'. > > >Best regards, > >liwenna > > > > >On Sep 28, 10:55 pm, alp115 wrote: > > Thanks Adam. > > > > On Sep 28, 4:08 pm, Adam Osth wrote: > > > > > You can do that really easily without any coding. > > > > > Construct a list. Have all of your test trials come up during a given > > > procedure, like say TrialProc. > > > > > Set the TrialProc's weight to 20 for 20 repetitions. > > > > > In level 2 of the list, come up with a break procedure called > BreakProc (or > > > whatever you want to call it) that contains the break. If you > want to resume > > > the trials after the break, for level 3 set TrialProc as the procedure. > > > > > Adam > > > > > On Mon, Sep 28, 2009 at 4:03 PM, alp115 wrote: > > > > > > Dear all, > > > > > > I am trying to introduce a break in the list of trials. Say, after 20 > > > > trials, a text display comes introducing a break. After a response > > > > from the participant, experiment should resume from the same place > > > > where it left. Does some body has a piece of code to share? Any > > > > suggestions are well appreciated. > > > > > > > As ma Hanif > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Sep 30 10:25:46 2009 From: liwenna at gmail.com (liwenna) Date: Wed, 30 Sep 2009 03:25:46 -0700 Subject: Introducing break In-Reply-To: <4ac2169b.1808c00a.670a.61c4SMTPIN_ADDED@gmr-mx.google.com> Message-ID: David, Thanks for the compliment and for the simplified code! I'll put that line to use right away! Best, liwenna On Sep 29, 4:15 pm, David McFarlane wrote: > liwenna, > > Thanks for a nice explanation of this alternative method. Please > note that the lines > > if trialcounter mod 20 = 0 then > else goto skiplabel > end if > > could be simplified to just > > If (trialcounter mod 20) <> 0 Then Goto skiplabel > > (I also added capitalization and parentheses just to suit my style). > > Regards, > -- David McFarlane, Professional Faultfinder > > At 9/29/2009 08:37 AM Tuesday, you wrote: > > >It sometimes happens however, that your desired number of trials > >inbetween breaks does not correspond with the number of trials in your > >triallist (I took this code for instance from a task with 36 trials in > >one triallist that is repeated 8 times, and I wanted breaks every 20 > >trials). > > >You can do the following: > > >at the end of the trailproc add three consecutive elements: > >- an inline > >- a slide or textdisplay that is 'the break' > >- a label called skiplabel > > >The inline should contain the following code: > >--------------------------------------- > > trialcounter = trialcounter + 1 > > > if trialcounter mod 20 = 0 then > > > else goto skiplabel > > end if > >-------------------------------------- > >For this code to work you also need to paste the following " dim > >trialcounter as integer " on the usertab of the scriptwindow (remove > >the " s). > >If you use one single triallist (I don't in this case) you can also > >remove the first line (trialcounter= trialcounter +1) and then replace > >trialcounter mod 20 by triallist.sample mod 20 (triallist being the > >name of your triallist). > > >What it does: a trialcounter keeps track of the number of trials. If > >the number of trials can be divided by 20 (so: 20, 40, 80, 100 etc) > >then nothing will happen and the program will follow the proc. As the > >inline is followed by the breakslide, the breakslide will show. If the > >number of trials can not be divided by 20, e-prime will immediately > >'goto' the skiplabel and as that is placed after the breakslide, the > >breakslide will be 'skipped'. > > >Best regards, > > >liwenna > > >On Sep 28, 10:55 pm, alp115 wrote: > > > Thanks Adam. > > > > On Sep 28, 4:08 pm, Adam Osth wrote: > > > > > You can do that really easily without any coding. > > > > > Construct a list. Have all of your test trials come up during a given > > > > procedure, like say TrialProc. > > > > > Set the TrialProc's weight to 20 for 20 repetitions. > > > > > In level 2 of the list, come up with a break procedure called > > BreakProc (or > > > > whatever you want to call it) that contains the break. If you > > want to resume > > > > the trials after the break, for level 3 set TrialProc as the procedure. > > > > > Adam > > > > > On Mon, Sep 28, 2009 at 4:03 PM, alp115 wrote: > > > > > > Dear all, > > > > > > I am trying to introduce a break in the list of trials. Say, after 20 > > > > > trials, a text display comes introducing a break. After a response > > > > > from the participant, experiment should resume from the same place > > > > > where it left. Does some body has a piece of code to share? Any > > > > > suggestions are well appreciated. > > > > As ma Hanif --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Sep 1 06:39:53 2009 From: pquain at une.edu.au (Peter Quain) Date: Tue, 1 Sep 2009 16:39:53 +1000 Subject: PreRelease?? In-Reply-To: <4a9c1b60.5344f10a.6697.26cbSMTPIN_ADDED@gmr-mx.google.com> Message-ID: ahhh .. Thanks, David. BTW, I like "... minimally out of context" !! like saying "my dog is minimally not alive." At 04:49 AM 1/09/2009, you wrote: >Peter, > >At 8/30/2009 12:30 PM Sunday, you wrote: > > From e-basic help (both versions 1, and 2) > >---------------------------------------------- > >Syntax > > > >RteRunnableInputObject.PreRelease > > >? This property is used only with > >Cumulative Timing Mode. It is ignored in Event timing. > >Thanks for noticing this, and for bringing it to >our attention here. I brought this up on the PST >Forum over a year ago (in the context of the >topic "Size of Image Files", see >http://support.pstnet.com/forum/Topic1197-5-1.aspx >), and got this response from Brandon Cernicky: > >"... thank you for bringing a significant >oversight in the E-Basic help file to our >attention. The documentation you mentioned in >RteRunnableInputObject.PreRelease is minimally >out of context and the statement about PreRelease >being ignored in Event timing mode is just plain >inaccurate. We have typically not referred end >users to the E-Basic help for this specific >property instead towards the Critical Timing >Chapter in the manuals. Thanks again for bring >this to our attention so that it can be corrected. > >"The use of PreRelease works the same for both >Cumulative and Event timing modes. Cumulative >timing mode depends more on PreRelease because of >its temporal sync mechanisms. But Event timing >requires the benefits of PreRelease just as well." > > >Hope that clarifies that issue. Also FWIW, as >far as I can tell, the E-Basic Help that comes >with EP2 contains exactly the same content as in >EP1 -- in particular, the EP2 Help lacks any >documentation on new features added in EP2. So I >expect that any errors in the EP1 Help carry over unchanged into the EP2 Help. > >-- 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 janhoffm at mail.uni-mannheim.de Wed Sep 2 09:53:42 2009 From: janhoffm at mail.uni-mannheim.de (janpsy) Date: Wed, 2 Sep 2009 02:53:42 -0700 Subject: Multiple responses in a dual-task paradigm Message-ID: Hello, at the moment I am programming a dual-task paradigm where the secondary task consists of pressing the space bar randomly. As a primary task the subjects are typing numbers. So I have a slide with two keyboard input masks from which I like to grab multiple responses. How can I save my data separately? Or in other words, how are the two keyboard input masks called in e-Basic? Thanks a lot for your help, Janina --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 jeff.larsen at ttu.edu Wed Sep 2 22:15:27 2009 From: jeff.larsen at ttu.edu (Larsen, Jeff) Date: Wed, 2 Sep 2009 17:15:27 -0500 Subject: problems with long video files In-Reply-To: Message-ID: Hi all -- I've been having a hard time with the MovieDisplay object. Things seem to work OK with short movies, but I need to play a 20-min movie. A variety of bad things happen when I try to do this. For instance, midway through the movie the audio begins to lag behind the audio. If I try to have separate MovieDisplay objects, each playing a single minute of the movie, Eprime will freeze up before it reaches the end of the third minute. Has anyone had any troubles like this? -- Jeff ******************************************************* Jeff T. Larsen, PhD Department of Psychology Texas Tech University Phone: 806-742-3711 x234 Fax: 806-742-0818 Email: jeff.larsen at ttu.edu Webpage: http://webpages.acs.ttu.edu/jelarsen/ ******************************************************* --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 ll356 at medschl.cam.ac.uk Thu Sep 3 10:26:04 2009 From: ll356 at medschl.cam.ac.uk (River) Date: Thu, 3 Sep 2009 03:26:04 -0700 Subject: PreRelease?? In-Reply-To: <200909010640.n816eX2f006357@mail13.tpg.com.au> Message-ID: David & Peter, Thanks so much for all the extensive guidance on my Onset Delay/ PreRelease Queries. I have successfully managed to get my OnsetDelay down to -1 (!) thanks to using the preloading without canvas script and without having to shrink my images or reduce their colour resolution. I am a happy (eprime) camper indeed. With regards to the Event mode use of PreRelease, I can further confirm that PreRelease does seem to work with Event mode as it did reduce my OnsetDelay (prior to using PreLoad script). many thanks, R On Sep 1, 7:39?am, Peter Quain wrote: > ahhh .. Thanks, David. BTW, I like "... minimally > out of context" ?!! like saying "my dog is minimally not alive." > > At 04:49 AM 1/09/2009, you wrote: > > > > >Peter, > > >At 8/30/2009 12:30 PM Sunday, you wrote: > > > From e-basic help (both versions 1, and 2) > > >---------------------------------------------- > > >Syntax > > > >RteRunnableInputObject.PreRelease > > > > >? ? ? ? This property is used only with > > >Cumulative Timing Mode. ?It is ignored in Event timing. > > >Thanks for noticing this, and for bringing it to > >our attention here. ?I brought this up on the PST > >Forum over a year ago (in the context of the > >topic "Size of Image Files", see > >http://support.pstnet.com/forum/Topic1197-5-1.aspx > >), and got this response from Brandon Cernicky: > > >"... thank you for bringing a significant > >oversight in the E-Basic help file to our > >attention. ?The documentation you mentioned in > >RteRunnableInputObject.PreRelease is minimally > >out of context and the statement about PreRelease > >being ignored in Event timing mode is just plain > >inaccurate. ?We have typically not referred end > >users to the E-Basic help for this specific > >property instead towards the Critical Timing > >Chapter in the manuals. ?Thanks again for bring > >this to our attention so that it can be corrected. > > >"The use of PreRelease works the same for both > >Cumulative and Event timing modes. ?Cumulative > >timing mode depends more on PreRelease because of > >its temporal sync mechanisms. ?But Event timing > >requires the benefits of PreRelease just as well." > > >Hope that clarifies that issue. ?Also FWIW, as > >far as I can tell, the E-Basic Help that comes > >with EP2 contains exactly the same content as in > >EP1 -- in particular, the EP2 Help lacks any > >documentation on new features added in EP2. ?So I > >expect that any errors in the EP1 Help carry over unchanged into the EP2 Help. > > >-- David McFarlane, Professional Faultfinder- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Thu Sep 3 15:00:08 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 3 Sep 2009 11:00:08 -0400 Subject: problems with long video files In-Reply-To: Message-ID: Jeff, For the record, do you use EP2 under Vista or XP? MovieDisplay is known to have problems under Vista (just run a search on the E-Prime Google Group or the PST Forum to see for yourself). No ideas if you still have trouble under XP. BTW, I notice that in the E-Prime Google Group the topic "Multiple responses in a dual-task paradigm" got changed to "problems with long video files", which is where this post appears. This makes for a confusing thread in the archive, making it hard for others to find things in the future (or am I wrong to think of this Group as a problem-solving aid going forward?). Please everyone, let's avoid this in the future. If you want to actually post a new question, please do not alter an existing unrelated thread. Thanks. -- David McFarlane, Professional Faultfinder At 9/2/2009 06:15 PM Wednesday, you wrote: >I've been having a hard time with the MovieDisplay object. Things >seem to work OK with short movies, but I need to play a 20-min >movie. A variety of bad things happen when I try to do this. For >instance, midway through the movie the audio begins to lag behind >the audio. If I try to have separate MovieDisplay objects, each >playing a single minute of the movie, Eprime will freeze up before >it reaches the end of the third minute. Has anyone had any troubles like this? > >-- Jeff --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Sep 3 15:15:39 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 3 Sep 2009 11:15:39 -0400 Subject: Multiple responses in a dual-task paradigm In-Reply-To: Message-ID: Janina, Ah yes, as explained in the InputMask Object topic of the online E-Basic Help, E-Prime only stores the results from *one* input mask of an object with multiple input masks. Here is the relevant passage in full: "When dealing with multiple InputMask objects, the rule of thumb to remember is that the RteRunnableInputObject's mirror properties (ACC, RESP, RT, RTTime, CRESP) will reflect the last mask to have processed a response or timed out. Therefore, if two input masks are to be disarmed if the InputMask.TerminationResponse = {ENTER}, then the properties for the input mask that was added last to the InputMaskManager will have its properties reflected in the RteRunnableInputObject's mirror properties. In E-Studio, the order that the input masks appear in the Duration/Input property page is the order in which they will be added to the InputMaskManager object. When an input mask is disarmed as a result of another mask completing, it does not update its information to the RteRunnableInputObject's mirror properties. For example, if the first mask meets its max count, then the RteRunnableInputObject mirror properties reflects the values in the first mask, and not the second, third, etc." To save data separately, you will need some inline script. The Multiple Response Collection example from the Downloads area of the PST web site may help you with that (you will have to register and login to have access to the Downloads area). -- David McFarlane, Professional Faultfinder At 9/2/2009 05:53 AM Wednesday, you wrote: >at the moment I am programming a dual-task paradigm where the >secondary task consists of pressing the space bar randomly. As a >primary task the subjects are typing numbers. So I have a slide with >two keyboard input masks from which I like to grab multiple responses. >How can I save my data separately? Or in other words, how are the two >keyboard input masks called in e-Basic? > >Thanks a lot for your help, > >Janina --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From tobias.fw at gmail.com Fri Sep 4 11:30:09 2009 From: tobias.fw at gmail.com (Tobi) Date: Fri, 4 Sep 2009 04:30:09 -0700 Subject: Using ERTS keys in E-Prime Message-ID: Hi everyone, does anyone of you have experience with using ERTS key with E-Prime. I used to work with the DOS-based ERTS for quite a long time and prefer its response keys, there are several sizes and they are quite handy as compared to the PST response box. Thanks a lot, Tobias --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From tobias.fw at gmail.com Fri Sep 4 17:40:20 2009 From: tobias.fw at gmail.com (Tobi) Date: Fri, 4 Sep 2009 10:40:20 -0700 Subject: correct answer depending on "group" startup information Message-ID: Hi everyone, I have a question concerning the "group" variable than can be prompted for in the beginning of each session. I want to change the correct answer key according to this group variable (and change the key assignment as a consequence of corse). In a very easy example there might be a trials with a target or no target (blank). One group should answer with "w" for TARGET and "q" for BLANK, the other group the other way round: LIST: ID Procedure corrAns ------------------------------- 1 blank [no] 1 target [yes] I used this InLineas the very first line: dim yes, no if group = 1 then yes = "q" and no = "w" if group = 2 then yes = "w" and no = "q" Unfortunately I get the error message "Unknown function "group"". What does that mean? I am not so familiar with Basic, so any help might be very cool. Maybe you have other suggestions to change key assignment by the help of startup information. Thanks a lot, Tobias --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From tobias.fw at gmail.com Fri Sep 4 22:10:53 2009 From: tobias.fw at gmail.com (Tobi) Date: Fri, 4 Sep 2009 15:10:53 -0700 Subject: correct answer depending on "group" startup information In-Reply-To: Message-ID: To be more understandable, here are two screenshots, one of the list and one of the InLine: http://chilion.com/probl1.JPG http://chilion.com/probl2.JPG On 4 Sep., 19:40, Tobi wrote: > Hi everyone, > > I have a question concerning the "group" variable than can be prompted > for in the beginning of each session. I want to change the correct > answer key according to this group variable (and change the key > assignment as a consequence of corse). > > In a very easy example there might be a trials with a target or no > target (blank). One group should answer with "w" for TARGET and "q" > for BLANK, the other group the other way round: > > LIST: > > ID ? ? ? ? ? ? Procedure ? corrAns > ------------------------------- > 1 ? ? ? ? ? ? ? blank ? ? ? ? ? [no] > 1 ? ? ? ? ? ? ? target ?[yes] > > I used this InLineas the very first line: > > dim yes, no > if group = 1 then yes = "q" and no = "w" > if group = 2 then yes = "w" and no = "q" > > Unfortunately I get the error message "Unknown function "group"". > What does that mean? I am not so familiar with Basic, so any help > might be very cool. > Maybe you have other suggestions to change key assignment by the help > of startup information. > > Thanks a lot, > Tobias --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From shinyi.fang at gmail.com Sat Sep 5 21:08:56 2009 From: shinyi.fang at gmail.com (Shin-Yi Fang) Date: Sat, 5 Sep 2009 17:08:56 -0400 Subject: correct answer depending on "group" startup information In-Reply-To: <73f4e5f3-98fe-4365-8c77-d6babb66273f@s39g2000yqj.googlegroups.com> Message-ID: Hi, I think group is not really a variable. It is an attribute. You will need getattrib function. The following script probably is what you need. if c.GetAttrib("group") = 1 then List1.SetAttrib 1, "corrAns", "w" List1.SetAttrib 2, "corrAns", "q" else List1.SetAttrib 1, "corrAns", "q" List1.SetAttrib 2, "corrAns", "w" end if Best, Shin-Yi List1.SetAttrib 1 "corrAns")yes = "q" and no = "w" > if group = 2 then yes = "w" and no = "q" On Fri, Sep 4, 2009 at 6:10 PM, Tobi wrote: > > To be more understandable, here are two screenshots, one of the list > and one of the InLine: > > http://chilion.com/probl1.JPG > http://chilion.com/probl2.JPG > > > On 4 Sep., 19:40, Tobi wrote: > > Hi everyone, > > > > I have a question concerning the "group" variable than can be prompted > > for in the beginning of each session. I want to change the correct > > answer key according to this group variable (and change the key > > assignment as a consequence of corse). > > > > In a very easy example there might be a trials with a target or no > > target (blank). One group should answer with "w" for TARGET and "q" > > for BLANK, the other group the other way round: > > > > LIST: > > > > ID Procedure corrAns > > ------------------------------- > > 1 blank [no] > > 1 target [yes] > > > > I used this InLineas the very first line: > > > > dim yes, no > > if group = 1 then yes = "q" and no = "w" > > if group = 2 then yes = "w" and no = "q" > > > > Unfortunately I get the error message "Unknown function "group"". > > What does that mean? I am not so familiar with Basic, so any help > > might be very cool. > > Maybe you have other suggestions to change key assignment by the help > > of startup information. > > > > Thanks a lot, > > Tobias > > > -- Ph.D. Student Department of Psychology University of Connecticut and Haskins Laboratories --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 liyansongrenzs at gmail.com Mon Sep 7 09:27:33 2009 From: liyansongrenzs at gmail.com (lickey1981) Date: Mon, 7 Sep 2009 02:27:33 -0700 Subject: About stop signal paradigm. Message-ID: Hello eprime experter, I am a new user of eprime. I am currently developing a task called stop signal task. But it is not easy for me to programme it using eprime because I know little about the script. My question is do those people who have the eprime version of the paradigm would like to share with me? Thanks in advance. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Sep 7 17:53:56 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 7 Sep 2009 13:53:56 -0400 Subject: correct answer depending on "group" startup information In-Reply-To: Message-ID: You may also need to do a List1.Reset after you make changes to the list. See the FactorSpace.Reset topic in the onine E-Basic Help. -- David McFarlane, Professional Faultfinder At 9/5/2009 05:08 PM Saturday, you wrote: >Hi, > >I think group is not really a variable. It is an attribute. You >will need getattrib function. The following script probably is what you need. > >if c.GetAttrib("group") = 1 then > List1.SetAttrib 1, "corrAns", "w" > List1.SetAttrib 2, "corrAns", "q" >else > List1.SetAttrib 1, "corrAns", "q" > List1.SetAttrib 2, "corrAns", "w" >end if > >Best, > >Shin-Yi > > > List1.SetAttrib 1 "corrAns")yes = "q" and no = "w" > > if group = 2 then yes = "w" and no = "q" > >On Fri, Sep 4, 2009 at 6:10 PM, Tobi ><tobias.fw at gmail.com> wrote: > >To be more understandable, here are two screenshots, one of the list >and one of the InLine: > >http://chilion.com/probl1.JPG >http://chilion.com/probl2.JPG > > >On 4 Sep., 19:40, Tobi ><tobias... at gmail.com> wrote: > > Hi everyone, > > > > I have a question concerning the "group" variable than can be prompted > > for in the beginning of each session. I want to change the correct > > answer key according to this group variable (and change the key > > assignment as a consequence of corse). > > > > In a very easy example there might be a trials with a target or no > > target (blank). One group should answer with "w" for TARGET and "q" > > for BLANK, the other group the other way round: > > > > LIST: > > > > ID Procedure corrAns > > ------------------------------- > > 1 blank [no] > > 1 target [yes] > > > > I used this InLineas the very first line: > > > > dim yes, no > > if group = 1 then yes = "q" and no = "w" > > if group = 2 then yes = "w" and no = "q" > > > > Unfortunately I get the error message "Unknown function "group"". > > What does that mean? I am not so familiar with Basic, so any help > > might be very cool. > > Maybe you have other suggestions to change key assignment by the help > > of startup information. > > > > Thanks a lot, > > Tobias > > > > >-- >Ph.D. Student >Department of Psychology >University of Connecticut >and >Haskins Laboratories --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 vladimir.lichev at googlemail.com Tue Sep 8 09:51:54 2009 From: vladimir.lichev at googlemail.com (Deeppack) Date: Tue, 8 Sep 2009 02:51:54 -0700 Subject: randomized block design Message-ID: Hey everyone, I?ve just started using e-prime and already have a simple question! Im trying to create a simple experiment with randomized blocks. My experiments consist of a learning- and test-phase. In the test there are three blocks to complete. I would like to have e-prime selecting the three blocks per random! Hope you have the solution! Deeppack --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Tue Sep 8 12:59:13 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 8 Sep 2009 08:59:13 -0400 Subject: randomized block design In-Reply-To: <254f16b2-3975-4a02-a9c6-37afeab90a0e@z30g2000yqz.googlegroups.com> Message-ID: Deeppack, I'm pretty sure that this is covered in Tutorial 1 of the Getting Started Guide that came with E-Prime, please give that a try. -- David McFarlane, Professional Faultfinder Deeppack wrote: > Hey everyone, > I?ve just started using e-prime and already have a simple question! > Im trying to create a simple experiment with randomized blocks. > My experiments consist of a learning- and test-phase. In the test > there are three blocks to complete. I would like to have e-prime > selecting the three blocks per random! > Hope you have the solution! > Deeppack --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 pbren004 at odu.edu Tue Sep 8 17:21:00 2009 From: pbren004 at odu.edu (Patricia B) Date: Tue, 8 Sep 2009 10:21:00 -0700 Subject: Feedback Help Message-ID: I am conducting an airport luggage screening and need to tailor my feedback to where there is a different feedback for each response. (Hit, Miss, False Alarm and Correct Rejection). Participants press Z to indicate that weapon is present and M to indicate that there is no weapon present. Hit: Z Z (Correct Response/ User Response) Miss: Z M False Alarm: M Z Correct Rejection: M M I have no idea how to write script. Please help. Thanks --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Tue Sep 8 21:36:11 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 8 Sep 2009 17:36:11 -0400 Subject: Feedback Help In-Reply-To: <6e7df9c9-f8ff-4a8f-9325-78e8871fba58@s39g2000yqj.googlegroups.com> Message-ID: Patricia, First off, if you really have no idea how to write script, then you *must* pause here and work through Chapter 4 of the User's Guide that came with E-Prime. I can wait... ... OK, did you *really* stop and work through Chapter 4? Then let us proceed ... You might do this with a simple TextDisplay object, or Text sub-objects within a slide, or you might go whole hog and use a Slide with multiple states. To use a text object, just use an attribute reference for your feedback text, e.g., [myFeedback] Then add a bit of inline script between your response object and your feedback object to assign a value to myFeedback. Suppose we call your response object ResponseText, and it uses the attribute CorrectKey for the correct response, then your script might look like this: If ResponseText.RESP = "Z" Then If ResponseText.CRESP = "Z" Then c.SetAttrib "myFeedback", "Hit" Else c.SetAttrib "myFeedback", "Miss" Else If ResponseText.CRESP = "Z" Then c.SetAttrib "myFeedback", "FA" Else c.SetAttrib "myFeedback", "Correct Rejection" End If Or if you prefer, you can do this using the correct response scoring built in to E-Prime: If ResponseText.CORR Then If ResponseText.RESP = "Z" Then c.SetAttrib "myFeedback", "Hit" Else c.SetAttrib "myFeedback", "Correct Rejection" Else If ResponseText.RESP = "Z" Then c.SetAttrib "myFeedback", "FA" Else c.SetAttrib "myFeedback", "Miss" End If Finally, at the risk of some obfuscation, you could make use of the Iif() function to compact this to: If ResponseText.CORR Then c.SetAttrib "myFeedback", Iif( ResponseText.RESP = "Z", "Hit", "Correct Rejection" ) Else c.SetAttrib "myFeedback", Iif( ResponseText.RESP = "Z", "FA", "Miss" ) End If It's really up to you and your programming style. You could instead do this with a Slide with multiple states, one state each for Hit, Miss, False Alarm, and Correct Rejection. Then you might keep all the slide text and design static, and just flip the state depending on the response. I can only give a sketch of how to approach this. First, to learn more about using Slides I would look through the manuals that came with E-Prime, and browse through the Slide topic in the online E-Basic Help (unfortunatley, I did not find any "Slide with multiple states" sample on the PST web site, perhaps they could add one?). Then to really understand how to script this and how to invoke the separate slide states, I would create a Slide with multiple states and then look at the script that E-Prime generates for me. In fact I figure out a lot of things in E-Prime just by looking at the script that E-Prime generates for me. I have used a number of terms here that may be new to you (Iif, SetAttrib, etc.), in general to learn more about these please look in the online E-Basic Help. -- David McFarlane, Professional Faultfinder > I am conducting an airport luggage screening and need to tailor my > feedback to where there is a different feedback for each response. > (Hit, Miss, False Alarm and Correct Rejection). Participants press Z > to indicate that weapon is present and M to indicate that there is no > weapon present. > Hit: Z Z (Correct Response/ User Response) > Miss: Z M > False Alarm: M Z > Correct Rejection: M M > > I have no idea how to write script. Please help. Thanks --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Wed Sep 9 11:45:32 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 9 Sep 2009 07:45:32 -0400 Subject: Feedback Help In-Reply-To: <4AA6CE4B.1090109@msu.edu> Message-ID: Oops. I was in a rush when I wrote my reply last night, plus I had a head/chest cold. Please replace .CORR everywhere with .ACC. But you already figured that out. Thank you. -- 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 tobias.fw at gmail.com Wed Sep 9 18:38:05 2009 From: tobias.fw at gmail.com (Tobi) Date: Wed, 9 Sep 2009 11:38:05 -0700 Subject: Inline for calling feedback screen in unreferenced objects Message-ID: Dear colleagues, I am having a strange problem using an inline code that refers to a TextDisplay in unreferenced objects. First I had a feedback TextDisplay between two blocklists (to show mean performance after blocks) and it worked fine with these Inlines: (1. Summation reset) Set g_theSummationP = New Summation Set g_theSummationPRT = New Summation (2. summation each trial) g_theSummationP.AddObservation mask2.Acc g_theSummationPRT.AddObservation mask2.RT (3. variable setting) c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * 100)), "0.00") c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), "0.00") And then there was Feedback (TextDisplay) with this content: "Your result: Mean Reaction Time: [BlockRTP] ms Correctness: [BlockAccuracyP]%" Well, that worked fine, I got feedback after each block. Now I wanted Feedback more often, not only after blocklists, but after 48 trials. So I used this Inline: If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 48 = 0 Then c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * 100)), "0.00") c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), "0.00") TextDisplay2.InputMasks.Add Keyboard.CreateInputMask("{ANY}", "", CLng (TextDisplay2.Duration), CLng("1"), ebEndResponseActionTerminate, CLogical("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") TextDisplay2.Run Set g_theSummationP = New Summation Set g_theSummationPRT = New Summation Set g_theSummationS = New Summation Set g_theSummationSRT = New Summation End If TextDisplay was in unreferenced objects. I was already using this "trick" to insert a break (break display in unreferenced objects) in order to have a break every X trials, independent of blocks etc. Now what I get is that it is actually calling TextDisplay2 (which is the feedback) but the screen is blank (that is no text, only background can be seen). If I leave away the variables [BlockAccuracyP] and [BlockRTP] it is working, though! Do I need to specify variables in the inline when they are used in displays that are in the unreferenced objects? If yes, how? Thank you very much for you patience and potential help! Cheers, Tobias --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From tobias.fw at gmail.com Fri Sep 11 12:29:10 2009 From: tobias.fw at gmail.com (Tobi) Date: Fri, 11 Sep 2009 05:29:10 -0700 Subject: Inline for calling feedback screen in unreferenced objects In-Reply-To: Message-ID: Hi again, doing some more work on this strange E-Prime behaviour, I found out that every Inline, calling for an objects (no matter if elsewhere in the program or in unreferenced objects) will cause the object to show only the background and no text as long as some variable or attribute (in square brackets) is embedded in the text. So it seems to be a general problem. Still, maybe some of you know a solution... Tobias On 9 Sep., 20:38, Tobi wrote: > Dear colleagues, > > I am having a strange problem using an inline code that refers to a > TextDisplay in unreferenced objects. > > First I had a feedback TextDisplay between two blocklists (to show > mean performance after blocks) and it worked fine with these Inlines: > > (1. Summation reset) > Set g_theSummationP = New Summation > Set g_theSummationPRT = New Summation > > (2. summation each trial) > g_theSummationP.AddObservation mask2.Acc > g_theSummationPRT.AddObservation mask2.RT > > (3. variable setting) > c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * > 100)), "0.00") > c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > "0.00") > > And then there was Feedback (TextDisplay) with this content: > "Your result: > > Mean Reaction Time: > [BlockRTP] ms > > Correctness: > [BlockAccuracyP]%" > > Well, that worked fine, I got feedback after each block. Now I wanted > Feedback more often, not only after blocklists, but after 48 trials. > So I used this Inline: > > If c.GetAttrib(c.GetAttrib("Running") & ".Sample") ?MOD 48 = 0 Then > ? ? ? ? c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * > 100)), "0.00") > ? ? ? ? c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > "0.00") > ? ? ? ? TextDisplay2.InputMasks.Add Keyboard.CreateInputMask("{ANY}", "", CLng > (TextDisplay2.Duration), CLng("1"), ebEndResponseActionTerminate, > CLogical("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") > ? ? ? ? TextDisplay2.Run > ? ? ? ? Set g_theSummationP = New Summation > ? ? ? ? Set g_theSummationPRT = New Summation > ? ? ? ? Set g_theSummationS = New Summation > ? ? ? ? Set g_theSummationSRT = New Summation > End If > > TextDisplay was in unreferenced objects. I was already using this > "trick" to insert a break (break display in unreferenced objects) in > order to have a break every X trials, independent of blocks etc. > > Now what I get is that it is actually calling TextDisplay2 (which is > the feedback) but the screen is blank (that is no text, only > background can be seen). If I leave away the variables > [BlockAccuracyP] and [BlockRTP] it is working, though! Do I need to > specify variables in the inline when they are used in displays that > are in the unreferenced objects? If yes, how? > > Thank you very much for you patience and potential help! > Cheers, > Tobias --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From pquain at une.edu.au Fri Sep 11 13:14:22 2009 From: pquain at une.edu.au (Peter Quain) Date: Fri, 11 Sep 2009 23:14:22 +1000 Subject: Inline for calling feedback screen in unreferenced objects In-Reply-To: Message-ID: Not sure I understand what the problem is, but maybe try something like this to set the FeedBack text?: Dim urrt, uracc As Single urrt = c.GetAttrib "BlockRTP" uracc = c.GetAttrib "BlockAccuracyP" Dim str1, str2 As String str1 = "Your Result: " & vbCrLf & vbCrLf & "Mean Reaction Time: " & urrt & " ms" & vbCrLf & vbCrLf str2 = "Correctness: " & uracc & "%" TextDisplay2.Text = str1 & str2 At 10:29 PM 11/09/2009, you wrote: >Hi again, > >doing some more work on this strange E-Prime behaviour, I found out >that every Inline, calling for an objects (no matter if elsewhere in >the program or in unreferenced objects) will cause the object to show >only the background and no text as long as some variable or attribute >(in square brackets) is embedded in the text. So it seems to be a >general problem. Still, maybe some of you know a solution... > >Tobias > >On 9 Sep., 20:38, Tobi wrote: > > Dear colleagues, > > > > I am having a strange problem using an inline code that refers to a > > TextDisplay in unreferenced objects. > > > > First I had a feedback TextDisplay between two blocklists (to show > > mean performance after blocks) and it worked fine with these Inlines: > > > > (1. Summation reset) > > Set g_theSummationP = New Summation > > Set g_theSummationPRT = New Summation > > > > (2. summation each trial) > > g_theSummationP.AddObservation mask2.Acc > > g_theSummationPRT.AddObservation mask2.RT > > > > (3. variable setting) > > c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * > > 100)), "0.00") > > c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > > "0.00") > > > > And then there was Feedback (TextDisplay) with this content: > > "Your result: > > > > Mean Reaction Time: > > [BlockRTP] ms > > > > Correctness: > > [BlockAccuracyP]%" > > > > Well, that worked fine, I got feedback after each block. Now I wanted > > Feedback more often, not only after blocklists, but after 48 trials. > > So I used this Inline: > > > > If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 48 = 0 Then > > c.SetAttrib "BlockAccuracyP", > Format(CStr(CDbl(g_theSummationP.Mean * > > 100)), "0.00") > > c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > > "0.00") > > TextDisplay2.InputMasks.Add > Keyboard.CreateInputMask("{ANY}", "", CLng > > (TextDisplay2.Duration), CLng("1"), ebEndResponseActionTerminate, > > CLogical("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") > > TextDisplay2.Run > > Set g_theSummationP = New Summation > > Set g_theSummationPRT = New Summation > > Set g_theSummationS = New Summation > > Set g_theSummationSRT = New Summation > > End If > > > > TextDisplay was in unreferenced objects. I was already using this > > "trick" to insert a break (break display in unreferenced objects) in > > order to have a break every X trials, independent of blocks etc. > > > > Now what I get is that it is actually calling TextDisplay2 (which is > > the feedback) but the screen is blank (that is no text, only > > background can be seen). If I leave away the variables > > [BlockAccuracyP] and [BlockRTP] it is working, though! Do I need to > > specify variables in the inline when they are used in displays that > > are in the unreferenced objects? If yes, how? > > > > Thank you very much for you patience and potential help! > > Cheers, > > Tobias > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From pquain at une.edu.au Fri Sep 11 13:46:57 2009 From: pquain at une.edu.au (Peter Quain) Date: Fri, 11 Sep 2009 23:46:57 +1000 Subject: Inline for calling feedback screen in unreferenced objects Message-ID: ...oh. not sure if e-basic accepts &vbCrLf as line space character. If not use \n instead: Rest.text = "Thank you."&_ "\n" &_ "Take a rest now, and relax your eyes."&_ "\n" &_ "\n" &_ "ONLY " & numleft & " BLOCKS TO GO NOW."&_ "\n" &_ "\n" &_ "Please stop complaining. Remember - you are doing this for course credit. "&_ "\n" &_ "Please wait for the experimenter to tell you when to begin the next block of trials." At 10:29 PM 11/09/2009, you wrote: >Hi again, > >doing some more work on this strange E-Prime behaviour, I found out >that every Inline, calling for an objects (no matter if elsewhere in >the program or in unreferenced objects) will cause the object to show >only the background and no text as long as some variable or attribute >(in square brackets) is embedded in the text. So it seems to be a >general problem. Still, maybe some of you know a solution... > >Tobias > >On 9 Sep., 20:38, Tobi wrote: > > Dear colleagues, > > > > I am having a strange problem using an inline code that refers to a > > TextDisplay in unreferenced objects. > > > > First I had a feedback TextDisplay between two blocklists (to show > > mean performance after blocks) and it worked fine with these Inlines: > > > > (1. Summation reset) > > Set g_theSummationP = New Summation > > Set g_theSummationPRT = New Summation > > > > (2. summation each trial) > > g_theSummationP.AddObservation mask2.Acc > > g_theSummationPRT.AddObservation mask2.RT > > > > (3. variable setting) > > c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * > > 100)), "0.00") > > c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > > "0.00") > > > > And then there was Feedback (TextDisplay) with this content: > > "Your result: > > > > Mean Reaction Time: > > [BlockRTP] ms > > > > Correctness: > > [BlockAccuracyP]%" > > > > Well, that worked fine, I got feedback after each block. Now I wanted > > Feedback more often, not only after blocklists, but after 48 trials. > > So I used this Inline: > > > > If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 48 = 0 Then > > c.SetAttrib "BlockAccuracyP", > Format(CStr(CDbl(g_theSummationP.Mean * > > 100)), "0.00") > > c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > > "0.00") > > TextDisplay2.InputMasks.Add > Keyboard.CreateInputMask("{ANY}", "", CLng > > (TextDisplay2.Duration), CLng("1"), ebEndResponseActionTerminate, > > CLogical("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") > > TextDisplay2.Run > > Set g_theSummationP = New Summation > > Set g_theSummationPRT = New Summation > > Set g_theSummationS = New Summation > > Set g_theSummationSRT = New Summation > > End If > > > > TextDisplay was in unreferenced objects. I was already using this > > "trick" to insert a break (break display in unreferenced objects) in > > order to have a break every X trials, independent of blocks etc. > > > > Now what I get is that it is actually calling TextDisplay2 (which is > > the feedback) but the screen is blank (that is no text, only > > background can be seen). If I leave away the variables > > [BlockAccuracyP] and [BlockRTP] it is working, though! Do I need to > > specify variables in the inline when they are used in displays that > > are in the unreferenced objects? If yes, how? > > > > Thank you very much for you patience and potential help! > > Cheers, > > Tobias > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From adamosth at gmail.com Fri Sep 11 18:13:03 2009 From: adamosth at gmail.com (Adam Osth) Date: Fri, 11 Sep 2009 14:13:03 -0400 Subject: End a for loop early in ebasic? Message-ID: Hello all, I have a program in e-basic that takes two arrays and combines them, then randomizes and recombines them. Since I can't reuse any combinations that were in place previously, I have a loop structure in place to detect whether the combinations have been used. It goes something like this. HeadColor(7) As String HeadShape(7) As String (takes values for each) For a = 0 to a = 7 Heads(a) = HeadColor(a) + HeadShape(a) /*randomize and check for repeats Nomatch As Boolean Nomatch = false Matches As Integer While Nomatch = false Randomize HeadColor Randomize HeadShape * For b = 0 to b = 7 If HeadColor(b) + HeadShape(b) = Heads(b) Matches = Matches + 1* End If Next b If Matches = 0 Nomatch = true Wend Now -- in the highlighted FOR loop, if the If statement is true, it is basically saying that the entire While loop needs to be repeated and re-randomized (a match is present). Thus, the rest of the For loop is irrelevant. Is there a statement that can be used to end the for loop, like a break or end statement? Also, if my code is horribly inefficient, feel free to critique me as I'm not a trained programmer. Any help would be appreciated! Thanks! Adam --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 mcgree at gmail.com Fri Sep 11 18:46:31 2009 From: mcgree at gmail.com (mcgree) Date: Fri, 11 Sep 2009 11:46:31 -0700 Subject: Displaying The Information Within An Array Message-ID: Hello, I am new to E Prime but I have had a little experience with other programming languages. Currently, I am trying to fill an array with information and then display the information from a particular trial number at the end of that trial. However, when I run the program I get an error when it goes to display the information (on the feedback screen) from the array. The code looks like the following: You made [Hits(TrialNumber)] hits. You made [Misses(TrialNumber)] misses. You made [FalseAlarms(TrialNumber)] false alarms. Can anyone help me set this up correctly or provide a source for more information? Any help would be appreciated! Thanks in advance! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From tobias.fw at gmail.com Sat Sep 12 13:40:52 2009 From: tobias.fw at gmail.com (Tobi) Date: Sat, 12 Sep 2009 06:40:52 -0700 Subject: Inline for calling feedback screen in unreferenced objects In-Reply-To: <200909111408.n8BE8Kka018121@mail13.tpg.com.au> Message-ID: Thanks, with your help it worked out: I use this code now: If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 80= 0 Then c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * 100)), "0.0") c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), "0") c.SetAttrib "BlockAccuracyS", Format(CStr(CDbl(g_theSummationS.Mean * 100)), "0.0") Dim probeRT, probeAcc, searchAcc probeRT = c.GetAttrib("BlockRTP") probeAcc = c.GetAttrib("BlockAccuracyP") searchAcc = c.GetAttrib("BlockAccuracyS") TextDisplay2.InputMasks.Add Keyboard.CreateInputMask("{ANY}", "", CLng (TextDisplay2.Duration), CLng("1"), ebEndResponseActionTerminate, CLogical("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") TextDisplay2.text = "performance: " & "\n\n\n\n" & "COLOR TASK" & "\n \n" & "Reaction Time: " & probeRT & " ms" & "\n" & "Correctness: " & probeAcc & " %" & "\n\n\n" & "SEARCH TASK" & "\n\n" & "Correctness: " & searchAcc & " %" & "\n\n\n" & "- Press button to continue -" TextDisplay2.run Set g_theSummationP = New Summation Set g_theSummationPRT = New Summation Set g_theSummationS = New Summation Set g_theSummationSRT = New Summation End if On 11 Sep., 15:46, Peter Quain wrote: > ...oh. not sure if e-basic accepts &vbCrLf as line space character. > If not use \n instead: > > Rest.text = "Thank you."&_ > "\n" &_ > "Take a rest now, and relax your eyes."&_ > "\n" &_ > "\n" &_ > "ONLY ?" & numleft & " BLOCKS TO GO NOW."&_ > "\n" &_ > "\n" &_ > "Please stop complaining. Remember - you are doing this for course credit. "&_ > "\n" &_ > "Please wait for the experimenter to tell you when to begin the next > block of trials." > > At 10:29 PM 11/09/2009, you wrote: > > >Hi again, > > >doing some more work on this strange E-Prime behaviour, I found out > >that every Inline, calling for an objects (no matter if elsewhere in > >the program or in unreferenced objects) will cause the object to show > >only the background and no text as long as some variable or attribute > >(in square brackets) is embedded in the text. So it seems to be a > >general problem. Still, maybe some of you know a solution... > > >Tobias > > >On 9 Sep., 20:38, Tobi wrote: > > > Dear colleagues, > > > > I am having a strange problem using an inline code that refers to a > > > TextDisplay in unreferenced objects. > > > > First I had a feedback TextDisplay between two blocklists (to show > > > mean performance after blocks) and it worked fine with these Inlines: > > > > (1. Summation reset) > > > Set g_theSummationP = New Summation > > > Set g_theSummationPRT = New Summation > > > > (2. summation each trial) > > > g_theSummationP.AddObservation mask2.Acc > > > g_theSummationPRT.AddObservation mask2.RT > > > > (3. variable setting) > > > c.SetAttrib "BlockAccuracyP", Format(CStr(CDbl(g_theSummationP.Mean * > > > 100)), "0.00") > > > c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > > > "0.00") > > > > And then there was Feedback (TextDisplay) with this content: > > > "Your result: > > > > Mean Reaction Time: > > > [BlockRTP] ms > > > > Correctness: > > > [BlockAccuracyP]%" > > > > Well, that worked fine, I got feedback after each block. Now I wanted > > > Feedback more often, not only after blocklists, but after 48 trials. > > > So I used this Inline: > > > > If c.GetAttrib(c.GetAttrib("Running") & ".Sample") ?MOD 48 = 0 Then > > > ? ? ? ? c.SetAttrib "BlockAccuracyP", > > Format(CStr(CDbl(g_theSummationP.Mean * > > > 100)), "0.00") > > > ? ? ? ? c.SetAttrib "BlockRTP", Format(CStr(CDbl(g_theSummationPRT.Mean )), > > > "0.00") > > > ? ? ? ? TextDisplay2.InputMasks.Add > > Keyboard.CreateInputMask("{ANY}", "", CLng > > > (TextDisplay2.Duration), CLng("1"), ebEndResponseActionTerminate, > > > CLogical("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") > > > ? ? ? ? TextDisplay2.Run > > > ? ? ? ? Set g_theSummationP = New Summation > > > ? ? ? ? Set g_theSummationPRT = New Summation > > > ? ? ? ? Set g_theSummationS = New Summation > > > ? ? ? ? Set g_theSummationSRT = New Summation > > > End If > > > > TextDisplay was in unreferenced objects. I was already using this > > > "trick" to insert a break (break display in unreferenced objects) in > > > order to have a break every X trials, independent of blocks etc. > > > > Now what I get is that it is actually calling TextDisplay2 (which is > > > the feedback) but the screen is blank (that is no text, only > > > background can be seen). If I leave away the variables > > > [BlockAccuracyP] and [BlockRTP] it is working, though! Do I need to > > > specify variables in the inline when they are used in displays that > > > are in the unreferenced objects? If yes, how? > > > > Thank you very much for you patience and potential help! > > > Cheers, > > > Tobias --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Mon Sep 14 21:13:19 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 14 Sep 2009 17:13:19 -0400 Subject: End a for loop early in ebasic? In-Reply-To: <7ef748980909111113u7e58be10ob3872efcbca34c64@mail.gmail.co m> Message-ID: Adam, You may use Exit For to get out of a For loop early, please see the "Exit (keyword)" topic in the E-Basic online help and take it from there. On a style note, for some reason even young E-Prime programmers seem to latch on to the quaint and long deprecated While...Wend statement instead of using the much more serviceable and preferred Do...Loop construct (please see, e.g., http://msdn.microsoft.com/en-us/library/661sy9w2(VS.85).aspx ). I would ask everyone to abandon While...Wend in favor of Do...Loop; While...Wend went out with the Commodore 64! Finally, as in PST's NoRepeat.es example, you use a non-deterministic algorithm instead of a deterministic algorithm. I have discussed this elsewhere. But a deterministic algorithm, though arguably more efficient, takes some intricate programming, and your sample size is so small that I do not think it worth the effort. So I would have you continue with what you are doing. -- David McFarlane, Professional Faultfinder At 9/11/2009 02:13 PM Friday, you wrote: >Hello all, > >I have a program in e-basic that takes two arrays and combines them, >then randomizes and recombines them. Since I can't reuse any >combinations that were in place previously, I have a loop structure >in place to detect whether the combinations have been used. It goes >something like this. > >HeadColor(7) As String >HeadShape(7) As String >(takes values for each) >For a = 0 to a = 7 > Heads(a) = HeadColor(a) + HeadShape(a) > >/*randomize and check for repeats >Nomatch As Boolean >Nomatch = false >Matches As Integer > >While Nomatch = false > Randomize HeadColor > Randomize HeadShape > For b = 0 to b = 7 > If HeadColor(b) + HeadShape(b) = Heads(b) > Matches = Matches + 1 > End If > Next b > If Matches = 0 > Nomatch = true >Wend > >Now -- in the highlighted FOR loop, if the If statement is true, it >is basically saying that the entire While loop needs to be repeated >and re-randomized (a match is present). Thus, the rest of the For >loop is irrelevant. Is there a statement that can be used to end the >for loop, like a break or end statement? > >Also, if my code is horribly inefficient, feel free to critique me >as I'm not a trained programmer. > >Any help would be appreciated! Thanks! > >Adam --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Sep 14 21:23:39 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 14 Sep 2009 17:23:39 -0400 Subject: Displaying The Information Within An Array In-Reply-To: Message-ID: McGree, I assume that "You made [...]" is text from your feedback Text or Slide object. In that case you must learn that between the square brackets you must enter an "attribute reference", you may not use an actual variable there (an easy bit of confusion when coming to E-Prime from other programming systems). So you will need to change your feedback Text or Slide to something like You made [Hits] hits. You made [Misses] misses. You made [FalseAlarms] false alarms. And then in script before your feedback Text or Slide you might do something like c.SetAttrib "Hits", Hits(TrialNumber) c.SetAttrib "Misses", Misses(TrialNumber) c.SetAttrib "FalstAlarms", FalseAlarms(TrialNumber) (Note, BTW, that variables and attribute references may have the same name.) For more info, you might start with the Context Object topic in the online E-Basic Help. In general, the online E-Basic Help is the real documentation for E-Prime. Hope this helps, -- David McFarlane, Professional Faultfinder At 9/11/2009 02:46 PM Friday, you wrote: >Hello, > I am new to E Prime but I have had a little experience with other >programming languages. Currently, I am trying to fill an array with >information and then display the information from a particular trial >number at the end of that trial. However, when I run the program I >get an error when it goes to display the information (on the feedback >screen) from the array. The code looks like the following: >You made [Hits(TrialNumber)] hits. >You made [Misses(TrialNumber)] misses. >You made [FalseAlarms(TrialNumber)] false alarms. > >Can anyone help me set this up correctly or provide a source for more >information? Any help would be appreciated! Thanks in advance! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 debramalpass at yahoo.co.uk Tue Sep 15 13:08:13 2009 From: debramalpass at yahoo.co.uk (Deb Malpass) Date: Tue, 15 Sep 2009 06:08:13 -0700 Subject: Thread Error - Sound Buffer Message-ID: Hi All, I'm running an experiment that requires participants to listen to an auditory question and then respond following three beeps. The program runs fine during the first trial and then crashes during the second trial with the following error message: "Unable to communicate with thread that fills the sound buffer contents Extra1: 320000 Extra2: 0 Extra3: 421250 Extra4: No Extra 5: 2696 Error Number: -999" I'm running E-Prime v.2 on Windows XP. All of the .wav files are recorded as 16bit 22050Hz in stereo. The auditory question files are between 70 and 90KB in size and the beep file is 5KB. I'd be grateful if anyone has any insights in how to address this problem. Many Thanks, Debra Malpass --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Tue Sep 15 18:07:25 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 15 Sep 2009 14:07:25 -0400 Subject: Thread Error - Sound Buffer In-Reply-To: Message-ID: I would submit this sort of thing directly to PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp. -- David McFarlane, Professional Faultfinder At 9/15/2009 09:08 AM Tuesday, you wrote: >Hi All, > >I'm running an experiment that requires participants to listen to an >auditory question and then respond following three beeps. The program >runs fine during the first trial and then crashes during the second >trial with the following error message: > >"Unable to communicate with thread that fills the sound buffer >contents >Extra1: 320000 >Extra2: 0 >Extra3: 421250 >Extra4: No >Extra 5: 2696 > >Error Number: -999" > >I'm running E-Prime v.2 on Windows XP. All of the .wav files are >recorded as 16bit 22050Hz in stereo. The auditory question files are >between 70 and 90KB in size and the beep file is 5KB. > >I'd be grateful if anyone has any insights in how to address this >problem. > >Many Thanks, > >Debra Malpass --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Tue Sep 15 18:34:33 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 15 Sep 2009 14:34:33 -0400 Subject: tms pulse during video playing In-Reply-To: <4a11b9b0.0d0bca0a.0b32.41eaSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Well, I discovered I made a mistake in this reply, once again illustrating that no one should take my word for anything! As it turns out, E-Prime does have a mechanism for performing secondary actions or script during sound playback, and perhaps even movie playback. I was only thinking about what happens with a SoundOut object or sub-object placed directly in the structure. But as explained in the online E-Basic Help, you may do this with some inline script. In particular, SoundOut.Play will begin *asynchronous* sound playback, i.e., the sound file "begins playing and then program execution continues with the next object in the procedure." This would allow you to start your playback in script and then go on to run more script to manage TMS pulses, etc. while the sound continued to play. By contrast, SoundOut.Run (which is what happens when you just use the SoundOut object in the structure) begins *synchronous* sound playback, i.e., "Run does not return until the execution of all of the object is done." One would think that the new MovieDisplay object would have similar properties and methods to the SoundOut object, but so far PST has not provided any documentation. And we already know that MovieDisplay lacks a Loop property, in contrast to the SoundOut object (see http://support.pstnet.com/forum/Topic2772-12-1.aspx ), so I would not make any bets. Just wanted to correct the record, my apologies. -- David McFarlane, Professional Faultfinder At 5/18/2009 03:40 PM Monday, you wrote: >Hmm, you bring up an interesting limitation of movie presentation in >E-Prime. I also find the same limitation with sound >presentation. As far as I can tell, E-Prime has no mechanism to >perform secondary actions or script during the playback of sound or >movie files. With a lower level language (e.g., C or C++) I would >write a loop to keep refreshing the output buffer and checking the >clock to perform other actions, but I do not know how to do that with >E-Prime objects, or if that is even possible. I will be really >interested if someone more clever than me can post a solution. > >-- David McFarlane, Professional Faultfinder > > >At 5/12/2009 12:52 PM Tuesday, you wrote: > > >Hello everybody, > > > >I have some troubles with movies presentation: I'm trying to give a > >TMS pulse during the presentation of a video (it lasts 2 seconds so > >it's pretty short), at very precise timings, for example 767 > >milliseconds after the stimulus onset, while the video is still > >ongoing. > > > >I already did a similar experiment using images: I sat the stimulus > >duration time at 0, and it worked, but it doesn't with videos (the > >program shows just the frame zero). > > > >What kind of InLine should I write? > > > >And, how can I determine the pre-release time with movies? > > > >Thank you all, I really need some help. > > > >Ilaria. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 iubmartin at gmail.com Wed Sep 16 04:01:19 2009 From: iubmartin at gmail.com (Martin Yang) Date: Tue, 15 Sep 2009 21:01:19 -0700 Subject: Set the timing to record RT? Message-ID: Dear all, I'm still a rookie in E-Prime and designing an ABX discrimination task. I got a question about the timing to record RT. Does anyone know how to set the timing to record RT in E-Studio 2.0? I looked up the user's guide and it says that RT is always recorded from the onset of the response logging event. However, this is not the way I want. I need to record RT right AFTER subject has heard the audio stimuli. I tried two different methods, but none of them gave me accurate RTs. The first thing I tried was making the sound object itself as the response logging event, but in that case, RT would be measured from the onset of the event, which was BEFORE the whole sound file has been played to the subject and the RT would include the duration of the sound "file", which was way longer than subject's actual response. The second thing I tried was adding a "Wait" object which records RT AFTER the sound object. The duration of the sound object was set to 1500ms, but given that the length of sound files were all different, the wait object didn't immediately start right after the sound "file" was played. Rather, the wait object started after the whole 1500ms of sound object had elapsed. Now the problem is that subject may already start responding before the whole 1500ms has elapsed, so some parts of RT will be missing since subject starts responding before the wait object which records RT starts. So, does anyone have any idea to record RT right after the sound "file" has been played to the subject? Thank you in advance for your great help!! -Martin --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Wed Sep 16 04:31:01 2009 From: pquain at une.edu.au (Peter Quain) Date: Wed, 16 Sep 2009 14:31:01 +1000 Subject: Set the timing to record RT? In-Reply-To: <41b4e396-ce15-44c0-a92f-b85887316653@o21g2000vbl.googlegro ups.com> Message-ID: maybe something like this would work (or maybe not..): use 'dummy' object (a text object, duration = 0, wait for response = forever; response action = jump to label) just before sound object, to collect RT. There is a sample experiment on e-prime samples which illustrates this, maybe someone remembers its name? Is it CollectInputDuringInLine? Log onset time of dummy. Log offset time of sound object. Compute adjustRT = sound offset - dummy onset. After RT is collected, compute realRT = dummy.RT - adjustRT . Set realRT as attribute. At 02:01 PM 16/09/2009, you wrote: >Dear all, > >I'm still a rookie in E-Prime and designing an ABX discrimination >task. I got a question about the timing to record RT. Does anyone know >how to set the timing to record RT in E-Studio 2.0? I looked up the >user's guide and it says that RT is always recorded from the onset of >the response logging event. However, this is not the way I want. I >need to record RT right AFTER subject has heard the audio stimuli. I >tried two different methods, but none of them gave me accurate RTs. > >The first thing I tried was making the sound object itself as the >response logging event, but in that case, RT would be measured from >the onset of the event, which was BEFORE the whole sound file has been >played to the subject and the RT would include the duration of the >sound "file", which was way longer than subject's actual response. > >The second thing I tried was adding a "Wait" object which records RT >AFTER the sound object. The duration of the sound object was set to >1500ms, but given that the length of sound files were all different, >the wait object didn't immediately start right after the sound "file" >was played. Rather, the wait object started after the whole 1500ms of >sound object had elapsed. Now the problem is that subject may already >start responding before the whole 1500ms has elapsed, so some parts of >RT will be missing since subject starts responding before the wait >object which records RT starts. So, does anyone have any idea to >record RT right after the sound "file" has been played to the >subject? > >Thank you in advance for your great help!! > >-Martin > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Wed Sep 16 05:04:45 2009 From: pquain at une.edu.au (Peter Quain) Date: Wed, 16 Sep 2009 15:04:45 +1000 Subject: Set the timing to record RT? Message-ID: You say you're new to e-prime. Using dummy object, something like this in an inline before the end of a trial would log true RT from sound offset: dumOnset = c.GetAttrib("dummy.OnsetTime") dumRT = c.GetAttrib("dummy.RT") soundOffset = c.GetAttrib("soundObject.OffsetTime") adjustRT = soundOffset - dumOnset realRT = dumRT - adjustRT c.SetAttrib "ReactionTime", realRT maybe something like this would work (or maybe not..): use 'dummy' object (a text object, duration = 0, wait for response = forever; response action = jump to label) just before sound object, to collect RT. There is a sample experiment on e-prime samples which illustrates this, maybe someone remembers its name? Is it CollectInputDuringInLine? Log onset time of dummy. Log offset time of sound object. Compute adjustRT = sound offset - dummy onset. After RT is collected, compute realRT = dummy.RT - adjustRT . Set realRT as attribute. At 02:01 PM 16/09/2009, you wrote: >Dear all, > >I'm still a rookie in E-Prime and designing an ABX discrimination >task. I got a question about the timing to record RT. Does anyone know >how to set the timing to record RT in E-Studio 2.0? I looked up the >user's guide and it says that RT is always recorded from the onset of >the response logging event. However, this is not the way I want. I >need to record RT right AFTER subject has heard the audio stimuli. I >tried two different methods, but none of them gave me accurate RTs. > >The first thing I tried was making the sound object itself as the >response logging event, but in that case, RT would be measured from >the onset of the event, which was BEFORE the whole sound file has been >played to the subject and the RT would include the duration of the >sound "file", which was way longer than subject's actual response. > >The second thing I tried was adding a "Wait" object which records RT >AFTER the sound object. The duration of the sound object was set to >1500ms, but given that the length of sound files were all different, >the wait object didn't immediately start right after the sound "file" >was played. Rather, the wait object started after the whole 1500ms of >sound object had elapsed. Now the problem is that subject may already >start responding before the whole 1500ms has elapsed, so some parts of >RT will be missing since subject starts responding before the wait >object which records RT starts. So, does anyone have any idea to >record RT right after the sound "file" has been played to the >subject? > >Thank you in advance for your great help!! > >-Martin > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From tobias.fw at gmail.com Wed Sep 16 09:56:42 2009 From: tobias.fw at gmail.com (Tobi) Date: Wed, 16 Sep 2009 02:56:42 -0700 Subject: correct answer depending on "group" startup information In-Reply-To: Message-ID: Thank you, that works fine. Unfortunately, in my real experiment (this example was kept simple due to comprehensiveness) I don't have 2 lines in my list but 640. I guess there is an easier way than using 640*2 lines in this InLine. If I understand correctly, "List1.SetAttrib 1" changes the first line in the list and "List1.SetAttrib 2" changes the second line. That means, that the CorrAns value is replaced (see http://chilion.com/probl1.JPG ) no matter if [yes] or [no] was specified. In fact in my real experiment I also have only two variables. Easiest would be to change [yes] to let's say "D" and [no] to "F" if c.GetAttrib("group") = 1 and the other way round if it's 2. Is that possible? Thanks already in advance! Cheers, Tobias On 5 Sep., 23:08, Shin-Yi Fang wrote: > Hi, > > I think group is not really a variable. It ?is an attribute. You will need > getattrib function. The following script probably is what you need. > > if c.GetAttrib("group") = 1 then > ? ?List1.SetAttrib 1, "corrAns", "w" > ? ?List1.SetAttrib 2, "corrAns", "q" > else > ? ?List1.SetAttrib 1, "corrAns", "q" > ? ?List1.SetAttrib 2, "corrAns", "w" > end if > > Best, > > Shin-Yi > > ? ?List1.SetAttrib 1 "corrAns")yes = "q" and no = "w" > > > > > if group = 2 then yes = "w" and no = "q" > On Fri, Sep 4, 2009 at 6:10 PM, Tobi wrote: > > > To be more understandable, here are two screenshots, one of the list > > and one of the InLine: > > >http://chilion.com/probl1.JPG > >http://chilion.com/probl2.JPG > > > On 4 Sep., 19:40, Tobi wrote: > > > Hi everyone, > > > > I have a question concerning the "group" variable than can be prompted > > > for in the beginning of each session. I want to change the correct > > > answer key according to this group variable (and change the key > > > assignment as a consequence of corse). > > > > In a very easy example there might be a trials with a target or no > > > target (blank). One group should answer with "w" for TARGET and "q" > > > for BLANK, the other group the other way round: > > > > LIST: > > > > ID ? ? ? ? ? ? Procedure ? corrAns > > > ------------------------------- > > > 1 ? ? ? ? ? ? ? blank ? ? ? ? ? [no] > > > 1 ? ? ? ? ? ? ? target ?[yes] > > > > I used this InLineas the very first line: > > > > dim yes, no > > > if group = 1 then yes = "q" and no = "w" > > > if group = 2 then yes = "w" and no = "q" > > > > Unfortunately I get the error message "Unknown function "group"". > > > What does that mean? I am not so familiar with Basic, so any help > > > might be very cool. > > > Maybe you have other suggestions to change key assignment by the help > > > of startup information. > > > > Thanks a lot, > > > Tobias > > -- > Ph.D. Student > Department of Psychology > University of Connecticut > and > Haskins Laboratories --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Sep 16 16:03:52 2009 From: liwenna at gmail.com (liwenna) Date: Wed, 16 Sep 2009 09:03:52 -0700 Subject: correct answer depending on "group" startup information In-Reply-To: <8b4db3bf-299a-4bd7-8355-d2d409345c8b@z34g2000vbl.googlegroups.com> Message-ID: I think I posted a reply to this thread (I wrote one for sure ^.^) but it doesn't show up... my guess is that I hit 'reply to author' by accident, but I can't find a record of that anywhere. Tobias, if you didn't receive mail from me, let me know, then I'll repost (right now I am a bit lazy to do so... it's time for me to go home...). Have a good evening everyone! On Sep 16, 11:56 am, Tobi wrote: > Thank you, > > that works fine. Unfortunately, in my real experiment (this example > was kept simple due to comprehensiveness) I don't have 2 lines in my > list but 640. I guess there is an easier way than using 640*2 lines in > this InLine. If I understand correctly, "List1.SetAttrib 1" changes > the first line in the list and "List1.SetAttrib 2" changes the second > line. > > That means, that the CorrAns value is replaced (seehttp://chilion.com/probl1.JPG > ) no matter if [yes] or [no] was specified. In fact in my real > experiment I also have only two variables. Easiest would be to change > [yes] to let's say "D" and [no] to "F" if c.GetAttrib("group") = 1 and > the other way round if it's 2. > > Is that possible? > > Thanks already in advance! > > Cheers, > Tobias > > On 5 Sep., 23:08, Shin-Yi Fang wrote: > > > Hi, > > > I think group is not really a variable. It is an attribute. You will need > > getattrib function. The following script probably is what you need. > > > if c.GetAttrib("group") = 1 then > > List1.SetAttrib 1, "corrAns", "w" > > List1.SetAttrib 2, "corrAns", "q" > > else > > List1.SetAttrib 1, "corrAns", "q" > > List1.SetAttrib 2, "corrAns", "w" > > end if > > > Best, > > > Shin-Yi > > > List1.SetAttrib 1 "corrAns")yes = "q" and no = "w" > > > > if group = 2 then yes = "w" and no = "q" > > On Fri, Sep 4, 2009 at 6:10 PM, Tobi wrote: > > > > To be more understandable, here are two screenshots, one of the list > > > and one of the InLine: > > > >http://chilion.com/probl1.JPG > > >http://chilion.com/probl2.JPG > > > > On 4 Sep., 19:40, Tobi wrote: > > > > Hi everyone, > > > > > I have a question concerning the "group" variable than can be prompted > > > > for in the beginning of each session. I want to change the correct > > > > answer key according to this group variable (and change the key > > > > assignment as a consequence of corse). > > > > > In a very easy example there might be a trials with a target or no > > > > target (blank). One group should answer with "w" for TARGET and "q" > > > > for BLANK, the other group the other way round: > > > > > LIST: > > > > > ID Procedure corrAns > > > > ------------------------------- > > > > 1 blank [no] > > > > 1 target [yes] > > > > > I used this InLineas the very first line: > > > > > dim yes, no > > > > if group = 1 then yes = "q" and no = "w" > > > > if group = 2 then yes = "w" and no = "q" > > > > > Unfortunately I get the error message "Unknown function "group"". > > > > What does that mean? I am not so familiar with Basic, so any help > > > > might be very cool. > > > > Maybe you have other suggestions to change key assignment by the help > > > > of startup information. > > > > > Thanks a lot, > > > > Tobias > > > -- > > Ph.D. Student > > Department of Psychology > > University of Connecticut > > and > > Haskins Laboratories --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Wed Sep 16 16:17:16 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 16 Sep 2009 12:17:16 -0400 Subject: correct answer depending on "group" startup information In-Reply-To: <8b4db3bf-299a-4bd7-8355-d2d409345c8b@z34g2000vbl.googlegro ups.com> Message-ID: Tobias, >I guess there is an easier way than using 640*2 lines in this InLine. Yes, you could use a For...Next loop. -- 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 Wed Sep 16 16:23:25 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 16 Sep 2009 12:23:25 -0400 Subject: Set the timing to record RT? In-Reply-To: <41b4e396-ce15-44c0-a92f-b85887316653@o21g2000vbl.googlegro ups.com> Message-ID: Martin, What if you set the End Sound Action of your SoundOut object to Terminate? Wouldn't that end the SoundOut as soon as your sound file ended (before the 1500 ms Duration of the SoundOut object) and then go on to collect your RT from there? -- David McFarlane, Professional Faultfinder >Dear all, > >I'm still a rookie in E-Prime and designing an ABX discrimination >task. I got a question about the timing to record RT. Does anyone know >how to set the timing to record RT in E-Studio 2.0? I looked up the >user's guide and it says that RT is always recorded from the onset of >the response logging event. However, this is not the way I want. I >need to record RT right AFTER subject has heard the audio stimuli. I >tried two different methods, but none of them gave me accurate RTs. > >The first thing I tried was making the sound object itself as the >response logging event, but in that case, RT would be measured from >the onset of the event, which was BEFORE the whole sound file has been >played to the subject and the RT would include the duration of the >sound "file", which was way longer than subject's actual response. > >The second thing I tried was adding a "Wait" object which records RT >AFTER the sound object. The duration of the sound object was set to >1500ms, but given that the length of sound files were all different, >the wait object didn't immediately start right after the sound "file" >was played. Rather, the wait object started after the whole 1500ms of >sound object had elapsed. Now the problem is that subject may already >start responding before the whole 1500ms has elapsed, so some parts of >RT will be missing since subject starts responding before the wait >object which records RT starts. So, does anyone have any idea to >record RT right after the sound "file" has been played to the >subject? > >Thank you in advance for your great help!! > >-Martin --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 pbren004 at odu.edu Fri Sep 18 18:04:41 2009 From: pbren004 at odu.edu (Patricia B) Date: Fri, 18 Sep 2009 11:04:41 -0700 Subject: Calculating Total Misses Message-ID: I am conducting an airport luggage screening and need to have feedback which calculates the total number of misses in a block. Each block has 100 images and at the end of the block the feedback should say something along the lines of you have lost x amount of points (which are deducted for misses). --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 t1msky at yahoo.co.uk Sat Sep 19 10:38:15 2009 From: t1msky at yahoo.co.uk (Victor) Date: Sat, 19 Sep 2009 03:38:15 -0700 Subject: Calculating Total Misses In-Reply-To: <7f8fce7b-06e7-4dd3-97f2-bdc78da476c6@p15g2000vbl.googlegroups.com> Message-ID: Hi Patricia, This should be simple. Declare a global variable 'Dim misses as integer'. At the start of the script, misses = 0. In an inline after the slide object, 'If slide1.ACC = "0" then misses = misses + 1'. At the end you can then have a feedback with 'you have lost [misses] amount of points' I hope this answers your question, Tim On Sep 18, 7:04?pm, Patricia B wrote: > I am conducting an airport luggage screening and need to have feedback > which calculates the total number of misses in a block. Each block has > 100 images and at the end of the block the feedback should say > something along the lines of you have lost x amount of points (which > are deducted for misses). --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 marylandncdl at gmail.com Mon Sep 21 16:07:24 2009 From: marylandncdl at gmail.com (UMD NCDL) Date: Mon, 21 Sep 2009 09:07:24 -0700 Subject: Response which leads to continuation of a procedure or starts another procedure Message-ID: Hi all, I am trying to do a New/Old procedure. If the participant responds "New" I want the New/Old procedure to continue with the next stimulus presentation. However, if the participant responds "Old" I want a Context procedure to run that will allow the participant to respond that it was seen in context "A" or context "B." After this I want the next stimuli from the New/Old procedure to continue. Thank you! Leslie Neurocognitive Development Lab Neurocognitive Development Lab University of Maryland, College Park --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From Michiel.Spape at nottingham.ac.uk Mon Sep 21 16:34:00 2009 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Mon, 21 Sep 2009 17:34:00 +0100 Subject: Response which leads to continuation of a procedure or starts another procedure In-Reply-To: <2a0747c1-6cd9-4117-a454-c69ec4279a8c@m11g2000vbl.googlegroups.com> Message-ID: Hi, So, what is your question? How far did you get? Did you get stuck anywhere? It seems to me you're more familiar with other types of programming than e-prime - it makes less sense in E-Prime to make "procedures" the fundamental object which you would then call from dozens of lines of script. Instead of trying to do something like procedure.exit, you might try List.terminate instead, though, or (easier, I think) use a couple of jump labels. Say, you have a procedure with TextDisplay1, allowable input no (n)ew or (o)ld An inline with 'if TextDisplay1.RESP = "n" then goto AfterContextQuestion' TextDisplay2, "was it seen in context A or B?" AfterContextQuestion TextDisplay3, "thanks for the response" (whatever) Of course, if you want, you can make it yourself difficult and do some inlining, with a loop until the participant says 'new', doing some textdisplay.run and/or calling various subs you declared beforehand. People here can do very ingenious things, and no doubt can come up with better ideas than mine here, but I'd suggest being a bit more specific and less schematic then. Do you, for instance, really want that E-Prime "runs a Context procedure", or is your aim that the participant will see this or that? Best, Michiel Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of UMD NCDL Sent: 21 September 2009 17:07 To: E-Prime Subject: Response which leads to continuation of a procedure or starts another procedure Hi all, I am trying to do a New/Old procedure. If the participant responds "New" I want the New/Old procedure to continue with the next stimulus presentation. However, if the participant responds "Old" I want a Context procedure to run that will allow the participant to respond that it was seen in context "A" or context "B." After this I want the next stimuli from the New/Old procedure to continue. Thank you! Leslie Neurocognitive Development Lab Neurocognitive Development Lab University of Maryland, College Park This message has been checked for viruses but the contents of an attachment may still contain software viruses, which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From svlevi at gmail.com Mon Sep 21 17:28:50 2009 From: svlevi at gmail.com (susie) Date: Mon, 21 Sep 2009 10:28:50 -0700 Subject: problem with short ISI Message-ID: I have a vowel discrimination task (vowels are 50 ms each) that I've been presenting at several ISIs (as low as 40 ms and as long as 1500 ms). All of these ISIs have been correctly logged (subtracting slide onset of the blank screen from the onset of the second vowel). I have it set up to play a sound object, have a blank screen for the duration of the specified ISI, and then the second sound object. (I have the ISI blank screen set to preload at 100 ms and the sounds are set to 'streaming'. Also, I'm running 2.0 Pro on an XP machine). When I changed the duration of the blank screen to 10 ms I got actual durations from 27 to 40 ms. I've tried adding a preload of 50 to the second sound object and have also tried to reduce the preload on the blank screen to 50 ms and these have not helped. Thanks in advance! Susie --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Sep 21 18:43:24 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 21 Sep 2009 14:43:24 -0400 Subject: Calculating Total Misses In-Reply-To: <77008722-f41c-463e-85ec-e5be6fc7bcb6@p15g2000vbl.googlegro ups.com> Message-ID: Missing a small step here, as you cannot directly use a variable as an attribute reference in your feedback display. So just before your feedback display add a bit more inline script like c.SetAttrib "misses", misses (Note that variables and context attributes may have the same name.) See the Context topic in the online E-Basic Help for more details. -- David McFarlane, Professional Faultfinder At 9/19/2009 06:38 AM Saturday, you wrote: >Hi Patricia, > >This should be simple. Declare a global variable 'Dim misses as >integer'. At the start of the script, misses = 0. In an inline after >the slide object, 'If slide1.ACC = "0" then misses = misses + 1'. At >the end you can then have a feedback with 'you have lost [misses] >amount of points' > >I hope this answers your question, >Tim > >On Sep 18, 7:04 pm, Patricia B wrote: > > I am conducting an airport luggage screening and need to have feedback > > which calculates the total number of misses in a block. Each block has > > 100 images and at the end of the block the feedback should say > > something along the lines of you have lost x amount of points (which > > are deducted for misses). --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Sep 21 19:08:09 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 21 Sep 2009 15:08:09 -0400 Subject: problem with short ISI In-Reply-To: <4af0d51d-1504-4fc7-96b5-1fcf0ddba359@f33g2000vbm.googlegro ups.com> Message-ID: Susie, Thanks for all the wonderful detail, I wish I had a good answer for you! Just a couple thoughts... First, can you add a PreRelease to the first sound object? That might allow some time for your ISI blank screen to get set up (I don't think the PreRelease on the second sound object does anything for you). Do keep the PreRelease on your ISI as long as feasible. (When I use PreRelease I usually go ahead and make it as long as the Duration, or even longer, say 10000. It doesn't seem to matter (short of terminating with a response, etc.), which makes sense if you think about what PreRelease really does under the covers.) Second, as you remember from Chapter 3 of the User's Guide, take a look at the Onset and Offset Sync of your ISI blank screen. If you sync with the vertical blank then you will have delays due to waiting for the screen to refresh, so you may want to turn that off. OTOH, without syncing to vertical blank you may get brief visual artifacts as your blank screen goes on or off. Just an unavoidable limitation of our current technology. -- David McFarlane, Professional Faultfinder >I have a vowel discrimination task (vowels are 50 ms each) that I've >been presenting at several ISIs (as low as 40 ms and as long as 1500 >ms). All of these ISIs have been correctly logged (subtracting slide >onset of the blank screen from the onset of the second vowel). I have >it set up to play a sound object, have a blank screen for the duration >of the specified ISI, and then the second sound object. (I have the >ISI blank screen set to preload at 100 ms and the sounds are set to >'streaming'. Also, I'm running 2.0 Pro on an XP machine). When I >changed the duration of the blank screen to 10 ms I got actual >durations from 27 to 40 ms. I've tried adding a preload of 50 to the >second sound object and have also tried to reduce the preload on the >blank screen to 50 ms and these have not helped. > >Thanks in advance! >Susie --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From Michiel.Spape at nottingham.ac.uk Tue Sep 22 13:53:41 2009 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 22 Sep 2009 14:53:41 +0100 Subject: problem with short ISI In-Reply-To: <4ab7cf4a.5344f10a.2c9b.023dSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hi David, Susie, On the second point, you might, if you are using a CRT screen, change the resolution and refresh rate in your windows monitor options. In the past, it happened quite a lot that discrepancies here between E-Prime (1) and windows screen options would lead to refresh rates that were different from what they were supposed to be. Check your edat file to see what your refresh rate was during the experiment. Also, I don't think ISIs of 10 ms with LCD screens are possible, if you happen to be using that (the fastest refresh rates I've seen in that department were around 70 Hz - 14ms), unless you want half of your screen refreshed at some point. Best Mich Susie, Thanks for all the wonderful detail, I wish I had a good answer for you! Just a couple thoughts... First, can you add a PreRelease to the first sound object? That might allow some time for your ISI blank screen to get set up (I don't think the PreRelease on the second sound object does anything for you). Do keep the PreRelease on your ISI as long as feasible. (When I use PreRelease I usually go ahead and make it as long as the Duration, or even longer, say 10000. It doesn't seem to matter (short of terminating with a response, etc.), which makes sense if you think about what PreRelease really does under the covers.) Second, as you remember from Chapter 3 of the User's Guide, take a look at the Onset and Offset Sync of your ISI blank screen. If you sync with the vertical blank then you will have delays due to waiting for the screen to refresh, so you may want to turn that off. OTOH, without syncing to vertical blank you may get brief visual artifacts as your blank screen goes on or off. Just an unavoidable limitation of our current technology. -- David McFarlane, Professional Faultfinder >I have a vowel discrimination task (vowels are 50 ms each) that I've >been presenting at several ISIs (as low as 40 ms and as long as 1500 >ms). All of these ISIs have been correctly logged (subtracting slide >onset of the blank screen from the onset of the second vowel). I have >it set up to play a sound object, have a blank screen for the duration >of the specified ISI, and then the second sound object. (I have the >ISI blank screen set to preload at 100 ms and the sounds are set to >'streaming'. Also, I'm running 2.0 Pro on an XP machine). When I >changed the duration of the blank screen to 10 ms I got actual >durations from 27 to 40 ms. I've tried adding a preload of 50 to the >second sound object and have also tried to reduce the preload on the >blank screen to 50 ms and these have not helped. > >Thanks in advance! >Susie This message has been checked for viruses but the contents of an attachment may still contain software viruses, which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From svlevi at gmail.com Wed Sep 23 16:37:23 2009 From: svlevi at gmail.com (susie) Date: Wed, 23 Sep 2009 09:37:23 -0700 Subject: problem with short ISI In-Reply-To: <0CA8E1B4EC20D743912B980E486C5CAF01F5CEC2@VUIEXCHC.ad.nottingham.ac.uk> Message-ID: David and Mich, Thanks so much. I had forgotten about the refresh rate (I am on and LCD monitor) and you're right, my refresh rate (which I'd checked at the very beginning of running things) was about 70 Hz. I actually don't have that many pairings so I think I'll just manually create single sound files with a 10 ms period of silence. I'll try the pre-release of the first element, but given the limitations of the refresh rate, I"m guessing that it won't help. Thanks, Susie On Sep 22, 9:53?am, Michiel Spape wrote: > Hi David, Susie, > On the second point, you might, if you are using a CRT screen, change > the resolution and refresh rate in your windows monitor options. In the > past, it happened quite a lot that discrepancies here between E-Prime > (1) and windows screen options would lead to refresh rates that were > different from what they were supposed to be. Check your edat file to > see what your refresh rate was during the experiment. Also, I don't > think ISIs of 10 ms with LCD screens are possible, if you happen to be > using that (the fastest refresh rates I've seen in that department were > around 70 Hz - 14ms), unless you want half of your screen refreshed at > some point. > Best > Mich > > Susie, > > Thanks for all the wonderful detail, I wish I had a good answer for > you! ?Just a couple thoughts... > > First, can you add a PreRelease to the first sound object? ?That > might allow some time for your ISI blank screen to get set up (I > don't think the PreRelease on the second sound object does anything > for you). ?Do keep the PreRelease on your ISI as long as > feasible. ?(When I use PreRelease I usually go ahead and make it as > long as the Duration, or even longer, say 10000. ?It doesn't seem to > matter (short of terminating with a response, etc.), which makes > sense if you think about what PreRelease really does under the covers.) > > Second, as you remember from Chapter 3 of the User's Guide, take a > look at the Onset and Offset Sync of your ISI blank screen. ?If you > sync with the vertical blank then you will have delays due to waiting > for the screen to refresh, so you may want to turn that off. ?OTOH, > without syncing to vertical blank you may get brief visual artifacts > as your blank screen goes on or off. ?Just an unavoidable limitation > of our current technology. > > -- David McFarlane, Professional Faultfinder > > >I have a vowel discrimination task (vowels are 50 ms each) that I've > >been presenting at several ISIs (as low as 40 ms and as long as 1500 > >ms). All of these ISIs have been correctly logged (subtracting slide > >onset of the blank screen from the onset of the second vowel). ?I have > >it set up to play a sound object, have a blank screen for the duration > >of the specified ISI, and then the second sound object. (I have the > >ISI blank screen set to preload at 100 ms and the sounds are set to > >'streaming'. Also, I'm running 2.0 Pro on an XP machine). When I > >changed the duration of the blank screen to 10 ms I got actual > >durations from 27 to 40 ms. I've tried adding a preload of 50 to the > >second sound object and have also tried to reduce the preload on the > >blank screen to 50 ms and these have not helped. > > >Thanks in advance! > >Susie > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 golorengo at gmail.com Thu Sep 24 22:02:03 2009 From: golorengo at gmail.com (Lauren) Date: Thu, 24 Sep 2009 15:02:03 -0700 Subject: Response which leads to continuation of a procedure or starts another procedure In-Reply-To: <0CA8E1B4EC20D743912B980E486C5CAF01F5CB88@VUIEXCHC.ad.nottingham.ac.uk> Message-ID: Hi, I recently used your answer to Leslie to design a similar experiment, but I ran into a curious result. Whenever the participant responds "new" and the context slide (TextDisplay2, in this example) is skipped, e-prime records that a response has been given which is the same as the last response given to a context slide. So, for example, a subject might respond old, A, new, (skipped slide--it records A), new (it records A), old, B, new, (it records B), old, B, new (it records B). So that the response column for the context slide that should look like A, 0, 0, B, 0, B, 0, looks like A, A, A, B, B, B, B. Why would it record a response when the slide wasn't shown? I can obviously delete any responses that occur on trials that the subject responded "new," but that is an extra step that I'd like to avoid. Thanks for any help! Lauren TextDisplay1, allowable input no (n)ew or (o)ld An inline with 'if TextDisplay1.RESP = "n" then goto AfterContextQuestion' TextDisplay2, "was it seen in context A or B?" AfterContextQuestion On Sep 21, 12:34?pm, Michiel Spape wrote: > Hi, > So, what is your question? How far did you get? Did you get stuck anywhere? > It seems to me you're more familiar with other types of programming than e-prime - it makes less sense in E-Prime to make "procedures" the fundamental object which you would then call from dozens of lines of script. Instead of trying to do something like procedure.exit, you might try List.terminate instead, though, or (easier, I think) use a couple of jump labels. > Say, you have a procedure with > TextDisplay1, allowable input no (n)ew or (o)ld > An inline with 'if TextDisplay1.RESP = "n" then goto AfterContextQuestion' > TextDisplay2, "was it seen in context A or B?" > AfterContextQuestion > TextDisplay3, "thanks for the response" (whatever) > > Of course, if you want, you can make it yourself difficult and do some inlining, with a loop until the participant says 'new', doing some textdisplay.run and/or calling various subs you declared beforehand. People here can do very ingenious things, and no doubt can come up with better ideas than mine here, but I'd suggest being a bit more specific and less schematic then. Do you, for instance, really want that E-Prime "runs a Context procedure", or is your aim that the participant will see this or that? > Best, > Michiel > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychology > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of UMD NCDL > Sent: 21 September 2009 17:07 > To: E-Prime > Subject:Responsewhich leads to continuation of a procedure or starts another procedure > > Hi all, > > I am trying to do a New/Old procedure. If the participant responds > "New" I want the New/Old procedure to continue with the next stimulus > presentation. However, if the participant responds "Old" I want a > Context procedure to run that will allow the participant to respond > that it was seen in context "A" or context "B." After this I want the > next stimuli from the New/Old procedure to continue. > > Thank you! > Leslie > Neurocognitive Development Lab > > Neurocognitive Development Lab > University of Maryland, College Park > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses, which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From asmahanif85 at gmail.com Mon Sep 28 20:03:46 2009 From: asmahanif85 at gmail.com (alp115) Date: Mon, 28 Sep 2009 13:03:46 -0700 Subject: Introducing break Message-ID: Dear all, I am trying to introduce a break in the list of trials. Say, after 20 trials, a text display comes introducing a break. After a response from the participant, experiment should resume from the same place where it left. Does some body has a piece of code to share? Any suggestions are well appreciated. Asma Hanif --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 adamosth at gmail.com Mon Sep 28 20:08:55 2009 From: adamosth at gmail.com (Adam Osth) Date: Mon, 28 Sep 2009 16:08:55 -0400 Subject: Introducing break In-Reply-To: <8fd21fef-b543-421b-aac2-1a6e2a0e4fda@y21g2000yqn.googlegroups.com> Message-ID: You can do that really easily without any coding. Construct a list. Have all of your test trials come up during a given procedure, like say TrialProc. Set the TrialProc's weight to 20 for 20 repetitions. In level 2 of the list, come up with a break procedure called BreakProc (or whatever you want to call it) that contains the break. If you want to resume the trials after the break, for level 3 set TrialProc as the procedure. Adam On Mon, Sep 28, 2009 at 4:03 PM, alp115 wrote: > > Dear all, > > I am trying to introduce a break in the list of trials. Say, after 20 > trials, a text display comes introducing a break. After a response > from the participant, experiment should resume from the same place > where it left. Does some body has a piece of code to share? Any > suggestions are well appreciated. > > Asma Hanif > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 asmahanif85 at gmail.com Mon Sep 28 20:55:41 2009 From: asmahanif85 at gmail.com (alp115) Date: Mon, 28 Sep 2009 13:55:41 -0700 Subject: Introducing break In-Reply-To: <7ef748980909281308v69437892vf43aee685fab8198@mail.gmail.com> Message-ID: Thanks Adam. On Sep 28, 4:08?pm, Adam Osth wrote: > You can do that really easily without any coding. > > Construct a list. Have all of your test trials come up during a given > procedure, like say TrialProc. > > Set the TrialProc's weight to 20 for 20 repetitions. > > In level 2 of the list, come up with a break procedure called BreakProc (or > whatever you want to call it) that contains the break. If you want to resume > the trials after the break, for level 3 set TrialProc as the procedure. > > Adam > > On Mon, Sep 28, 2009 at 4:03 PM, alp115 wrote: > > > Dear all, > > > I am trying to introduce a break in the list of trials. Say, after 20 > > trials, a text display comes introducing a break. After a response > > from the participant, experiment should resume from the same place > > where it left. Does some body has a piece of code to share? Any > > suggestions are well appreciated. > > > Asma Hanif --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From liwenna at gmail.com Tue Sep 29 12:37:27 2009 From: liwenna at gmail.com (liwenna) Date: Tue, 29 Sep 2009 05:37:27 -0700 Subject: Introducing break In-Reply-To: Message-ID: It sometimes happens however, that your desired number of trials inbetween breaks does not correspond with the number of trials in your triallist (I took this code for instance from a task with 36 trials in one triallist that is repeated 8 times, and I wanted breaks every 20 trials). You can do the following: at the end of the trailproc add three consecutive elements: - an inline - a slide or textdisplay that is 'the break' - a label called skiplabel The inline should contain the following code: --------------------------------------- trialcounter = trialcounter + 1 if trialcounter mod 20 = 0 then else goto skiplabel end if -------------------------------------- For this code to work you also need to paste the following " dim trialcounter as integer " on the usertab of the scriptwindow (remove the " s). If you use one single triallist (I don't in this case) you can also remove the first line (trialcounter= trialcounter +1) and then replace trialcounter mod 20 by triallist.sample mod 20 (triallist being the name of your triallist). What it does: a trialcounter keeps track of the number of trials. If the number of trials can be divided by 20 (so: 20, 40, 80, 100 etc) then nothing will happen and the program will follow the proc. As the inline is followed by the breakslide, the breakslide will show. If the number of trials can not be divided by 20, e-prime will immediately 'goto' the skiplabel and as that is placed after the breakslide, the breakslide will be 'skipped'. Best regards, liwenna On Sep 28, 10:55 pm, alp115 wrote: > Thanks Adam. > > On Sep 28, 4:08 pm, Adam Osth wrote: > > > You can do that really easily without any coding. > > > Construct a list. Have all of your test trials come up during a given > > procedure, like say TrialProc. > > > Set the TrialProc's weight to 20 for 20 repetitions. > > > In level 2 of the list, come up with a break procedure called BreakProc (or > > whatever you want to call it) that contains the break. If you want to resume > > the trials after the break, for level 3 set TrialProc as the procedure. > > > Adam > > > On Mon, Sep 28, 2009 at 4:03 PM, alp115 wrote: > > > > Dear all, > > > > I am trying to introduce a break in the list of trials. Say, after 20 > > > trials, a text display comes introducing a break. After a response > > > from the participant, experiment should resume from the same place > > > where it left. Does some body has a piece of code to share? Any > > > suggestions are well appreciated. > > > > As ma Hanif --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~--- From mcfarla9 at msu.edu Tue Sep 29 14:15:48 2009 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 29 Sep 2009 10:15:48 -0400 Subject: Introducing break In-Reply-To: <2f6396a4-5a9f-43a9-b315-c71ad8c0e3b8@j39g2000yqh.googlegro ups.com> Message-ID: liwenna, Thanks for a nice explanation of this alternative method. Please note that the lines if trialcounter mod 20 = 0 then else goto skiplabel end if could be simplified to just If (trialcounter mod 20) <> 0 Then Goto skiplabel (I also added capitalization and parentheses just to suit my style). Regards, -- David McFarlane, Professional Faultfinder At 9/29/2009 08:37 AM Tuesday, you wrote: >It sometimes happens however, that your desired number of trials >inbetween breaks does not correspond with the number of trials in your >triallist (I took this code for instance from a task with 36 trials in >one triallist that is repeated 8 times, and I wanted breaks every 20 >trials). > >You can do the following: > >at the end of the trailproc add three consecutive elements: >- an inline >- a slide or textdisplay that is 'the break' >- a label called skiplabel > >The inline should contain the following code: >--------------------------------------- > trialcounter = trialcounter + 1 > > if trialcounter mod 20 = 0 then > > else goto skiplabel > end if >-------------------------------------- >For this code to work you also need to paste the following " dim >trialcounter as integer " on the usertab of the scriptwindow (remove >the " s). >If you use one single triallist (I don't in this case) you can also >remove the first line (trialcounter= trialcounter +1) and then replace >trialcounter mod 20 by triallist.sample mod 20 (triallist being the >name of your triallist). > >What it does: a trialcounter keeps track of the number of trials. If >the number of trials can be divided by 20 (so: 20, 40, 80, 100 etc) >then nothing will happen and the program will follow the proc. As the >inline is followed by the breakslide, the breakslide will show. If the >number of trials can not be divided by 20, e-prime will immediately >'goto' the skiplabel and as that is placed after the breakslide, the >breakslide will be 'skipped'. > > >Best regards, > >liwenna > > > > >On Sep 28, 10:55 pm, alp115 wrote: > > Thanks Adam. > > > > On Sep 28, 4:08 pm, Adam Osth wrote: > > > > > You can do that really easily without any coding. > > > > > Construct a list. Have all of your test trials come up during a given > > > procedure, like say TrialProc. > > > > > Set the TrialProc's weight to 20 for 20 repetitions. > > > > > In level 2 of the list, come up with a break procedure called > BreakProc (or > > > whatever you want to call it) that contains the break. If you > want to resume > > > the trials after the break, for level 3 set TrialProc as the procedure. > > > > > Adam > > > > > On Mon, Sep 28, 2009 at 4:03 PM, alp115 wrote: > > > > > > Dear all, > > > > > > I am trying to introduce a break in the list of trials. Say, after 20 > > > > trials, a text display comes introducing a break. After a response > > > > from the participant, experiment should resume from the same place > > > > where it left. Does some body has a piece of code to share? Any > > > > suggestions are well appreciated. > > > > > > > As ma Hanif > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send 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 Sep 30 10:25:46 2009 From: liwenna at gmail.com (liwenna) Date: Wed, 30 Sep 2009 03:25:46 -0700 Subject: Introducing break In-Reply-To: <4ac2169b.1808c00a.670a.61c4SMTPIN_ADDED@gmr-mx.google.com> Message-ID: David, Thanks for the compliment and for the simplified code! I'll put that line to use right away! Best, liwenna On Sep 29, 4:15 pm, David McFarlane wrote: > liwenna, > > Thanks for a nice explanation of this alternative method. Please > note that the lines > > if trialcounter mod 20 = 0 then > else goto skiplabel > end if > > could be simplified to just > > If (trialcounter mod 20) <> 0 Then Goto skiplabel > > (I also added capitalization and parentheses just to suit my style). > > Regards, > -- David McFarlane, Professional Faultfinder > > At 9/29/2009 08:37 AM Tuesday, you wrote: > > >It sometimes happens however, that your desired number of trials > >inbetween breaks does not correspond with the number of trials in your > >triallist (I took this code for instance from a task with 36 trials in > >one triallist that is repeated 8 times, and I wanted breaks every 20 > >trials). > > >You can do the following: > > >at the end of the trailproc add three consecutive elements: > >- an inline > >- a slide or textdisplay that is 'the break' > >- a label called skiplabel > > >The inline should contain the following code: > >--------------------------------------- > > trialcounter = trialcounter + 1 > > > if trialcounter mod 20 = 0 then > > > else goto skiplabel > > end if > >-------------------------------------- > >For this code to work you also need to paste the following " dim > >trialcounter as integer " on the usertab of the scriptwindow (remove > >the " s). > >If you use one single triallist (I don't in this case) you can also > >remove the first line (trialcounter= trialcounter +1) and then replace > >trialcounter mod 20 by triallist.sample mod 20 (triallist being the > >name of your triallist). > > >What it does: a trialcounter keeps track of the number of trials. If > >the number of trials can be divided by 20 (so: 20, 40, 80, 100 etc) > >then nothing will happen and the program will follow the proc. As the > >inline is followed by the breakslide, the breakslide will show. If the > >number of trials can not be divided by 20, e-prime will immediately > >'goto' the skiplabel and as that is placed after the breakslide, the > >breakslide will be 'skipped'. > > >Best regards, > > >liwenna > > >On Sep 28, 10:55 pm, alp115 wrote: > > > Thanks Adam. > > > > On Sep 28, 4:08 pm, Adam Osth wrote: > > > > > You can do that really easily without any coding. > > > > > Construct a list. Have all of your test trials come up during a given > > > > procedure, like say TrialProc. > > > > > Set the TrialProc's weight to 20 for 20 repetitions. > > > > > In level 2 of the list, come up with a break procedure called > > BreakProc (or > > > > whatever you want to call it) that contains the break. If you > > want to resume > > > > the trials after the break, for level 3 set TrialProc as the procedure. > > > > > Adam > > > > > On Mon, Sep 28, 2009 at 4:03 PM, alp115 wrote: > > > > > > Dear all, > > > > > > I am trying to introduce a break in the list of trials. Say, after 20 > > > > > trials, a text display comes introducing a break. After a response > > > > > from the participant, experiment should resume from the same place > > > > > where it left. Does some body has a piece of code to share? Any > > > > > suggestions are well appreciated. > > > > As ma Hanif --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com For more options, visit this group at http://groups.google.com/group/e-prime?hl=en -~----------~----~----~----~------~----~------~--~---