From lundwall.becky at gmail.com Wed Feb 1 13:32:59 2012 From: lundwall.becky at gmail.com (BeckyL) Date: Wed, 1 Feb 2012 05:32:59 -0800 Subject: creating an oscillating bar using an inline element In-Reply-To: Message-ID: Just an update: I finally got a response from PSTNET that solved the immediate problem. They said "The problem is that your Do...While loop is set to loop until x1 equals 80, which means 80 pixels. To stop when x1 is at 80% instead, you must use Display.XRes * .8." Hopefully the next step won't be so time consuming. I imagine that I probably need a For . . . Next loop to get the bar to move back and forth. If anyone is interested let me know and I'll post the code that ends up being effective. Thanks! On Jan 31, 7:25 am, BeckyL wrote: > Thank you both for your willingness to help. I'll work on this this > morning and update the group on the results as soon as possible. Just > so you know, the problem with the movie option is that E-prime tends > to crash when you use movies and have a Windows 7 or Vista operating > system -- and we are still trying to verify that we have enough > computers with XP at the remote testing site. > > On Jan 30, 6:55 pm, lml1... at gmail.com wrote: > > > > > > > > > Another option. Create an animation in Final Cut save as an .avi file and run as a movie. Much easier for placement on the screen. > > Sent from my Verizon Wireless BlackBerry > > > -----Original Message----- > > From: "Vinson, David" > > > Sender: e-prime at googlegroups.com > > Date: Sun, 29 Jan 2012 12:58:58 > > To: e-prime at googlegroups.com > > Reply-To: e-prime at googlegroups.com > > Subject: RE: creating an oscillating bar using an inline element > > > Hi BeckyL, > > > It looks like your main assumption is correct - holding y1 constant rather than varying it along with x1 should produce horizontal motion in the Simple Animation example.   If it works on the first trial it's not a complete failure but may have something to do with changes in values from one trial to the next. > > > My guess is that there's something amiss with your treatment of y1 outside of the assignment to a constant value.  Perhaps the exit condition is never met:  as in the code below, y1 will never reach 30 if you get rid of (y1 = y1 - 1).  So it will run fine, until x1 reaches the edge of the screen in which case it will either crash (display of negative values for x may break it) or hang (because it is no longer drawing anything visible).  If this is the case, changing the exit condition so it's based on the value of x1 should sort things out. > > > another possibility is the assignment of values to y1.   Check to make sure that indeed y1 is assigned the value you want, and that this value persists across trials.  The simplest way to test this out is to set the value of y1 immediately before the loop (although this is not good programming practice, it's a clear way to be sure that y1 has the desired value). > > > In cases like these I find it's useful to employ the debug.print function as part of the inline code - for example here displaying the value of x1,y1 to the output window while the experiment is running. > > > hope this helps! > > david > > ________________________________________ > > From: e-prime at googlegroups.com [e-prime at googlegroups.com] on behalf of BeckyL [lundwall.be... at gmail.com] > > Sent: 27 January 2012 18:59 > > To: E-Prime > > Subject: creating an oscillating bar using an inline element > > > I am trying to use the pstnet a modification of the sample "Simple > > Animation/Apparent Motion Example" and to create a new task. I have EP > > 2 and am using Windows XP. I have tried using the E-prime Reference > > Guide and Online E-Basic help but they are not specific enough to > > solve the problem below with my code. I am having trouble getting the > > line to move horizontally instead of diagonally up and right > > (eventually I want it to oscillate in place instead of move off the > > screen, but that is another step). > > > ORIGINAL CODE > > > 'Loop continuously until the lines are off screen. > > Do Until y1 = 30 > > >    'Increment and decrement coordinates. > >    x1 = x1 + 1 > > >    y1 = y1 - 1 > > >    'Wait until the screen refreshes to avoid partial displays. > >    Display.WaitForVerticalBlank > > >    'Clear the screen and draw the new lines. > >    cnvs.Clear > > >    cnvs.Line x1, y1, x1, y1 + lineLen > > > Loop > > > Logically, it seems that the next step would be to specify that x1 = > > x1 + 1 but y1 remain at 50 (or that y1 = y1). This works for the first > > trial but crashes for the second trial. > > > Could someone please give more guidance on specifying coordinates for > > movement? Thank you! > > > -- > > You received this message because you are subscribed to the Google Groups "E-Prime" group. > > To post to this group, send email to e-prime at googlegroups.com. > > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > > -- > > You received this message because you are subscribed to the Google Groups "E-Prime" group. > > To post to this group, send email to e-prime at googlegroups.com. > > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From maria.richter.mail at googlemail.com Thu Feb 2 11:02:06 2012 From: maria.richter.mail at googlemail.com (Maria) Date: Thu, 2 Feb 2012 03:02:06 -0800 Subject: problem with a summation object Message-ID: Dear everyone, I tried to use a summation object to give feedback to experimental subjects about their accuracy and reaction times. I used following code: Dim SummationAccA, SummationAccB, SummationRTA, SummationRTB as Summation (global variables) Set SummationAccA = New Summation Set SummationRTA = New Summation Set SummationAccB = New Summation Set SummationRTB = New Summation (before running the list) SummationAccA.AddObservation ReactionInterval.ACC SummationRTA.AddObservation ReactionInterval.RT SummationAccB.AddObservation ReactionInterval2.ACC SummationRTB.AddObservation ReactionInterval2.RT (ReactionInterval & Reactioninterval2 are slide objects) By attempting to add the accuracies and reaction times following error occurs: "Object does not have a default value" I used the same principle in further experiments and there it worked. I hope there is just a simple mistake, thanks for answers, best regards, Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From gidgetownsme at gmail.com Mon Feb 6 20:58:08 2012 From: gidgetownsme at gmail.com (Ren) Date: Mon, 6 Feb 2012 12:58:08 -0800 Subject: strHit not returning correct answer Message-ID: Hello, I am trying to build a program to use a mouse click to select a correct answer, which is pulled from the TrialList. Something is wrong in that the program doesn't seem to find anything to match the "Correct Answer" category, and always returns a negative result. I am using this code: 'Designate "theState" as the Default Slide State, which is the 'current, ActiveState on the Slide object "Stimulus" Dim theState as SlideState Set theState = SLIDENAME.States("SLIDESTATENAME") Dim strHit As String Dim theMouseResponseData As MouseResponseData 'Was there a response? If SLIDENAME.InputMasks.Responses.Count > 0 Then 'Get the mouse reponse Set theMouseResponseData = CMouseResponseData(SLIDENAME.InputMasks.Responses(1)) 'Determine string name of the SlideImage or SlideText object at 'mouse click coordinates. Assign that value to strHit strHit = theState.HitTest(theMouseResponseData.CursorX, theMouseResponseData.CursorY) 'Compare string name where mouse click occured to CorrectAnswer 'attribute on each trial, and score response 'NOTE: This comparison is case sensitive If strHit = c.GetAttrib("CORRECTANSWERCOLUMN") Then SLIDENAME.ACC = 1 Else SLIDENAME.ACC = 0 End If End If c.SetAttrib "Response", strHit I have tried putting a text box on my slide with a word such as "BLUE", then listing BLUE under the correct answer column and it still will not return a correct response. I have also tried using images and renaming most of the items on the slide to try to isolate the problem, but nothing has worked. My mouse is turned on and the correct response is [CORRECTANSWERCOLUMN] and allowable response {ANY}. Any ideas? Using a mouse is essential because this will be a touch screen program used with non-human primates. I've submitted this to PST support, but it's been a few days and I would really like to get this program up and running. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From baltimore.ben at gmail.com Mon Feb 6 21:11:29 2012 From: baltimore.ben at gmail.com (ben robinson) Date: Mon, 6 Feb 2012 16:11:29 -0500 Subject: strHit not returning correct answer In-Reply-To: Message-ID: have you tried using Debug.Print to help you figure out what value strHit actually has following a mouse click? i think you'll find that strHit="SlideText1" or something like that, rather than "BLUE". strHit only tells you the name of the object clicked, not what text is actually displayed by that object. ben On Mon, Feb 6, 2012 at 3:58 PM, Ren wrote: > Hello, > > I am trying to build a program to use a mouse click to select a > correct answer, which is pulled from the TrialList. Something is wrong > in that the program doesn't seem to find anything to match the > "Correct Answer" category, and always returns a negative result. I am > using this code: > > > 'Designate "theState" as the Default Slide State, which is the > 'current, ActiveState on the Slide object "Stimulus" > Dim theState as SlideState > Set theState = SLIDENAME.States("SLIDESTATENAME") > > Dim strHit As String > Dim theMouseResponseData As MouseResponseData > > 'Was there a response? > If SLIDENAME.InputMasks.Responses.Count > 0 Then > > 'Get the mouse reponse > Set theMouseResponseData = > CMouseResponseData(SLIDENAME.InputMasks.Responses(1)) > > 'Determine string name of the SlideImage or SlideText object at > 'mouse click coordinates. Assign that value to strHit > strHit = theState.HitTest(theMouseResponseData.CursorX, > theMouseResponseData.CursorY) > > 'Compare string name where mouse click occured to CorrectAnswer > 'attribute on each trial, and score response > 'NOTE: This comparison is case sensitive > If strHit = c.GetAttrib("CORRECTANSWERCOLUMN") Then > SLIDENAME.ACC = 1 > Else > SLIDENAME.ACC = 0 > End If > > > End If > c.SetAttrib "Response", strHit > > I have tried putting a text box on my slide with a word such as > "BLUE", then listing BLUE under the correct answer column and it still > will not return a correct response. I have also tried using images and > renaming most of the items on the slide to try to isolate the problem, > but nothing has worked. My mouse is turned on and the correct response > is [CORRECTANSWERCOLUMN] and allowable response {ANY}. > > Any ideas? Using a mouse is essential because this will be a touch > screen program used with non-human primates. I've submitted this to > PST support, but it's been a few days and I would really like to get > this program up and running. > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 7 17:28:02 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 7 Feb 2012 12:28:02 -0500 Subject: New release candidate of E-Prime: 2.0.10.182 Message-ID: Since PST will not broadcast the availability of a new release candidate of E-Prime 2, I will. Registered users may now download 2.0.10.182 from the PST web site. If you are using an earlier release of E-Prime for current studies, then please first attend to the warning on the download page. -- David McFarlane -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From gidgetownsme at gmail.com Tue Feb 7 17:31:01 2012 From: gidgetownsme at gmail.com (Ren) Date: Tue, 7 Feb 2012 09:31:01 -0800 Subject: strHit not returning correct answer In-Reply-To: Message-ID: Yes! That's exactly what fixed it. I tried subbing out all different parts of my program, but that didn't even occur to me. Thanks! On Feb 6, 4:11 pm, ben robinson wrote: > have you tried using Debug.Print to help you figure out what value > strHit actually has following a mouse click?  i think you'll find that > strHit="SlideText1" or something like that, rather than "BLUE". > strHit only tells you the name of the object clicked, not what text is > actually displayed by that object. > > ben > > > > > > > > On Mon, Feb 6, 2012 at 3:58 PM, Ren wrote: > > Hello, > > > I am trying to build a program to use a mouse click to select a > > correct answer, which is pulled from the TrialList. Something is wrong > > in that the program doesn't seem to find anything to match the > > "Correct Answer" category, and always returns a negative result. I am > > using this code: > > > 'Designate "theState" as the Default Slide State, which is the > > 'current, ActiveState on the Slide object "Stimulus" > > Dim theState as SlideState > > Set theState = SLIDENAME.States("SLIDESTATENAME") > > > Dim strHit As String > > Dim theMouseResponseData As MouseResponseData > > > 'Was there a response? > > If SLIDENAME.InputMasks.Responses.Count > 0 Then > > > 'Get the mouse reponse > > Set theMouseResponseData = > > CMouseResponseData(SLIDENAME.InputMasks.Responses(1)) > > > 'Determine string name of the SlideImage or SlideText object at > > 'mouse click coordinates. Assign that value to strHit > > strHit = theState.HitTest(theMouseResponseData.CursorX, > > theMouseResponseData.CursorY) > > > 'Compare string name where mouse click occured to CorrectAnswer > > 'attribute on each trial, and score response > > 'NOTE: This comparison is case sensitive > > If strHit = c.GetAttrib("CORRECTANSWERCOLUMN") Then > > SLIDENAME.ACC = 1 > > Else > > SLIDENAME.ACC = 0 > > End If > > > End If > > c.SetAttrib "Response", strHit > > > I have tried putting a text box on my slide with a word such as > > "BLUE", then listing BLUE under the correct answer column and it still > > will not return a correct response. I have also tried using images and > > renaming most of the items on the slide to try to isolate the problem, > > but nothing has worked. My mouse is turned on and the correct response > > is [CORRECTANSWERCOLUMN] and allowable response {ANY}. > > > Any ideas? Using a mouse is essential because this will be a touch > > screen program used with non-human primates. I've submitted this to > > PST support, but it's been a few days and I would really like to get > > this program up and running. > > > -- > > You received this message because you are subscribed to the Google Groups "E-Prime" group. > > To post to this group, send email to e-prime at googlegroups.com. > > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 7 17:36:30 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 7 Feb 2012 12:36:30 -0500 Subject: New release candidate of E-Prime: 2.0.10.182 In-Reply-To: <4f315f23.e5d9320a.77bb.fffff696SMTPIN_ADDED@gmr-mx.google. com> Message-ID: Ah, to be fair, Brandon Cernicky at PST pinned a topic announcing this on the PST Forum early last week (http://support.pstnet.com/forum/Topic5684-12-1.aspx ), don't know how I missed it. Still, would be nice for those of us who subscribe to PST e-mails to get a notice about these things. -- David McFarlane At 2/7/2012 12:28 PM Tuesday, you wrote: >Since PST will not broadcast the availability of a new release >candidate of E-Prime 2, I will. Registered users may now download >2.0.10.182 from the PST web site. If you are using an earlier >release of E-Prime for current studies, then please first attend to >the warning on the download page. > >-- David McFarlane -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 7 17:52:16 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 7 Feb 2012 12:52:16 -0500 Subject: Online training in E-Prime=?iso-8859-1?Q?=AE_?=from Michigan State Univeristy Message-ID: Hello, We would like to bring to your attention an online 4 week course on designing and programming computerized behavioral experiments. This online course is designed to give students hands-on experience in making computerized experiments in E-Prime®. Students learn step-by-step the full range of core elements of E-Prime®. Through a series of guided exercises, students see E-Prime® in action, and make their own working programs using text, images, sound, movies, and more. The course is designed to reach a broad audience interested in learning how to program behavioral experiments including students (undergraduate and graduate), post doctoral researchers, and faculty. Learning to program behavioral tasks can be daunting, but you don't have to scale that peak without help. Hire a guide. Take "E-Prime®: Introduction to Programming Computerized Behavioral Tasks" and get the training you need to start your expedition. For more information see http://psychology.msu.edu/Workshops_Courses/eprime.aspx . Thank you. -- David McFarlane, Systems Designer & E-Prime Master Dept. Psychology, Michigan State University -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 7 17:57:50 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 7 Feb 2012 12:57:50 -0500 Subject: Online training in E-Prime=?iso-8859-1?Q?=AE_?=from Michigan State Univeristy In-Reply-To: <4f3164d1.e5d9320a.77bb.fffff896SMTPIN_ADDED@gmr-mx.google. com> Message-ID: Now that I have posted the official notice, here is some amplification from me, the instructor and frequent contributor to this Group. First, I will spare you the suspense and tell you that the course fee is US$300. For that you get access to the course, a weekly Live Office Hour with me, and upon succesful completion 1.5 Continuing Education Units (CEUs) from Michigan State University. Now, folks here often like to delve into inline code, so I feel it only fair to inform this crowd that coverage of inline code in the course is pretty light. I think that some of us are too quick to resort to inline code, when a better understanding of E-Prime® might provide a better solution without code. Also, inline code works better with a good understanding of all the fundamental elements of E-Prime®. Thus, this introductory course presents such a survey. I do introduce just enough about inline code to get newcomers started; any more might take a course in itself (perhaps worth doing if this course does well.) But if I have done my job well, then this course will take care of all the basic questions that newcomers to E-Prime® face, and then they can come here with the more complex questions. Finally, please note that the content of this online course has not been reviewed or approved by Psychology Software Tools, Inc., publishers of E-Prime®. The views and opinions expressed in the course are strictly those of the course authors. Any questions or comments regarding this course should be directed to the course authors. -- David McFarlane At 2/7/2012 12:52 PM Tuesday, you wrote: >Hello, > >We would like to bring to your attention an >online 4 week course on designing and >programming computerized behavioral experiments. >This online course is designed to give students >hands-on experience in making computerized >experiments in E-Prime®. Students learn >step-by-step the full range of core elements of >E-Prime®. Through a series of guided exercises, >students see E-Prime® in action, and make their >own working programs using text, images, sound, movies, and more. > >The course is designed to reach a broad audience >interested in learning how to program behavioral >experiments including students (undergraduate >and graduate), post doctoral researchers, and faculty. > >Learning to program behavioral tasks can be >daunting, but you don't have to scale that peak >without help. Hire a guide. Take "E-Prime®: >Introduction to Programming Computerized >Behavioral Tasks" and get the training you need to start your expedition. > >For more information see >http://psychology.msu.edu/Workshops_Courses/eprime.aspx . > >Thank you. > >-- David McFarlane, Systems Designer & E-Prime Master > Dept. Psychology, Michigan State University -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From sudhin.shah at gmail.com Wed Feb 8 21:24:35 2012 From: sudhin.shah at gmail.com (suetibu) Date: Wed, 8 Feb 2012 13:24:35 -0800 Subject: Assigning Hex number Message-ID: Hello, I currently have script set up as follows: xyz.OnsetSignalEnabled= True xyz.OnsetSignalPort= &H4000 xyz.OnsetSignalData= 25 This works. However, since the OnsetSignalPort is declared several times in the script, is there a way to declare it as a global variable once in the beginning of the script? Does this work? DIM PtAdd as Integer PtAdd = CInt(&H4000) xyz.OnsetSignalEnabled= True xyz.OnsetSignalPort= PtAdd xyz.OnsetSignalData= 25 This compiles fine but I'm not sure if it is the same. Thanks, S -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From sombrenote at gmail.com Thu Feb 9 17:24:37 2012 From: sombrenote at gmail.com (SombreNote) Date: Thu, 9 Feb 2012 09:24:37 -0800 Subject: Arithmetic Stress Inducement Message-ID: Hey Guy, Back again. I wanted to know if anyone here has every experimented with MIST type stress inducement. What it consists of is a task in which a participant is making quick calculations in their head, and entering them on a keyboard. Usually it is as simple as continually subtracting 7 from a large number as quickly as the participant can manage. I feel that I am prepared to program such a module for my experiment, but seeing as it is such a common procedure, I was wondering if anyone had an analogous task already completed in e-prime, so that I could save a bit of work for myself. Any help would be greatly appreciated. Thanks, SN -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From maria.richter.mail at googlemail.com Fri Feb 10 12:27:50 2012 From: maria.richter.mail at googlemail.com (Maria) Date: Fri, 10 Feb 2012 04:27:50 -0800 Subject: Extended reaction and accuracy Message-ID: Good morning! We have the following strange problem: We sat the "time limit" for reactions (=2000ms) longer than the presentation time of the slide1(1000ms) (at which should be reacted and which was followed by a slide2 (1000ms)) and asked in a later inline ----------------- if c.getattrib("Slide1.acc") = 1 then l=3 end if if c.getattrib("Slide1.acc") = 0 then l=4 end if debug.print l --------------------------- In trials, where the reaction time was longer than the presentation time of the first slide (reaction during slide2) the "l" was set 4, even in correct cases. We need the accuracyinformation at this point of the experiment to send triggers. Is there anyone who had the same problem before? Thanks for any answer, we have no idea... Best wishes, Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From cbyoung89 at gmail.com Fri Feb 10 18:26:57 2012 From: cbyoung89 at gmail.com (Christina B Young) Date: Fri, 10 Feb 2012 12:26:57 -0600 Subject: Running a new procedure after fixed number of trials Message-ID: Hello, I am running into a problem that hopefully has a straight-forward solution. In my experiment, I have 90 trials that occur in random order and the randomization is critical. However, after the 30ths and 60th trial, I would like to add a new procedure, but then have the experiment continue with the original trials. So the order would be: 29th trial, 30th trial, new procedure, 31st trial, 32nd trial, etc. Does anyone have any ideas on how to do this? Thanks! Christina -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From d.vinson at ucl.ac.uk Sat Feb 11 10:44:25 2012 From: d.vinson at ucl.ac.uk (David Vinson) Date: Sat, 11 Feb 2012 10:44:25 +0000 Subject: Running a new procedure after fixed number of trials In-Reply-To: Message-ID: Hi Christina, This is a common situation, for example when inserting a break every N trials. The easiest way I've found to do it is to insert that procedure ("NewProc") as if it occurred every trial, then add a Label immediately after it ("JumpToLabel"). Then right before the procedure add an inline to check the sample number and go to the "JumpToLabel" (thus skipping past NewProc) unless it meets your requirements If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 30 = 0 Then goto JumpToLabel End If There's a sample experiment on the e-prime support site, http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=33 which does a similar thing, instead by running a procedure that sits outside of the main experiment procedure (Unreferenced Objects) - in this case the input masks would need to be set with an additional line in inline code (see the sample InsertPause.es for more info). One note - if your inserted procedure is something that logs data (e.g. *.ACC etc) you may need to clear these values on instances in which the event is skipped - otherwise they may inherit the values from the last trial in which NewProc was run. hope this helps, -dv On 10/02/2012 18:26, Christina B Young wrote: > Hello, > I am running into a problem that hopefully has a straight-forward > solution. In my experiment, I have 90 trials that occur in random > order and the randomization is critical. However, after the 30ths and > 60th trial, I would like to add a new procedure, but then have the > experiment continue with the original trials. So the order would be: > 29th trial, 30th trial, new procedure, 31st trial, 32nd trial, etc. > Does anyone have any ideas on how to do this? Thanks! > > Christina > -- David Vinson, Ph.D. Senior Postdoctoral Researcher Cognitive, Perceptual and Brain Sciences Research Department University College London 26 Bedford Way, London WC1H 0AP Tel +44 (0)20 7679 5311 (UCL internal ext. 25311) -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From d.vinson at ucl.ac.uk Sat Feb 11 10:56:10 2012 From: d.vinson at ucl.ac.uk (David Vinson) Date: Sat, 11 Feb 2012 10:56:10 +0000 Subject: Running a new procedure after fixed number of trials In-Reply-To: <4F364689.60406@ucl.ac.uk> Message-ID: Oops I made a slight error in my previous mail - the inline code as written would run the procedure on every trial *except* 30...60...90 etc. = should be >. -dv On 11/02/2012 10:44, David Vinson wrote: > Hi Christina, > > This is a common situation, for example when inserting a break every N > trials. > > The easiest way I've found to do it is to insert that procedure > ("NewProc") as if it occurred every trial, then add a Label > immediately after it ("JumpToLabel"). Then right before the procedure > add an inline to check the sample number and go to the "JumpToLabel" > (thus skipping past NewProc) unless it meets your requirements > > If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 30 = 0 Then > goto JumpToLabel > End If > > There's a sample experiment on the e-prime support site, > http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=33 > which does a similar thing, instead by running a procedure that sits > outside of the main experiment procedure (Unreferenced Objects) - in > this case the input masks would need to be set with an additional line > in inline code (see the sample InsertPause.es for more info). > > One note - if your inserted procedure is something that logs data > (e.g. *.ACC etc) you may need to clear these values on instances in > which the event is skipped - otherwise they may inherit the values > from the last trial in which NewProc was run. > > hope this helps, > -dv > > > On 10/02/2012 18:26, Christina B Young wrote: >> Hello, >> I am running into a problem that hopefully has a straight-forward >> solution. In my experiment, I have 90 trials that occur in random >> order and the randomization is critical. However, after the 30ths and >> 60th trial, I would like to add a new procedure, but then have the >> experiment continue with the original trials. So the order would be: >> 29th trial, 30th trial, new procedure, 31st trial, 32nd trial, etc. >> Does anyone have any ideas on how to do this? Thanks! >> >> Christina >> > -- David Vinson, Ph.D. Senior Postdoctoral Researcher Cognitive, Perceptual and Brain Sciences Research Department University College London 26 Bedford Way, London WC1H 0AP Tel +44 (0)20 7679 5311 (UCL internal ext. 25311) -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Sat Feb 11 11:23:35 2012 From: liwenna at gmail.com (liwenna) Date: Sat, 11 Feb 2012 03:23:35 -0800 Subject: Extended reaction and accuracy In-Reply-To: <754f3d1e-58f6-4c2e-a39d-8c24655a46b0@c6g2000vbk.googlegroups.com> Message-ID: Hi Max, Your code sets l to 3 only if slide1.acc is 1, which only happens if the response is given during the presentation time of slide1. Simply modifying the script so that a correct response given during slide2 does also modifies 'l', should solve it, it believe. However, you can not use the exact same code, because then 'l' would be set back to 4 (after being toggled to 3) if the correct response was made during slide1. So rather set 'l' to 4 and toggle it to 3 in case of a correct response during either slide1 or slide 2: -------- l=4 if c.getattrib("Slide1.acc") = 1 then l=3 if c.getattrib("Slide2.acc") = 1 then l=3 ------- Best, AW On 10 feb, 13:27, Maria wrote: > Good morning! > > We have the following strange problem: > > We sat the "time limit" for reactions (=2000ms) longer than the > presentation time of the slide1(1000ms) (at which should be reacted > and which was followed by a slide2 (1000ms)) and asked in a later > inline > > ----------------- > > if c.getattrib("Slide1.acc") = 1 then > > l=3 > > end if > > if c.getattrib("Slide1.acc") = 0 then > > l=4 > > end if > debug.print l > > --------------------------- > > In trials, where the reaction time was longer than the presentation > time of the first slide (reaction during slide2) the "l" was set 4, > even in correct cases. > > We need the accuracyinformation at this point of the experiment to > send triggers. > > Is there anyone who had the same problem before? > Thanks for any answer, we have no idea... > > Best wishes, > > Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From maria.richter.mail at googlemail.com Sat Feb 11 13:25:11 2012 From: maria.richter.mail at googlemail.com (Maria) Date: Sat, 11 Feb 2012 05:25:11 -0800 Subject: Extended reaction and accuracy In-Reply-To: <754f3d1e-58f6-4c2e-a39d-8c24655a46b0@c6g2000vbk.googlegroups.com> Message-ID: Thanks liwenna for answering. Of course, if you set the property „Time Limit“ to “same as duration” of both slides an combine the accuracy of Slide1.acc and Slide2.acc it works fine. The problem is that we distinguish between “correct response”, “false response” and “no response” and even with only 2 Slides during the subject can react; there are 9 different combinations of possible reactions we have to regard (e.g. the subject could react wrong during Slide1 and try to undo it and press the right key at slide2…). The more slides where the response can be given, the more possibilities and if the duration of the slides are variable, it is not possible (or very complicate) to calculate the accuracy if the time for reaction should be a fix interval. The easiest way is to set the property “time limit” of Slide1 longer than the presentation of Slide1. And it works if you look at the data of the results-file, the accuracies (Slide1.acc) and given responses (Slide1.resp) are correct. But if we tried to send a trigger depending on Slide1.acc, it doesn’t work if the reaction time is longer than the duration (but in the result file Slide1.acc is correct even if the reaction time is longer than the duration of Slide1). (Of course, we took care that we use Slide1.Acc only when the time limit for reaction is over). Our hypothesis is that if you use a time limit for reactions longer than the presentation of a slide (and the reaction is given after the duration of the slide but during the allowed time for reaction), then the properties Slide1.acc and Slide1.resp will be set at the end of a trial into the list. So Slide1.acc is not available during the trial (and so we can’t use it for sending a trigger). What would help us is some code that set the properties Slide1.acc and Slide1.resp into the list before ending a trial or a code that we can use the properties Slide1.acc and Slide1.resp of the previous trial (then we would sent the current accuracy during the next trial). And perhaps there is also a solution we not thought about… Thanks for any help, Max On 10 Feb., 13:27, Maria wrote: > Good morning! > > We have the following strange problem: > > We sat the "time limit" for reactions (=2000ms) longer than the > presentation time of the slide1(1000ms) (at which should be reacted > and which was followed by a slide2 (1000ms)) and asked in a later > inline > > ----------------- > > if c.getattrib("Slide1.acc") = 1 then > > l=3 > > end if > > if c.getattrib("Slide1.acc") = 0 then > > l=4 > > end if > debug.print l > > --------------------------- > > In trials, where the reaction time was longer than the presentation > time of the first slide (reaction during slide2) the "l" was set 4, > even in correct cases. > > We need the accuracyinformation at this point of the experiment to > send triggers. > > Is there anyone who had the same problem before? > Thanks for any answer, we have no idea... > > Best wishes, > > Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 Sat Feb 11 19:32:14 2012 From: liwenna at gmail.com (liwenna) Date: Sat, 11 Feb 2012 11:32:14 -0800 Subject: Extended reaction and accuracy In-Reply-To: <6c890573-69f6-411f-9e71-ec8f0abe9de0@f30g2000yqh.googlegroups.com> Message-ID: Thanks for the more complicated set-up info. Hmmmz Could it be that the inline is placed directly following slide1? And that therefore the inline script is already executed before the end of the extended reaction period, thereby not taking into account responses made during the extended response time? (rather than the .acc and .resp attributes being set at the end of the trial, I have no e-prime at home to fiddle with and I'd like to take you on your word, but it sounds a bit 'un-e- primey' to me) Is it needed that the trigger is sent immediatly following the correct response? (since you mention the option of a false response followed by a correct response, would you also take into account a correct response correct by a false response, in which case I suppose no trigger should be sent?) If false corrections do not need to be taken into account, you could perhaps do something with a 'do while' loop that continuously monitors slide1.resp and initiates the trigger the moment that slide1.resp = slide1.cresp? On 11 feb, 14:25, Maria wrote: > Thanks liwenna for answering. > > Of course, if you set the property „Time Limit“ to “same as duration” > of both slides an combine the accuracy of Slide1.acc and Slide2.acc it > works fine. The problem is that we distinguish between “correct > response”, “false response” and “no response” and even with only 2 > Slides during the subject can react; there are 9 different > combinations of possible reactions we have to regard (e.g. the subject > could react wrong during Slide1 and try to undo it and press the right > key at slide2…). The more slides where the response can be given, the > more possibilities and if the duration of the slides are variable, it > is not possible (or very complicate) to calculate the accuracy if the > time for reaction should be a fix interval. > > The easiest way is to set the property “time limit” of Slide1 longer > than the presentation of Slide1. And it works if you look at the data > of the results-file, the accuracies (Slide1.acc) and given responses > (Slide1.resp) are correct. But if we tried to send a trigger depending > on Slide1.acc, it doesn’t work if the reaction time is longer than the > duration (but in the result file Slide1.acc is correct even if the > reaction time is longer than the duration of Slide1). (Of course, we > took care that we use Slide1.Acc only when the time limit for reaction > is over). > > Our hypothesis is that if you use a time limit for reactions longer > than the presentation of a slide (and the reaction is given after the > duration of the slide but during the allowed time for reaction), then > the properties Slide1.acc and Slide1.resp will be set at the end of a > trial into the list. So Slide1.acc is not available during the trial > (and so we can’t use it for sending a trigger). What would help us is > some code that set the properties Slide1.acc and Slide1.resp into the > list before ending a trial or a code that we can use the properties > Slide1.acc and Slide1.resp of the previous trial (then we would sent > the current accuracy during the next trial). And perhaps there is also > a solution we not thought about… > > Thanks for any help, > Max > > On 10 Feb., 13:27, Maria wrote: > > > Good morning! > > > We have the following strange problem: > > > We sat the "time limit" for reactions (=2000ms) longer than the > > presentation time of the slide1(1000ms) (at which should be reacted > > and which was followed by a slide2 (1000ms)) and asked in a later > > inline > > > ----------------- > > > if c.getattrib("Slide1.acc") = 1 then > > > l=3 > > > end if > > > if c.getattrib("Slide1.acc") = 0 then > > > l=4 > > > end if > > debug.print l > > > --------------------------- > > > In trials, where the reaction time was longer than the presentation > > time of the first slide (reaction during slide2) the "l" was set 4, > > even in correct cases. > > > We need the accuracyinformation at this point of the experiment to > > send triggers. > > > Is there anyone who had the same problem before? > > Thanks for any answer, we have no idea... > > > Best wishes, > > > Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 Sat Feb 11 19:41:01 2012 From: liwenna at gmail.com (liwenna) Date: Sat, 11 Feb 2012 11:41:01 -0800 Subject: Extended reaction and accuracy In-Reply-To: <1b559506-d147-47d7-bd79-b6338aedd7fa@db5g2000vbb.googlegroups.com> Message-ID: Oh dear, it seems I answered too fast. (Of course, we took care that we use Slide1.Acc only when the time limit for reaction is over). ^ I take it that that is the answer to my question already, sorry for that. Still the do-while-loop suggestions stands, I think. There is one thing that I do not understand though: if I understood you correctly, the extended reaction time for slide1 overlaps with the display time of slide2? Yet you wish to distinguish between responses (either correct or false) made during slide1 and slide2. Did I understand that correctly? (probably not?). On 11 feb, 20:32, liwenna wrote: > Thanks for the more complicated set-up info. Hmmmz  Could it be that > the inline is placed directly following slide1? And that therefore the > inline script is already executed before the end of the extended > reaction period, thereby not taking into account responses made during > the extended response time? (rather than the .acc and .resp attributes > being set at the end of the trial, I have no e-prime at home to fiddle > with and I'd like to take you on your word, but it sounds a bit 'un-e- > primey' to me) > > Is it needed that the trigger is sent immediatly following the correct > response? (since you mention the option of a false response followed > by a correct response, would you also take into account a correct > response correct by a false response, in which case I suppose no > trigger should be sent?) If false corrections do not need to be taken > into account, you could perhaps do something with a 'do while' loop > that continuously monitors slide1.resp and initiates the trigger the > moment that slide1.resp = slide1.cresp? > > On 11 feb, 14:25, Maria wrote: > > > Thanks liwenna for answering. > > > Of course, if you set the property „Time Limit“ to “same as duration” > > of both slides an combine the accuracy of Slide1.acc and Slide2.acc it > > works fine. The problem is that we distinguish between “correct > > response”, “false response” and “no response” and even with only 2 > > Slides during the subject can react; there are 9 different > > combinations of possible reactions we have to regard (e.g. the subject > > could react wrong during Slide1 and try to undo it and press the right > > key at slide2…). The more slides where the response can be given, the > > more possibilities and if the duration of the slides are variable, it > > is not possible (or very complicate) to calculate the accuracy if the > > time for reaction should be a fix interval. > > > The easiest way is to set the property “time limit” of Slide1 longer > > than the presentation of Slide1. And it works if you look at the data > > of the results-file, the accuracies (Slide1.acc) and given responses > > (Slide1.resp) are correct. But if we tried to send a trigger depending > > on Slide1.acc, it doesn’t work if the reaction time is longer than the > > duration (but in the result file Slide1.acc is correct even if the > > reaction time is longer than the duration of Slide1). (Of course, we > > took care that we use Slide1.Acc only when the time limit for reaction > > is over). > > > Our hypothesis is that if you use a time limit for reactions longer > > than the presentation of a slide (and the reaction is given after the > > duration of the slide but during the allowed time for reaction), then > > the properties Slide1.acc and Slide1.resp will be set at the end of a > > trial into the list. So Slide1.acc is not available during the trial > > (and so we can’t use it for sending a trigger). What would help us is > > some code that set the properties Slide1.acc and Slide1.resp into the > > list before ending a trial or a code that we can use the properties > > Slide1.acc and Slide1.resp of the previous trial (then we would sent > > the current accuracy during the next trial). And perhaps there is also > > a solution we not thought about… > > > Thanks for any help, > > Max > > > On 10 Feb., 13:27, Maria wrote: > > > > Good morning! > > > > We have the following strange problem: > > > > We sat the "time limit" for reactions (=2000ms) longer than the > > > presentation time of the slide1(1000ms) (at which should be reacted > > > and which was followed by a slide2 (1000ms)) and asked in a later > > > inline > > > > ----------------- > > > > if c.getattrib("Slide1.acc") = 1 then > > > > l=3 > > > > end if > > > > if c.getattrib("Slide1.acc") = 0 then > > > > l=4 > > > > end if > > > debug.print l > > > > --------------------------- > > > > In trials, where the reaction time was longer than the presentation > > > time of the first slide (reaction during slide2) the "l" was set 4, > > > even in correct cases. > > > > We need the accuracyinformation at this point of the experiment to > > > send triggers. > > > > Is there anyone who had the same problem before? > > > Thanks for any answer, we have no idea... > > > > Best wishes, > > > > Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From pfc.groot at gmail.com Sun Feb 12 00:44:31 2012 From: pfc.groot at gmail.com (Paul Groot) Date: Sun, 12 Feb 2012 01:44:31 +0100 Subject: Assigning Hex number In-Reply-To: Message-ID: Hi S, If the address is static throughout the experiment, you could simply declare a constant in the global user section: Const MYPORT% = &H4000 You can then use MYPORT anywhere in your inline scripts. xyz.OnsetSignalEnabled= True xyz.OnsetSignalPort= MYPORT xyz.OnsetSignalData= 25 The conversion to CInt is never required since the hex-value is already interpreted as integer value. cheers Paul -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From rika.plat at gmail.com Mon Feb 13 15:34:38 2012 From: rika.plat at gmail.com (Rika Plat) Date: Mon, 13 Feb 2012 07:34:38 -0800 Subject: recording two sets of reaction times simultaneously Message-ID: Hi all, I would like to run a language experiment using e-prime where I want to record reaction times to spoken responses (so far, so good). I would however also like to have my participant perform a simple task requiring them to push a button at the same time. The instances when they are required to push a button will not be exactly the same as when they are required to give a spoken response. Does anyone know if it is possible to combine these two things (spoken responses and button press responses) in the same experiment and then also record two sets of reaction times? Thanks in advance for any responses! Rika -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From maria.richter.mail at googlemail.com Mon Feb 13 17:16:53 2012 From: maria.richter.mail at googlemail.com (Maria) Date: Mon, 13 Feb 2012 09:16:53 -0800 Subject: Extended reaction and accuracy In-Reply-To: <7e02fd51-56aa-4a80-a6a4-1528f7277c43@t24g2000yqj.googlegroups.com> Message-ID: By testing your suggestion, I figured out that if you use just Slide1.acc and Slide1.resp instead of c.getattrib("Slide1.acc") and c.getattrib("Slide1.resp") it even works when the correct answer is given after the duration of Slide1 ! So thanks for your help ;) Bye for now, Max On 11 Feb., 20:41, liwenna wrote: > Oh dear, it seems I answered too fast. > > (Of course, we > took care that we use Slide1.Acc only when the time limit for reaction > is over). > > ^ I take it that that is the answer to my question already, sorry for > that. > > Still the do-while-loop suggestions stands, I think. > > There is one thing that I do not understand though: if I understood > you correctly, the extended reaction time for slide1 overlaps with the > display time of slide2? Yet you wish to distinguish between responses > (either correct or false) made during slide1 and slide2. Did I > understand that correctly? (probably not?). > > On 11 feb, 20:32, liwenna wrote: > > > > > Thanks for the more complicated set-up info. Hmmmz  Could it be that > > the inline is placed directly following slide1? And that therefore the > > inline script is already executed before the end of the extended > > reaction period, thereby not taking into account responses made during > > the extended response time? (rather than the .acc and .resp attributes > > being set at the end of the trial, I have no e-prime at home to fiddle > > with and I'd like to take you on your word, but it sounds a bit 'un-e- > > primey' to me) > > > Is it needed that the trigger is sent immediatly following the correct > > response? (since you mention the option of a false response followed > > by a correct response, would you also take into account a correct > > response correct by a false response, in which case I suppose no > > trigger should be sent?) If false corrections do not need to be taken > > into account, you could perhaps do something with a 'do while' loop > > that continuously monitors slide1.resp and initiates the trigger the > > moment that slide1.resp = slide1.cresp? > > > On 11 feb, 14:25, Maria wrote: > > > > Thanks liwenna for answering. > > > > Of course, if you set the property „Time Limit“ to “same as duration” > > > of both slides an combine the accuracy of Slide1.acc and Slide2.acc it > > > works fine. The problem is that we distinguish between “correct > > > response”, “false response” and “no response” and even with only 2 > > > Slides during the subject can react; there are 9 different > > > combinations of possible reactions we have to regard (e.g. the subject > > > could react wrong during Slide1 and try to undo it and press the right > > > key at slide2…). The more slides where the response can be given, the > > > more possibilities and if the duration of the slides are variable, it > > > is not possible (or very complicate) to calculate the accuracy if the > > > time for reaction should be a fix interval. > > > > The easiest way is to set the property “time limit” of Slide1 longer > > > than the presentation of Slide1. And it works if you look at the data > > > of the results-file, the accuracies (Slide1.acc) and given responses > > > (Slide1.resp) are correct. But if we tried to send a trigger depending > > > on Slide1.acc, it doesn’t work if the reaction time is longer than the > > > duration (but in the result file Slide1.acc is correct even if the > > > reaction time is longer than the duration of Slide1). (Of course, we > > > took care that we use Slide1.Acc only when the time limit for reaction > > > is over). > > > > Our hypothesis is that if you use a time limit for reactions longer > > > than the presentation of a slide (and the reaction is given after the > > > duration of the slide but during the allowed time for reaction), then > > > the properties Slide1.acc and Slide1.resp will be set at the end of a > > > trial into the list. So Slide1.acc is not available during the trial > > > (and so we can’t use it for sending a trigger). What would help us is > > > some code that set the properties Slide1.acc and Slide1.resp into the > > > list before ending a trial or a code that we can use the properties > > > Slide1.acc and Slide1.resp of the previous trial (then we would sent > > > the current accuracy during the next trial). And perhaps there is also > > > a solution we not thought about… > > > > Thanks for any help, > > > Max > > > > On 10 Feb., 13:27, Maria wrote: > > > > > Good morning! > > > > > We have the following strange problem: > > > > > We sat the "time limit" for reactions (=2000ms) longer than the > > > > presentation time of the slide1(1000ms) (at which should be reacted > > > > and which was followed by a slide2 (1000ms)) and asked in a later > > > > inline > > > > > ----------------- > > > > > if c.getattrib("Slide1.acc") = 1 then > > > > > l=3 > > > > > end if > > > > > if c.getattrib("Slide1.acc") = 0 then > > > > > l=4 > > > > > end if > > > > debug.print l > > > > > --------------------------- > > > > > In trials, where the reaction time was longer than the presentation > > > > time of the first slide (reaction during slide2) the "l" was set 4, > > > > even in correct cases. > > > > > We need the accuracyinformation at this point of the experiment to > > > > send triggers. > > > > > Is there anyone who had the same problem before? > > > > Thanks for any answer, we have no idea... > > > > > Best wishes, > > > > > Max- Zitierten Text ausblenden - > > - Zitierten Text anzeigen - -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From raghav.destiny at gmail.com Wed Feb 15 17:07:05 2012 From: raghav.destiny at gmail.com (Raghav) Date: Wed, 15 Feb 2012 09:07:05 -0800 Subject: Looping Slide States Message-ID: I am trying to create a flicker task (image, blank, changed image, blank..looping continuously) experiment with Eprime and as of now I have a sequence of imagedisplay objects with a Goto statement at the end that goes to a label before the first image. this works perfectly but this Goto statement is interfering with another script that I am trying to run. Is there a better way to loop images? I am using Eprime 2 Is there a way to create a loop of slide states? i.e. Use a sequence of slide states and make the slide go back to the first state when the last state is reached? Any help regarding this would be most appreciated Raghav Sundar -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From raghav.destiny at gmail.com Wed Feb 15 18:21:38 2012 From: raghav.destiny at gmail.com (Raghav) Date: Wed, 15 Feb 2012 10:21:38 -0800 Subject: Running a background script Message-ID: Hello! I have a change detection stimulus set running on Eprime. i.e. image, blank, changed image, blank..looping continuously..as of now I have a sequence of imagedisplay objects with a Goto statement at the end that goes to a label before the first image. This is working perfectly I am trying to run a script parallelly that gets eye gaze data from an eye tracker. This script is a clocked loop that runs every 50 milliseconds and gets data from the tracker and adds an attribute with the timestamp and gazepositions to the trial. I have this script written and it is working nicely on its own. If i try adding an inline object with my eyegaze script (timed loop) anywhere within my change detection stimulus loop, the experiment crashes. How do I run this eye gaze script in the background without disrupting the goto loop of the images? Should I go about creating a subroutine of some sort ? My eye gaze script uses 'c.setattrib' to add colums to my edat file for every eye tracker gaze position of relevance. Any assistance with this would be most appreciated! Raghav Sundar -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mofei at gmx.net Thu Feb 16 02:06:59 2012 From: mofei at gmx.net (Brian Murphy) Date: Wed, 15 Feb 2012 18:06:59 -0800 Subject: meaning of ActionDelay for long audio files Message-ID: Hi, I've been running a MEG audio-book listening experiment. There are several large audio files, each 8-12mins long. Unsurprisingly there are big OnsetDelays in getting these files ready to play, of the order of 1s. But in addition to that, for the first of the trials there is also an ActionDelay, of about 350ms (typically - running the experiment repeatedly I find that it ranges from about 200ms to 900ms). On later trials the ActionDelay is 0ms, or occasionally 1ms. What does this mean? When does the audio track start playing? At OnsetTime or ActionTime? The user guide says that OnsetTime is when the stimulus "actually" begins, but closer reading of the Reference Guide suggests that it might be when *writing of the stimulus to the output device begins*. The ActionTime should be when the "critical action" finishes. What is the critical action when we're talking about sending audio data to the sound card? thanks, Brian -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From ahafri at gmail.com Thu Feb 16 15:38:19 2012 From: ahafri at gmail.com (Alon Hafri) Date: Thu, 16 Feb 2012 07:38:19 -0800 Subject: Looping movie / video Message-ID: Hi everyone, I'd love to get your help with this! We are looking to loop a SlideMovie object until the Enter key is pressed. Meanwhile, the user may type what they see in the video (using the echo response feature of Input Masks). Unlike the SoundOut objects, there is no documentation on MovieDisplay or SlideMovie objects, and so we can't figure out if there are properties that allow this. David McFarlane put in a feature request for this here http://support.pstnet.com/forum/Topic2772-12-1.aspx but until then, I'm wondering if someone could help me figure this out with InLine. With sound objects, you can do it with InLine by playing the soundout object, and then testing for the buffer status (e.g. the following): Do While ... If SoundBuffer.Status = ebBufferStatusStopped Then SoundBuffer.Play Loop Is there an equivalent property for MovieDisplay? Or alternatively, is there a way to test at runtime the length/duration of a movie, so that we can have the program wait that long and then play the movie again? I guess the only other option is to manually code the duration of each video, and then use the InLine to wait that long before replaying the movie. Thanks so much for all your help! Alon keywords: video movie loop slidemovie moviedisplay moviebuffer status -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From sjflanary at gmail.com Thu Feb 16 20:32:55 2012 From: sjflanary at gmail.com (MTsf) Date: Thu, 16 Feb 2012 12:32:55 -0800 Subject: Connecting slides Message-ID: Hi all, I am trying to display a slide that offers a list of choices the participant can click on and it would then connect them to a different page. Is there a way to connect pages like this? If not, is there a way for the person running the experiment (me) to review specific slides (say 18 out of 36) without having to run through all of them again? Any help would be greatly appreciated. Thank you!!!! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu Feb 16 22:58:16 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 16 Feb 2012 17:58:16 -0500 Subject: meaning of ActionDelay for long audio files In-Reply-To: <075761bb-7e51-4183-bc78-b40f84cb4441@t30g2000vbx.googlegro ups.com> Message-ID: Brian, I have tried to untangle this myself, and you can see the result at http://groups.google.com/group/e-prime/browse_thread/thread/39e899d3457d4917 . In my tests, I was never able to get ActionTime to lag more than 1 ms behind OnsetTime, so your report does add something to the discussion. Based on that, I would guess that OnsetTime means, vaguely, when E-Prime first submitted the stimulus data for presentation (e.g., proceeded to copy data to display memory or load a sound buffer), whereas ActionTime means when E-Prime completed this action (e.g., copying data to display memory, or loading a sound or video buffer). Bear in mind after all this that E-Prime indicates only when it has made the information available to the hardware, the hardware itself may impose additional delays beyond the purview of E-Prime. On top of all that, EP2 has had problems playing sound & video under Windows Vista/7, in case that applies to you, although they may have fixed that in the latest release (EP2.0.10.182). Finally, if you really want to know when a stimulus appears relative to other events in your task, you will need to break out an oscilloscope. Anyway, for a more definitive answer, you should submit this issue to PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp (note that I do not work for PST), and point them to this very thread -- they strive to respond to all requests there in 24-48 hours. Or try them at their Facebook page (http://www.facebook.com/pages/Psychology-Software-Tools-Inc/241802160683 ). And then please post back here with their response so that we can all learn. -- David McFarlane, E-Prime Instructor http://psychology.msu.edu/Workshops_Courses/eprime.aspx At 2/15/2012 09:06 PM Wednesday, you wrote: >I've been running a MEG audio-book listening experiment. There are >several large audio files, each 8-12mins long. Unsurprisingly there >are big OnsetDelays in getting these files ready to play, of the order >of 1s. But in addition to that, for the first of the trials there is >also an ActionDelay, of about 350ms (typically - running the >experiment repeatedly I find that it ranges from about 200ms to >900ms). On later trials the ActionDelay is 0ms, or occasionally 1ms. > >What does this mean? When does the audio track start playing? At >OnsetTime or ActionTime? The user guide says that OnsetTime is when >the stimulus "actually" begins, but closer reading of the Reference >Guide suggests that it might be when *writing of the stimulus to the >output device begins*. The ActionTime should be when the "critical >action" finishes. What is the critical action when we're talking about >sending audio data to the sound card? > >thanks, > >Brian -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From michael.steven.franklin at gmail.com Thu Feb 16 23:37:32 2012 From: michael.steven.franklin at gmail.com (michael franklin) Date: Thu, 16 Feb 2012 15:37:32 -0800 Subject: moving backwards through a list Message-ID: Hi All, I'm trying to put together a basic reading experiment, where subjects see words presented in the middle of the screen, one word at a time, pressing spacebar to advance. Simple enough...but I want subjects to be able to go backwards and re-read words if they lose focus, by pressing backspace. Any thoughts on the optimal way to approach this? If they only needed to go back a few words back, I could use 'labels', and have some redundant word columns in the list, but I don't see how this would practical approach if they are allowed to go as far back as they want. Any thoughts would be appreciated! Thanks, Michael -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send 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 sovspape at cognitology.eu Fri Feb 17 08:09:54 2012 From: sovspape at cognitology.eu (MSpape) Date: Fri, 17 Feb 2012 00:09:54 -0800 Subject: moving backwards through a list In-Reply-To: Message-ID: Hi, Moving in different ways through the list can quickly get ugly in E- Prime, I think. Keeping in mind I (still?) don't have E-Prime here, here's one idea (so forgive the syntax errors, there's no way i can check it!): 1. Declare array with words in an inline Dim myWords as String(1 to 3) myWords(1) = "A word" myWords(2) = "Another word" myWords(3) = "Last Word" Dim ShowThisWord as Integer 2. Enter a label: Label1 3. Another inline: ShowThisWord = ShowThisWord + 1 c.SetAttrib "WordToShow", myWords(ShowThisWord) 4. TextDisplay1 with text "[WordToShow]". Duration infinite, allowable keys {LEFT}{RIGHT} (or was it {LEFT-ARROW}, I forgot...). Terminate on press. 5. Last inline IF TextDisplay1.TEXT = "{LEFT}" THEN ShowThisWord = ShowThisWord - 2 IF ShowThisWord = -1 THEN ShowThisWord = 0 'to avoid negative scenarios GOTO Label1 ELSE IF ShowThisWord < 3 THEN GOTO Label1 END IF Alternatively I think it might be possible to something with colon syntax, which would be much more elegant, but I cannot check this. Say, we have the same structure, except MyWords is now a nested list 1. Inline Dim WordToShow as integer WordToShow = 1 2. Label1 3. Another inline: c.SetAttrib "WordToShow", c.GetAttrib("myWords:" & cstr(ShowThisWord)) 4. same 5. Inline: IF TextDisplay1.TEXT = "{LEFT}" THEN ShowThisWord = ShowThisWord - 1 IF ShowThisWord = 0 THEN ShowThisWord = 1 'to avoid negative scenarios GOTO Label1 ELSE ShowThisWord = ShowThisWord + 1 IF ShowThisWord <= 3 THEN GOTO Label1 END IF More elegant, I think, but not sure whether one could hack into this colon syntax like this... HTH, Mich From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of michael franklin Sent: 17 February 2012 01:38 To: e-prime at googlegroups.com Subject: moving backwards through a list Hi All, -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From reiss_jason%wheatoncollege.edu at gtempaccount.com Fri Feb 17 14:07:24 2012 From: reiss_jason%wheatoncollege.edu at gtempaccount.com (Jason E. Reiss) Date: Fri, 17 Feb 2012 06:07:24 -0800 Subject: ISCAN eye tracker Message-ID: E-Prime Group I recently purchased an ISCAN eye tracker and now I'm looking for any E-prime resources for calibration, tracking, or data processing, with this system. If anyone has something that they could provide (or knows of someone that I should contact), I would greatly appreciate it. FYI: I am communicating with E-prime through a serial connection. Thank you very much :) Jason Reiss -- **************************************************************************** Jason E. Reiss, Ph.D. Department of Psychology Wheaton College 26 East Main Street Norton, MA 02766-2322 Office: 1136 Mars Center for Science & Technology (508-286-3636) Research Lab: 1106 Mars Center for Science & Technology E-mail: reiss_jason at wheatoncollege.edu Website: http://wheatoncollege.edu/Faculty/JasonEReiss.html **************************************************************************** -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From ahafri at gmail.com Fri Feb 17 16:31:26 2012 From: ahafri at gmail.com (Alon Hafri) Date: Fri, 17 Feb 2012 08:31:26 -0800 Subject: Looping movie / video In-Reply-To: Message-ID: Well an update on my own post in case anyone's interested -- got it to work by running a While loop and starting the clip over if it reached the duration threshold for the video. First, set the Slide or MovieDisplay object duration to 0, with the video setting StopAfter set to "No" and EndMovieAction set to "none". Also make sure the slide's setting for "ClearAfter" is set to "No". Then put the following InLine after the Slide or MovieDisplay object, substituting the relevant names: Dim Vid1 As SlideMovie 'or as MovieDisplay object, as the case may be Set Vid1 = CSlideMovie(yourSlide.States("Default").Objects("Movie")) 'instead of "yourSlide" put in your slide's name, or if it's a moviedisplay object named "MovieObject", just do "Set Vid1 = MovieObject" Dim lngVideoOnsetTime As Long lngVideoOnsetTime = Clock.Read Do While... 'set the condition for the loop to end here If Clock.Read > lngVideoOnsetTime + [insert video duration here in msec] Then Vid1.Load Vid1.Play lngVideoOnsetTime = Clock.Read End If [insert other relevant loop code here] Loop Vid1.Stop Set Vid1 = Nothing You'll need to know your video's duration. If it's a variable duration depending on the trial, then you can add an attribute to the list called "VideoDuration", and then replace the part in brackets above about duration with CLng(c.GetAttrib("VideoDuration")). Hope that helps -- if anyone knows how to loop a video in an easier way, please post. Or if you know how to automatically read in the video's duration so having a manually specified attribute "VideoDuration" is not needed. Alon On Feb 16, 10:38 am, Alon Hafri wrote: > Hi everyone, > > I'd love to get your help with this! We are looking to loop a > SlideMovie object until the Enter key is pressed. Meanwhile, the user > may type what they see in the video (using the echo response feature > of Input Masks). > > Unlike the SoundOut objects, there is no documentation on MovieDisplay > or SlideMovie objects, and so we can't figure out if there are > properties that allow this. David McFarlane put in a feature request > for this herehttp://support.pstnet.com/forum/Topic2772-12-1.aspxbut > until then, I'm wondering if someone could help me figure this out > with InLine. > > With sound objects, you can do it with InLine by playing the soundout > object, and then testing for the buffer status (e.g. the following): > Do While ... >    If SoundBuffer.Status = ebBufferStatusStopped Then SoundBuffer.Play > Loop > > Is there an equivalent property for MovieDisplay? Or alternatively, is > there a way to test at runtime the length/duration of a movie, so that > we can have the program wait that long and then play the movie again? > I guess the only other option is to manually code the duration of each > video, and then use the InLine to wait that long before replaying the > movie. > > Thanks so much for all your help! > Alon > > keywords: video movie loop slidemovie moviedisplay moviebuffer status -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 17 18:11:50 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 17 Feb 2012 13:11:50 -0500 Subject: meaning of ActionDelay for long audio files In-Reply-To: <4f3d8a27.c45f320a.1564.ffffb6c9SMTPIN_ADDED@gmr-mx.google. com> Message-ID: Brian, As to reducing the latency for the onset of your sound stimuli... I have just been catching up on the improvements made in EP2.0.10.182, and noticed the new SoundTester application, documented at http://www.pstnet.com/support/kb.asp?TopicID=4348 . This may help if you are using EP2 under Vista/7. -- David McFarlane, E-Prime Instructor http://psychology.msu.edu/Workshops_Courses/eprime.aspx At 2/16/2012 05:58 PM Thursday, you wrote: >Brian, > >I have tried to untangle this myself, and you can see the result at >http://groups.google.com/group/e-prime/browse_thread/thread/39e899d3457d4917 >. In my tests, I was never able to get ActionTime to lag more than >1 ms behind OnsetTime, so your report does add something to the >discussion. Based on that, I would guess that OnsetTime means, >vaguely, when E-Prime first submitted the stimulus data for >presentation (e.g., proceeded to copy data to display memory or load >a sound buffer), whereas ActionTime means when E-Prime completed >this action (e.g., copying data to display memory, or loading a >sound or video buffer). > >Bear in mind after all this that E-Prime indicates only when it has >made the information available to the hardware, the hardware itself >may impose additional delays beyond the purview of E-Prime. On top >of all that, EP2 has had problems playing sound & video under >Windows Vista/7, in case that applies to you, although they may have >fixed that in the latest release (EP2.0.10.182). Finally, if you >really want to know when a stimulus appears relative to other events >in your task, you will need to break out an oscilloscope. > >Anyway, for a more definitive answer, you should submit this issue >to PST Web Support at >http://support.pstnet.com/e%2Dprime/support/login.asp (note that I >do not work for PST), and point them to this very thread -- they >strive to respond to all requests there in 24-48 hours. Or try them >at their Facebook page >(http://www.facebook.com/pages/Psychology-Software-Tools-Inc/241802160683 >). And then please post back here with their response so that we >can all learn. > >-- David McFarlane, E-Prime Instructor > http://psychology.msu.edu/Workshops_Courses/eprime.aspx > > >At 2/15/2012 09:06 PM Wednesday, you wrote: >>I've been running a MEG audio-book listening experiment. There are >>several large audio files, each 8-12mins long. Unsurprisingly there >>are big OnsetDelays in getting these files ready to play, of the order >>of 1s. But in addition to that, for the first of the trials there is >>also an ActionDelay, of about 350ms (typically - running the >>experiment repeatedly I find that it ranges from about 200ms to >>900ms). On later trials the ActionDelay is 0ms, or occasionally 1ms. >> >>What does this mean? When does the audio track start playing? At >>OnsetTime or ActionTime? The user guide says that OnsetTime is when >>the stimulus "actually" begins, but closer reading of the Reference >>Guide suggests that it might be when *writing of the stimulus to the >>output device begins*. The ActionTime should be when the "critical >>action" finishes. What is the critical action when we're talking about >>sending audio data to the sound card? >> >>thanks, >> >>Brian -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From michael.steven.franklin at gmail.com Fri Feb 17 18:27:24 2012 From: michael.steven.franklin at gmail.com (michael franklin) Date: Fri, 17 Feb 2012 10:27:24 -0800 Subject: moving backwards through a list In-Reply-To: Message-ID: Hi Mich, Thanks so much for the detailed response...I'll give the first option a go...I think it should work! Best, Michael On Fri, Feb 17, 2012 at 12:09 AM, MSpape wrote: > Hi, > > Moving in different ways through the list can quickly get ugly in E- > Prime, I > think. Keeping in mind I (still?) don't have E-Prime here, here's one > idea > (so forgive the syntax errors, there's no way i can check it!): > > 1. Declare array with words in an inline > > Dim myWords as String(1 to 3) > myWords(1) = "A word" > myWords(2) = "Another word" > myWords(3) = "Last Word" > Dim ShowThisWord as Integer > > 2. Enter a label: Label1 > 3. Another inline: > ShowThisWord = ShowThisWord + 1 > c.SetAttrib "WordToShow", myWords(ShowThisWord) > 4. TextDisplay1 with text "[WordToShow]". Duration infinite, allowable > keys > {LEFT}{RIGHT} (or was it {LEFT-ARROW}, I forgot...). Terminate on > press. > 5. Last inline > IF TextDisplay1.TEXT = "{LEFT}" THEN > ShowThisWord = ShowThisWord - 2 > IF ShowThisWord = -1 THEN ShowThisWord = 0 'to avoid > negative scenarios > GOTO Label1 > ELSE > IF ShowThisWord < 3 THEN GOTO Label1 > END IF > > Alternatively I think it might be possible to something with colon > syntax, > which would be much more elegant, but I cannot check this. Say, we > have the > same structure, except MyWords is now a nested list 1. Inline > > Dim WordToShow as integer > WordToShow = 1 > 2. Label1 > 3. Another inline: > c.SetAttrib "WordToShow", c.GetAttrib("myWords:" & cstr(ShowThisWord)) > 4. same > 5. Inline: > IF TextDisplay1.TEXT = "{LEFT}" THEN > ShowThisWord = ShowThisWord - 1 > IF ShowThisWord = 0 THEN ShowThisWord = 1 'to avoid > negative scenarios > GOTO Label1 > ELSE > ShowThisWord = ShowThisWord + 1 > IF ShowThisWord <= 3 THEN GOTO Label1 > END IF > > More elegant, I think, but not sure whether one could hack into this > colon > syntax like this... > > HTH, > > Mich > > > > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On > Behalf > Of michael franklin > Sent: 17 February 2012 01:38 > To: e-prime at googlegroups.com > Subject: moving backwards through a list > > > > Hi All, > > -- > You received this message because you are subscribed to the Google Groups > "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to > e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/e-prime?hl=en. > > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mofei at gmx.net Fri Feb 17 23:22:35 2012 From: mofei at gmx.net (Brian Murphy) Date: Fri, 17 Feb 2012 15:22:35 -0800 Subject: meaning of ActionDelay for long audio files In-Reply-To: <4f3e986b.e5d9320a.7263.fffff6e8SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hi David, thanks very much for your response. I had read your earlier posting about the meaning of the different logged time attributes. I'll take your advice now to write to PST support directly, and then post their response to the list. For my future experiments, we're going to route the sound-card output back into my MEG recording equipment, so that there is no doubt when play-back starts, but I have several experiments-worth of data which I don't want to have to bin because of dodgy timing! best, Brian -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From erin.siebert at gmail.com Fri Feb 17 23:46:42 2012 From: erin.siebert at gmail.com (Erin) Date: Fri, 17 Feb 2012 15:46:42 -0800 Subject: sending com port command Message-ID: I am trying to send a command to an external device via a usb connection. The external device is an ADU200 USB Relay I/O Interface (http://www.ontrak.net/ADUcommands.htm). This is a control box which triggers an automatic feeder for our monkeys. Using the control box's test software, I can trigger the auto feeder by sending the control box the command "sk0." So, I know I need E-Prime to send the command "sk0" to the ADU200 control box via a usb COM port. I have read the E-Prime help, and it appears it is difficult to send a non binary message via a com port (the WritePort command). It is possible I may need to use something called a Declare Statement, which is done outside of E-Prime. However, I am hoping this is not necessary. Reading the OnTrak help, it appear a Visual Basic code similar to MSComm1.Output = "sk0" would work (http://www.ontrak.net/visual.htm), however this does not appear to be an option in E-Prime. Any pointers would be very appreciated. Thank you! Erin -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From cbyoung89 at gmail.com Sat Feb 18 22:41:03 2012 From: cbyoung89 at gmail.com (Christina) Date: Sat, 18 Feb 2012 14:41:03 -0800 Subject: Running a new procedure after fixed number of trials In-Reply-To: <4F36494A.20306@ucl.ac.uk> Message-ID: Thank you!!! On Feb 11, 4:56 am, David Vinson wrote: > Oops I made a slight error in my previous mail - the inline code as > written would run the procedure on every trial *except* 30...60...90 > etc.  = should be >. > > -dv > > On 11/02/2012 10:44, David Vinson wrote: > > > > > > > > > > > Hi Christina, > > > This is a common situation, for example when inserting a break every N > > trials. > > > The easiest way I've found to do it is to insert that procedure > > ("NewProc") as if it occurred every trial, then add a Label > > immediately after it ("JumpToLabel").  Then right before the procedure > > add an inline to check the sample number and go to the "JumpToLabel" > > (thus skipping past NewProc) unless it meets your requirements > > > If c.GetAttrib(c.GetAttrib("Running") & ".Sample")  MOD 30 = 0 Then > >   goto JumpToLabel > > End If > > > There's a sample experiment on the e-prime support site, > >http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=33 > > which does a similar thing, instead by running a procedure that sits > > outside of the main experiment procedure (Unreferenced Objects) - in > > this case the input masks would need to be set with an additional line > > in inline code (see the sample InsertPause.es for more info). > > > One note - if your inserted procedure is something that logs data > > (e.g. *.ACC etc) you may need to clear these values on instances in > > which the event is skipped - otherwise they may inherit the values > > from the last trial in which NewProc was run. > > > hope this helps, > > -dv > > > On 10/02/2012 18:26, Christina B Young wrote: > >> Hello, > >> I am running into a problem that hopefully has a straight-forward > >> solution.  In my experiment, I have 90 trials that occur in random > >> order and the randomization is critical.  However, after the 30ths and > >> 60th trial, I would like to add a new procedure, but then have the > >> experiment continue with the original trials.  So the order would be: > >> 29th trial, 30th trial, new procedure, 31st trial, 32nd trial, etc. > >> Does anyone have any ideas on how to do this?  Thanks! > > >> Christina > > -- > David Vinson, Ph.D. > Senior Postdoctoral Researcher > Cognitive, Perceptual and Brain Sciences Research Department > University College London > 26 Bedford Way, London WC1H 0AP > Tel +44 (0)20 7679 5311  (UCL internal ext. 25311) -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From pfc.groot at gmail.com Mon Feb 20 20:47:47 2012 From: pfc.groot at gmail.com (Paul Groot) Date: Mon, 20 Feb 2012 21:47:47 +0100 Subject: sending com port command In-Reply-To: <7bf47598-614d-4e90-a161-1d7c9483b2ad@c21g2000yqi.googlegroups.com> Message-ID: Hi Erin, Although, in theory, it would be possible to use the WritePort command to send bytes to a classical serial (non-USB) RS232 port, it is definitely not the way to go. Instead you should use a SerialDevice object to communicate with a COM port. The easiest way is to add such a Serial device in the following dialog: E-Studio>Menu>Edit>Experiment>Devices>Add Serial. The default setting should be OK (9600bps, 8bit, no parity, 1 stopbit). When you add this device, EPrime will add a global SerialDevice object variable to your script. The name of this variable will be 'Serial' if there is only one serial device. The next thing you should do is to add a single line of inline script to send the command: SerialDevice.WriteString "sk0" & ebCr The ebCr constant is a cariage return that is probably required by the device. I'm not sure if the external device also needs to be initialised first (by sending "CPA00000000" for example), but that's up to you to find out ;-) Hope this helps, Paul 2012/2/18 Erin : > I am trying to send a command to an external device via a usb > connection.  The external device is an ADU200 USB Relay I/O Interface > (http://www.ontrak.net/ADUcommands.htm).  This is a control box which > triggers an automatic feeder for our monkeys.  Using the control box's > test software, I can trigger the auto feeder by sending the control > box the command "sk0."  So, I know I need E-Prime to send the command > "sk0" to the ADU200 control box via a usb COM port. > > I have read the E-Prime help, and it appears it is difficult to send a > non binary message via a com port (the WritePort command).  It is > possible I may need to use something called a Declare Statement, which > is done outside of E-Prime.  However, I am hoping this is not > necessary. > > Reading the OnTrak help, it appear a Visual Basic code similar to > MSComm1.Output = "sk0" would work (http://www.ontrak.net/visual.htm), > however this does not appear to be an option in E-Prime. > > Any pointers would be very appreciated.  Thank you! > > Erin > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From pfc.groot at gmail.com Mon Feb 20 21:26:21 2012 From: pfc.groot at gmail.com (Paul Groot) Date: Mon, 20 Feb 2012 22:26:21 +0100 Subject: moving backwards through a list In-Reply-To: Message-ID: Hi Michael, This is probably not exactly what you were aiming for, but several years ago I created an eprime script that was used for 'masked reading'. Anyway, useful or not, I just uploaded it for anybody who might be interested: http://www.pfcgroot.nl/e-prime/84-full-scripts/82-masked-reading.html Cheers, Paul 2012/2/17 michael franklin : > Hi All, > I'm trying to put together a basic reading experiment, where subjects > see words presented in the middle of the screen, one word at a time, > pressing spacebar to advance. Simple enough...but I want subjects to be > able to go backwards and re-read words if they lose focus, by pressing > backspace. Any thoughts on the optimal way to approach this? If they > only needed to go back a few words back, I could use 'labels', and have > some redundant word columns in the list, but I don't see how this would > practical approach if they are allowed to go as far back as they want. > > Any thoughts would be appreciated! > > Thanks, > Michael > > -- > You received this message because you are subscribed to the Google Groups > "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to > e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/e-prime?hl=en. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From marylandncdl at gmail.com Tue Feb 21 00:01:02 2012 From: marylandncdl at gmail.com (UMD NCDL) Date: Mon, 20 Feb 2012 16:01:02 -0800 Subject: Recording multiple responses before stimulus terminates Message-ID: Hi all, I am attempting to make a habituation paradigm with E-Prime. In order to do so, I need to log multiple responses. Using the samples from E- Primes website I have my program recording multiple responses and recording button presses and releases. What I need E-Prime to do is calculate the difference between a button press "N" and release "{- N}"and terminate the presentation of a movie display when the time after N is pressed is >= 2000 ms. I have had the program record the multiple responses and stop cycling the video when the difference between two responses is > 2000 ms, but it does not stop until the end of the video. I need it to terminate during the video! When the max count = 2, then the video will stop after 2 consecutive seconds. However, infants will look to/away from the screen multiple times, so I need to record multiple responses. My guess is that the problem is occuring because the responses are not logged until the max count is reached. How can I tell E-Prime to log/ use responses prior to reaching the max count? Here's my code so far: Dim theResponseObject As RteRunnableInputObject Set theResponseObject = CRteRunnableInputObject(Rte.GetObject("Fam1Video")) 'Counter variable for the number of responses made Dim nPressCount As Long 'Counter variable Dim nIndex as Integer 'Enumerate through the response collection 'If any of the responses were made by the keyboard, display 'the statistics to the user. For nIndex = 1 To theResponseObject.InputMasks.Responses.Count 'Set theKeyboardResponseData equal to the current keyboard response Dim theKeyboardResponseData As KeyboardResponseData Set theKeyboardResponseData = CKeyboardResponseData(theResponseObject.InputMasks.Responses(nIndex)) If Not theKeyboardResponseData Is Nothing Then 'Log reaction time and response for each key press. c.SetAttrib "KeyPress" & nIndex & "RT", theKeyboardResponseData.RT c.SetAttrib "KeyPress" & nIndex & "RESP", theKeyboardResponseData.RESP End if next 'nIndex For nIndex = 2 to theResponseObject.InputMasks.Responses.Count If c.GetAttrib("KeyPress" & nIndex & "RT") - c.GetAttrib("KeyPress" & nIndex-1 & "RT") > 2000 Then Familiarization1.Terminate Next Thank you, Leslie Rollins -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From erin.siebert at gmail.com Tue Feb 21 00:07:26 2012 From: erin.siebert at gmail.com (Erin) Date: Mon, 20 Feb 2012 16:07:26 -0800 Subject: sending com port command In-Reply-To: Message-ID: Thanks for the info Paul. I was thinking something like that may work. In the past, I have successfully triggered a serial port pump (via a usb to 9-pin serial port converter) in E-Prime sending text commands using a serial.writestring inline. (I installed a driver for the computer to recognize the serial-usb converter as a serial com port.) However, the equipment I am currently working with is a usb to usb connection, and E-Prime does not recognize it as a serial port. When I run the experiment with a serial device added, I get an "unable to open port" error, even when I go through and try every com port. Is there a way to send this signal through a traditional USB connection? thanks! Erin On Feb 20, 3:47 pm, Paul Groot wrote: > Hi Erin, > > Although, in theory, it would be possible to use the WritePort command > to send bytes to a classicalserial(non-USB) RS232 port, it is > definitely not the way to go. Instead you should use a SerialDevice > object to communicate with a COM port. The easiest way is to add such > aSerialdevice in the following dialog: > E-Studio>Menu>Edit>Experiment>Devices>AddSerial. The default setting > should be OK (9600bps, 8bit, no parity, 1 stopbit). When you add this > device, EPrime will add a global SerialDevice object variable to your > script. The name of this variable will be 'Serial' if there is only > oneserialdevice. > > The next thing you should do is to add a single line of inline script > to send the command: > > SerialDevice.WriteString "sk0" & ebCr > > The ebCr constant is a cariage return that is probably required by the device. > > I'm not sure if the external device also needs to be initialised first > (by sending "CPA00000000" for example), but that's up to you to find > out ;-) > > Hope this helps, > Paul > > 2012/2/18 Erin : > > > I am trying to send a command to an external device via ausb > > connection.  The external device is an ADU200USBRelay I/O Interface > > (http://www.ontrak.net/ADUcommands.htm).  This is a control box which > > triggers an automatic feeder for our monkeys.  Using the control box's > > test software, I can trigger the auto feeder by sending the control > > box the command "sk0."  So, I know I need E-Prime to send the command > > "sk0" to the ADU200 control box via ausbCOM port. > > > I have read the E-Prime help, and it appears it is difficult to send a > > non binary message via a com port (the WritePort command).  It is > > possible I may need to use something called a Declare Statement, which > > is done outside of E-Prime.  However, I am hoping this is not > > necessary. > > > Reading the OnTrak help, it appear a Visual Basic code similar to > > MSComm1.Output = "sk0" would work (http://www.ontrak.net/visual.htm), > > however this does not appear to be an option in E-Prime. > > > Any pointers would be very appreciated.  Thank you! > > > Erin > > > -- > > You received this message because you are subscribed to the Google Groups "E-Prime" group. > > To post to this group, send email to e-prime at googlegroups.com. > > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From reiss_jason%wheatoncollege.edu at gtempaccount.com Tue Feb 21 19:06:03 2012 From: reiss_jason%wheatoncollege.edu at gtempaccount.com (Jason E. Reiss) Date: Tue, 21 Feb 2012 11:06:03 -0800 Subject: Using a epk file in E-prime 2 Message-ID: Someone sent me an .epk package file that they created using E-prime 1. Does anyone know how to convert this file so that I can use/edit it in E-prime 2? Thank you Jason Reiss -- **************************************************************************** Jason E. Reiss, Ph.D. Department of Psychology Wheaton College 26 East Main Street Norton, MA 02766-2322 Office: 1136 Mars Center for Science & Technology (508-286-3636) Research Lab: 1106 Mars Center for Science & Technology E-mail: reiss_jason at wheatoncollege.edu Website: http://wheatoncollege.edu/Faculty/JasonEReiss.html **************************************************************************** -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 21 19:40:05 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 21 Feb 2012 14:40:05 -0500 Subject: Using a epk file in E-prime 2 In-Reply-To: <7fdfef5e-297a-462b-9915-f24a3352c0b4@l16g2000vbl.googlegro ups.com> Message-ID: Jason, You should submit this to PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp . They should tell you whether or not EP2 includes a way to import package files from EP1, and then you could do us all a favor by posting that answer here. And if EP2 will not import EP1 package files, PST Support might have a way to do that for you on a case-by-case basis. (BTW, probably a bad practice to include your e-mail address in a signature on a public message board, it just invites spam. I deleted it from my reply.) Good luck, -- David McFarlane At 2/21/2012 02:06 PM Tuesday, you wrote: >Someone sent me an .epk package file that they created using E-prime >1. Does anyone know how to convert this file so that I can use/edit it >in E-prime 2? > >Thank you > >Jason Reiss > >-- >**************************************************************************** >Jason E. Reiss, Ph.D. >Department of Psychology >Wheaton College >Website: http://wheatoncollege.edu/Faculty/JasonEReiss.html >**************************************************************************** -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From reiss_jason%wheatoncollege.edu at gtempaccount.com Tue Feb 21 19:55:36 2012 From: reiss_jason%wheatoncollege.edu at gtempaccount.com (Jason E. Reiss) Date: Tue, 21 Feb 2012 11:55:36 -0800 Subject: Using a epk file in E-prime 2 In-Reply-To: <4f43f317.a139320a.20c7.ffffdc3aSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thank you. I've submitted a PST Web Support Request and will let everyone know what they say. On Feb 21, 2:40 pm, David McFarlane wrote: > Jason, > > You should submit this to PST Web Support athttp://support.pstnet.com/e%2Dprime/support/login.asp.  They should > tell you whether or not EP2 includes a way to import package files > from EP1, and then you could do us all a favor by posting that answer > here.  And if EP2 will not import EP1 package files, PST Support > might have a way to do that for you on a case-by-case basis. > > (BTW, probably a bad practice to include your e-mail address in a > signature on a public message board, it just invites spam.  I deleted > it from my reply.) > > Good luck, > -- David McFarlane > > At 2/21/2012 02:06 PM Tuesday, you wrote: > > > > > > > > >Someone sent me an .epk package file that they created using E-prime > >1. Does anyone know how to convert this file so that I can use/edit it > >in E-prime 2? > > >Thank you > > >Jason Reiss > > >-- > >**************************************************************************** > >Jason E. Reiss, Ph.D. > >Department of Psychology > >Wheaton College > >Website:http://wheatoncollege.edu/Faculty/JasonEReiss.html > >**************************************************************************** -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From pfc.groot at gmail.com Tue Feb 21 22:20:26 2012 From: pfc.groot at gmail.com (Paul Groot) Date: Tue, 21 Feb 2012 23:20:26 +0100 Subject: sending com port command In-Reply-To: <093fece3-ae16-49fc-a02c-eb0059f79d5e@p13g2000yqd.googlegroups.com> Message-ID: Hi Erin, Ah, I described a solution for a 'legacy' ADR device because you linked to the RS232 example. But if I understand this correctly, you are using an ADU (USB only) device... However, if the device you have supports legacy RS232 connections, you should try the following first because RS232 it is a bit easier to use than the USB interface DLL: First check which (virtual) COM port is being assigned by windows after installing the driver. If the USB device connects as virtual RS232, you should be able to find it under control panel>device manager->COM and LPT ports. Windows often assigns a port number >4, which might be problemematic with EPrime (not sure if this is less critical in EPrime 2.) Just try to change the port number to the first available value below 4. If the PC has 1 or 2 physical COM ports, you should skip those numbers. Also note that the port number often changes when a different USB port is used. If RS232 is *not* an option (i.e. no new COM port is added when you plugin the USB cable), you should use the DLL interface to connect to the USB channels. EBasic supports calling functions in external DLL's, so that should be no problem. To do this, you should declare all DLL functions first. For example, you can put the following declarations in the global user script section: Declare Function OpenAduDevice Lib "AduHid.DLL" (ByVal iTimeout As Long) As Long Declare Function WriteAduDevice Lib "AduHid.DLL" (ByVal aduHandle As Long, ByVal lpBuffer As String, ByVal lNumberOfBytesToWrite As Long, ByRef lBytesWritten As Long, ByVal iTimeout As Long) As Long Declare Function ReadAduDevice Lib "AduHid.DLL" (ByVal aduHandle As Long, ByVal lpBuffer As String, ByVal lNumberOfBytesToRead As Long, ByRef lBytesRead As Long, ByVal iTimeout As Long) As Long Declare Function CloseAduDevice Lib "AduHid.DLL" (ByVal iHandle As Long) As Long (more info here http://www.ontrak.net/ADUSDK/MinimalCompile-VB.html) When the declarations are defined, you should be able to call the functions in inline script just as if the functions are part of EBasic: ' you would probably put this declaration also in the global section Dim aduHandle As Long 'then in some inline script: aduHandle = OpenAduDevice(0) The VisualBasic example contains further details on the WriteAduDevice function. Also don't forget to close the channel properly by calling CloseAduDevice(aduHandle) before the end of the experiment. best, paul 2012/2/21 Erin : > Thanks for the info Paul.  I was thinking something like that may > work.  In the past, I have successfully triggered a serial port pump > (via a usb to 9-pin serial port converter) in E-Prime sending text > commands using a serial.writestring inline.  (I installed a driver for > the computer to recognize the serial-usb converter as a serial com > port.) > > However, the equipment I am currently working with is a usb to usb > connection, and E-Prime does not recognize it as a serial port.  When > I run the experiment with a serial device added, I get an "unable to > open port" error, even when I go through and try every com port.  Is > there a way to send this signal through a traditional USB connection? > thanks! > > Erin > > > > > On Feb 20, 3:47 pm, Paul Groot wrote: >> Hi Erin, >> >> Although, in theory, it would be possible to use the WritePort command >> to send bytes to a classicalserial(non-USB) RS232 port, it is >> definitely not the way to go. Instead you should use a SerialDevice >> object to communicate with a COM port. The easiest way is to add such >> aSerialdevice in the following dialog: >> E-Studio>Menu>Edit>Experiment>Devices>AddSerial. The default setting >> should be OK (9600bps, 8bit, no parity, 1 stopbit). When you add this >> device, EPrime will add a global SerialDevice object variable to your >> script. The name of this variable will be 'Serial' if there is only >> oneserialdevice. >> >> The next thing you should do is to add a single line of inline script >> to send the command: >> >> SerialDevice.WriteString "sk0" & ebCr >> >> The ebCr constant is a cariage return that is probably required by the device. >> >> I'm not sure if the external device also needs to be initialised first >> (by sending "CPA00000000" for example), but that's up to you to find >> out ;-) >> >> Hope this helps, >> Paul >> >> 2012/2/18 Erin : >> >> > I am trying to send a command to an external device via ausb >> > connection.  The external device is an ADU200USBRelay I/O Interface >> > (http://www.ontrak.net/ADUcommands.htm).  This is a control box which >> > triggers an automatic feeder for our monkeys.  Using the control box's >> > test software, I can trigger the auto feeder by sending the control >> > box the command "sk0."  So, I know I need E-Prime to send the command >> > "sk0" to the ADU200 control box via ausbCOM port. >> >> > I have read the E-Prime help, and it appears it is difficult to send a >> > non binary message via a com port (the WritePort command).  It is >> > possible I may need to use something called a Declare Statement, which >> > is done outside of E-Prime.  However, I am hoping this is not >> > necessary. >> >> > Reading the OnTrak help, it appear a Visual Basic code similar to >> > MSComm1.Output = "sk0" would work (http://www.ontrak.net/visual.htm), >> > however this does not appear to be an option in E-Prime. >> >> > Any pointers would be very appreciated.  Thank you! >> >> > Erin >> >> > -- >> > You received this message because you are subscribed to the Google Groups "E-Prime" group. >> > To post to this group, send email to e-prime at googlegroups.com. >> > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. >> > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From krupa.d.sheth at gmail.com Wed Feb 22 11:17:07 2012 From: krupa.d.sheth at gmail.com (Krupa Sheth) Date: Wed, 22 Feb 2012 03:17:07 -0800 Subject: E Prime Technical Difficulties Message-ID: I am running an experiment which consists of 5 different loads (A-C) and requires a voice-responses data to be recorded. The problem I am encountering is when I run the experimental load, E-Prime runs loads 1-4 perfectly. It is only when it gets to Load 5 running it conitously does E-Prime terminate by itself resulting in none of the previous data from loads 1-4 being recorded despite those loads running perfectly. The strange thing is when running the experimental block in two halves i.e. loads 1-3 and then followed by load 4 & 5, does it run smoothly. Is there a problem with my computer I am using or is it an E- Prime problem. Many 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 lilica_rig at yahoo.com.br Wed Feb 22 12:50:45 2012 From: lilica_rig at yahoo.com.br (Lis) Date: Wed, 22 Feb 2012 04:50:45 -0800 Subject: e-prime licenses Message-ID: Hello! I've just joined this group and my first question is about the license expiration. Having realized I need Windows XP to run certain tasks I need to reinstall the e-prime software in my laptop computer once more. I wonder if reinstalling that in the same computer (same ID) means that I won't be using another license. I need to be sure that I can do that. A second question refers to the possibility of having two versions of e-prime (1.2 and 2.0) in the same computer, considering that certain tasks can only run on one of the two versions. Thanks a lot. Lis -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From d.vinson at ucl.ac.uk Wed Feb 22 12:53:50 2012 From: d.vinson at ucl.ac.uk (David Vinson) Date: Wed, 22 Feb 2012 12:53:50 +0000 Subject: e-prime licenses In-Reply-To: <8471e5e7-b671-4e2e-bb39-fdb1c731c1a1@n12g2000yqb.googlegroups.com> Message-ID: Hi Lis, Reinstalling on the same machine should not be a problem under terms of the license unless you have some unusual arrangements. Regarding your question about versions - 1.2 and 2.0 can live side by side on the same computer, no problem. cheers, dv On 22/02/2012 12:50, Lis wrote: > Hello! > I've just joined this group and my first question is about the license > expiration. Having realized I need Windows XP to run certain tasks I > need to reinstall the e-prime software in my laptop computer once > more. I wonder if reinstalling that in the same computer (same ID) > means that I won't be using another license. I need to be sure that I > can do that. A second question refers to the possibility of having two > versions of e-prime (1.2 and 2.0) in the same computer, considering > that certain tasks can only run on one of the two versions. > Thanks a lot. > Lis > -- David Vinson, Ph.D. Senior Postdoctoral Researcher Cognitive, Perceptual and Brain Sciences Research Department University College London 26 Bedford Way, London WC1H 0AP Tel +44 (0)20 7679 5311 (UCL internal ext. 25311) -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From ahafri at gmail.com Wed Feb 22 17:09:26 2012 From: ahafri at gmail.com (Alon Hafri) Date: Wed, 22 Feb 2012 09:09:26 -0800 Subject: Looping movie / video In-Reply-To: <922af751-aaf1-48ee-975a-65a3f435d737@ge5g2000vbb.googlegroups.com> Message-ID: Update again. I got a response from PST! Apparently in the newer versions of E-Prime 2.0 (2.0.10.174 or later), SlideMovie and MovieDisplay objects have the same "Status" property that SoundBuffer objects do: http://www.pstnet.com/support/kb.asp?TopicID=4373 Or alternatively, you can also wait until the last frame was displayed and then replay the video: http://www.pstnet.com/support/kb.asp?TopicID=3158 Alon On Feb 17, 11:31 am, Alon Hafri wrote: > Well an update on my own post in case anyone's interested -- got it to > work by running a While loop and starting the clip over if it reached > the duration threshold for the video. First, set the Slide or > MovieDisplay object duration to 0, with the video setting StopAfter > set to "No" and EndMovieAction set to "none". Also make sure the > slide's setting for "ClearAfter" is set to "No". Then put the > following InLine after the Slide or MovieDisplay object, substituting > the relevant names: > > Dim Vid1 As SlideMovie 'or as MovieDisplay object, as the case may be > Set Vid1 = CSlideMovie(yourSlide.States("Default").Objects("Movie")) > 'instead of "yourSlide" put in your slide's name, or if it's a > moviedisplay object named "MovieObject", just do "Set Vid1 = > MovieObject" > Dim lngVideoOnsetTime As Long > > lngVideoOnsetTime = Clock.Read > Do While... 'set the condition for the loop to end here >    If Clock.Read > lngVideoOnsetTime + [insert video duration here in > msec] Then >       Vid1.Load >       Vid1.Play >       lngVideoOnsetTime = Clock.Read >   End If >   [insert other relevant loop code here] > Loop > > Vid1.Stop > Set Vid1 = Nothing > > You'll need to know your video's duration. If it's a variable duration > depending on the trial, then you can add an attribute to the list > called "VideoDuration", and then replace the part in brackets above > about duration with CLng(c.GetAttrib("VideoDuration")). > > Hope that helps -- if anyone knows how to loop a video in an easier > way, please post. Or if you know how to automatically read in the > video's duration so having a manually specified attribute > "VideoDuration" is not needed. > > Alon > > On Feb 16, 10:38 am, Alon Hafri wrote: > > > > > > > > > Hi everyone, > > > I'd love to get your help with this! We are looking to loop a > > SlideMovie object until the Enter key is pressed. Meanwhile, the user > > may type what they see in the video (using the echo response feature > > of Input Masks). > > > Unlike the SoundOut objects, there is no documentation on MovieDisplay > > or SlideMovie objects, and so we can't figure out if there are > > properties that allow this. David McFarlane put in a feature request > > for this herehttp://support.pstnet.com/forum/Topic2772-12-1.aspxbut > > until then, I'm wondering if someone could help me figure this out > > with InLine. > > > With sound objects, you can do it with InLine by playing the soundout > > object, and then testing for the buffer status (e.g. the following): > > Do While ... > >    If SoundBuffer.Status = ebBufferStatusStopped Then SoundBuffer.Play > > Loop > > > Is there an equivalent property for MovieDisplay? Or alternatively, is > > there a way to test at runtime the length/duration of a movie, so that > > we can have the program wait that long and then play the movie again? > > I guess the only other option is to manually code the duration of each > > video, and then use the InLine to wait that long before replaying the > > movie. > > > Thanks so much for all your help! > > Alon > > > keywords: video movie loop slidemovie moviedisplay moviebuffer status -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu Feb 23 03:51:06 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 22 Feb 2012 22:51:06 -0500 Subject: Looping Slide States In-Reply-To: <918b209e-847b-45ba-b1a5-349a44baac48@h6g2000yqk.googlegroups.com> Message-ID: Raghav, Using a Goto (probably with an If-Then) seems like a perfectly good way to do this in E-Prime. If you felt better using a more standard "Do... Loop Until" loop or the like, then you could put the "Do..." in an inline at the start of the loop, and the "Loop Until..." in another inline at the end of the loop, but that might look a little weird to other EP programmers. Alternatively, sometimes when I want to do a repeating loop in E-Prime I just do it with another List. I put the objects that I want to loop into a Procedure, and put that Procedure in a List with one row. I can use the Weight to run the loop a specific number of times, or run the List with an arbitrarily high Weight or Terminate condition and use inline code (List.Terminate) to programmatically end the loop. Just weighing in with more ideas for the E-Prime toolbox. -- David McFarlane On 15 Feb 2012 Raghav wrote: > I am trying to create a flicker task (image, blank, changed image, > blank..looping continuously) experiment with Eprime and as of now I > have a sequence of imagedisplay objects with a Goto statement at the > end that goes to a label before the first image. this works perfectly > but this Goto statement is interfering with another script that I am > trying to run. Is there a better way to loop images? I am using Eprime > 2 > > Is there a way to create a loop of slide states? i.e. Use a sequence > of slide states and make the slide go back to the first state when the > last state is reached? > > Any help regarding this would be most appreciated > > Raghav Sundar -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu Feb 23 04:10:46 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 22 Feb 2012 23:10:46 -0500 Subject: e-prime licenses In-Reply-To: <4F44E55E.9080801@ucl.ac.uk> Message-ID: Lis, As I understand the license terms, you may use a single license to install E-Prime on some large number of computers (25?) within one lab (but of course, only the one machine with the hardware key at the moment will run E-Studio). At least, I have never worried about using a lab's license to liberally install E-Prime throughout that lab, and so far PST has not complained. -- David McFarlane David Vinson wrote: > Hi Lis, > Reinstalling on the same machine should not be a problem under terms of > the license unless you have some unusual arrangements. > Regarding your question about versions - 1.2 and 2.0 can live side by > side on the same computer, no problem. > > cheers, > dv > > On 22/02/2012 12:50, Lis wrote: >> Hello! >> I've just joined this group and my first question is about the license >> expiration. Having realized I need Windows XP to run certain tasks I >> need to reinstall the e-prime software in my laptop computer once >> more. I wonder if reinstalling that in the same computer (same ID) >> means that I won't be using another license. I need to be sure that I >> can do that. A second question refers to the possibility of having two >> versions of e-prime (1.2 and 2.0) in the same computer, considering >> that certain tasks can only run on one of the two versions. >> Thanks a lot. >> Lis -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu Feb 23 04:23:24 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 22 Feb 2012 23:23:24 -0500 Subject: sending com port command In-Reply-To: Message-ID: Erin, I second Paul's suggestion that if possible you use a legacy RS232 connection because, put simply, E-Prime has absolutely no facility for communicating through USB. Now in principle, such a facility can be added -- in fact, I have used a USB device with E-Prime, but only because that device came with a dll file of external routines which could be accessed by using Declare statements in E-Prime. But short of that, you are out of luck. But please do not take my word for any of this. Please contact PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp , and then write back here with their response. -- David McFarlane On 21 Feb 2012 Paul Groot wrote: > Hi Erin, > > Ah, I described a solution for a 'legacy' ADR device because you > linked to the RS232 example. But if I understand this correctly, you > are using an ADU (USB only) device... > > However, if the device you have supports legacy RS232 connections, you > should try the following first because RS232 it is a bit easier to use > than the USB interface DLL: First check which (virtual) COM port is > being assigned by windows after installing the driver. If the USB > device connects as virtual RS232, you should be able to find it under > control panel>device manager->COM and LPT ports. Windows often assigns > a port number >4, which might be problemematic with EPrime (not sure > if this is less critical in EPrime 2.) Just try to change the port > number to the first available value below 4. If the PC has 1 or 2 > physical COM ports, you should skip those numbers. Also note that the > port number often changes when a different USB port is used. > > If RS232 is *not* an option (i.e. no new COM port is added when you > plugin the USB cable), you should use the DLL interface to connect to > the USB channels. EBasic supports calling functions in external DLL's, > so that should be no problem. To do this, you should declare all DLL > functions first. For example, you can put the following declarations > in the global user script section: > > Declare Function OpenAduDevice Lib "AduHid.DLL" (ByVal iTimeout As > Long) As Long > > Declare Function WriteAduDevice Lib "AduHid.DLL" (ByVal aduHandle As > Long, ByVal lpBuffer As String, ByVal lNumberOfBytesToWrite As Long, > ByRef lBytesWritten As Long, ByVal iTimeout As Long) As Long > > Declare Function ReadAduDevice Lib "AduHid.DLL" (ByVal aduHandle As > Long, ByVal lpBuffer As String, ByVal lNumberOfBytesToRead As Long, > ByRef lBytesRead As Long, ByVal iTimeout As Long) As Long > > Declare Function CloseAduDevice Lib "AduHid.DLL" (ByVal iHandle As Long) As Long > > (more info here http://www.ontrak.net/ADUSDK/MinimalCompile-VB.html) > > When the declarations are defined, you should be able to call the > functions in inline script just as if the functions are part of > EBasic: > > ' you would probably put this declaration also in the global section > Dim aduHandle As Long > > 'then in some inline script: > aduHandle = OpenAduDevice(0) > > The VisualBasic example contains further details on the WriteAduDevice > function. Also don't forget to close the channel properly by calling > CloseAduDevice(aduHandle) before the end of the experiment. > > best, > paul > > 2012/2/21 Erin : >> Thanks for the info Paul. I was thinking something like that may >> work. In the past, I have successfully triggered a serial port pump >> (via a usb to 9-pin serial port converter) in E-Prime sending text >> commands using a serial.writestring inline. (I installed a driver for >> the computer to recognize the serial-usb converter as a serial com >> port.) >> >> However, the equipment I am currently working with is a usb to usb >> connection, and E-Prime does not recognize it as a serial port. When >> I run the experiment with a serial device added, I get an "unable to >> open port" error, even when I go through and try every com port. Is >> there a way to send this signal through a traditional USB connection? >> thanks! >> >> Erin >> >> >> >> >> On Feb 20, 3:47 pm, Paul Groot wrote: >>> Hi Erin, >>> >>> Although, in theory, it would be possible to use the WritePort command >>> to send bytes to a classicalserial(non-USB) RS232 port, it is >>> definitely not the way to go. Instead you should use a SerialDevice >>> object to communicate with a COM port. The easiest way is to add such >>> aSerialdevice in the following dialog: >>> E-Studio>Menu>Edit>Experiment>Devices>AddSerial. The default setting >>> should be OK (9600bps, 8bit, no parity, 1 stopbit). When you add this >>> device, EPrime will add a global SerialDevice object variable to your >>> script. The name of this variable will be 'Serial' if there is only >>> oneserialdevice. >>> >>> The next thing you should do is to add a single line of inline script >>> to send the command: >>> >>> SerialDevice.WriteString "sk0" & ebCr >>> >>> The ebCr constant is a cariage return that is probably required by the device. >>> >>> I'm not sure if the external device also needs to be initialised first >>> (by sending "CPA00000000" for example), but that's up to you to find >>> out ;-) >>> >>> Hope this helps, >>> Paul >>> >>> 2012/2/18 Erin : >>> >>>> I am trying to send a command to an external device via ausb >>>> connection. The external device is an ADU200USBRelay I/O Interface >>>> (http://www.ontrak.net/ADUcommands.htm). This is a control box which >>>> triggers an automatic feeder for our monkeys. Using the control box's >>>> test software, I can trigger the auto feeder by sending the control >>>> box the command "sk0." So, I know I need E-Prime to send the command >>>> "sk0" to the ADU200 control box via ausbCOM port. >>>> I have read the E-Prime help, and it appears it is difficult to send a >>>> non binary message via a com port (the WritePort command). It is >>>> possible I may need to use something called a Declare Statement, which >>>> is done outside of E-Prime. However, I am hoping this is not >>>> necessary. >>>> Reading the OnTrak help, it appear a Visual Basic code similar to >>>> MSComm1.Output = "sk0" would work (http://www.ontrak.net/visual.htm), >>>> however this does not appear to be an option in E-Prime. >>>> Any pointers would be very appreciated. Thank you! >>>> Erin -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From glomata at gmail.com Thu Feb 23 04:36:21 2012 From: glomata at gmail.com (Gomata Varanasi Dharmapuri) Date: Thu, 23 Feb 2012 10:06:21 +0530 Subject: Simulating the ambience Message-ID: Hi , Greetings. I am learning E-Prime, designing the fMRI paradigm and about do pilot experiments. Is it possible to simulate exactly what the participant hears , "along with the approximate machine noise" ... ( gives a clue of what happens during silence much better ) This will help me set my input stimuli as best as possible even before I get to the IFIS console to actually run my experiment on a subject. We have limited slot timings to conduct the experiments. If this feature is there within E-Prime , please suggest ( Just doing "run" the feel is not there ) Thanks and Regards, -Gomata -- Mobiles : 9482577932 ( South) 9717967308 ( North) Web Page : http://www.samskruti.org/people/gomata/gomata_index.html -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send 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 mspape at cognitology.eu Thu Feb 23 08:49:07 2012 From: mspape at cognitology.eu (Michiel Sovijarvi-Spape) Date: Thu, 23 Feb 2012 10:49:07 +0200 Subject: Simulating the ambience In-Reply-To: Message-ID: Hi, What you're looking for seems to be MRI noise, rather than any feature you'd expect from E-Prime (I mean, I'd also like it if E-Prime would serve me coffee every now and then, would even help my coding, but sadly, it's not implemented "yet"). So, have a look here: http://www.goingfora.com/text/radiology/mri_equipment.asp there's a listen to MRI noise at the bottom there. It's actually pretty good, if you happen to like experimental/noise music. Also, you can go to your local mri during a recording, bring an mp3 player, record the sound, and party all night! Best, Mich ( Just doing "run" the feel is not there ) ... Ermmmm? From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Gomata Varanasi Dharmapuri Sent: 23 February 2012 06:36 To: e-prime at googlegroups.com Subject: Simulating the ambience Hi , Greetings. I am learning E-Prime, designing the fMRI paradigm and about do pilot experiments. Is it possible to simulate exactly what the participant hears , "along with the approximate machine noise" ... ( gives a clue of what happens during silence much better ) This will help me set my input stimuli as best as possible even before I get to the IFIS console to actually run my experiment on a subject. We have limited slot timings to conduct the experiments. If this feature is there within E-Prime , please suggest ( Just doing "run" the feel is not there ) Thanks and Regards, -Gomata -- Mobiles : 9482577932 ( South) 9717967308 ( North) Web Page : http://www.samskruti.org/people/gomata/gomata_index.html -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: From pdweller22 at googlemail.com Thu Feb 23 15:14:09 2012 From: pdweller22 at googlemail.com (PetCPR) Date: Thu, 23 Feb 2012 07:14:09 -0800 Subject: Recording multiple presses and releases before the stimulus offset Message-ID: Hi, I have been trying to program a binocular rivalry paradigm. Here I want to present two images to the participant, one in red, and one in cyan for 15 seconds, and the participant must indicate by sequentially pressing one of three keys, which image is the most dominant. For example, if the participant is seeing mostly the left image, they would hold down one key e.g. "D" if they are seeing mostly the right the "J" key, and if they see an equal mixture of both, they would press down the "G" Key. In reality these images would be competing quite quickly, so the subject would be switching between the 3 different keys multiple times during the experiment. I've enabled the collection of presses and releases in the experimental object, and I've also used script to collect multiple responses, and these both work fine. However the data for each of the presses and releases in the output file comes out as: KeyPress1RT KeyPress2RT KeyPress3RT etc in this way, the output doesn't code for presses and releases, the only way to know if it is a release is to at whether of not the response given is in parenthesis. Does anyone know how to program eprime to recognize presses and releases separately? In addition I would ideally like eprime to calculate the difference between each press and release and output this in a separate column in edataid, could anyone tell me the code needed for that? finally, I would like the specific key pressed and released, and the RT difference to be assigned to specific columns in the output, for example: Dpress1RT Drelease1RT Ddifference1 Jpress1RT Jrelease1RT Jdifference1 Gpress1RT Grelease1RT Gdifference1 Dpress2RT Drelease2RT Ddifference2 ... Here's a copy of my script so far: 'Counter variable for the number of responses made Dim nPressCount As Long 'Counter variable Dim nIndex as Integer For nIndex = 1 To stimulus.InputMasks.Responses.Count 'Set theKeyboardResponseData equal to the current keyboard response Dim theKeyboardResponseData As KeyboardResponseData Set theKeyboardResponseData = CKeyboardResponseData(stimulus.InputMasks.Responses(nIndex)) If Not theKeyboardResponseData Is Nothing Then 'Increment the press count nPressCount = nPressCount + 1 'Log reaction time and response for each key press. c.SetAttrib "KeyPress" & nIndex & "RT", theKeyboardResponseData.RT c.SetAttrib "KeyPress" & nIndex & "RESP", theKeyboardResponseData.RESP End If Next 'nIndex Any help anyone could give would be great, I'm kind of new to programming so I'm a little lost! Cheers! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From pdweller22 at googlemail.com Thu Feb 23 15:52:06 2012 From: pdweller22 at googlemail.com (PetCPR) Date: Thu, 23 Feb 2012 07:52:06 -0800 Subject: response window Message-ID: Hi, I have an experiment where I present a participant with 3 rapid serial visual presentation streams of words. The task is to make an animacy judgement on a target word in red in the central stream. The central stream is flanked by 2 other streams where congruent/ incongruent words may appear at the same time, thus it takes the participant about 1000 to 3000ms to execute the response. each stream changes every 600ms, and so by the time the subject has made the response, about 3/6 trials have already passed and the response made is logged with one of the subsequent trials and not with target trial where the target word appeared, likewise, the RT corresponds to the time from the subsequent 3rd/6th trial to the time the response was made, and not from the onset of the target word. Is there anyway to program eprime to open up a response window on a target trial of around 6000ms so that any response made during that window will correspond to the target trial. (I've overcome this problem in a way by changing the definition of trial, so that it contains 6 slides instead of one, which does work, but it makes programming very arduous, so if anyone knows a better way that would be great!) 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 Thu Feb 23 16:46:38 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 23 Feb 2012 11:46:38 -0500 Subject: Simulating the ambience In-Reply-To: <000301ccf208$0138c6a0$03aa53e0$@eu> Message-ID: Gomata, Of course, ultimately you want a full-blown mock MRI setup (do a web search on "mock mri"), that's what we do. We had ours custom built by a hired craftsman. But I assume you are doing this on a low budget, in which case Michiel gave the best advice. -- David McFarlane At 2/23/2012 03:49 AM Thursday, Michiel Sovijarvi-Spape wrote: >Hi, >What you're looking for seems to be MRI noise, rather than any >feature you'd expect from E-Prime (I mean, I'd also like it if >E-Prime would serve me coffee every now and then, would even help my >coding, but sadly, it's not implemented "yet"). So, have a look here: >http://www.goingfora.com/text/radiology/mri_equipment.asp >there's a listen to MRI noise at the bottom there. It's actually >pretty good, if you happen to like experimental/noise music. Also, >you can go to your local mri during a recording, bring an mp3 >player, record the sound, and party all night! >Best, >Mich > >( Just doing "run" the feel is not there ) ... Ermmmm? > > >From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On >Behalf Of Gomata Varanasi Dharmapuri >Sent: 23 February 2012 06:36 >To: e-prime at googlegroups.com >Subject: Simulating the ambience > > >Hi , > >Greetings. I am learning E-Prime, designing the fMRI paradigm and >about do pilot experiments. > >Is it possible to simulate exactly what the participant hears , >"along with the approximate machine noise" ... ( gives a clue of >what happens during silence much better ) > >This will help me set my input stimuli as best as possible even >before I get to the IFIS console to actually run my experiment on a subject. >We have limited slot timings to conduct the experiments. > >If this feature is there within E-Prime , please suggest ( Just >doing "run" the feel is not there ) > >Thanks and Regards, >-Gomata >-- >Mobiles : 9482577932 ( South) 9717967308 ( North) >Web Page : >http://www.samskruti.org/people/gomata/gomata_index.html > >-- >You received this message because you are subscribed to the Google >Groups "E-Prime" group. >To post to this group, send email to e-prime at googlegroups.com. >To unsubscribe from this group, send email to >e-prime+unsubscribe at googlegroups.com. >For more options, visit this group at >http://groups.google.com/group/e-prime?hl=en. > >-- >You received this message because you are subscribed to the Google >Groups "E-Prime" group. >To post to this group, send email to e-prime at googlegroups.com. >To unsubscribe from this group, send email to >e-prime+unsubscribe at googlegroups.com. >For more options, visit this group at >http://groups.google.com/group/e-prime?hl=en. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu Feb 23 16:58:14 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 23 Feb 2012 11:58:14 -0500 Subject: code msgbox In-Reply-To: Message-ID: [Sorry to be replying to such an old thread, I am just catching up after being out awhile.] Stock reminder: 1) I do not work for PST. 2) PST's trained staff take any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) In addition, PST takes questions at their Facebook page (http://www.facebook.com/pages/Psychology-Software-Tools-Inc/241802160683 ), and offers several instructional videos there and on their YouTube channel (http://www.youtube.com/user/PSTNET ) (no Twitter feed yet, though). 4) If you do get an answer from PST staff, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... MsgBox has no way to control its position on the screen. Instead, try InputBox, which does include arguments for specifying screen position. See that topic in the E-Basic Help. -- David McFarlane At 1/25/2012 01:19 PM Wednesday, Jose Alejandro Aristizabal C wrote: >Hi people > > >I have a msgbox,  what appears in the centre of >the screen. Can I switch msgbox, what not appear >in the centre.?  What code in basic,  I must to use ? > >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 Thu Feb 23 17:18:26 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 23 Feb 2012 12:18:26 -0500 Subject: Difficulties running ANT (Attentional Network Test) and Task Switching Paradigm In-Reply-To: <120e067f-41eb-45d5-855f-c3bb3c7ab6e5@l1g2000vbc.googlegrou ps.com> Message-ID: Cíntia, Do take this up with PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp . The SRBox and PortDevice drivers with EP1.x do not work under Vista or Win7, but you can download updated drivers that do work, see Knowledge Base #3108. That might help with your SRBox issue. As for the Display error, as Mich already said, I think you get that error when you try to use a display resolution that your monitor or display adapter does not support, so you might have to fuss with the display resolution in your program. -- David McFarlane At 1/25/2012 03:33 PM Wednesday, MSpape wrote: >Hi, >1) Is your SRBox working with /other/ experiments? Is the COM port >correctly set in the experiment? Have a look to see if you can make a >simple infinite duration screen in a blank experiment run, with the >SRBox set as response box and see whether that works. If that works, >see what the difference is with the script for your TS paradigm. >2) Does your monitor support 640x480 resolution? They do not >necessarily any more... Your ANT test presumably requires this and >this resolution at this and this refreshrate, or your timing will not >be as you report it. Many older scripts were set up to work for CRT >screens, they do not necessarily work for TFT ones. > >In any case, I'd suggest diving a bit deeper into the script. Somebody >over there, be it a technician or PhD student or whatever, who knows >both E-Prime AND the equipment, needs to have a look. Somebody here >can make it run as well, I'm sure, but you run a heavy risk of not >knowing exactly what is happening. >Best, >Mich > > >On Jan 25, 9:43 pm, Cintia Blank wrote: > > Hello! > > I am writing to report the difficulties I am having to run both the > > ANT (Attentional Network Test) and Task Switching Paradigm. I have the > > scripts of both tests, and they seem to be complete. Anyway, when I > > try to run them, I receive the following messages: > > > > TASK SWITCHING PARADIGM: (Both versions) > > > > Device name: SRBOX > > Error: 0x00004a46 > > Message: unable to open this SRBOX: 0x00000103 > > > > Obs.: however, the device looks properly installed and working. > > > > ATTENTIONAL NETWORK TEST: > > > > Device Name: Display > > Error: 0x000003ec > > Message: unable to set display mode: 0x80004001 > > > > The e-prime version I have is 1.2 and I am using Windows 7. > > If there is someone who can help me with that, please send me an e- > > mail address so that I can send you the scripts. > > > > Thanks a lot. > > Cíntia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From maria.richter.mail at googlemail.com Fri Feb 24 17:12:59 2012 From: maria.richter.mail at googlemail.com (Maria) Date: Fri, 24 Feb 2012 09:12:59 -0800 Subject: Parallel Port Problems Message-ID: Dear all, next problem: I tried to use two parallel ports, one for sending a trigger for EEG, one for input from a self-made device (like a keyboard). Sending triggers work until I add a second parallel port ("port mode" = Input) to the devices (with second "port mode" = output it works, but I need it for input). Any suggestions? Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 24 17:30:40 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 24 Feb 2012 12:30:40 -0500 Subject: Presenting 2 stimuli simultaneously (with different durations) In-Reply-To: <764d30fb-2cfc-48c9-aa70-0b1aa31f255b@w4g2000vbc.googlegrou ps.com> Message-ID: Still catching up from a hiatus, sorry to revive an old thread but wanted to adress this for the record. Yes, you could do this with only two "events" (i.e., stimulus objects), simply by judicious use of width & position items on the Frame tab of the Property Pages for the objects. I have done this myself. You might have to also use a transparent backround on your two hemifield items so that they do not occlude the fixation when they appear. Um, come to think of it, transparent background alone might do the trick in this case. -- David McFarlane At 1/30/2012 07:42 AM Monday, you wrote: >Hi Robert, > > >The latter solution is what I always use, three slides: fixation, >stimuli and intertrialinterval. I'd say that according to e-prime >logic this is a more sensible setup than trying to have items from one >slide (event) remain while a next slide starts. > >Also: you might find that 'an e-primer' by Spapé en Verdonschot is an >useful starting point for getting a grip on e-prime's machinations ;) >You can download it here: step.psy.cmu.edu/materials/EPrimer.pdf . > >Best, > >AW > >On Jan 29, 11:24 pm, Robert Zimmerman wrote: > > I am new to using E-Prime, and in charge of programming studies for a > > small lab that does not have much knowledge of the program in general. > > We are trying to program a visual hemifield experiment in which an > > item will be presented either to the left or the right of a fixation > > point. We want the fixation point ("+") to come on-screen 500ms BEFORE > > the item, remain on screen while the item is presented, and remain on > > screen after the item clears for another 2000ms. Does anybody know if > > it is possible to do this with 2 events, a fixation event and a target > > item event, which overlap? Or will I need to set up 3 events, fixation > > for 500ms, followed by item with fixation for 175ms, followed by > > fixation for 2000ms, presented serially? Any help is much appreciated! > > Thank you. > >-- >You received this message because you are >subscribed to the Google Groups "E-Prime" group. >To post to this group, send email to e-prime at googlegroups.com. >To unsubscribe from this group, send email to >e-prime+unsubscribe at googlegroups.com. >For more options, visit this group at >http://groups.google.com/group/e-prime?hl=en. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 24 17:49:50 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 24 Feb 2012 12:49:50 -0500 Subject: re-generate the ".es2" file with new parameters In-Reply-To: <25220fb8-3163-497b-8ede-af656bfb5b82@n6g2000vbz.googlegrou ps.com> Message-ID: Thanks, liw. For the record, PST documents "Loading a Stimuli Text File Into a List Object" in their Knowledge Base at http://www.pstnet.com/support/kb.asp?TopicID=2707 . That article goes back to 2006, and back then you could only load a List from a plain text file. With 2.0.1.53 or later you can now also load Lists from Excel XML files, see http://www.pstnet.com/support/kb.asp?TopicID=1220 . -- David McFarlane At 1/30/2012 08:12 AM Monday, liwenna wrote: >Hi Abbas, > >Nope, as far as I am aware that is not possible. What you can do >however, is build an .es2 file that doesn't yet contain the imagenames >and that will 'load in' images from .txt files (and different .txt >files could be used based on settings like 'group' or 'subjectnumber'. >Have a look in this thread (http://groups.google.com/group/e-prime/ >browse_thread/thread/796a659358219e31/ca5a6ac346ccc3d8? >#ca5a6ac346ccc3d8) for some pointers on how to start doing that. > >Best, > >liw > >On Jan 24, 1:22 am, abbas wrote: > > Hi, > > > > I am trying to use E-Prime 2.0 for a Working Memory (WM) task to be > > used in fMRI with multiple runs. Each run of the WM task contains > > about 80 different images. There will be 10 runs and images used in > > runs are different. I have written the E-Prime script (.es2) for the > > first run and would like to find an automatic method to re-generate > > the ".es2" files for other runs based on the ".es2" of the first run > > (without openning and editing ".es2" in E-Studio). I was thinking to > > read the ".es2" file of the first run as a text in, for example, > > MATLAB and rename all "*.jpg" images on it to new names and then save > > it as a new file. But as the ".es2" is not formatted as text, I cannot > > do that. > > > > I appreciate it if anyone let me know a solution to automatically re- > > generate the ".es2" file with new parameters, e.g., name of images, > > without opening it in E-Studio. > > > > Thank you, > > Abbas -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From reiss_jason%wheatoncollege.edu at gtempaccount.com Fri Feb 24 17:47:10 2012 From: reiss_jason%wheatoncollege.edu at gtempaccount.com (Jason E. Reiss) Date: Fri, 24 Feb 2012 09:47:10 -0800 Subject: Using a epk file in E-prime 2 In-Reply-To: <4f43f317.a139320a.20c7.ffffdc3aSMTPIN_ADDED@gmr-mx.google.com> Message-ID: FYI: I just received the following reply from PST Support: Dear Jason, I apologize for the delay in my response. There is no way to automatically convert E-Prime 1.x EPK files to the E-Prime 2.0 EPK2 format. EPK is just a text file with a different extension, while EPK2 is our special proprietary format created using the Package File Editor. Because EPK is a text file, you can open it in Notepad or another text editor, then copy and paste most of the package directly into the PackageFile Editor to create your own EPK2. You can open the PackageFile Editor through the Windows Start Menu or through the Tools menu in E-Studio. Please see section 1.5 in the New Features Guide for more information. Note that it is not necessary to use the Declare section of the EPK in this version, since the original purpose was to declare routines that are now created through the interface. For example, instead of writing Declare Public Sub IscanEyeTracker_EtCalibrate(pNcal As Integer), you should create a new routine, name it EtCalibrate (the IscanEyeTracker will be automatically added to the beginning), and create a parameter named pNcal of type Integer. The script between Public Sub IscanEyeTracker_EtCalibrate(pNcal As Integer) and End Sub should be pasted into the Script tab of the new routine. I have attached a partially created EPK2 version of the package file. Please take a look at this version, try converting the remainder using the Package File Editor, and let me know if you have any questions. Sincerely, Alison Lauer Senior Technical Consultant -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 24 18:13:53 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 24 Feb 2012 13:13:53 -0500 Subject: Assigning Hex number In-Reply-To: Message-ID: Just a bit of clarification for those who don't go back to the days of BASIC on Apple II and Commodore 64: The "%" in Const MYPORT% = &H4000 is a type-declaration character that declares the constant MYPORT as type Integer. In newer dialects you can achieve the same effect with Const MYPORT as Integer = &H4000 depending on your own programming style. -- David McFarlane At 2/11/2012 07:44 PM Saturday, Paul Groot wrote: >Hi S, > >If the address is static throughout the experiment, you could simply >declare a constant in the global user section: > >Const MYPORT% = &H4000 > >You can then use MYPORT anywhere in your inline scripts. > > >xyz.OnsetSignalEnabled= True >xyz.OnsetSignalPort= MYPORT >xyz.OnsetSignalData= 25 > >The conversion to CInt is never required since the hex-value is >already interpreted as integer value. > >cheers >Paul -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 24 18:27:12 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 24 Feb 2012 13:27:12 -0500 Subject: recording two sets of reaction times simultaneously In-Reply-To: <441c289c-14a7-42ba-9a3c-cce0dfcb7f47@dq9g2000vbb.googlegro ups.com> Message-ID: Rika, In short, yes, E-Prime can do this, and quite elegantly too if you have enough understanding of E-Prime. You will need to use what EP calls "extended response" -- see that tutorial in Appendix C of the User's Guide that came with E-Prime (really, everyone should do *all* the tutorials in *all* the manuals before starting their first EP program; it also would not hurt for folks to take my online course, see http://psychology.msu.edu/Workshops_Courses/eprime.aspx ). I might start by using a Wait object with Duration 0 and Time Limit (infinite) to collect the push-button responses, then follow that with the speaking task. If you want to log more than one push-button response during the speaking task, then you will have to adjust Max Count on the push-button object, and then add some inline code to log the collected train of responses -- see the "Multiple Response Collection" example downloadable from PST (registration & login required). BTW, PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp is also a good place to ask this sort of thing, and they strive to respond to all requests in 24-48 hours. -- David McFarlane At 2/13/2012 10:34 AM Monday, you wrote: >Hi all, >I would like to run a language experiment using e-prime where I want >to record reaction times to spoken responses (so far, so good). I >would however also like to have my participant perform a simple task >requiring them to push a button at the same time. The instances when >they are required to push a button will not be exactly the same as >when they are required to give a spoken response. Does anyone know if >it is possible to combine these two things (spoken responses and >button press responses) in the same experiment and then also record >two sets of reaction times? >Thanks in advance for any responses! >Rika -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 24 18:48:16 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 24 Feb 2012 13:48:16 -0500 Subject: Recording multiple responses before stimulus terminates In-Reply-To: Message-ID: Leslie, I can't quite follow all the detail below, but here is a thought. In short, as I understand it your movie completes its Duration even after a given pair of button presses should terminate it. First question, are you sure that you have the inline code running during the movie? I.e., do you have the movie Duration set to 0 (with StopAfter of No), or PreRelease = Duration? Second, when your inline code detects the required pair of responses, does it issue the appropriate command to terminate the movie (Movie.Stop, or Movie.Terminate, you will have to look that up)? Note that terminating the MovieDisplay object that plays the movie is *not* the same as terminating the playback of the movie, so you might have to look into that. Finally, of course, you can always ask PST's trained staff at http://support.pstnet.com/e%2Dprime/support/login.asp , they strive to respond to all requests in 24-48 hours. And if you do get an answer from PST staff, please extend the courtesy of posting their reply back here for the sake of others. -- David McFarlane At 2/20/2012 07:01 PM Monday, you wrote: >Hi all, > >I am attempting to make a habituation paradigm with E-Prime. In order >to do so, I need to log multiple responses. Using the samples from E- >Primes website I have my program recording multiple responses and >recording button presses and releases. What I need E-Prime to do is >calculate the difference between a button press "N" and release "{- >N}"and terminate the presentation of a movie display when the time >after N is pressed is >= 2000 ms. > >I have had the program record the multiple responses and stop cycling >the video when the difference between two responses is > 2000 ms, but >it does not stop until the end of the video. I need it to terminate >during the video! When the max count = 2, then the video will stop >after 2 consecutive seconds. However, infants will look to/away from >the screen multiple times, so I need to record multiple responses. > >My guess is that the problem is occuring because the responses are not >logged until the max count is reached. How can I tell E-Prime to log/ >use responses prior to reaching the max count? > >Here's my code so far: > > > Dim theResponseObject As RteRunnableInputObject > Set theResponseObject = >CRteRunnableInputObject(Rte.GetObject("Fam1Video")) > > 'Counter variable for the number of responses made > Dim nPressCount As Long > > 'Counter variable > Dim nIndex as Integer > > 'Enumerate through the response collection > 'If any of the responses were made by the keyboard, display > 'the statistics to the user. > For nIndex = 1 To theResponseObject.InputMasks.Responses.Count > > 'Set theKeyboardResponseData equal to the current > keyboard response > Dim theKeyboardResponseData As KeyboardResponseData > Set theKeyboardResponseData = >CKeyboardResponseData(theResponseObject.InputMasks.Responses(nIndex)) > If Not theKeyboardResponseData Is Nothing Then > > 'Log reaction time and response for each key press. > c.SetAttrib "KeyPress" & nIndex & "RT", > theKeyboardResponseData.RT > c.SetAttrib "KeyPress" & nIndex & "RESP", >theKeyboardResponseData.RESP > > End if > next 'nIndex > > For nIndex = 2 to theResponseObject.InputMasks.Responses.Count > If c.GetAttrib("KeyPress" & nIndex & "RT") - c.GetAttrib("KeyPress" >& nIndex-1 & "RT") > 2000 Then Familiarization1.Terminate > Next > >Thank you, >Leslie Rollins -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From erin.siebert at gmail.com Fri Feb 24 22:04:51 2012 From: erin.siebert at gmail.com (Erin) Date: Fri, 24 Feb 2012 14:04:51 -0800 Subject: sending com port command In-Reply-To: <4F45BF3C.4000900@msu.edu> Message-ID: Thank you so much for the advice David and Paul. I also contacted PST support, and they told me basically the same thing- that I would have to use a custom DLL to communicate with a USB device (which is outside the scope of PST support). Unfortunately, RS232 is not an option with this particular device, so I will try Paul's second set of suggestions. However, I was also able to find a control box from OnTrak that supports RS232 connections... so that may end up being my best bet. (I have had success in the past using E-Prime to trigger a juice pump reward system on an RS232 connection.) Again, thank you very much for the advice! Erin On Feb 22, 11:23 pm, David McFarlane wrote: > Erin, > > I second Paul's suggestion that if possible you use a legacy RS232 > connection because, put simply, E-Prime has absolutely no facility for > communicating through USB.  Now in principle, such a facility can be > added -- in fact, I have used a USB device with E-Prime, but only > because that device came with a dll file of external routines which > could be accessed by using Declare statements in E-Prime.  But short of > that, you are out of luck. > > But please do not take my word for any of this.  Please contact PST Web > Support athttp://support.pstnet.com/e%2Dprime/support/login.asp, and > then write back here with their response. > > -- David McFarlane > > On 21 Feb 2012 Paul Groot wrote: > > > Hi Erin, > > > Ah, I described a solution for a 'legacy' ADR device because you > > linked to the RS232 example. But if I understand this correctly, you > > are using an ADU (USB only) device... > > > However, if the device you have supports legacy RS232 connections, you > > should try the following first because RS232 it is a bit easier to use > > than the USB interface DLL: First check which (virtual) COM port is > > being assigned by windows after installing the driver. If the USB > > device connects as virtual RS232, you should be able to find it under > > control panel>device manager->COM and LPT ports. Windows often assigns > > a port number >4, which might be problemematic with EPrime (not sure > > if this is less critical in EPrime 2.) Just try to change the port > > number to the first available value below 4. If the PC has 1 or 2 > > physical COM ports, you should skip those numbers. Also note that the > > port number often changes when a different USB port is used. > > > If RS232 is *not* an option (i.e. no new COM port is added when you > > plugin the USB cable), you should use the DLL interface to connect to > > the USB channels. EBasic supports calling functions in external DLL's, > > so that should be no problem. To do this, you should declare all DLL > > functions first. For example, you can put the following declarations > > in the global user script section: > > > Declare Function OpenAduDevice Lib "AduHid.DLL"  (ByVal iTimeout As > > Long) As Long > > > Declare Function WriteAduDevice Lib "AduHid.DLL"  (ByVal aduHandle As > > Long, ByVal lpBuffer As String, ByVal lNumberOfBytesToWrite As Long, > > ByRef lBytesWritten As Long, ByVal iTimeout As Long) As Long > > > Declare Function ReadAduDevice Lib "AduHid.DLL" (ByVal aduHandle As > > Long, ByVal lpBuffer As String, ByVal lNumberOfBytesToRead As Long, > > ByRef lBytesRead As Long, ByVal iTimeout As Long) As Long > > > Declare Function CloseAduDevice Lib "AduHid.DLL" (ByVal iHandle As Long) As Long > > > (more info herehttp://www.ontrak.net/ADUSDK/MinimalCompile-VB.html) > > > When the declarations are defined, you should be able to call the > > functions in inline script just as if the functions are part of > > EBasic: > > > ' you would probably put this declaration also in the global section > > Dim aduHandle As Long > > > 'then in some inline script: > > aduHandle = OpenAduDevice(0) > > > The VisualBasic example contains further details on the WriteAduDevice > > function. Also don't forget to close the channel properly by calling > > CloseAduDevice(aduHandle) before the end of the experiment. > > > best, > > paul > > > 2012/2/21 Erin : > >> Thanks for the info Paul.  I was thinking something like that may > >> work.  In the past, I have successfully triggered a serial port pump > >> (via a usb to 9-pin serial port converter) in E-Prime sending text > >> commands using a serial.writestring inline.  (I installed a driver for > >> the computer to recognize the serial-usb converter as a serial com > >> port.) > > >> However, the equipment I am currently working with is a usb to usb > >> connection, and E-Prime does not recognize it as a serial port.  When > >> I run the experiment with a serial device added, I get an "unable to > >> open port" error, even when I go through and try every com port.  Is > >> there a way to send this signal through a traditional USB connection? > >> thanks! > > >> Erin > > >> On Feb 20, 3:47 pm, Paul Groot wrote: > >>> Hi Erin, > > >>> Although, in theory, it would be possible to use the WritePort command > >>> to send bytes to a classicalserial(non-USB) RS232 port, it is > >>> definitely not the way to go. Instead you should use a SerialDevice > >>> object to communicate with a COM port. The easiest way is to add such > >>> aSerialdevice in the following dialog: > >>> E-Studio>Menu>Edit>Experiment>Devices>AddSerial. The default setting > >>> should be OK (9600bps, 8bit, no parity, 1 stopbit). When you add this > >>> device, EPrime will add a global SerialDevice object variable to your > >>> script. The name of this variable will be 'Serial' if there is only > >>> oneserialdevice. > > >>> The next thing you should do is to add a single line of inline script > >>> to send the command: > > >>> SerialDevice.WriteString "sk0" & ebCr > > >>> The ebCr constant is a cariage return that is probably required by the device. > > >>> I'm not sure if the external device also needs to be initialised first > >>> (by sending "CPA00000000" for example), but that's up to you to find > >>> out ;-) > > >>> Hope this helps, > >>> Paul > > >>> 2012/2/18 Erin : > > >>>> I am trying to send a command to an external device via ausb > >>>> connection.  The external device is an ADU200USBRelay I/O Interface > >>>> (http://www.ontrak.net/ADUcommands.htm).  This is a control box which > >>>> triggers an automatic feeder for our monkeys.  Using the control box's > >>>> test software, I can trigger the auto feeder by sending the control > >>>> box the command "sk0."  So, I know I need E-Prime to send the command > >>>> "sk0" to the ADU200 control box via ausbCOM port. > >>>> I have read the E-Prime help, and it appears it is difficult to send a > >>>> non binary message via a com port (the WritePort command).  It is > >>>> possible I may need to use something called a Declare Statement, which > >>>> is done outside of E-Prime.  However, I am hoping this is not > >>>> necessary. > >>>> Reading the OnTrak help, it appear a Visual Basic code similar to > >>>> MSComm1.Output = "sk0" would work (http://www.ontrak.net/visual.htm), > >>>> however this does not appear to be an option in E-Prime. > >>>> Any pointers would be very appreciated.  Thank you! > >>>> Erin -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From lswenson at elon.edu Sat Feb 25 20:06:06 2012 From: lswenson at elon.edu (Lindsay) Date: Sat, 25 Feb 2012 12:06:06 -0800 Subject: problems with consistent video duration Message-ID: I am setting up an experiment with videos and am playing around with displaying the videos to make sure it will work for our study. The videos will play, but they will not play for the whole length every time. I am using two practice videos, one 13 seconds and one 6 seconds long, and have the program set up to randomly pull them from a list and play them after a blank screen. I have tried pre-release, changing the run time of the videos, and various video formats, but have not had much success. When I increase the number of cycles, some of the presentations will run the whole time and some will cut off half-way through. The timing of the presentation of stimuli is not necessarily important, but we need each video to run for the set length of time (about 7 seconds). We are expanding upon a study that used still images, so we are not as familiar with the various video formats, compressions, etc. I would appreciate any help! Lindsay -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From yildizhanlar at gmail.com Sun Feb 26 23:03:07 2012 From: yildizhanlar at gmail.com (Fatih YILDIZHAN) Date: Sun, 26 Feb 2012 15:03:07 -0800 Subject: Feeling-of-Knowing and Retrospective Confidence Judgments - Eprime In-Reply-To: <4F2026B9.70809@ucl.ac.uk> Message-ID: > > Hello, > I am working on Feeling-of-Knowing and Retrospective Confidence Judgments > with Eprime. But I couldn't organize the image and names like pictures. > > http://img26.imageshack.us/img26/2690/exp1t.png > http://img825.imageshack.us/img825/2089/exp2.png > > I want to show: > > Picture > > Name1 Name2 Name3 > > then, when user click any button, screen will pass the another screen > similar with this. This thing will repeat about 25 times. How can I build > this structur on Eprime? Please can you help me? > > > It gives more details about topic. > > http://web.westvalley.edu/documents/faculty_resources/brainstorming/e_Cognitive%20and%20Affective%20Processes/e7_neuroimage_2006.pdf > > Thank you so much, > Best Regards > > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To view this discussion on the web visit https://groups.google.com/d/msg/e-prime/-/eGzKv9bAK5cJ. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send 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 yildizhanlar at gmail.com Sun Feb 26 23:03:40 2012 From: yildizhanlar at gmail.com (Fatih YILDIZHAN) Date: Sun, 26 Feb 2012 15:03:40 -0800 Subject: Feeling-of-Knowing and Retrospective Confidence Judgments - Eprime In-Reply-To: Message-ID: Hello, I am working on Feeling-of-Knowing and Retrospective Confidence Judgments with Eprime. But I couldn't organize the image and names like pictures. http://img26.imageshack.us/img26/2690/exp1t.png http://img825.imageshack.us/img825/2089/exp2.png I want to show: Picture Name1 Name2 Name3 then, when user click any button, screen will pass the another screen similar with this. This thing will repeat about 25 times. How can I build this structur on Eprime? Please can you help me? It gives more details about topic. http://web.westvalley.edu/documents/faculty_resources/brainstorming/e_Cognitive%20and%20Affective%20Processes/e7_neuroimage_2006.pdf Thank you so much, Best Regards On Wednesday, February 22, 2012 1:17:07 PM UTC+2, Krupa Sheth wrote: > > I am running an experiment which consists of 5 different loads (A-C) > and requires a voice-responses data to be recorded. The problem I am > encountering is when I run the experimental load, E-Prime runs loads > 1-4 perfectly. It is only when it gets to Load 5 running it conitously > does E-Prime terminate by itself resulting in none of the previous > data from loads 1-4 being recorded despite those loads running > perfectly. The strange thing is when running the experimental block in > two halves i.e. loads 1-3 and then followed by load 4 & 5, does it run > smoothly. Is there a problem with my computer I am using or is it an E- > Prime problem. > > Many Thanks On Wednesday, February 22, 2012 1:17:07 PM UTC+2, Krupa Sheth wrote: > > I am running an experiment which consists of 5 different loads (A-C) > and requires a voice-responses data to be recorded. The problem I am > encountering is when I run the experimental load, E-Prime runs loads > 1-4 perfectly. It is only when it gets to Load 5 running it conitously > does E-Prime terminate by itself resulting in none of the previous > data from loads 1-4 being recorded despite those loads running > perfectly. The strange thing is when running the experimental block in > two halves i.e. loads 1-3 and then followed by load 4 & 5, does it run > smoothly. Is there a problem with my computer I am using or is it an E- > Prime problem. > > Many Thanks -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To view this discussion on the web visit https://groups.google.com/d/msg/e-prime/-/fXCBwTvakfUJ. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: From d.vinson at ucl.ac.uk Mon Feb 27 10:33:14 2012 From: d.vinson at ucl.ac.uk (David Vinson) Date: Mon, 27 Feb 2012 10:33:14 +0000 Subject: problems with consistent video duration In-Reply-To: Message-ID: Hi Lindsay, Unfortunately it can be a lot of work to get videos to display correctly, and it looks like you've gone through a sensible process so far. We experienced something similar, and suspected it could be related to the time it takes to load the video files from the hard drive and get them displayed in time. We might not be correct but we managed to eliminate these problems (or at least sufficiently reduce them) by a combination of a few factors: 1. pre-load the video (e.g. MovieDisplay1.Load in an inline object) well before the movie is due to start playing 2. include a fairly high % of breaks between trials if possible, which may help resolve the buildup of lag 3. if you are using an older/slower machine it may be useful to have video files on a different hard drive than the one being used for virtual memory And 4. a bit more "trial and error" with video formats. Keep in mind that just converting from one video format to another may not be sufficient - it may be necessary to re-compress with a different codec. In troubleshooting these matters it may also be helpful to set up the simplest possible miniature version of your experiment (e.g. just one or two videos) repeated many times in the simplest possible trial sequence, and see if your problem reproduces under those conditions. OR.... am I missing something here - if one of your videos is 13 sec and you only display it for 7 seconds, this would cut it off about halfway through. But surely it's not as simple as this. good luck, and please report back to the list if you figure it out. -dv On 25/02/2012 20:06, Lindsay wrote: > I am setting up an experiment with videos and am playing around with > displaying the videos to make sure it will work for our study. The > videos will play, but they will not play for the whole length every > time. I am using two practice videos, one 13 seconds and one 6 seconds > long, and have the program set up to randomly pull them from a list > and play them after a blank screen. I have tried pre-release, changing > the run time of the videos, and various video formats, but have not > had much success. When I increase the number of cycles, some of the > presentations will run the whole time and some will cut off half-way > through. The timing of the presentation of stimuli is not necessarily > important, but we need each video to run for the set length of time > (about 7 seconds). > > We are expanding upon a study that used still images, so we are not as > familiar with the various video formats, compressions, etc. I would > appreciate any help! > > Lindsay > -- David Vinson, Ph.D. Senior Postdoctoral Researcher Cognitive, Perceptual and Brain Sciences Research Department University College London 26 Bedford Way, London WC1H 0AP Tel +44 (0)20 7679 5311 (UCL internal ext. 25311) -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From s.guzin at gmail.com Tue Feb 28 10:20:21 2012 From: s.guzin at gmail.com (=?ISO-8859-1?Q?G=FCzin_Mazman?=) Date: Tue, 28 Feb 2012 12:20:21 +0200 Subject: limiting numbers of the box selection Message-ID: Hi, I am developing an experiment which participants must remember the orientataion of numbers presented sequentially. Participants will click on the empty boxes which would show the orientation of top of numbers. A slide which displays 8 empty boxes images arranged like circle on the screen and show one of the 8 different angles (45, 90, 135....). After participant click on the box, it will be checked by filling. I have done until here. My problem is limiting the numbers of checking boxes. I mean for first trial block particpnat will select only two boxes that are correct. If they choose a third one, I want their last selection will dissapper. Or maybe program will not allow to select choosing more than two. My boxes names are; Check1, Check2, Check3, Check4, Check5, Check6, Check7, Check8. I attached two imaged that are selected or not selected. I am including my code below. Coul you help me how can I limit numbers of selecting . Dim theState as SlideState Set theState = Stimulus.States("Default") 'Variable for holding the name of the sub-object clicked by the subject. Dim strHit As String 'Variable for holding the subject's response information. Dim theMouseResponseData As MouseResponseData 'Was a response made? If Stimulus.InputMasks.Responses.Count > 0 Then 'Get the mouse response Set theMouseResponseData = CMouseResponseData(Stimulus.InputMasks.Responses(1)) 'Determine string name of SlideImage or SlideText object at 'mouse click coordinates. Assign that value to strHit strHit = theState.HitTest(theMouseResponseData.CursorX, theMouseResponseData.CursorY) 'If a check box was clicked, check or uncheck it based on its current state. If Mid(strHit, 1, 5) = "Check" Then 'Store the number of the checkbox clicked. Dim nCheck As Integer nCheck = CInt(Mid(strHit, 6, 1)) Debug.Print nCheck If c.GetAttrib("Check" & nCheck & "Image") = "checkempty.bmp" Then c.SetAttrib "Check" & nCheck & "Image", "checkfull.bmp" 'If a box has been checked, log the RT and RESP. Else c.SetAttrib "Check" & nCheck & "Image", "checkempty.bmp" c.Setattrib "Check" & nCheck & "RESP", "" End If End IF if c.GetAttrib("Check4Image")="checkfull.bmp" and c.GetAttrib("Check5Image")="checkfull.bmp" and c.GetAttrib("Check1Image")="checkempty.bmp" and c.GetAttrib("Check2Image")="checkempty.bmp" and c.GetAttrib("Check3Image")="checkempty.bmp" and c.GetAttrib("Check6Image")="checkempty.bmp" and c.GetAttrib("Check7Image")="checkempty.bmp" and c.GetAttrib("Check8Image")="checkempty.bmp" Then 'if strHit = "Check5" and strHit = "Check4" Then Stimulus.ACC = 1 else Stimulus.ACC = 0 End if -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: selected.jpg Type: image/jpeg Size: 7876 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: empty_boxes.jpg Type: image/jpeg Size: 8029 bytes Desc: not available URL: From mcfarla9 at msu.edu Tue Feb 28 15:46:39 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 28 Feb 2012 10:46:39 -0500 Subject: using mouse scroll as response device for a sliding scale In-Reply-To: <55456dfe-e3ff-4ad2-8410-fb906525ac00@s7g2000vby.googlegrou ps.com> Message-ID: Brieana, Hmm, using the mouse scroll wheel. First time I have heard anyone ask about that, I would be interested in knowing how myself. I suspect that you would have to access the Windows mouse scroll wheel API, see, e.g., http://msdn.microsoft.com/en-us/library/ms997498.aspx (found by Googling "mouse scroll wheel api"). Perhaps you could post this to PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp , and then post back here with the answer. -- David McFarlane At 1/30/2012 10:56 AM Monday, you wrote: >Oops, my bad. Below is the code for each of the two inline scripts: > > >'InitializeTrial' inlinescript: > >'Designate "theSlide" as the current Slide >Dim theSlide As Slide >Set theSlide = VASSlide > >'Designate "theState" as the Default Slide State, which is the >'current, ActiveState on theSlide >Dim theState as SlideState >Set theState = theSlide.States("Default") > >'Gain access to the SlideCursor SlideText. >Dim Drag1 As SlideText >Set Drag1 = CSlideText(theState.Objects("SlideCursor")) >Drag1.X = "55%" > >Dim theRating As SlideText >Set theRating = CSlideText(theState.Objects("Rating")) >theRating.X = "55%" >theRating.Text = "" > >-------------------------- >'ChangeScale' inline script: > >Dim nCurrentScore As Integer >nCurrentScore = 25 > >Dim nResponseCount As Integer >Dim theKeyboardResponseData As KeyboardResponseData > >Do While theSlide.InputMasks.IsPending() > > 'Was there a response? > If theSlide.InputMasks.Responses.Count > nResponseCount Then > > nResponseCount = nResponseCount + 1 > > Set theKeyboardResponseData = >CKeyboardResponseData(theSlide.InputMasks.Responses(nResponseCount)) > > 'Move cursor/change score > If theKeyboardResponseData.RESP = "{RIGHTARROW}" Then > > 'Check for top of scale > If nCurrentScore <= 49 Then > nCurrentScore = nCurrentScore + 1 > Else > Debug.Print "top of scale" > End If > > Else > > 'Check for bottom of scale > If nCurrentScore > 0 Then > nCurrentScore = nCurrentScore - 1 > Else > Debug.Print "bottom of scale" > End If > > End If > > 'Update the slider (adjusted by 5%) and rating feedback > Drag1.X = CInt(nCurrentScore * 2) -.8 & "%" > theRating.Text = nCurrentScore > > theSlide.Draw > Sleep 1 > > End If > >Loop > >c.SetAttrib "Rating", nCurrentScore > >-------- > >Thanks. > >On Jan 30, 10:53 am, Brieana wrote: > > Hi everyone, > > > > I am trying to create a sliding scale that can be used by participants > > to place a bid from $0-50 with a mouse scroll. The inline scripts that > > I am using I found in a PST support forum post and just changed the > > parameters to fit my needs. However, I just found out that the > > facility I will be conducting the fMRI study in does not have a > > compatible keypad device so I have to switch the response device to a > > mouse. Does anyone know of how I can change the inline script(s) such > > that a scroll up would mean scrolling through values greater than 50 > > and scrolling down would mean scrolling through values lesser than > > 50? > > > > Thanks for the read and for the help! > > > > Brieana -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 28 16:29:44 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 28 Feb 2012 11:29:44 -0500 Subject: Adding rows to the eDat file using code In-Reply-To: Message-ID: Sorry for taking so long to get back with a public reply to this one, by now you probably no longer need the solution. But for the record, here is some information. Your code does exactly as it is designed to do. Note that c.SetAttrib commands do *not* immediately log values, they merely add attributes to the Context, which may be logged later. Instead, the c.Log command does the actual logging. By default the enclosing Procedure issues a c.Log command once at the end of the Procedure (don't take my word for that, look at the full code generated by E-Studio), and at that time it logs only the latest value of the assigned context attributes (e.g., the final values of X & Y). So, if you do multiple c.SetAttrib of the same attribute within a Procedure, only the final one will count. But you can add a row to the log at any time by adding a c.Log command in inline -- in your case, just add c.Log before the "end if" of your code fragment. See also the Context.SetAttrib and Context.Log topics in the E-Basic Help facility. Now, you might still get an extra row at the end of the Procedure, so you might have to pull some tricks to get it exactly right (or filter out extra rows using the filtering facility of E-DataAid, etc.). Note that you can tell E-Studio to *not* add the c.Log at the end of a Procedure by changing the LogData property of the Procedure -- this is a bit tricky, but has been made much easier in EP2.0.10.x. Alternatively, instead of logging extra rows for each X, Y, you could add extra columns to hold the data. E.g., dim iAttrib as integer dim x as single, y as single iAttrib = 0 do if ASL_GetPOG(x, y, true) then cnv.Text 20, 20, "Point of gaze from eye tracker" cnv.Text 20, 40, "x = " & x & " " cnv.Text 20, 60, "y = " & y & " " iAttrib = iAttrib + 1 c.setAttrib "textDisplay1.gazePosX" & iAttrib, x c.setAttrib "textDisplay1.gazePosY" & iAttrib, y end if Loop Until TextDisplay1.RT > 0 Now, the single c.Log at the end of the Procedure logs all these generated attributes/columns. Finally, remember that PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp also takes these sorts of questions, and they strive to respond to all requests in 24-48 hours. -- David McFarlane At 1/31/2012 11:00 AM Tuesday, you wrote: >Hello ! > >I am using ePrime to display a series of pictures which change with a >mouseclick. This is working perfectly > >I have a coded function that receives data from an external device >(ASL 504 Pan-Tilt Eyetracker). Everytime the function is run it >receives an X value and a Y value. I am able to store these values as >numbers and even display them on screen. > >I am trying to run the above function 30 times a second during each >picture display. I need the eDAT file to have a row for every time it >is run (30 rows per second). Each row should have the usual stimulus >related fields plus this X and Y value from my function > >Currently in my trial procedure, I have an inline object after the >picture display and I have this code in it. This is just a simple loop >that continuously receives the x and y values > >[quote] > >dim x as single, y as single >do >if ASL_GetPOG(x, y, true) then > cnv.Text 20, 20, "Point of gaze from eye tracker" > cnv.Text 20, 40, "x = " & x & " " > cnv.Text 20, 60, "y = " & y & " " > c.setAttrib "textDisplay1.gazePosX", x > c.setAttrib "textDisplay1.gazePosY", y >end if >Loop Until TextDisplay1.RT > 0 > >/[quote] > >This however just creates one row for each slide and gives me the last >value of X and Y that has been received. Calling the function at >regular time intervals inside the inline object does he same thing. I >am able to create a string and store a long string of these X and Y >values which I am able to parse through later...but an ideal case for >me would be to add a row to the eDAT file everytime the function is >run with X and Y values. > >Any help on how to accomplish this would be most helpful. I have a bit >of programming experience but am extremely new to ePrime. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 28 16:49:44 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 28 Feb 2012 11:49:44 -0500 Subject: problem with a summation object In-Reply-To: <494acf35-557a-4082-a5c8-17258c5ab40d@j14g2000vba.googlegro ups.com> Message-ID: Max, Hmm, another question that could go to PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp . Anyway, what was the exact line of code that produced the error? Typically, an "Object does not have a default value" error occurs when you use an object but fail to specify which *property* of the object you mean. You can get away with that only when the object does have a default property, otherwise you must explicitly specify which property you mean. To take a contrived example, the following will create such an error: SummationRTA.AddObservation CInt(ReactionInterval) whereas the following will not: SummationRTA.AddObservation CInt(ReactionInterval.RT) -- David McFarlane At 2/2/2012 06:02 AM Thursday, you wrote: >Dear everyone, > >I tried to use a summation object to give feedback to experimental >subjects about their accuracy and reaction times. >I used following code: >Dim SummationAccA, SummationAccB, SummationRTA, SummationRTB as >Summation >(global variables) > >Set SummationAccA = New Summation >Set SummationRTA = New Summation >Set SummationAccB = New Summation >Set SummationRTB = New Summation >(before running the list) > >SummationAccA.AddObservation ReactionInterval.ACC >SummationRTA.AddObservation ReactionInterval.RT >SummationAccB.AddObservation ReactionInterval2.ACC >SummationRTB.AddObservation ReactionInterval2.RT >(ReactionInterval & Reactioninterval2 are slide objects) > >By attempting to add the accuracies and reaction times following error >occurs: >"Object does not have a default value" > >I used the same principle in further experiments and there it worked. >I hope there is just a simple mistake, thanks for answers, >best regards, >Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 28 16:54:10 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 28 Feb 2012 11:54:10 -0500 Subject: Parallel Port Problems In-Reply-To: Message-ID: Max, Are you sure that you specified a different (& correct) port address for the second port? If you used the same port address for both, then you are really using only one of the ports, and that one port becomes input or output depending on the last command issued. -- David McFarlane At 2/24/2012 12:12 PM Friday, you wrote: >Dear all, > >next problem: > >I tried to use two parallel ports, one for sending a trigger for EEG, >one for input from a self-made device (like a keyboard). >Sending triggers work until I add a second parallel port ("port mode" >= Input) to the devices (with second "port mode" = output it works, >but I need it for input). > >Any suggestions? > >Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From lundwall.becky at gmail.com Wed Feb 1 13:32:59 2012 From: lundwall.becky at gmail.com (BeckyL) Date: Wed, 1 Feb 2012 05:32:59 -0800 Subject: creating an oscillating bar using an inline element In-Reply-To: Message-ID: Just an update: I finally got a response from PSTNET that solved the immediate problem. They said "The problem is that your Do...While loop is set to loop until x1 equals 80, which means 80 pixels. To stop when x1 is at 80% instead, you must use Display.XRes * .8." Hopefully the next step won't be so time consuming. I imagine that I probably need a For . . . Next loop to get the bar to move back and forth. If anyone is interested let me know and I'll post the code that ends up being effective. Thanks! On Jan 31, 7:25?am, BeckyL wrote: > Thank you both for your willingness to help. I'll work on this this > morning and update the group on the results as soon as possible. Just > so you know, the problem with the movie option is that E-prime tends > to crash when you use movies and have a Windows 7 or Vista operating > system -- and we are still trying to verify that we have enough > computers with XP at the remote testing site. > > On Jan 30, 6:55?pm, lml1... at gmail.com wrote: > > > > > > > > > Another option. Create an animation in Final Cut save as an .avi file and run as a movie. Much easier for placement on the screen. > > Sent from my Verizon Wireless BlackBerry > > > -----Original Message----- > > From: "Vinson, David" > > > Sender: e-prime at googlegroups.com > > Date: Sun, 29 Jan 2012 12:58:58 > > To: e-prime at googlegroups.com > > Reply-To: e-prime at googlegroups.com > > Subject: RE: creating an oscillating bar using an inline element > > > Hi BeckyL, > > > It looks like your main assumption is correct - holding y1 constant rather than varying it along with x1 should produce horizontal motion in the Simple Animation example. ? If it works on the first trial it's not a complete failure but may have something to do with changes in values from one trial to the next. > > > My guess is that there's something amiss with your treatment of y1 outside of the assignment to a constant value. ?Perhaps the exit condition is never met: ?as in the code below, y1 will never reach 30 if you get rid of (y1 = y1 - 1). ?So it will run fine, until x1 reaches the edge of the screen in which case it will either crash (display of negative values for x may break it) or hang (because it is no longer drawing anything visible). ?If this is the case, changing the exit condition so it's based on the value of x1 should sort things out. > > > another possibility is the assignment of values to y1. ? Check to make sure that indeed y1 is assigned the value you want, and that this value persists across trials. ?The simplest way to test this out is to set the value of y1 immediately before the loop (although this is not good programming practice, it's a clear way to be sure that y1 has the desired value). > > > In cases like these I find it's useful to employ the debug.print function as part of the inline code - for example here displaying the value of x1,y1 to the output window while the experiment is running. > > > hope this helps! > > david > > ________________________________________ > > From: e-prime at googlegroups.com [e-prime at googlegroups.com] on behalf of BeckyL [lundwall.be... at gmail.com] > > Sent: 27 January 2012 18:59 > > To: E-Prime > > Subject: creating an oscillating bar using an inline element > > > I am trying to use the pstnet a modification of the sample "Simple > > Animation/Apparent Motion Example" and to create a new task. I have EP > > 2 and am using Windows XP. I have tried using the E-prime Reference > > Guide and Online E-Basic help but they are not specific enough to > > solve the problem below with my code. I am having trouble getting the > > line to move horizontally instead of diagonally up and right > > (eventually I want it to oscillate in place instead of move off the > > screen, but that is another step). > > > ORIGINAL CODE > > > 'Loop continuously until the lines are off screen. > > Do Until y1 = 30 > > > ? ?'Increment and decrement coordinates. > > ? ?x1 = x1 + 1 > > > ? ?y1 = y1 - 1 > > > ? ?'Wait until the screen refreshes to avoid partial displays. > > ? ?Display.WaitForVerticalBlank > > > ? ?'Clear the screen and draw the new lines. > > ? ?cnvs.Clear > > > ? ?cnvs.Line x1, y1, x1, y1 + lineLen > > > Loop > > > Logically, it seems that the next step would be to specify that x1 = > > x1 + 1 but y1 remain at 50 (or that y1 = y1). This works for the first > > trial but crashes for the second trial. > > > Could someone please give more guidance on specifying coordinates for > > movement? Thank you! > > > -- > > You received this message because you are subscribed to the Google Groups "E-Prime" group. > > To post to this group, send email to e-prime at googlegroups.com. > > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > > -- > > You received this message because you are subscribed to the Google Groups "E-Prime" group. > > To post to this group, send email to e-prime at googlegroups.com. > > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From maria.richter.mail at googlemail.com Thu Feb 2 11:02:06 2012 From: maria.richter.mail at googlemail.com (Maria) Date: Thu, 2 Feb 2012 03:02:06 -0800 Subject: problem with a summation object Message-ID: Dear everyone, I tried to use a summation object to give feedback to experimental subjects about their accuracy and reaction times. I used following code: Dim SummationAccA, SummationAccB, SummationRTA, SummationRTB as Summation (global variables) Set SummationAccA = New Summation Set SummationRTA = New Summation Set SummationAccB = New Summation Set SummationRTB = New Summation (before running the list) SummationAccA.AddObservation ReactionInterval.ACC SummationRTA.AddObservation ReactionInterval.RT SummationAccB.AddObservation ReactionInterval2.ACC SummationRTB.AddObservation ReactionInterval2.RT (ReactionInterval & Reactioninterval2 are slide objects) By attempting to add the accuracies and reaction times following error occurs: "Object does not have a default value" I used the same principle in further experiments and there it worked. I hope there is just a simple mistake, thanks for answers, best regards, Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From gidgetownsme at gmail.com Mon Feb 6 20:58:08 2012 From: gidgetownsme at gmail.com (Ren) Date: Mon, 6 Feb 2012 12:58:08 -0800 Subject: strHit not returning correct answer Message-ID: Hello, I am trying to build a program to use a mouse click to select a correct answer, which is pulled from the TrialList. Something is wrong in that the program doesn't seem to find anything to match the "Correct Answer" category, and always returns a negative result. I am using this code: 'Designate "theState" as the Default Slide State, which is the 'current, ActiveState on the Slide object "Stimulus" Dim theState as SlideState Set theState = SLIDENAME.States("SLIDESTATENAME") Dim strHit As String Dim theMouseResponseData As MouseResponseData 'Was there a response? If SLIDENAME.InputMasks.Responses.Count > 0 Then 'Get the mouse reponse Set theMouseResponseData = CMouseResponseData(SLIDENAME.InputMasks.Responses(1)) 'Determine string name of the SlideImage or SlideText object at 'mouse click coordinates. Assign that value to strHit strHit = theState.HitTest(theMouseResponseData.CursorX, theMouseResponseData.CursorY) 'Compare string name where mouse click occured to CorrectAnswer 'attribute on each trial, and score response 'NOTE: This comparison is case sensitive If strHit = c.GetAttrib("CORRECTANSWERCOLUMN") Then SLIDENAME.ACC = 1 Else SLIDENAME.ACC = 0 End If End If c.SetAttrib "Response", strHit I have tried putting a text box on my slide with a word such as "BLUE", then listing BLUE under the correct answer column and it still will not return a correct response. I have also tried using images and renaming most of the items on the slide to try to isolate the problem, but nothing has worked. My mouse is turned on and the correct response is [CORRECTANSWERCOLUMN] and allowable response {ANY}. Any ideas? Using a mouse is essential because this will be a touch screen program used with non-human primates. I've submitted this to PST support, but it's been a few days and I would really like to get this program up and running. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From baltimore.ben at gmail.com Mon Feb 6 21:11:29 2012 From: baltimore.ben at gmail.com (ben robinson) Date: Mon, 6 Feb 2012 16:11:29 -0500 Subject: strHit not returning correct answer In-Reply-To: Message-ID: have you tried using Debug.Print to help you figure out what value strHit actually has following a mouse click? i think you'll find that strHit="SlideText1" or something like that, rather than "BLUE". strHit only tells you the name of the object clicked, not what text is actually displayed by that object. ben On Mon, Feb 6, 2012 at 3:58 PM, Ren wrote: > Hello, > > I am trying to build a program to use a mouse click to select a > correct answer, which is pulled from the TrialList. Something is wrong > in that the program doesn't seem to find anything to match the > "Correct Answer" category, and always returns a negative result. I am > using this code: > > > 'Designate "theState" as the Default Slide State, which is the > 'current, ActiveState on the Slide object "Stimulus" > Dim theState as SlideState > Set theState = SLIDENAME.States("SLIDESTATENAME") > > Dim strHit As String > Dim theMouseResponseData As MouseResponseData > > 'Was there a response? > If SLIDENAME.InputMasks.Responses.Count > 0 Then > > 'Get the mouse reponse > Set theMouseResponseData = > CMouseResponseData(SLIDENAME.InputMasks.Responses(1)) > > 'Determine string name of the SlideImage or SlideText object at > 'mouse click coordinates. Assign that value to strHit > strHit = theState.HitTest(theMouseResponseData.CursorX, > theMouseResponseData.CursorY) > > 'Compare string name where mouse click occured to CorrectAnswer > 'attribute on each trial, and score response > 'NOTE: This comparison is case sensitive > If strHit = c.GetAttrib("CORRECTANSWERCOLUMN") Then > SLIDENAME.ACC = 1 > Else > SLIDENAME.ACC = 0 > End If > > > End If > c.SetAttrib "Response", strHit > > I have tried putting a text box on my slide with a word such as > "BLUE", then listing BLUE under the correct answer column and it still > will not return a correct response. I have also tried using images and > renaming most of the items on the slide to try to isolate the problem, > but nothing has worked. My mouse is turned on and the correct response > is [CORRECTANSWERCOLUMN] and allowable response {ANY}. > > Any ideas? Using a mouse is essential because this will be a touch > screen program used with non-human primates. I've submitted this to > PST support, but it's been a few days and I would really like to get > this program up and running. > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 7 17:28:02 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 7 Feb 2012 12:28:02 -0500 Subject: New release candidate of E-Prime: 2.0.10.182 Message-ID: Since PST will not broadcast the availability of a new release candidate of E-Prime 2, I will. Registered users may now download 2.0.10.182 from the PST web site. If you are using an earlier release of E-Prime for current studies, then please first attend to the warning on the download page. -- David McFarlane -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From gidgetownsme at gmail.com Tue Feb 7 17:31:01 2012 From: gidgetownsme at gmail.com (Ren) Date: Tue, 7 Feb 2012 09:31:01 -0800 Subject: strHit not returning correct answer In-Reply-To: Message-ID: Yes! That's exactly what fixed it. I tried subbing out all different parts of my program, but that didn't even occur to me. Thanks! On Feb 6, 4:11?pm, ben robinson wrote: > have you tried using Debug.Print to help you figure out what value > strHit actually has following a mouse click? ?i think you'll find that > strHit="SlideText1" or something like that, rather than "BLUE". > strHit only tells you the name of the object clicked, not what text is > actually displayed by that object. > > ben > > > > > > > > On Mon, Feb 6, 2012 at 3:58 PM, Ren wrote: > > Hello, > > > I am trying to build a program to use a mouse click to select a > > correct answer, which is pulled from the TrialList. Something is wrong > > in that the program doesn't seem to find anything to match the > > "Correct Answer" category, and always returns a negative result. I am > > using this code: > > > 'Designate "theState" as the Default Slide State, which is the > > 'current, ActiveState on the Slide object "Stimulus" > > Dim theState as SlideState > > Set theState = SLIDENAME.States("SLIDESTATENAME") > > > Dim strHit As String > > Dim theMouseResponseData As MouseResponseData > > > 'Was there a response? > > If SLIDENAME.InputMasks.Responses.Count > 0 Then > > > 'Get the mouse reponse > > Set theMouseResponseData = > > CMouseResponseData(SLIDENAME.InputMasks.Responses(1)) > > > 'Determine string name of the SlideImage or SlideText object at > > 'mouse click coordinates. Assign that value to strHit > > strHit = theState.HitTest(theMouseResponseData.CursorX, > > theMouseResponseData.CursorY) > > > 'Compare string name where mouse click occured to CorrectAnswer > > 'attribute on each trial, and score response > > 'NOTE: This comparison is case sensitive > > If strHit = c.GetAttrib("CORRECTANSWERCOLUMN") Then > > SLIDENAME.ACC = 1 > > Else > > SLIDENAME.ACC = 0 > > End If > > > End If > > c.SetAttrib "Response", strHit > > > I have tried putting a text box on my slide with a word such as > > "BLUE", then listing BLUE under the correct answer column and it still > > will not return a correct response. I have also tried using images and > > renaming most of the items on the slide to try to isolate the problem, > > but nothing has worked. My mouse is turned on and the correct response > > is [CORRECTANSWERCOLUMN] and allowable response {ANY}. > > > Any ideas? Using a mouse is essential because this will be a touch > > screen program used with non-human primates. I've submitted this to > > PST support, but it's been a few days and I would really like to get > > this program up and running. > > > -- > > You received this message because you are subscribed to the Google Groups "E-Prime" group. > > To post to this group, send email to e-prime at googlegroups.com. > > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 7 17:36:30 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 7 Feb 2012 12:36:30 -0500 Subject: New release candidate of E-Prime: 2.0.10.182 In-Reply-To: <4f315f23.e5d9320a.77bb.fffff696SMTPIN_ADDED@gmr-mx.google. com> Message-ID: Ah, to be fair, Brandon Cernicky at PST pinned a topic announcing this on the PST Forum early last week (http://support.pstnet.com/forum/Topic5684-12-1.aspx ), don't know how I missed it. Still, would be nice for those of us who subscribe to PST e-mails to get a notice about these things. -- David McFarlane At 2/7/2012 12:28 PM Tuesday, you wrote: >Since PST will not broadcast the availability of a new release >candidate of E-Prime 2, I will. Registered users may now download >2.0.10.182 from the PST web site. If you are using an earlier >release of E-Prime for current studies, then please first attend to >the warning on the download page. > >-- David McFarlane -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 7 17:52:16 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 7 Feb 2012 12:52:16 -0500 Subject: Online training in E-Prime=?iso-8859-1?Q?=AE_?=from Michigan State Univeristy Message-ID: Hello, We would like to bring to your attention an online 4 week course on designing and programming computerized behavioral experiments. This online course is designed to give students hands-on experience in making computerized experiments in E-Prime?. Students learn step-by-step the full range of core elements of E-Prime?. Through a series of guided exercises, students see E-Prime? in action, and make their own working programs using text, images, sound, movies, and more. The course is designed to reach a broad audience interested in learning how to program behavioral experiments including students (undergraduate and graduate), post doctoral researchers, and faculty. Learning to program behavioral tasks can be daunting, but you don't have to scale that peak without help. Hire a guide. Take "E-Prime?: Introduction to Programming Computerized Behavioral Tasks" and get the training you need to start your expedition. For more information see http://psychology.msu.edu/Workshops_Courses/eprime.aspx . Thank you. -- David McFarlane, Systems Designer & E-Prime Master Dept. Psychology, Michigan State University -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 7 17:57:50 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 7 Feb 2012 12:57:50 -0500 Subject: Online training in E-Prime=?iso-8859-1?Q?=AE_?=from Michigan State Univeristy In-Reply-To: <4f3164d1.e5d9320a.77bb.fffff896SMTPIN_ADDED@gmr-mx.google. com> Message-ID: Now that I have posted the official notice, here is some amplification from me, the instructor and frequent contributor to this Group. First, I will spare you the suspense and tell you that the course fee is US$300. For that you get access to the course, a weekly Live Office Hour with me, and upon succesful completion 1.5 Continuing Education Units (CEUs) from Michigan State University. Now, folks here often like to delve into inline code, so I feel it only fair to inform this crowd that coverage of inline code in the course is pretty light. I think that some of us are too quick to resort to inline code, when a better understanding of E-Prime? might provide a better solution without code. Also, inline code works better with a good understanding of all the fundamental elements of E-Prime?. Thus, this introductory course presents such a survey. I do introduce just enough about inline code to get newcomers started; any more might take a course in itself (perhaps worth doing if this course does well.) But if I have done my job well, then this course will take care of all the basic questions that newcomers to E-Prime? face, and then they can come here with the more complex questions. Finally, please note that the content of this online course has not been reviewed or approved by Psychology Software Tools, Inc., publishers of E-Prime?. The views and opinions expressed in the course are strictly those of the course authors. Any questions or comments regarding this course should be directed to the course authors. -- David McFarlane At 2/7/2012 12:52 PM Tuesday, you wrote: >Hello, > >We would like to bring to your attention an >online 4 week course on designing and >programming computerized behavioral experiments. >This online course is designed to give students >hands-on experience in making computerized >experiments in E-Prime?. Students learn >step-by-step the full range of core elements of >E-Prime?. Through a series of guided exercises, >students see E-Prime? in action, and make their >own working programs using text, images, sound, movies, and more. > >The course is designed to reach a broad audience >interested in learning how to program behavioral >experiments including students (undergraduate >and graduate), post doctoral researchers, and faculty. > >Learning to program behavioral tasks can be >daunting, but you don't have to scale that peak >without help. Hire a guide. Take "E-Prime?: >Introduction to Programming Computerized >Behavioral Tasks" and get the training you need to start your expedition. > >For more information see >http://psychology.msu.edu/Workshops_Courses/eprime.aspx . > >Thank you. > >-- David McFarlane, Systems Designer & E-Prime Master > Dept. Psychology, Michigan State University -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From sudhin.shah at gmail.com Wed Feb 8 21:24:35 2012 From: sudhin.shah at gmail.com (suetibu) Date: Wed, 8 Feb 2012 13:24:35 -0800 Subject: Assigning Hex number Message-ID: Hello, I currently have script set up as follows: xyz.OnsetSignalEnabled= True xyz.OnsetSignalPort= &H4000 xyz.OnsetSignalData= 25 This works. However, since the OnsetSignalPort is declared several times in the script, is there a way to declare it as a global variable once in the beginning of the script? Does this work? DIM PtAdd as Integer PtAdd = CInt(&H4000) xyz.OnsetSignalEnabled= True xyz.OnsetSignalPort= PtAdd xyz.OnsetSignalData= 25 This compiles fine but I'm not sure if it is the same. Thanks, S -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From sombrenote at gmail.com Thu Feb 9 17:24:37 2012 From: sombrenote at gmail.com (SombreNote) Date: Thu, 9 Feb 2012 09:24:37 -0800 Subject: Arithmetic Stress Inducement Message-ID: Hey Guy, Back again. I wanted to know if anyone here has every experimented with MIST type stress inducement. What it consists of is a task in which a participant is making quick calculations in their head, and entering them on a keyboard. Usually it is as simple as continually subtracting 7 from a large number as quickly as the participant can manage. I feel that I am prepared to program such a module for my experiment, but seeing as it is such a common procedure, I was wondering if anyone had an analogous task already completed in e-prime, so that I could save a bit of work for myself. Any help would be greatly appreciated. Thanks, SN -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From maria.richter.mail at googlemail.com Fri Feb 10 12:27:50 2012 From: maria.richter.mail at googlemail.com (Maria) Date: Fri, 10 Feb 2012 04:27:50 -0800 Subject: Extended reaction and accuracy Message-ID: Good morning! We have the following strange problem: We sat the "time limit" for reactions (=2000ms) longer than the presentation time of the slide1(1000ms) (at which should be reacted and which was followed by a slide2 (1000ms)) and asked in a later inline ----------------- if c.getattrib("Slide1.acc") = 1 then l=3 end if if c.getattrib("Slide1.acc") = 0 then l=4 end if debug.print l --------------------------- In trials, where the reaction time was longer than the presentation time of the first slide (reaction during slide2) the "l" was set 4, even in correct cases. We need the accuracyinformation at this point of the experiment to send triggers. Is there anyone who had the same problem before? Thanks for any answer, we have no idea... Best wishes, Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From cbyoung89 at gmail.com Fri Feb 10 18:26:57 2012 From: cbyoung89 at gmail.com (Christina B Young) Date: Fri, 10 Feb 2012 12:26:57 -0600 Subject: Running a new procedure after fixed number of trials Message-ID: Hello, I am running into a problem that hopefully has a straight-forward solution. In my experiment, I have 90 trials that occur in random order and the randomization is critical. However, after the 30ths and 60th trial, I would like to add a new procedure, but then have the experiment continue with the original trials. So the order would be: 29th trial, 30th trial, new procedure, 31st trial, 32nd trial, etc. Does anyone have any ideas on how to do this? Thanks! Christina -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From d.vinson at ucl.ac.uk Sat Feb 11 10:44:25 2012 From: d.vinson at ucl.ac.uk (David Vinson) Date: Sat, 11 Feb 2012 10:44:25 +0000 Subject: Running a new procedure after fixed number of trials In-Reply-To: Message-ID: Hi Christina, This is a common situation, for example when inserting a break every N trials. The easiest way I've found to do it is to insert that procedure ("NewProc") as if it occurred every trial, then add a Label immediately after it ("JumpToLabel"). Then right before the procedure add an inline to check the sample number and go to the "JumpToLabel" (thus skipping past NewProc) unless it meets your requirements If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 30 = 0 Then goto JumpToLabel End If There's a sample experiment on the e-prime support site, http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=33 which does a similar thing, instead by running a procedure that sits outside of the main experiment procedure (Unreferenced Objects) - in this case the input masks would need to be set with an additional line in inline code (see the sample InsertPause.es for more info). One note - if your inserted procedure is something that logs data (e.g. *.ACC etc) you may need to clear these values on instances in which the event is skipped - otherwise they may inherit the values from the last trial in which NewProc was run. hope this helps, -dv On 10/02/2012 18:26, Christina B Young wrote: > Hello, > I am running into a problem that hopefully has a straight-forward > solution. In my experiment, I have 90 trials that occur in random > order and the randomization is critical. However, after the 30ths and > 60th trial, I would like to add a new procedure, but then have the > experiment continue with the original trials. So the order would be: > 29th trial, 30th trial, new procedure, 31st trial, 32nd trial, etc. > Does anyone have any ideas on how to do this? Thanks! > > Christina > -- David Vinson, Ph.D. Senior Postdoctoral Researcher Cognitive, Perceptual and Brain Sciences Research Department University College London 26 Bedford Way, London WC1H 0AP Tel +44 (0)20 7679 5311 (UCL internal ext. 25311) -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From d.vinson at ucl.ac.uk Sat Feb 11 10:56:10 2012 From: d.vinson at ucl.ac.uk (David Vinson) Date: Sat, 11 Feb 2012 10:56:10 +0000 Subject: Running a new procedure after fixed number of trials In-Reply-To: <4F364689.60406@ucl.ac.uk> Message-ID: Oops I made a slight error in my previous mail - the inline code as written would run the procedure on every trial *except* 30...60...90 etc. = should be >. -dv On 11/02/2012 10:44, David Vinson wrote: > Hi Christina, > > This is a common situation, for example when inserting a break every N > trials. > > The easiest way I've found to do it is to insert that procedure > ("NewProc") as if it occurred every trial, then add a Label > immediately after it ("JumpToLabel"). Then right before the procedure > add an inline to check the sample number and go to the "JumpToLabel" > (thus skipping past NewProc) unless it meets your requirements > > If c.GetAttrib(c.GetAttrib("Running") & ".Sample") MOD 30 = 0 Then > goto JumpToLabel > End If > > There's a sample experiment on the e-prime support site, > http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=33 > which does a similar thing, instead by running a procedure that sits > outside of the main experiment procedure (Unreferenced Objects) - in > this case the input masks would need to be set with an additional line > in inline code (see the sample InsertPause.es for more info). > > One note - if your inserted procedure is something that logs data > (e.g. *.ACC etc) you may need to clear these values on instances in > which the event is skipped - otherwise they may inherit the values > from the last trial in which NewProc was run. > > hope this helps, > -dv > > > On 10/02/2012 18:26, Christina B Young wrote: >> Hello, >> I am running into a problem that hopefully has a straight-forward >> solution. In my experiment, I have 90 trials that occur in random >> order and the randomization is critical. However, after the 30ths and >> 60th trial, I would like to add a new procedure, but then have the >> experiment continue with the original trials. So the order would be: >> 29th trial, 30th trial, new procedure, 31st trial, 32nd trial, etc. >> Does anyone have any ideas on how to do this? Thanks! >> >> Christina >> > -- David Vinson, Ph.D. Senior Postdoctoral Researcher Cognitive, Perceptual and Brain Sciences Research Department University College London 26 Bedford Way, London WC1H 0AP Tel +44 (0)20 7679 5311 (UCL internal ext. 25311) -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Sat Feb 11 11:23:35 2012 From: liwenna at gmail.com (liwenna) Date: Sat, 11 Feb 2012 03:23:35 -0800 Subject: Extended reaction and accuracy In-Reply-To: <754f3d1e-58f6-4c2e-a39d-8c24655a46b0@c6g2000vbk.googlegroups.com> Message-ID: Hi Max, Your code sets l to 3 only if slide1.acc is 1, which only happens if the response is given during the presentation time of slide1. Simply modifying the script so that a correct response given during slide2 does also modifies 'l', should solve it, it believe. However, you can not use the exact same code, because then 'l' would be set back to 4 (after being toggled to 3) if the correct response was made during slide1. So rather set 'l' to 4 and toggle it to 3 in case of a correct response during either slide1 or slide 2: -------- l=4 if c.getattrib("Slide1.acc") = 1 then l=3 if c.getattrib("Slide2.acc") = 1 then l=3 ------- Best, AW On 10 feb, 13:27, Maria wrote: > Good morning! > > We have the following strange problem: > > We sat the "time limit" for reactions (=2000ms) longer than the > presentation time of the slide1(1000ms) (at which should be reacted > and which was followed by a slide2 (1000ms)) and asked in a later > inline > > ----------------- > > if c.getattrib("Slide1.acc") = 1 then > > l=3 > > end if > > if c.getattrib("Slide1.acc") = 0 then > > l=4 > > end if > debug.print l > > --------------------------- > > In trials, where the reaction time was longer than the presentation > time of the first slide (reaction during slide2) the "l" was set 4, > even in correct cases. > > We need the accuracyinformation at this point of the experiment to > send triggers. > > Is there anyone who had the same problem before? > Thanks for any answer, we have no idea... > > Best wishes, > > Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From maria.richter.mail at googlemail.com Sat Feb 11 13:25:11 2012 From: maria.richter.mail at googlemail.com (Maria) Date: Sat, 11 Feb 2012 05:25:11 -0800 Subject: Extended reaction and accuracy In-Reply-To: <754f3d1e-58f6-4c2e-a39d-8c24655a46b0@c6g2000vbk.googlegroups.com> Message-ID: Thanks liwenna for answering. Of course, if you set the property ?Time Limit? to ?same as duration? of both slides an combine the accuracy of Slide1.acc and Slide2.acc it works fine. The problem is that we distinguish between ?correct response?, ?false response? and ?no response? and even with only 2 Slides during the subject can react; there are 9 different combinations of possible reactions we have to regard (e.g. the subject could react wrong during Slide1 and try to undo it and press the right key at slide2?). The more slides where the response can be given, the more possibilities and if the duration of the slides are variable, it is not possible (or very complicate) to calculate the accuracy if the time for reaction should be a fix interval. The easiest way is to set the property ?time limit? of Slide1 longer than the presentation of Slide1. And it works if you look at the data of the results-file, the accuracies (Slide1.acc) and given responses (Slide1.resp) are correct. But if we tried to send a trigger depending on Slide1.acc, it doesn?t work if the reaction time is longer than the duration (but in the result file Slide1.acc is correct even if the reaction time is longer than the duration of Slide1). (Of course, we took care that we use Slide1.Acc only when the time limit for reaction is over). Our hypothesis is that if you use a time limit for reactions longer than the presentation of a slide (and the reaction is given after the duration of the slide but during the allowed time for reaction), then the properties Slide1.acc and Slide1.resp will be set at the end of a trial into the list. So Slide1.acc is not available during the trial (and so we can?t use it for sending a trigger). What would help us is some code that set the properties Slide1.acc and Slide1.resp into the list before ending a trial or a code that we can use the properties Slide1.acc and Slide1.resp of the previous trial (then we would sent the current accuracy during the next trial). And perhaps there is also a solution we not thought about? Thanks for any help, Max On 10 Feb., 13:27, Maria wrote: > Good morning! > > We have the following strange problem: > > We sat the "time limit" for reactions (=2000ms) longer than the > presentation time of the slide1(1000ms) (at which should be reacted > and which was followed by a slide2 (1000ms)) and asked in a later > inline > > ----------------- > > if c.getattrib("Slide1.acc") = 1 then > > l=3 > > end if > > if c.getattrib("Slide1.acc") = 0 then > > l=4 > > end if > debug.print l > > --------------------------- > > In trials, where the reaction time was longer than the presentation > time of the first slide (reaction during slide2) the "l" was set 4, > even in correct cases. > > We need the accuracyinformation at this point of the experiment to > send triggers. > > Is there anyone who had the same problem before? > Thanks for any answer, we have no idea... > > Best wishes, > > Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 Sat Feb 11 19:32:14 2012 From: liwenna at gmail.com (liwenna) Date: Sat, 11 Feb 2012 11:32:14 -0800 Subject: Extended reaction and accuracy In-Reply-To: <6c890573-69f6-411f-9e71-ec8f0abe9de0@f30g2000yqh.googlegroups.com> Message-ID: Thanks for the more complicated set-up info. Hmmmz Could it be that the inline is placed directly following slide1? And that therefore the inline script is already executed before the end of the extended reaction period, thereby not taking into account responses made during the extended response time? (rather than the .acc and .resp attributes being set at the end of the trial, I have no e-prime at home to fiddle with and I'd like to take you on your word, but it sounds a bit 'un-e- primey' to me) Is it needed that the trigger is sent immediatly following the correct response? (since you mention the option of a false response followed by a correct response, would you also take into account a correct response correct by a false response, in which case I suppose no trigger should be sent?) If false corrections do not need to be taken into account, you could perhaps do something with a 'do while' loop that continuously monitors slide1.resp and initiates the trigger the moment that slide1.resp = slide1.cresp? On 11 feb, 14:25, Maria wrote: > Thanks liwenna for answering. > > Of course, if you set the property ?Time Limit? to ?same as duration? > of both slides an combine the accuracy of Slide1.acc and Slide2.acc it > works fine. The problem is that we distinguish between ?correct > response?, ?false response? and ?no response? and even with only 2 > Slides during the subject can react; there are 9 different > combinations of possible reactions we have to regard (e.g. the subject > could react wrong during Slide1 and try to undo it and press the right > key at slide2?). The more slides where the response can be given, the > more possibilities and if the duration of the slides are variable, it > is not possible (or very complicate) to calculate the accuracy if the > time for reaction should be a fix interval. > > The easiest way is to set the property ?time limit? of Slide1 longer > than the presentation of Slide1. And it works if you look at the data > of the results-file, the accuracies (Slide1.acc) and given responses > (Slide1.resp) are correct. But if we tried to send a trigger depending > on Slide1.acc, it doesn?t work if the reaction time is longer than the > duration (but in the result file Slide1.acc is correct even if the > reaction time is longer than the duration of Slide1). (Of course, we > took care that we use Slide1.Acc only when the time limit for reaction > is over). > > Our hypothesis is that if you use a time limit for reactions longer > than the presentation of a slide (and the reaction is given after the > duration of the slide but during the allowed time for reaction), then > the properties Slide1.acc and Slide1.resp will be set at the end of a > trial into the list. So Slide1.acc is not available during the trial > (and so we can?t use it for sending a trigger). What would help us is > some code that set the properties Slide1.acc and Slide1.resp into the > list before ending a trial or a code that we can use the properties > Slide1.acc and Slide1.resp of the previous trial (then we would sent > the current accuracy during the next trial). And perhaps there is also > a solution we not thought about? > > Thanks for any help, > Max > > On 10 Feb., 13:27, Maria wrote: > > > Good morning! > > > We have the following strange problem: > > > We sat the "time limit" for reactions (=2000ms) longer than the > > presentation time of the slide1(1000ms) (at which should be reacted > > and which was followed by a slide2 (1000ms)) and asked in a later > > inline > > > ----------------- > > > if c.getattrib("Slide1.acc") = 1 then > > > l=3 > > > end if > > > if c.getattrib("Slide1.acc") = 0 then > > > l=4 > > > end if > > debug.print l > > > --------------------------- > > > In trials, where the reaction time was longer than the presentation > > time of the first slide (reaction during slide2) the "l" was set 4, > > even in correct cases. > > > We need the accuracyinformation at this point of the experiment to > > send triggers. > > > Is there anyone who had the same problem before? > > Thanks for any answer, we have no idea... > > > Best wishes, > > > Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 Sat Feb 11 19:41:01 2012 From: liwenna at gmail.com (liwenna) Date: Sat, 11 Feb 2012 11:41:01 -0800 Subject: Extended reaction and accuracy In-Reply-To: <1b559506-d147-47d7-bd79-b6338aedd7fa@db5g2000vbb.googlegroups.com> Message-ID: Oh dear, it seems I answered too fast. (Of course, we took care that we use Slide1.Acc only when the time limit for reaction is over). ^ I take it that that is the answer to my question already, sorry for that. Still the do-while-loop suggestions stands, I think. There is one thing that I do not understand though: if I understood you correctly, the extended reaction time for slide1 overlaps with the display time of slide2? Yet you wish to distinguish between responses (either correct or false) made during slide1 and slide2. Did I understand that correctly? (probably not?). On 11 feb, 20:32, liwenna wrote: > Thanks for the more complicated set-up info. Hmmmz ?Could it be that > the inline is placed directly following slide1? And that therefore the > inline script is already executed before the end of the extended > reaction period, thereby not taking into account responses made during > the extended response time? (rather than the .acc and .resp attributes > being set at the end of the trial, I have no e-prime at home to fiddle > with and I'd like to take you on your word, but it sounds a bit 'un-e- > primey' to me) > > Is it needed that the trigger is sent immediatly following the correct > response? (since you mention the option of a false response followed > by a correct response, would you also take into account a correct > response correct by a false response, in which case I suppose no > trigger should be sent?) If false corrections do not need to be taken > into account, you could perhaps do something with a 'do while' loop > that continuously monitors slide1.resp and initiates the trigger the > moment that slide1.resp = slide1.cresp? > > On 11 feb, 14:25, Maria wrote: > > > Thanks liwenna for answering. > > > Of course, if you set the property ?Time Limit? to ?same as duration? > > of both slides an combine the accuracy of Slide1.acc and Slide2.acc it > > works fine. The problem is that we distinguish between ?correct > > response?, ?false response? and ?no response? and even with only 2 > > Slides during the subject can react; there are 9 different > > combinations of possible reactions we have to regard (e.g. the subject > > could react wrong during Slide1 and try to undo it and press the right > > key at slide2?). The more slides where the response can be given, the > > more possibilities and if the duration of the slides are variable, it > > is not possible (or very complicate) to calculate the accuracy if the > > time for reaction should be a fix interval. > > > The easiest way is to set the property ?time limit? of Slide1 longer > > than the presentation of Slide1. And it works if you look at the data > > of the results-file, the accuracies (Slide1.acc) and given responses > > (Slide1.resp) are correct. But if we tried to send a trigger depending > > on Slide1.acc, it doesn?t work if the reaction time is longer than the > > duration (but in the result file Slide1.acc is correct even if the > > reaction time is longer than the duration of Slide1). (Of course, we > > took care that we use Slide1.Acc only when the time limit for reaction > > is over). > > > Our hypothesis is that if you use a time limit for reactions longer > > than the presentation of a slide (and the reaction is given after the > > duration of the slide but during the allowed time for reaction), then > > the properties Slide1.acc and Slide1.resp will be set at the end of a > > trial into the list. So Slide1.acc is not available during the trial > > (and so we can?t use it for sending a trigger). What would help us is > > some code that set the properties Slide1.acc and Slide1.resp into the > > list before ending a trial or a code that we can use the properties > > Slide1.acc and Slide1.resp of the previous trial (then we would sent > > the current accuracy during the next trial). And perhaps there is also > > a solution we not thought about? > > > Thanks for any help, > > Max > > > On 10 Feb., 13:27, Maria wrote: > > > > Good morning! > > > > We have the following strange problem: > > > > We sat the "time limit" for reactions (=2000ms) longer than the > > > presentation time of the slide1(1000ms) (at which should be reacted > > > and which was followed by a slide2 (1000ms)) and asked in a later > > > inline > > > > ----------------- > > > > if c.getattrib("Slide1.acc") = 1 then > > > > l=3 > > > > end if > > > > if c.getattrib("Slide1.acc") = 0 then > > > > l=4 > > > > end if > > > debug.print l > > > > --------------------------- > > > > In trials, where the reaction time was longer than the presentation > > > time of the first slide (reaction during slide2) the "l" was set 4, > > > even in correct cases. > > > > We need the accuracyinformation at this point of the experiment to > > > send triggers. > > > > Is there anyone who had the same problem before? > > > Thanks for any answer, we have no idea... > > > > Best wishes, > > > > Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From pfc.groot at gmail.com Sun Feb 12 00:44:31 2012 From: pfc.groot at gmail.com (Paul Groot) Date: Sun, 12 Feb 2012 01:44:31 +0100 Subject: Assigning Hex number In-Reply-To: Message-ID: Hi S, If the address is static throughout the experiment, you could simply declare a constant in the global user section: Const MYPORT% = &H4000 You can then use MYPORT anywhere in your inline scripts. xyz.OnsetSignalEnabled= True xyz.OnsetSignalPort= MYPORT xyz.OnsetSignalData= 25 The conversion to CInt is never required since the hex-value is already interpreted as integer value. cheers Paul -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From rika.plat at gmail.com Mon Feb 13 15:34:38 2012 From: rika.plat at gmail.com (Rika Plat) Date: Mon, 13 Feb 2012 07:34:38 -0800 Subject: recording two sets of reaction times simultaneously Message-ID: Hi all, I would like to run a language experiment using e-prime where I want to record reaction times to spoken responses (so far, so good). I would however also like to have my participant perform a simple task requiring them to push a button at the same time. The instances when they are required to push a button will not be exactly the same as when they are required to give a spoken response. Does anyone know if it is possible to combine these two things (spoken responses and button press responses) in the same experiment and then also record two sets of reaction times? Thanks in advance for any responses! Rika -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From maria.richter.mail at googlemail.com Mon Feb 13 17:16:53 2012 From: maria.richter.mail at googlemail.com (Maria) Date: Mon, 13 Feb 2012 09:16:53 -0800 Subject: Extended reaction and accuracy In-Reply-To: <7e02fd51-56aa-4a80-a6a4-1528f7277c43@t24g2000yqj.googlegroups.com> Message-ID: By testing your suggestion, I figured out that if you use just Slide1.acc and Slide1.resp instead of c.getattrib("Slide1.acc") and c.getattrib("Slide1.resp") it even works when the correct answer is given after the duration of Slide1 ! So thanks for your help ;) Bye for now, Max On 11 Feb., 20:41, liwenna wrote: > Oh dear, it seems I answered too fast. > > (Of course, we > took care that we use Slide1.Acc only when the time limit for reaction > is over). > > ^ I take it that that is the answer to my question already, sorry for > that. > > Still the do-while-loop suggestions stands, I think. > > There is one thing that I do not understand though: if I understood > you correctly, the extended reaction time for slide1 overlaps with the > display time of slide2? Yet you wish to distinguish between responses > (either correct or false) made during slide1 and slide2. Did I > understand that correctly? (probably not?). > > On 11 feb, 20:32, liwenna wrote: > > > > > Thanks for the more complicated set-up info. Hmmmz ?Could it be that > > the inline is placed directly following slide1? And that therefore the > > inline script is already executed before the end of the extended > > reaction period, thereby not taking into account responses made during > > the extended response time? (rather than the .acc and .resp attributes > > being set at the end of the trial, I have no e-prime at home to fiddle > > with and I'd like to take you on your word, but it sounds a bit 'un-e- > > primey' to me) > > > Is it needed that the trigger is sent immediatly following the correct > > response? (since you mention the option of a false response followed > > by a correct response, would you also take into account a correct > > response correct by a false response, in which case I suppose no > > trigger should be sent?) If false corrections do not need to be taken > > into account, you could perhaps do something with a 'do while' loop > > that continuously monitors slide1.resp and initiates the trigger the > > moment that slide1.resp = slide1.cresp? > > > On 11 feb, 14:25, Maria wrote: > > > > Thanks liwenna for answering. > > > > Of course, if you set the property ?Time Limit? to ?same as duration? > > > of both slides an combine the accuracy of Slide1.acc and Slide2.acc it > > > works fine. The problem is that we distinguish between ?correct > > > response?, ?false response? and ?no response? and even with only 2 > > > Slides during the subject can react; there are 9 different > > > combinations of possible reactions we have to regard (e.g. the subject > > > could react wrong during Slide1 and try to undo it and press the right > > > key at slide2?). The more slides where the response can be given, the > > > more possibilities and if the duration of the slides are variable, it > > > is not possible (or very complicate) to calculate the accuracy if the > > > time for reaction should be a fix interval. > > > > The easiest way is to set the property ?time limit? of Slide1 longer > > > than the presentation of Slide1. And it works if you look at the data > > > of the results-file, the accuracies (Slide1.acc) and given responses > > > (Slide1.resp) are correct. But if we tried to send a trigger depending > > > on Slide1.acc, it doesn?t work if the reaction time is longer than the > > > duration (but in the result file Slide1.acc is correct even if the > > > reaction time is longer than the duration of Slide1). (Of course, we > > > took care that we use Slide1.Acc only when the time limit for reaction > > > is over). > > > > Our hypothesis is that if you use a time limit for reactions longer > > > than the presentation of a slide (and the reaction is given after the > > > duration of the slide but during the allowed time for reaction), then > > > the properties Slide1.acc and Slide1.resp will be set at the end of a > > > trial into the list. So Slide1.acc is not available during the trial > > > (and so we can?t use it for sending a trigger). What would help us is > > > some code that set the properties Slide1.acc and Slide1.resp into the > > > list before ending a trial or a code that we can use the properties > > > Slide1.acc and Slide1.resp of the previous trial (then we would sent > > > the current accuracy during the next trial). And perhaps there is also > > > a solution we not thought about? > > > > Thanks for any help, > > > Max > > > > On 10 Feb., 13:27, Maria wrote: > > > > > Good morning! > > > > > We have the following strange problem: > > > > > We sat the "time limit" for reactions (=2000ms) longer than the > > > > presentation time of the slide1(1000ms) (at which should be reacted > > > > and which was followed by a slide2 (1000ms)) and asked in a later > > > > inline > > > > > ----------------- > > > > > if c.getattrib("Slide1.acc") = 1 then > > > > > l=3 > > > > > end if > > > > > if c.getattrib("Slide1.acc") = 0 then > > > > > l=4 > > > > > end if > > > > debug.print l > > > > > --------------------------- > > > > > In trials, where the reaction time was longer than the presentation > > > > time of the first slide (reaction during slide2) the "l" was set 4, > > > > even in correct cases. > > > > > We need the accuracyinformation at this point of the experiment to > > > > send triggers. > > > > > Is there anyone who had the same problem before? > > > > Thanks for any answer, we have no idea... > > > > > Best wishes, > > > > > Max- Zitierten Text ausblenden - > > - Zitierten Text anzeigen - -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From raghav.destiny at gmail.com Wed Feb 15 17:07:05 2012 From: raghav.destiny at gmail.com (Raghav) Date: Wed, 15 Feb 2012 09:07:05 -0800 Subject: Looping Slide States Message-ID: I am trying to create a flicker task (image, blank, changed image, blank..looping continuously) experiment with Eprime and as of now I have a sequence of imagedisplay objects with a Goto statement at the end that goes to a label before the first image. this works perfectly but this Goto statement is interfering with another script that I am trying to run. Is there a better way to loop images? I am using Eprime 2 Is there a way to create a loop of slide states? i.e. Use a sequence of slide states and make the slide go back to the first state when the last state is reached? Any help regarding this would be most appreciated Raghav Sundar -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From raghav.destiny at gmail.com Wed Feb 15 18:21:38 2012 From: raghav.destiny at gmail.com (Raghav) Date: Wed, 15 Feb 2012 10:21:38 -0800 Subject: Running a background script Message-ID: Hello! I have a change detection stimulus set running on Eprime. i.e. image, blank, changed image, blank..looping continuously..as of now I have a sequence of imagedisplay objects with a Goto statement at the end that goes to a label before the first image. This is working perfectly I am trying to run a script parallelly that gets eye gaze data from an eye tracker. This script is a clocked loop that runs every 50 milliseconds and gets data from the tracker and adds an attribute with the timestamp and gazepositions to the trial. I have this script written and it is working nicely on its own. If i try adding an inline object with my eyegaze script (timed loop) anywhere within my change detection stimulus loop, the experiment crashes. How do I run this eye gaze script in the background without disrupting the goto loop of the images? Should I go about creating a subroutine of some sort ? My eye gaze script uses 'c.setattrib' to add colums to my edat file for every eye tracker gaze position of relevance. Any assistance with this would be most appreciated! Raghav Sundar -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mofei at gmx.net Thu Feb 16 02:06:59 2012 From: mofei at gmx.net (Brian Murphy) Date: Wed, 15 Feb 2012 18:06:59 -0800 Subject: meaning of ActionDelay for long audio files Message-ID: Hi, I've been running a MEG audio-book listening experiment. There are several large audio files, each 8-12mins long. Unsurprisingly there are big OnsetDelays in getting these files ready to play, of the order of 1s. But in addition to that, for the first of the trials there is also an ActionDelay, of about 350ms (typically - running the experiment repeatedly I find that it ranges from about 200ms to 900ms). On later trials the ActionDelay is 0ms, or occasionally 1ms. What does this mean? When does the audio track start playing? At OnsetTime or ActionTime? The user guide says that OnsetTime is when the stimulus "actually" begins, but closer reading of the Reference Guide suggests that it might be when *writing of the stimulus to the output device begins*. The ActionTime should be when the "critical action" finishes. What is the critical action when we're talking about sending audio data to the sound card? thanks, Brian -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From ahafri at gmail.com Thu Feb 16 15:38:19 2012 From: ahafri at gmail.com (Alon Hafri) Date: Thu, 16 Feb 2012 07:38:19 -0800 Subject: Looping movie / video Message-ID: Hi everyone, I'd love to get your help with this! We are looking to loop a SlideMovie object until the Enter key is pressed. Meanwhile, the user may type what they see in the video (using the echo response feature of Input Masks). Unlike the SoundOut objects, there is no documentation on MovieDisplay or SlideMovie objects, and so we can't figure out if there are properties that allow this. David McFarlane put in a feature request for this here http://support.pstnet.com/forum/Topic2772-12-1.aspx but until then, I'm wondering if someone could help me figure this out with InLine. With sound objects, you can do it with InLine by playing the soundout object, and then testing for the buffer status (e.g. the following): Do While ... If SoundBuffer.Status = ebBufferStatusStopped Then SoundBuffer.Play Loop Is there an equivalent property for MovieDisplay? Or alternatively, is there a way to test at runtime the length/duration of a movie, so that we can have the program wait that long and then play the movie again? I guess the only other option is to manually code the duration of each video, and then use the InLine to wait that long before replaying the movie. Thanks so much for all your help! Alon keywords: video movie loop slidemovie moviedisplay moviebuffer status -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From sjflanary at gmail.com Thu Feb 16 20:32:55 2012 From: sjflanary at gmail.com (MTsf) Date: Thu, 16 Feb 2012 12:32:55 -0800 Subject: Connecting slides Message-ID: Hi all, I am trying to display a slide that offers a list of choices the participant can click on and it would then connect them to a different page. Is there a way to connect pages like this? If not, is there a way for the person running the experiment (me) to review specific slides (say 18 out of 36) without having to run through all of them again? Any help would be greatly appreciated. Thank you!!!! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu Feb 16 22:58:16 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 16 Feb 2012 17:58:16 -0500 Subject: meaning of ActionDelay for long audio files In-Reply-To: <075761bb-7e51-4183-bc78-b40f84cb4441@t30g2000vbx.googlegro ups.com> Message-ID: Brian, I have tried to untangle this myself, and you can see the result at http://groups.google.com/group/e-prime/browse_thread/thread/39e899d3457d4917 . In my tests, I was never able to get ActionTime to lag more than 1 ms behind OnsetTime, so your report does add something to the discussion. Based on that, I would guess that OnsetTime means, vaguely, when E-Prime first submitted the stimulus data for presentation (e.g., proceeded to copy data to display memory or load a sound buffer), whereas ActionTime means when E-Prime completed this action (e.g., copying data to display memory, or loading a sound or video buffer). Bear in mind after all this that E-Prime indicates only when it has made the information available to the hardware, the hardware itself may impose additional delays beyond the purview of E-Prime. On top of all that, EP2 has had problems playing sound & video under Windows Vista/7, in case that applies to you, although they may have fixed that in the latest release (EP2.0.10.182). Finally, if you really want to know when a stimulus appears relative to other events in your task, you will need to break out an oscilloscope. Anyway, for a more definitive answer, you should submit this issue to PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp (note that I do not work for PST), and point them to this very thread -- they strive to respond to all requests there in 24-48 hours. Or try them at their Facebook page (http://www.facebook.com/pages/Psychology-Software-Tools-Inc/241802160683 ). And then please post back here with their response so that we can all learn. -- David McFarlane, E-Prime Instructor http://psychology.msu.edu/Workshops_Courses/eprime.aspx At 2/15/2012 09:06 PM Wednesday, you wrote: >I've been running a MEG audio-book listening experiment. There are >several large audio files, each 8-12mins long. Unsurprisingly there >are big OnsetDelays in getting these files ready to play, of the order >of 1s. But in addition to that, for the first of the trials there is >also an ActionDelay, of about 350ms (typically - running the >experiment repeatedly I find that it ranges from about 200ms to >900ms). On later trials the ActionDelay is 0ms, or occasionally 1ms. > >What does this mean? When does the audio track start playing? At >OnsetTime or ActionTime? The user guide says that OnsetTime is when >the stimulus "actually" begins, but closer reading of the Reference >Guide suggests that it might be when *writing of the stimulus to the >output device begins*. The ActionTime should be when the "critical >action" finishes. What is the critical action when we're talking about >sending audio data to the sound card? > >thanks, > >Brian -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From michael.steven.franklin at gmail.com Thu Feb 16 23:37:32 2012 From: michael.steven.franklin at gmail.com (michael franklin) Date: Thu, 16 Feb 2012 15:37:32 -0800 Subject: moving backwards through a list Message-ID: Hi All, I'm trying to put together a basic reading experiment, where subjects see words presented in the middle of the screen, one word at a time, pressing spacebar to advance. Simple enough...but I want subjects to be able to go backwards and re-read words if they lose focus, by pressing backspace. Any thoughts on the optimal way to approach this? If they only needed to go back a few words back, I could use 'labels', and have some redundant word columns in the list, but I don't see how this would practical approach if they are allowed to go as far back as they want. Any thoughts would be appreciated! Thanks, Michael -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send 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 sovspape at cognitology.eu Fri Feb 17 08:09:54 2012 From: sovspape at cognitology.eu (MSpape) Date: Fri, 17 Feb 2012 00:09:54 -0800 Subject: moving backwards through a list In-Reply-To: Message-ID: Hi, Moving in different ways through the list can quickly get ugly in E- Prime, I think. Keeping in mind I (still?) don't have E-Prime here, here's one idea (so forgive the syntax errors, there's no way i can check it!): 1. Declare array with words in an inline Dim myWords as String(1 to 3) myWords(1) = "A word" myWords(2) = "Another word" myWords(3) = "Last Word" Dim ShowThisWord as Integer 2. Enter a label: Label1 3. Another inline: ShowThisWord = ShowThisWord + 1 c.SetAttrib "WordToShow", myWords(ShowThisWord) 4. TextDisplay1 with text "[WordToShow]". Duration infinite, allowable keys {LEFT}{RIGHT} (or was it {LEFT-ARROW}, I forgot...). Terminate on press. 5. Last inline IF TextDisplay1.TEXT = "{LEFT}" THEN ShowThisWord = ShowThisWord - 2 IF ShowThisWord = -1 THEN ShowThisWord = 0 'to avoid negative scenarios GOTO Label1 ELSE IF ShowThisWord < 3 THEN GOTO Label1 END IF Alternatively I think it might be possible to something with colon syntax, which would be much more elegant, but I cannot check this. Say, we have the same structure, except MyWords is now a nested list 1. Inline Dim WordToShow as integer WordToShow = 1 2. Label1 3. Another inline: c.SetAttrib "WordToShow", c.GetAttrib("myWords:" & cstr(ShowThisWord)) 4. same 5. Inline: IF TextDisplay1.TEXT = "{LEFT}" THEN ShowThisWord = ShowThisWord - 1 IF ShowThisWord = 0 THEN ShowThisWord = 1 'to avoid negative scenarios GOTO Label1 ELSE ShowThisWord = ShowThisWord + 1 IF ShowThisWord <= 3 THEN GOTO Label1 END IF More elegant, I think, but not sure whether one could hack into this colon syntax like this... HTH, Mich From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of michael franklin Sent: 17 February 2012 01:38 To: e-prime at googlegroups.com Subject: moving backwards through a list Hi All, -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From reiss_jason%wheatoncollege.edu at gtempaccount.com Fri Feb 17 14:07:24 2012 From: reiss_jason%wheatoncollege.edu at gtempaccount.com (Jason E. Reiss) Date: Fri, 17 Feb 2012 06:07:24 -0800 Subject: ISCAN eye tracker Message-ID: E-Prime Group I recently purchased an ISCAN eye tracker and now I'm looking for any E-prime resources for calibration, tracking, or data processing, with this system. If anyone has something that they could provide (or knows of someone that I should contact), I would greatly appreciate it. FYI: I am communicating with E-prime through a serial connection. Thank you very much :) Jason Reiss -- **************************************************************************** Jason E. Reiss, Ph.D. Department of Psychology Wheaton College 26 East Main Street Norton, MA 02766-2322 Office: 1136 Mars Center for Science & Technology (508-286-3636) Research Lab: 1106 Mars Center for Science & Technology E-mail: reiss_jason at wheatoncollege.edu Website: http://wheatoncollege.edu/Faculty/JasonEReiss.html **************************************************************************** -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From ahafri at gmail.com Fri Feb 17 16:31:26 2012 From: ahafri at gmail.com (Alon Hafri) Date: Fri, 17 Feb 2012 08:31:26 -0800 Subject: Looping movie / video In-Reply-To: Message-ID: Well an update on my own post in case anyone's interested -- got it to work by running a While loop and starting the clip over if it reached the duration threshold for the video. First, set the Slide or MovieDisplay object duration to 0, with the video setting StopAfter set to "No" and EndMovieAction set to "none". Also make sure the slide's setting for "ClearAfter" is set to "No". Then put the following InLine after the Slide or MovieDisplay object, substituting the relevant names: Dim Vid1 As SlideMovie 'or as MovieDisplay object, as the case may be Set Vid1 = CSlideMovie(yourSlide.States("Default").Objects("Movie")) 'instead of "yourSlide" put in your slide's name, or if it's a moviedisplay object named "MovieObject", just do "Set Vid1 = MovieObject" Dim lngVideoOnsetTime As Long lngVideoOnsetTime = Clock.Read Do While... 'set the condition for the loop to end here If Clock.Read > lngVideoOnsetTime + [insert video duration here in msec] Then Vid1.Load Vid1.Play lngVideoOnsetTime = Clock.Read End If [insert other relevant loop code here] Loop Vid1.Stop Set Vid1 = Nothing You'll need to know your video's duration. If it's a variable duration depending on the trial, then you can add an attribute to the list called "VideoDuration", and then replace the part in brackets above about duration with CLng(c.GetAttrib("VideoDuration")). Hope that helps -- if anyone knows how to loop a video in an easier way, please post. Or if you know how to automatically read in the video's duration so having a manually specified attribute "VideoDuration" is not needed. Alon On Feb 16, 10:38?am, Alon Hafri wrote: > Hi everyone, > > I'd love to get your help with this! We are looking to loop a > SlideMovie object until the Enter key is pressed. Meanwhile, the user > may type what they see in the video (using the echo response feature > of Input Masks). > > Unlike the SoundOut objects, there is no documentation on MovieDisplay > or SlideMovie objects, and so we can't figure out if there are > properties that allow this. David McFarlane put in a feature request > for this herehttp://support.pstnet.com/forum/Topic2772-12-1.aspxbut > until then, I'm wondering if someone could help me figure this out > with InLine. > > With sound objects, you can do it with InLine by playing the soundout > object, and then testing for the buffer status (e.g. the following): > Do While ... > ? ?If SoundBuffer.Status = ebBufferStatusStopped Then SoundBuffer.Play > Loop > > Is there an equivalent property for MovieDisplay? Or alternatively, is > there a way to test at runtime the length/duration of a movie, so that > we can have the program wait that long and then play the movie again? > I guess the only other option is to manually code the duration of each > video, and then use the InLine to wait that long before replaying the > movie. > > Thanks so much for all your help! > Alon > > keywords: video movie loop slidemovie moviedisplay moviebuffer status -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 17 18:11:50 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 17 Feb 2012 13:11:50 -0500 Subject: meaning of ActionDelay for long audio files In-Reply-To: <4f3d8a27.c45f320a.1564.ffffb6c9SMTPIN_ADDED@gmr-mx.google. com> Message-ID: Brian, As to reducing the latency for the onset of your sound stimuli... I have just been catching up on the improvements made in EP2.0.10.182, and noticed the new SoundTester application, documented at http://www.pstnet.com/support/kb.asp?TopicID=4348 . This may help if you are using EP2 under Vista/7. -- David McFarlane, E-Prime Instructor http://psychology.msu.edu/Workshops_Courses/eprime.aspx At 2/16/2012 05:58 PM Thursday, you wrote: >Brian, > >I have tried to untangle this myself, and you can see the result at >http://groups.google.com/group/e-prime/browse_thread/thread/39e899d3457d4917 >. In my tests, I was never able to get ActionTime to lag more than >1 ms behind OnsetTime, so your report does add something to the >discussion. Based on that, I would guess that OnsetTime means, >vaguely, when E-Prime first submitted the stimulus data for >presentation (e.g., proceeded to copy data to display memory or load >a sound buffer), whereas ActionTime means when E-Prime completed >this action (e.g., copying data to display memory, or loading a >sound or video buffer). > >Bear in mind after all this that E-Prime indicates only when it has >made the information available to the hardware, the hardware itself >may impose additional delays beyond the purview of E-Prime. On top >of all that, EP2 has had problems playing sound & video under >Windows Vista/7, in case that applies to you, although they may have >fixed that in the latest release (EP2.0.10.182). Finally, if you >really want to know when a stimulus appears relative to other events >in your task, you will need to break out an oscilloscope. > >Anyway, for a more definitive answer, you should submit this issue >to PST Web Support at >http://support.pstnet.com/e%2Dprime/support/login.asp (note that I >do not work for PST), and point them to this very thread -- they >strive to respond to all requests there in 24-48 hours. Or try them >at their Facebook page >(http://www.facebook.com/pages/Psychology-Software-Tools-Inc/241802160683 >). And then please post back here with their response so that we >can all learn. > >-- David McFarlane, E-Prime Instructor > http://psychology.msu.edu/Workshops_Courses/eprime.aspx > > >At 2/15/2012 09:06 PM Wednesday, you wrote: >>I've been running a MEG audio-book listening experiment. There are >>several large audio files, each 8-12mins long. Unsurprisingly there >>are big OnsetDelays in getting these files ready to play, of the order >>of 1s. But in addition to that, for the first of the trials there is >>also an ActionDelay, of about 350ms (typically - running the >>experiment repeatedly I find that it ranges from about 200ms to >>900ms). On later trials the ActionDelay is 0ms, or occasionally 1ms. >> >>What does this mean? When does the audio track start playing? At >>OnsetTime or ActionTime? The user guide says that OnsetTime is when >>the stimulus "actually" begins, but closer reading of the Reference >>Guide suggests that it might be when *writing of the stimulus to the >>output device begins*. The ActionTime should be when the "critical >>action" finishes. What is the critical action when we're talking about >>sending audio data to the sound card? >> >>thanks, >> >>Brian -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From michael.steven.franklin at gmail.com Fri Feb 17 18:27:24 2012 From: michael.steven.franklin at gmail.com (michael franklin) Date: Fri, 17 Feb 2012 10:27:24 -0800 Subject: moving backwards through a list In-Reply-To: Message-ID: Hi Mich, Thanks so much for the detailed response...I'll give the first option a go...I think it should work! Best, Michael On Fri, Feb 17, 2012 at 12:09 AM, MSpape wrote: > Hi, > > Moving in different ways through the list can quickly get ugly in E- > Prime, I > think. Keeping in mind I (still?) don't have E-Prime here, here's one > idea > (so forgive the syntax errors, there's no way i can check it!): > > 1. Declare array with words in an inline > > Dim myWords as String(1 to 3) > myWords(1) = "A word" > myWords(2) = "Another word" > myWords(3) = "Last Word" > Dim ShowThisWord as Integer > > 2. Enter a label: Label1 > 3. Another inline: > ShowThisWord = ShowThisWord + 1 > c.SetAttrib "WordToShow", myWords(ShowThisWord) > 4. TextDisplay1 with text "[WordToShow]". Duration infinite, allowable > keys > {LEFT}{RIGHT} (or was it {LEFT-ARROW}, I forgot...). Terminate on > press. > 5. Last inline > IF TextDisplay1.TEXT = "{LEFT}" THEN > ShowThisWord = ShowThisWord - 2 > IF ShowThisWord = -1 THEN ShowThisWord = 0 'to avoid > negative scenarios > GOTO Label1 > ELSE > IF ShowThisWord < 3 THEN GOTO Label1 > END IF > > Alternatively I think it might be possible to something with colon > syntax, > which would be much more elegant, but I cannot check this. Say, we > have the > same structure, except MyWords is now a nested list 1. Inline > > Dim WordToShow as integer > WordToShow = 1 > 2. Label1 > 3. Another inline: > c.SetAttrib "WordToShow", c.GetAttrib("myWords:" & cstr(ShowThisWord)) > 4. same > 5. Inline: > IF TextDisplay1.TEXT = "{LEFT}" THEN > ShowThisWord = ShowThisWord - 1 > IF ShowThisWord = 0 THEN ShowThisWord = 1 'to avoid > negative scenarios > GOTO Label1 > ELSE > ShowThisWord = ShowThisWord + 1 > IF ShowThisWord <= 3 THEN GOTO Label1 > END IF > > More elegant, I think, but not sure whether one could hack into this > colon > syntax like this... > > HTH, > > Mich > > > > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On > Behalf > Of michael franklin > Sent: 17 February 2012 01:38 > To: e-prime at googlegroups.com > Subject: moving backwards through a list > > > > Hi All, > > -- > You received this message because you are subscribed to the Google Groups > "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to > e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/e-prime?hl=en. > > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mofei at gmx.net Fri Feb 17 23:22:35 2012 From: mofei at gmx.net (Brian Murphy) Date: Fri, 17 Feb 2012 15:22:35 -0800 Subject: meaning of ActionDelay for long audio files In-Reply-To: <4f3e986b.e5d9320a.7263.fffff6e8SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hi David, thanks very much for your response. I had read your earlier posting about the meaning of the different logged time attributes. I'll take your advice now to write to PST support directly, and then post their response to the list. For my future experiments, we're going to route the sound-card output back into my MEG recording equipment, so that there is no doubt when play-back starts, but I have several experiments-worth of data which I don't want to have to bin because of dodgy timing! best, Brian -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From erin.siebert at gmail.com Fri Feb 17 23:46:42 2012 From: erin.siebert at gmail.com (Erin) Date: Fri, 17 Feb 2012 15:46:42 -0800 Subject: sending com port command Message-ID: I am trying to send a command to an external device via a usb connection. The external device is an ADU200 USB Relay I/O Interface (http://www.ontrak.net/ADUcommands.htm). This is a control box which triggers an automatic feeder for our monkeys. Using the control box's test software, I can trigger the auto feeder by sending the control box the command "sk0." So, I know I need E-Prime to send the command "sk0" to the ADU200 control box via a usb COM port. I have read the E-Prime help, and it appears it is difficult to send a non binary message via a com port (the WritePort command). It is possible I may need to use something called a Declare Statement, which is done outside of E-Prime. However, I am hoping this is not necessary. Reading the OnTrak help, it appear a Visual Basic code similar to MSComm1.Output = "sk0" would work (http://www.ontrak.net/visual.htm), however this does not appear to be an option in E-Prime. Any pointers would be very appreciated. Thank you! Erin -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From cbyoung89 at gmail.com Sat Feb 18 22:41:03 2012 From: cbyoung89 at gmail.com (Christina) Date: Sat, 18 Feb 2012 14:41:03 -0800 Subject: Running a new procedure after fixed number of trials In-Reply-To: <4F36494A.20306@ucl.ac.uk> Message-ID: Thank you!!! On Feb 11, 4:56?am, David Vinson wrote: > Oops I made a slight error in my previous mail - the inline code as > written would run the procedure on every trial *except* 30...60...90 > etc. ?= should be >. > > -dv > > On 11/02/2012 10:44, David Vinson wrote: > > > > > > > > > > > Hi Christina, > > > This is a common situation, for example when inserting a break every N > > trials. > > > The easiest way I've found to do it is to insert that procedure > > ("NewProc") as if it occurred every trial, then add a Label > > immediately after it ("JumpToLabel"). ?Then right before the procedure > > add an inline to check the sample number and go to the "JumpToLabel" > > (thus skipping past NewProc) unless it meets your requirements > > > If c.GetAttrib(c.GetAttrib("Running") & ".Sample") ?MOD 30 = 0 Then > > ? goto JumpToLabel > > End If > > > There's a sample experiment on the e-prime support site, > >http://www.pstnet.com/support/samples.asp?Mode=View&SampleID=33 > > which does a similar thing, instead by running a procedure that sits > > outside of the main experiment procedure (Unreferenced Objects) - in > > this case the input masks would need to be set with an additional line > > in inline code (see the sample InsertPause.es for more info). > > > One note - if your inserted procedure is something that logs data > > (e.g. *.ACC etc) you may need to clear these values on instances in > > which the event is skipped - otherwise they may inherit the values > > from the last trial in which NewProc was run. > > > hope this helps, > > -dv > > > On 10/02/2012 18:26, Christina B Young wrote: > >> Hello, > >> I am running into a problem that hopefully has a straight-forward > >> solution. ?In my experiment, I have 90 trials that occur in random > >> order and the randomization is critical. ?However, after the 30ths and > >> 60th trial, I would like to add a new procedure, but then have the > >> experiment continue with the original trials. ?So the order would be: > >> 29th trial, 30th trial, new procedure, 31st trial, 32nd trial, etc. > >> Does anyone have any ideas on how to do this? ?Thanks! > > >> Christina > > -- > David Vinson, Ph.D. > Senior Postdoctoral Researcher > Cognitive, Perceptual and Brain Sciences Research Department > University College London > 26 Bedford Way, London WC1H 0AP > Tel +44 (0)20 7679 5311 ?(UCL internal ext. 25311) -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From pfc.groot at gmail.com Mon Feb 20 20:47:47 2012 From: pfc.groot at gmail.com (Paul Groot) Date: Mon, 20 Feb 2012 21:47:47 +0100 Subject: sending com port command In-Reply-To: <7bf47598-614d-4e90-a161-1d7c9483b2ad@c21g2000yqi.googlegroups.com> Message-ID: Hi Erin, Although, in theory, it would be possible to use the WritePort command to send bytes to a classical serial (non-USB) RS232 port, it is definitely not the way to go. Instead you should use a SerialDevice object to communicate with a COM port. The easiest way is to add such a Serial device in the following dialog: E-Studio>Menu>Edit>Experiment>Devices>Add Serial. The default setting should be OK (9600bps, 8bit, no parity, 1 stopbit). When you add this device, EPrime will add a global SerialDevice object variable to your script. The name of this variable will be 'Serial' if there is only one serial device. The next thing you should do is to add a single line of inline script to send the command: SerialDevice.WriteString "sk0" & ebCr The ebCr constant is a cariage return that is probably required by the device. I'm not sure if the external device also needs to be initialised first (by sending "CPA00000000" for example), but that's up to you to find out ;-) Hope this helps, Paul 2012/2/18 Erin : > I am trying to send a command to an external device via a usb > connection. ?The external device is an ADU200 USB Relay I/O Interface > (http://www.ontrak.net/ADUcommands.htm). ?This is a control box which > triggers an automatic feeder for our monkeys. ?Using the control box's > test software, I can trigger the auto feeder by sending the control > box the command "sk0." ?So, I know I need E-Prime to send the command > "sk0" to the ADU200 control box via a usb COM port. > > I have read the E-Prime help, and it appears it is difficult to send a > non binary message via a com port (the WritePort command). ?It is > possible I may need to use something called a Declare Statement, which > is done outside of E-Prime. ?However, I am hoping this is not > necessary. > > Reading the OnTrak help, it appear a Visual Basic code similar to > MSComm1.Output = "sk0" would work (http://www.ontrak.net/visual.htm), > however this does not appear to be an option in E-Prime. > > Any pointers would be very appreciated. ?Thank you! > > Erin > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From pfc.groot at gmail.com Mon Feb 20 21:26:21 2012 From: pfc.groot at gmail.com (Paul Groot) Date: Mon, 20 Feb 2012 22:26:21 +0100 Subject: moving backwards through a list In-Reply-To: Message-ID: Hi Michael, This is probably not exactly what you were aiming for, but several years ago I created an eprime script that was used for 'masked reading'. Anyway, useful or not, I just uploaded it for anybody who might be interested: http://www.pfcgroot.nl/e-prime/84-full-scripts/82-masked-reading.html Cheers, Paul 2012/2/17 michael franklin : > Hi All, > I'm trying to put together a basic reading experiment, where subjects > see words presented in the middle of the screen, one word at a time, > pressing spacebar to advance. Simple enough...but I want subjects to be > able to go backwards and re-read words if they lose focus, by pressing > backspace. Any thoughts on the optimal way to approach this? If they > only needed to go back a few words back, I could use 'labels', and have > some redundant word columns in the list, but I don't see how this would > practical approach if they are allowed to go as far back as they want. > > Any thoughts would be appreciated! > > Thanks, > Michael > > -- > You received this message because you are subscribed to the Google Groups > "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to > e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/e-prime?hl=en. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From marylandncdl at gmail.com Tue Feb 21 00:01:02 2012 From: marylandncdl at gmail.com (UMD NCDL) Date: Mon, 20 Feb 2012 16:01:02 -0800 Subject: Recording multiple responses before stimulus terminates Message-ID: Hi all, I am attempting to make a habituation paradigm with E-Prime. In order to do so, I need to log multiple responses. Using the samples from E- Primes website I have my program recording multiple responses and recording button presses and releases. What I need E-Prime to do is calculate the difference between a button press "N" and release "{- N}"and terminate the presentation of a movie display when the time after N is pressed is >= 2000 ms. I have had the program record the multiple responses and stop cycling the video when the difference between two responses is > 2000 ms, but it does not stop until the end of the video. I need it to terminate during the video! When the max count = 2, then the video will stop after 2 consecutive seconds. However, infants will look to/away from the screen multiple times, so I need to record multiple responses. My guess is that the problem is occuring because the responses are not logged until the max count is reached. How can I tell E-Prime to log/ use responses prior to reaching the max count? Here's my code so far: Dim theResponseObject As RteRunnableInputObject Set theResponseObject = CRteRunnableInputObject(Rte.GetObject("Fam1Video")) 'Counter variable for the number of responses made Dim nPressCount As Long 'Counter variable Dim nIndex as Integer 'Enumerate through the response collection 'If any of the responses were made by the keyboard, display 'the statistics to the user. For nIndex = 1 To theResponseObject.InputMasks.Responses.Count 'Set theKeyboardResponseData equal to the current keyboard response Dim theKeyboardResponseData As KeyboardResponseData Set theKeyboardResponseData = CKeyboardResponseData(theResponseObject.InputMasks.Responses(nIndex)) If Not theKeyboardResponseData Is Nothing Then 'Log reaction time and response for each key press. c.SetAttrib "KeyPress" & nIndex & "RT", theKeyboardResponseData.RT c.SetAttrib "KeyPress" & nIndex & "RESP", theKeyboardResponseData.RESP End if next 'nIndex For nIndex = 2 to theResponseObject.InputMasks.Responses.Count If c.GetAttrib("KeyPress" & nIndex & "RT") - c.GetAttrib("KeyPress" & nIndex-1 & "RT") > 2000 Then Familiarization1.Terminate Next Thank you, Leslie Rollins -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From erin.siebert at gmail.com Tue Feb 21 00:07:26 2012 From: erin.siebert at gmail.com (Erin) Date: Mon, 20 Feb 2012 16:07:26 -0800 Subject: sending com port command In-Reply-To: Message-ID: Thanks for the info Paul. I was thinking something like that may work. In the past, I have successfully triggered a serial port pump (via a usb to 9-pin serial port converter) in E-Prime sending text commands using a serial.writestring inline. (I installed a driver for the computer to recognize the serial-usb converter as a serial com port.) However, the equipment I am currently working with is a usb to usb connection, and E-Prime does not recognize it as a serial port. When I run the experiment with a serial device added, I get an "unable to open port" error, even when I go through and try every com port. Is there a way to send this signal through a traditional USB connection? thanks! Erin On Feb 20, 3:47?pm, Paul Groot wrote: > Hi Erin, > > Although, in theory, it would be possible to use the WritePort command > to send bytes to a classicalserial(non-USB) RS232 port, it is > definitely not the way to go. Instead you should use a SerialDevice > object to communicate with a COM port. The easiest way is to add such > aSerialdevice in the following dialog: > E-Studio>Menu>Edit>Experiment>Devices>AddSerial. The default setting > should be OK (9600bps, 8bit, no parity, 1 stopbit). When you add this > device, EPrime will add a global SerialDevice object variable to your > script. The name of this variable will be 'Serial' if there is only > oneserialdevice. > > The next thing you should do is to add a single line of inline script > to send the command: > > SerialDevice.WriteString "sk0" & ebCr > > The ebCr constant is a cariage return that is probably required by the device. > > I'm not sure if the external device also needs to be initialised first > (by sending "CPA00000000" for example), but that's up to you to find > out ;-) > > Hope this helps, > Paul > > 2012/2/18 Erin : > > > I am trying to send a command to an external device via ausb > > connection. ?The external device is an ADU200USBRelay I/O Interface > > (http://www.ontrak.net/ADUcommands.htm). ?This is a control box which > > triggers an automatic feeder for our monkeys. ?Using the control box's > > test software, I can trigger the auto feeder by sending the control > > box the command "sk0." ?So, I know I need E-Prime to send the command > > "sk0" to the ADU200 control box via ausbCOM port. > > > I have read the E-Prime help, and it appears it is difficult to send a > > non binary message via a com port (the WritePort command). ?It is > > possible I may need to use something called a Declare Statement, which > > is done outside of E-Prime. ?However, I am hoping this is not > > necessary. > > > Reading the OnTrak help, it appear a Visual Basic code similar to > > MSComm1.Output = "sk0" would work (http://www.ontrak.net/visual.htm), > > however this does not appear to be an option in E-Prime. > > > Any pointers would be very appreciated. ?Thank you! > > > Erin > > > -- > > You received this message because you are subscribed to the Google Groups "E-Prime" group. > > To post to this group, send email to e-prime at googlegroups.com. > > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From reiss_jason%wheatoncollege.edu at gtempaccount.com Tue Feb 21 19:06:03 2012 From: reiss_jason%wheatoncollege.edu at gtempaccount.com (Jason E. Reiss) Date: Tue, 21 Feb 2012 11:06:03 -0800 Subject: Using a epk file in E-prime 2 Message-ID: Someone sent me an .epk package file that they created using E-prime 1. Does anyone know how to convert this file so that I can use/edit it in E-prime 2? Thank you Jason Reiss -- **************************************************************************** Jason E. Reiss, Ph.D. Department of Psychology Wheaton College 26 East Main Street Norton, MA 02766-2322 Office: 1136 Mars Center for Science & Technology (508-286-3636) Research Lab: 1106 Mars Center for Science & Technology E-mail: reiss_jason at wheatoncollege.edu Website: http://wheatoncollege.edu/Faculty/JasonEReiss.html **************************************************************************** -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 21 19:40:05 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 21 Feb 2012 14:40:05 -0500 Subject: Using a epk file in E-prime 2 In-Reply-To: <7fdfef5e-297a-462b-9915-f24a3352c0b4@l16g2000vbl.googlegro ups.com> Message-ID: Jason, You should submit this to PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp . They should tell you whether or not EP2 includes a way to import package files from EP1, and then you could do us all a favor by posting that answer here. And if EP2 will not import EP1 package files, PST Support might have a way to do that for you on a case-by-case basis. (BTW, probably a bad practice to include your e-mail address in a signature on a public message board, it just invites spam. I deleted it from my reply.) Good luck, -- David McFarlane At 2/21/2012 02:06 PM Tuesday, you wrote: >Someone sent me an .epk package file that they created using E-prime >1. Does anyone know how to convert this file so that I can use/edit it >in E-prime 2? > >Thank you > >Jason Reiss > >-- >**************************************************************************** >Jason E. Reiss, Ph.D. >Department of Psychology >Wheaton College >Website: http://wheatoncollege.edu/Faculty/JasonEReiss.html >**************************************************************************** -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From reiss_jason%wheatoncollege.edu at gtempaccount.com Tue Feb 21 19:55:36 2012 From: reiss_jason%wheatoncollege.edu at gtempaccount.com (Jason E. Reiss) Date: Tue, 21 Feb 2012 11:55:36 -0800 Subject: Using a epk file in E-prime 2 In-Reply-To: <4f43f317.a139320a.20c7.ffffdc3aSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thank you. I've submitted a PST Web Support Request and will let everyone know what they say. On Feb 21, 2:40?pm, David McFarlane wrote: > Jason, > > You should submit this to PST Web Support athttp://support.pstnet.com/e%2Dprime/support/login.asp. ?They should > tell you whether or not EP2 includes a way to import package files > from EP1, and then you could do us all a favor by posting that answer > here. ?And if EP2 will not import EP1 package files, PST Support > might have a way to do that for you on a case-by-case basis. > > (BTW, probably a bad practice to include your e-mail address in a > signature on a public message board, it just invites spam. ?I deleted > it from my reply.) > > Good luck, > -- David McFarlane > > At 2/21/2012 02:06 PM Tuesday, you wrote: > > > > > > > > >Someone sent me an .epk package file that they created using E-prime > >1. Does anyone know how to convert this file so that I can use/edit it > >in E-prime 2? > > >Thank you > > >Jason Reiss > > >-- > >**************************************************************************** > >Jason E. Reiss, Ph.D. > >Department of Psychology > >Wheaton College > >Website:http://wheatoncollege.edu/Faculty/JasonEReiss.html > >**************************************************************************** -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From pfc.groot at gmail.com Tue Feb 21 22:20:26 2012 From: pfc.groot at gmail.com (Paul Groot) Date: Tue, 21 Feb 2012 23:20:26 +0100 Subject: sending com port command In-Reply-To: <093fece3-ae16-49fc-a02c-eb0059f79d5e@p13g2000yqd.googlegroups.com> Message-ID: Hi Erin, Ah, I described a solution for a 'legacy' ADR device because you linked to the RS232 example. But if I understand this correctly, you are using an ADU (USB only) device... However, if the device you have supports legacy RS232 connections, you should try the following first because RS232 it is a bit easier to use than the USB interface DLL: First check which (virtual) COM port is being assigned by windows after installing the driver. If the USB device connects as virtual RS232, you should be able to find it under control panel>device manager->COM and LPT ports. Windows often assigns a port number >4, which might be problemematic with EPrime (not sure if this is less critical in EPrime 2.) Just try to change the port number to the first available value below 4. If the PC has 1 or 2 physical COM ports, you should skip those numbers. Also note that the port number often changes when a different USB port is used. If RS232 is *not* an option (i.e. no new COM port is added when you plugin the USB cable), you should use the DLL interface to connect to the USB channels. EBasic supports calling functions in external DLL's, so that should be no problem. To do this, you should declare all DLL functions first. For example, you can put the following declarations in the global user script section: Declare Function OpenAduDevice Lib "AduHid.DLL" (ByVal iTimeout As Long) As Long Declare Function WriteAduDevice Lib "AduHid.DLL" (ByVal aduHandle As Long, ByVal lpBuffer As String, ByVal lNumberOfBytesToWrite As Long, ByRef lBytesWritten As Long, ByVal iTimeout As Long) As Long Declare Function ReadAduDevice Lib "AduHid.DLL" (ByVal aduHandle As Long, ByVal lpBuffer As String, ByVal lNumberOfBytesToRead As Long, ByRef lBytesRead As Long, ByVal iTimeout As Long) As Long Declare Function CloseAduDevice Lib "AduHid.DLL" (ByVal iHandle As Long) As Long (more info here http://www.ontrak.net/ADUSDK/MinimalCompile-VB.html) When the declarations are defined, you should be able to call the functions in inline script just as if the functions are part of EBasic: ' you would probably put this declaration also in the global section Dim aduHandle As Long 'then in some inline script: aduHandle = OpenAduDevice(0) The VisualBasic example contains further details on the WriteAduDevice function. Also don't forget to close the channel properly by calling CloseAduDevice(aduHandle) before the end of the experiment. best, paul 2012/2/21 Erin : > Thanks for the info Paul. ?I was thinking something like that may > work. ?In the past, I have successfully triggered a serial port pump > (via a usb to 9-pin serial port converter) in E-Prime sending text > commands using a serial.writestring inline. ?(I installed a driver for > the computer to recognize the serial-usb converter as a serial com > port.) > > However, the equipment I am currently working with is a usb to usb > connection, and E-Prime does not recognize it as a serial port. ?When > I run the experiment with a serial device added, I get an "unable to > open port" error, even when I go through and try every com port. ?Is > there a way to send this signal through a traditional USB connection? > thanks! > > Erin > > > > > On Feb 20, 3:47?pm, Paul Groot wrote: >> Hi Erin, >> >> Although, in theory, it would be possible to use the WritePort command >> to send bytes to a classicalserial(non-USB) RS232 port, it is >> definitely not the way to go. Instead you should use a SerialDevice >> object to communicate with a COM port. The easiest way is to add such >> aSerialdevice in the following dialog: >> E-Studio>Menu>Edit>Experiment>Devices>AddSerial. The default setting >> should be OK (9600bps, 8bit, no parity, 1 stopbit). When you add this >> device, EPrime will add a global SerialDevice object variable to your >> script. The name of this variable will be 'Serial' if there is only >> oneserialdevice. >> >> The next thing you should do is to add a single line of inline script >> to send the command: >> >> SerialDevice.WriteString "sk0" & ebCr >> >> The ebCr constant is a cariage return that is probably required by the device. >> >> I'm not sure if the external device also needs to be initialised first >> (by sending "CPA00000000" for example), but that's up to you to find >> out ;-) >> >> Hope this helps, >> Paul >> >> 2012/2/18 Erin : >> >> > I am trying to send a command to an external device via ausb >> > connection. ?The external device is an ADU200USBRelay I/O Interface >> > (http://www.ontrak.net/ADUcommands.htm). ?This is a control box which >> > triggers an automatic feeder for our monkeys. ?Using the control box's >> > test software, I can trigger the auto feeder by sending the control >> > box the command "sk0." ?So, I know I need E-Prime to send the command >> > "sk0" to the ADU200 control box via ausbCOM port. >> >> > I have read the E-Prime help, and it appears it is difficult to send a >> > non binary message via a com port (the WritePort command). ?It is >> > possible I may need to use something called a Declare Statement, which >> > is done outside of E-Prime. ?However, I am hoping this is not >> > necessary. >> >> > Reading the OnTrak help, it appear a Visual Basic code similar to >> > MSComm1.Output = "sk0" would work (http://www.ontrak.net/visual.htm), >> > however this does not appear to be an option in E-Prime. >> >> > Any pointers would be very appreciated. ?Thank you! >> >> > Erin >> >> > -- >> > You received this message because you are subscribed to the Google Groups "E-Prime" group. >> > To post to this group, send email to e-prime at googlegroups.com. >> > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. >> > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From krupa.d.sheth at gmail.com Wed Feb 22 11:17:07 2012 From: krupa.d.sheth at gmail.com (Krupa Sheth) Date: Wed, 22 Feb 2012 03:17:07 -0800 Subject: E Prime Technical Difficulties Message-ID: I am running an experiment which consists of 5 different loads (A-C) and requires a voice-responses data to be recorded. The problem I am encountering is when I run the experimental load, E-Prime runs loads 1-4 perfectly. It is only when it gets to Load 5 running it conitously does E-Prime terminate by itself resulting in none of the previous data from loads 1-4 being recorded despite those loads running perfectly. The strange thing is when running the experimental block in two halves i.e. loads 1-3 and then followed by load 4 & 5, does it run smoothly. Is there a problem with my computer I am using or is it an E- Prime problem. Many 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 lilica_rig at yahoo.com.br Wed Feb 22 12:50:45 2012 From: lilica_rig at yahoo.com.br (Lis) Date: Wed, 22 Feb 2012 04:50:45 -0800 Subject: e-prime licenses Message-ID: Hello! I've just joined this group and my first question is about the license expiration. Having realized I need Windows XP to run certain tasks I need to reinstall the e-prime software in my laptop computer once more. I wonder if reinstalling that in the same computer (same ID) means that I won't be using another license. I need to be sure that I can do that. A second question refers to the possibility of having two versions of e-prime (1.2 and 2.0) in the same computer, considering that certain tasks can only run on one of the two versions. Thanks a lot. Lis -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From d.vinson at ucl.ac.uk Wed Feb 22 12:53:50 2012 From: d.vinson at ucl.ac.uk (David Vinson) Date: Wed, 22 Feb 2012 12:53:50 +0000 Subject: e-prime licenses In-Reply-To: <8471e5e7-b671-4e2e-bb39-fdb1c731c1a1@n12g2000yqb.googlegroups.com> Message-ID: Hi Lis, Reinstalling on the same machine should not be a problem under terms of the license unless you have some unusual arrangements. Regarding your question about versions - 1.2 and 2.0 can live side by side on the same computer, no problem. cheers, dv On 22/02/2012 12:50, Lis wrote: > Hello! > I've just joined this group and my first question is about the license > expiration. Having realized I need Windows XP to run certain tasks I > need to reinstall the e-prime software in my laptop computer once > more. I wonder if reinstalling that in the same computer (same ID) > means that I won't be using another license. I need to be sure that I > can do that. A second question refers to the possibility of having two > versions of e-prime (1.2 and 2.0) in the same computer, considering > that certain tasks can only run on one of the two versions. > Thanks a lot. > Lis > -- David Vinson, Ph.D. Senior Postdoctoral Researcher Cognitive, Perceptual and Brain Sciences Research Department University College London 26 Bedford Way, London WC1H 0AP Tel +44 (0)20 7679 5311 (UCL internal ext. 25311) -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From ahafri at gmail.com Wed Feb 22 17:09:26 2012 From: ahafri at gmail.com (Alon Hafri) Date: Wed, 22 Feb 2012 09:09:26 -0800 Subject: Looping movie / video In-Reply-To: <922af751-aaf1-48ee-975a-65a3f435d737@ge5g2000vbb.googlegroups.com> Message-ID: Update again. I got a response from PST! Apparently in the newer versions of E-Prime 2.0 (2.0.10.174 or later), SlideMovie and MovieDisplay objects have the same "Status" property that SoundBuffer objects do: http://www.pstnet.com/support/kb.asp?TopicID=4373 Or alternatively, you can also wait until the last frame was displayed and then replay the video: http://www.pstnet.com/support/kb.asp?TopicID=3158 Alon On Feb 17, 11:31?am, Alon Hafri wrote: > Well an update on my own post in case anyone's interested -- got it to > work by running a While loop and starting the clip over if it reached > the duration threshold for the video. First, set the Slide or > MovieDisplay object duration to 0, with the video setting StopAfter > set to "No" and EndMovieAction set to "none". Also make sure the > slide's setting for "ClearAfter" is set to "No". Then put the > following InLine after the Slide or MovieDisplay object, substituting > the relevant names: > > Dim Vid1 As SlideMovie 'or as MovieDisplay object, as the case may be > Set Vid1 = CSlideMovie(yourSlide.States("Default").Objects("Movie")) > 'instead of "yourSlide" put in your slide's name, or if it's a > moviedisplay object named "MovieObject", just do "Set Vid1 = > MovieObject" > Dim lngVideoOnsetTime As Long > > lngVideoOnsetTime = Clock.Read > Do While... 'set the condition for the loop to end here > ? ?If Clock.Read > lngVideoOnsetTime + [insert video duration here in > msec] Then > ? ? ? Vid1.Load > ? ? ? Vid1.Play > ? ? ? lngVideoOnsetTime = Clock.Read > ? End If > ? [insert other relevant loop code here] > Loop > > Vid1.Stop > Set Vid1 = Nothing > > You'll need to know your video's duration. If it's a variable duration > depending on the trial, then you can add an attribute to the list > called "VideoDuration", and then replace the part in brackets above > about duration with CLng(c.GetAttrib("VideoDuration")). > > Hope that helps -- if anyone knows how to loop a video in an easier > way, please post. Or if you know how to automatically read in the > video's duration so having a manually specified attribute > "VideoDuration" is not needed. > > Alon > > On Feb 16, 10:38?am, Alon Hafri wrote: > > > > > > > > > Hi everyone, > > > I'd love to get your help with this! We are looking to loop a > > SlideMovie object until the Enter key is pressed. Meanwhile, the user > > may type what they see in the video (using the echo response feature > > of Input Masks). > > > Unlike the SoundOut objects, there is no documentation on MovieDisplay > > or SlideMovie objects, and so we can't figure out if there are > > properties that allow this. David McFarlane put in a feature request > > for this herehttp://support.pstnet.com/forum/Topic2772-12-1.aspxbut > > until then, I'm wondering if someone could help me figure this out > > with InLine. > > > With sound objects, you can do it with InLine by playing the soundout > > object, and then testing for the buffer status (e.g. the following): > > Do While ... > > ? ?If SoundBuffer.Status = ebBufferStatusStopped Then SoundBuffer.Play > > Loop > > > Is there an equivalent property for MovieDisplay? Or alternatively, is > > there a way to test at runtime the length/duration of a movie, so that > > we can have the program wait that long and then play the movie again? > > I guess the only other option is to manually code the duration of each > > video, and then use the InLine to wait that long before replaying the > > movie. > > > Thanks so much for all your help! > > Alon > > > keywords: video movie loop slidemovie moviedisplay moviebuffer status -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu Feb 23 03:51:06 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 22 Feb 2012 22:51:06 -0500 Subject: Looping Slide States In-Reply-To: <918b209e-847b-45ba-b1a5-349a44baac48@h6g2000yqk.googlegroups.com> Message-ID: Raghav, Using a Goto (probably with an If-Then) seems like a perfectly good way to do this in E-Prime. If you felt better using a more standard "Do... Loop Until" loop or the like, then you could put the "Do..." in an inline at the start of the loop, and the "Loop Until..." in another inline at the end of the loop, but that might look a little weird to other EP programmers. Alternatively, sometimes when I want to do a repeating loop in E-Prime I just do it with another List. I put the objects that I want to loop into a Procedure, and put that Procedure in a List with one row. I can use the Weight to run the loop a specific number of times, or run the List with an arbitrarily high Weight or Terminate condition and use inline code (List.Terminate) to programmatically end the loop. Just weighing in with more ideas for the E-Prime toolbox. -- David McFarlane On 15 Feb 2012 Raghav wrote: > I am trying to create a flicker task (image, blank, changed image, > blank..looping continuously) experiment with Eprime and as of now I > have a sequence of imagedisplay objects with a Goto statement at the > end that goes to a label before the first image. this works perfectly > but this Goto statement is interfering with another script that I am > trying to run. Is there a better way to loop images? I am using Eprime > 2 > > Is there a way to create a loop of slide states? i.e. Use a sequence > of slide states and make the slide go back to the first state when the > last state is reached? > > Any help regarding this would be most appreciated > > Raghav Sundar -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu Feb 23 04:10:46 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 22 Feb 2012 23:10:46 -0500 Subject: e-prime licenses In-Reply-To: <4F44E55E.9080801@ucl.ac.uk> Message-ID: Lis, As I understand the license terms, you may use a single license to install E-Prime on some large number of computers (25?) within one lab (but of course, only the one machine with the hardware key at the moment will run E-Studio). At least, I have never worried about using a lab's license to liberally install E-Prime throughout that lab, and so far PST has not complained. -- David McFarlane David Vinson wrote: > Hi Lis, > Reinstalling on the same machine should not be a problem under terms of > the license unless you have some unusual arrangements. > Regarding your question about versions - 1.2 and 2.0 can live side by > side on the same computer, no problem. > > cheers, > dv > > On 22/02/2012 12:50, Lis wrote: >> Hello! >> I've just joined this group and my first question is about the license >> expiration. Having realized I need Windows XP to run certain tasks I >> need to reinstall the e-prime software in my laptop computer once >> more. I wonder if reinstalling that in the same computer (same ID) >> means that I won't be using another license. I need to be sure that I >> can do that. A second question refers to the possibility of having two >> versions of e-prime (1.2 and 2.0) in the same computer, considering >> that certain tasks can only run on one of the two versions. >> Thanks a lot. >> Lis -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu Feb 23 04:23:24 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Wed, 22 Feb 2012 23:23:24 -0500 Subject: sending com port command In-Reply-To: Message-ID: Erin, I second Paul's suggestion that if possible you use a legacy RS232 connection because, put simply, E-Prime has absolutely no facility for communicating through USB. Now in principle, such a facility can be added -- in fact, I have used a USB device with E-Prime, but only because that device came with a dll file of external routines which could be accessed by using Declare statements in E-Prime. But short of that, you are out of luck. But please do not take my word for any of this. Please contact PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp , and then write back here with their response. -- David McFarlane On 21 Feb 2012 Paul Groot wrote: > Hi Erin, > > Ah, I described a solution for a 'legacy' ADR device because you > linked to the RS232 example. But if I understand this correctly, you > are using an ADU (USB only) device... > > However, if the device you have supports legacy RS232 connections, you > should try the following first because RS232 it is a bit easier to use > than the USB interface DLL: First check which (virtual) COM port is > being assigned by windows after installing the driver. If the USB > device connects as virtual RS232, you should be able to find it under > control panel>device manager->COM and LPT ports. Windows often assigns > a port number >4, which might be problemematic with EPrime (not sure > if this is less critical in EPrime 2.) Just try to change the port > number to the first available value below 4. If the PC has 1 or 2 > physical COM ports, you should skip those numbers. Also note that the > port number often changes when a different USB port is used. > > If RS232 is *not* an option (i.e. no new COM port is added when you > plugin the USB cable), you should use the DLL interface to connect to > the USB channels. EBasic supports calling functions in external DLL's, > so that should be no problem. To do this, you should declare all DLL > functions first. For example, you can put the following declarations > in the global user script section: > > Declare Function OpenAduDevice Lib "AduHid.DLL" (ByVal iTimeout As > Long) As Long > > Declare Function WriteAduDevice Lib "AduHid.DLL" (ByVal aduHandle As > Long, ByVal lpBuffer As String, ByVal lNumberOfBytesToWrite As Long, > ByRef lBytesWritten As Long, ByVal iTimeout As Long) As Long > > Declare Function ReadAduDevice Lib "AduHid.DLL" (ByVal aduHandle As > Long, ByVal lpBuffer As String, ByVal lNumberOfBytesToRead As Long, > ByRef lBytesRead As Long, ByVal iTimeout As Long) As Long > > Declare Function CloseAduDevice Lib "AduHid.DLL" (ByVal iHandle As Long) As Long > > (more info here http://www.ontrak.net/ADUSDK/MinimalCompile-VB.html) > > When the declarations are defined, you should be able to call the > functions in inline script just as if the functions are part of > EBasic: > > ' you would probably put this declaration also in the global section > Dim aduHandle As Long > > 'then in some inline script: > aduHandle = OpenAduDevice(0) > > The VisualBasic example contains further details on the WriteAduDevice > function. Also don't forget to close the channel properly by calling > CloseAduDevice(aduHandle) before the end of the experiment. > > best, > paul > > 2012/2/21 Erin : >> Thanks for the info Paul. I was thinking something like that may >> work. In the past, I have successfully triggered a serial port pump >> (via a usb to 9-pin serial port converter) in E-Prime sending text >> commands using a serial.writestring inline. (I installed a driver for >> the computer to recognize the serial-usb converter as a serial com >> port.) >> >> However, the equipment I am currently working with is a usb to usb >> connection, and E-Prime does not recognize it as a serial port. When >> I run the experiment with a serial device added, I get an "unable to >> open port" error, even when I go through and try every com port. Is >> there a way to send this signal through a traditional USB connection? >> thanks! >> >> Erin >> >> >> >> >> On Feb 20, 3:47 pm, Paul Groot wrote: >>> Hi Erin, >>> >>> Although, in theory, it would be possible to use the WritePort command >>> to send bytes to a classicalserial(non-USB) RS232 port, it is >>> definitely not the way to go. Instead you should use a SerialDevice >>> object to communicate with a COM port. The easiest way is to add such >>> aSerialdevice in the following dialog: >>> E-Studio>Menu>Edit>Experiment>Devices>AddSerial. The default setting >>> should be OK (9600bps, 8bit, no parity, 1 stopbit). When you add this >>> device, EPrime will add a global SerialDevice object variable to your >>> script. The name of this variable will be 'Serial' if there is only >>> oneserialdevice. >>> >>> The next thing you should do is to add a single line of inline script >>> to send the command: >>> >>> SerialDevice.WriteString "sk0" & ebCr >>> >>> The ebCr constant is a cariage return that is probably required by the device. >>> >>> I'm not sure if the external device also needs to be initialised first >>> (by sending "CPA00000000" for example), but that's up to you to find >>> out ;-) >>> >>> Hope this helps, >>> Paul >>> >>> 2012/2/18 Erin : >>> >>>> I am trying to send a command to an external device via ausb >>>> connection. The external device is an ADU200USBRelay I/O Interface >>>> (http://www.ontrak.net/ADUcommands.htm). This is a control box which >>>> triggers an automatic feeder for our monkeys. Using the control box's >>>> test software, I can trigger the auto feeder by sending the control >>>> box the command "sk0." So, I know I need E-Prime to send the command >>>> "sk0" to the ADU200 control box via ausbCOM port. >>>> I have read the E-Prime help, and it appears it is difficult to send a >>>> non binary message via a com port (the WritePort command). It is >>>> possible I may need to use something called a Declare Statement, which >>>> is done outside of E-Prime. However, I am hoping this is not >>>> necessary. >>>> Reading the OnTrak help, it appear a Visual Basic code similar to >>>> MSComm1.Output = "sk0" would work (http://www.ontrak.net/visual.htm), >>>> however this does not appear to be an option in E-Prime. >>>> Any pointers would be very appreciated. Thank you! >>>> Erin -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From glomata at gmail.com Thu Feb 23 04:36:21 2012 From: glomata at gmail.com (Gomata Varanasi Dharmapuri) Date: Thu, 23 Feb 2012 10:06:21 +0530 Subject: Simulating the ambience Message-ID: Hi , Greetings. I am learning E-Prime, designing the fMRI paradigm and about do pilot experiments. Is it possible to simulate exactly what the participant hears , "along with the approximate machine noise" ... ( gives a clue of what happens during silence much better ) This will help me set my input stimuli as best as possible even before I get to the IFIS console to actually run my experiment on a subject. We have limited slot timings to conduct the experiments. If this feature is there within E-Prime , please suggest ( Just doing "run" the feel is not there ) Thanks and Regards, -Gomata -- Mobiles : 9482577932 ( South) 9717967308 ( North) Web Page : http://www.samskruti.org/people/gomata/gomata_index.html -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send 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 mspape at cognitology.eu Thu Feb 23 08:49:07 2012 From: mspape at cognitology.eu (Michiel Sovijarvi-Spape) Date: Thu, 23 Feb 2012 10:49:07 +0200 Subject: Simulating the ambience In-Reply-To: Message-ID: Hi, What you're looking for seems to be MRI noise, rather than any feature you'd expect from E-Prime (I mean, I'd also like it if E-Prime would serve me coffee every now and then, would even help my coding, but sadly, it's not implemented "yet"). So, have a look here: http://www.goingfora.com/text/radiology/mri_equipment.asp there's a listen to MRI noise at the bottom there. It's actually pretty good, if you happen to like experimental/noise music. Also, you can go to your local mri during a recording, bring an mp3 player, record the sound, and party all night! Best, Mich ( Just doing "run" the feel is not there ) ... Ermmmm? From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Gomata Varanasi Dharmapuri Sent: 23 February 2012 06:36 To: e-prime at googlegroups.com Subject: Simulating the ambience Hi , Greetings. I am learning E-Prime, designing the fMRI paradigm and about do pilot experiments. Is it possible to simulate exactly what the participant hears , "along with the approximate machine noise" ... ( gives a clue of what happens during silence much better ) This will help me set my input stimuli as best as possible even before I get to the IFIS console to actually run my experiment on a subject. We have limited slot timings to conduct the experiments. If this feature is there within E-Prime , please suggest ( Just doing "run" the feel is not there ) Thanks and Regards, -Gomata -- Mobiles : 9482577932 ( South) 9717967308 ( North) Web Page : http://www.samskruti.org/people/gomata/gomata_index.html -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: From pdweller22 at googlemail.com Thu Feb 23 15:14:09 2012 From: pdweller22 at googlemail.com (PetCPR) Date: Thu, 23 Feb 2012 07:14:09 -0800 Subject: Recording multiple presses and releases before the stimulus offset Message-ID: Hi, I have been trying to program a binocular rivalry paradigm. Here I want to present two images to the participant, one in red, and one in cyan for 15 seconds, and the participant must indicate by sequentially pressing one of three keys, which image is the most dominant. For example, if the participant is seeing mostly the left image, they would hold down one key e.g. "D" if they are seeing mostly the right the "J" key, and if they see an equal mixture of both, they would press down the "G" Key. In reality these images would be competing quite quickly, so the subject would be switching between the 3 different keys multiple times during the experiment. I've enabled the collection of presses and releases in the experimental object, and I've also used script to collect multiple responses, and these both work fine. However the data for each of the presses and releases in the output file comes out as: KeyPress1RT KeyPress2RT KeyPress3RT etc in this way, the output doesn't code for presses and releases, the only way to know if it is a release is to at whether of not the response given is in parenthesis. Does anyone know how to program eprime to recognize presses and releases separately? In addition I would ideally like eprime to calculate the difference between each press and release and output this in a separate column in edataid, could anyone tell me the code needed for that? finally, I would like the specific key pressed and released, and the RT difference to be assigned to specific columns in the output, for example: Dpress1RT Drelease1RT Ddifference1 Jpress1RT Jrelease1RT Jdifference1 Gpress1RT Grelease1RT Gdifference1 Dpress2RT Drelease2RT Ddifference2 ... Here's a copy of my script so far: 'Counter variable for the number of responses made Dim nPressCount As Long 'Counter variable Dim nIndex as Integer For nIndex = 1 To stimulus.InputMasks.Responses.Count 'Set theKeyboardResponseData equal to the current keyboard response Dim theKeyboardResponseData As KeyboardResponseData Set theKeyboardResponseData = CKeyboardResponseData(stimulus.InputMasks.Responses(nIndex)) If Not theKeyboardResponseData Is Nothing Then 'Increment the press count nPressCount = nPressCount + 1 'Log reaction time and response for each key press. c.SetAttrib "KeyPress" & nIndex & "RT", theKeyboardResponseData.RT c.SetAttrib "KeyPress" & nIndex & "RESP", theKeyboardResponseData.RESP End If Next 'nIndex Any help anyone could give would be great, I'm kind of new to programming so I'm a little lost! Cheers! -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From pdweller22 at googlemail.com Thu Feb 23 15:52:06 2012 From: pdweller22 at googlemail.com (PetCPR) Date: Thu, 23 Feb 2012 07:52:06 -0800 Subject: response window Message-ID: Hi, I have an experiment where I present a participant with 3 rapid serial visual presentation streams of words. The task is to make an animacy judgement on a target word in red in the central stream. The central stream is flanked by 2 other streams where congruent/ incongruent words may appear at the same time, thus it takes the participant about 1000 to 3000ms to execute the response. each stream changes every 600ms, and so by the time the subject has made the response, about 3/6 trials have already passed and the response made is logged with one of the subsequent trials and not with target trial where the target word appeared, likewise, the RT corresponds to the time from the subsequent 3rd/6th trial to the time the response was made, and not from the onset of the target word. Is there anyway to program eprime to open up a response window on a target trial of around 6000ms so that any response made during that window will correspond to the target trial. (I've overcome this problem in a way by changing the definition of trial, so that it contains 6 slides instead of one, which does work, but it makes programming very arduous, so if anyone knows a better way that would be great!) 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 Thu Feb 23 16:46:38 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 23 Feb 2012 11:46:38 -0500 Subject: Simulating the ambience In-Reply-To: <000301ccf208$0138c6a0$03aa53e0$@eu> Message-ID: Gomata, Of course, ultimately you want a full-blown mock MRI setup (do a web search on "mock mri"), that's what we do. We had ours custom built by a hired craftsman. But I assume you are doing this on a low budget, in which case Michiel gave the best advice. -- David McFarlane At 2/23/2012 03:49 AM Thursday, Michiel Sovijarvi-Spape wrote: >Hi, >What you're looking for seems to be MRI noise, rather than any >feature you'd expect from E-Prime (I mean, I'd also like it if >E-Prime would serve me coffee every now and then, would even help my >coding, but sadly, it's not implemented "yet"). So, have a look here: >http://www.goingfora.com/text/radiology/mri_equipment.asp >there's a listen to MRI noise at the bottom there. It's actually >pretty good, if you happen to like experimental/noise music. Also, >you can go to your local mri during a recording, bring an mp3 >player, record the sound, and party all night! >Best, >Mich > >( Just doing "run" the feel is not there ) ... Ermmmm? > > >From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On >Behalf Of Gomata Varanasi Dharmapuri >Sent: 23 February 2012 06:36 >To: e-prime at googlegroups.com >Subject: Simulating the ambience > > >Hi , > >Greetings. I am learning E-Prime, designing the fMRI paradigm and >about do pilot experiments. > >Is it possible to simulate exactly what the participant hears , >"along with the approximate machine noise" ... ( gives a clue of >what happens during silence much better ) > >This will help me set my input stimuli as best as possible even >before I get to the IFIS console to actually run my experiment on a subject. >We have limited slot timings to conduct the experiments. > >If this feature is there within E-Prime , please suggest ( Just >doing "run" the feel is not there ) > >Thanks and Regards, >-Gomata >-- >Mobiles : 9482577932 ( South) 9717967308 ( North) >Web Page : >http://www.samskruti.org/people/gomata/gomata_index.html > >-- >You received this message because you are subscribed to the Google >Groups "E-Prime" group. >To post to this group, send email to e-prime at googlegroups.com. >To unsubscribe from this group, send email to >e-prime+unsubscribe at googlegroups.com. >For more options, visit this group at >http://groups.google.com/group/e-prime?hl=en. > >-- >You received this message because you are subscribed to the Google >Groups "E-Prime" group. >To post to this group, send email to e-prime at googlegroups.com. >To unsubscribe from this group, send email to >e-prime+unsubscribe at googlegroups.com. >For more options, visit this group at >http://groups.google.com/group/e-prime?hl=en. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu Feb 23 16:58:14 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 23 Feb 2012 11:58:14 -0500 Subject: code msgbox In-Reply-To: Message-ID: [Sorry to be replying to such an old thread, I am just catching up after being out awhile.] Stock reminder: 1) I do not work for PST. 2) PST's trained staff take any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) In addition, PST takes questions at their Facebook page (http://www.facebook.com/pages/Psychology-Software-Tools-Inc/241802160683 ), and offers several instructional videos there and on their YouTube channel (http://www.youtube.com/user/PSTNET ) (no Twitter feed yet, though). 4) If you do get an answer from PST staff, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... MsgBox has no way to control its position on the screen. Instead, try InputBox, which does include arguments for specifying screen position. See that topic in the E-Basic Help. -- David McFarlane At 1/25/2012 01:19 PM Wednesday, Jose Alejandro Aristizabal C wrote: >Hi people > > >I have a msgbox, ? what appears in the centre of >the screen. Can I switch msgbox, what not appear >in the centre.??? ? What code in basic, ? I must to use? ??? > >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 Thu Feb 23 17:18:26 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 23 Feb 2012 12:18:26 -0500 Subject: Difficulties running ANT (Attentional Network Test) and Task Switching Paradigm In-Reply-To: <120e067f-41eb-45d5-855f-c3bb3c7ab6e5@l1g2000vbc.googlegrou ps.com> Message-ID: C?ntia, Do take this up with PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp . The SRBox and PortDevice drivers with EP1.x do not work under Vista or Win7, but you can download updated drivers that do work, see Knowledge Base #3108. That might help with your SRBox issue. As for the Display error, as Mich already said, I think you get that error when you try to use a display resolution that your monitor or display adapter does not support, so you might have to fuss with the display resolution in your program. -- David McFarlane At 1/25/2012 03:33 PM Wednesday, MSpape wrote: >Hi, >1) Is your SRBox working with /other/ experiments? Is the COM port >correctly set in the experiment? Have a look to see if you can make a >simple infinite duration screen in a blank experiment run, with the >SRBox set as response box and see whether that works. If that works, >see what the difference is with the script for your TS paradigm. >2) Does your monitor support 640x480 resolution? They do not >necessarily any more... Your ANT test presumably requires this and >this resolution at this and this refreshrate, or your timing will not >be as you report it. Many older scripts were set up to work for CRT >screens, they do not necessarily work for TFT ones. > >In any case, I'd suggest diving a bit deeper into the script. Somebody >over there, be it a technician or PhD student or whatever, who knows >both E-Prime AND the equipment, needs to have a look. Somebody here >can make it run as well, I'm sure, but you run a heavy risk of not >knowing exactly what is happening. >Best, >Mich > > >On Jan 25, 9:43 pm, Cintia Blank wrote: > > Hello! > > I am writing to report the difficulties I am having to run both the > > ANT (Attentional Network Test) and Task Switching Paradigm. I have the > > scripts of both tests, and they seem to be complete. Anyway, when I > > try to run them, I receive the following messages: > > > > TASK SWITCHING PARADIGM: (Both versions) > > > > Device name: SRBOX > > Error: 0x00004a46 > > Message: unable to open this SRBOX: 0x00000103 > > > > Obs.: however, the device looks properly installed and working. > > > > ATTENTIONAL NETWORK TEST: > > > > Device Name: Display > > Error: 0x000003ec > > Message: unable to set display mode: 0x80004001 > > > > The e-prime version I have is 1.2 and I am using Windows 7. > > If there is someone who can help me with that, please send me an e- > > mail address so that I can send you the scripts. > > > > Thanks a lot. > > C?ntia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From maria.richter.mail at googlemail.com Fri Feb 24 17:12:59 2012 From: maria.richter.mail at googlemail.com (Maria) Date: Fri, 24 Feb 2012 09:12:59 -0800 Subject: Parallel Port Problems Message-ID: Dear all, next problem: I tried to use two parallel ports, one for sending a trigger for EEG, one for input from a self-made device (like a keyboard). Sending triggers work until I add a second parallel port ("port mode" = Input) to the devices (with second "port mode" = output it works, but I need it for input). Any suggestions? Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 24 17:30:40 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 24 Feb 2012 12:30:40 -0500 Subject: Presenting 2 stimuli simultaneously (with different durations) In-Reply-To: <764d30fb-2cfc-48c9-aa70-0b1aa31f255b@w4g2000vbc.googlegrou ps.com> Message-ID: Still catching up from a hiatus, sorry to revive an old thread but wanted to adress this for the record. Yes, you could do this with only two "events" (i.e., stimulus objects), simply by judicious use of width & position items on the Frame tab of the Property Pages for the objects. I have done this myself. You might have to also use a transparent backround on your two hemifield items so that they do not occlude the fixation when they appear. Um, come to think of it, transparent background alone might do the trick in this case. -- David McFarlane At 1/30/2012 07:42 AM Monday, you wrote: >Hi Robert, > > >The latter solution is what I always use, three slides: fixation, >stimuli and intertrialinterval. I'd say that according to e-prime >logic this is a more sensible setup than trying to have items from one >slide (event) remain while a next slide starts. > >Also: you might find that 'an e-primer' by Spap? en Verdonschot is an >useful starting point for getting a grip on e-prime's machinations ;) >You can download it here: step.psy.cmu.edu/materials/EPrimer.pdf . > >Best, > >AW > >On Jan 29, 11:24 pm, Robert Zimmerman wrote: > > I am new to using E-Prime, and in charge of programming studies for a > > small lab that does not have much knowledge of the program in general. > > We are trying to program a visual hemifield experiment in which an > > item will be presented either to the left or the right of a fixation > > point. We want the fixation point ("+") to come on-screen 500ms BEFORE > > the item, remain on screen while the item is presented, and remain on > > screen after the item clears for another 2000ms. Does anybody know if > > it is possible to do this with 2 events, a fixation event and a target > > item event, which overlap? Or will I need to set up 3 events, fixation > > for 500ms, followed by item with fixation for 175ms, followed by > > fixation for 2000ms, presented serially? Any help is much appreciated! > > Thank you. > >-- >You received this message because you are >subscribed to the Google Groups "E-Prime" group. >To post to this group, send email to e-prime at googlegroups.com. >To unsubscribe from this group, send email to >e-prime+unsubscribe at googlegroups.com. >For more options, visit this group at >http://groups.google.com/group/e-prime?hl=en. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 24 17:49:50 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 24 Feb 2012 12:49:50 -0500 Subject: re-generate the ".es2" file with new parameters In-Reply-To: <25220fb8-3163-497b-8ede-af656bfb5b82@n6g2000vbz.googlegrou ps.com> Message-ID: Thanks, liw. For the record, PST documents "Loading a Stimuli Text File Into a List Object" in their Knowledge Base at http://www.pstnet.com/support/kb.asp?TopicID=2707 . That article goes back to 2006, and back then you could only load a List from a plain text file. With 2.0.1.53 or later you can now also load Lists from Excel XML files, see http://www.pstnet.com/support/kb.asp?TopicID=1220 . -- David McFarlane At 1/30/2012 08:12 AM Monday, liwenna wrote: >Hi Abbas, > >Nope, as far as I am aware that is not possible. What you can do >however, is build an .es2 file that doesn't yet contain the imagenames >and that will 'load in' images from .txt files (and different .txt >files could be used based on settings like 'group' or 'subjectnumber'. >Have a look in this thread (http://groups.google.com/group/e-prime/ >browse_thread/thread/796a659358219e31/ca5a6ac346ccc3d8? >#ca5a6ac346ccc3d8) for some pointers on how to start doing that. > >Best, > >liw > >On Jan 24, 1:22 am, abbas wrote: > > Hi, > > > > I am trying to use E-Prime 2.0 for a Working Memory (WM) task to be > > used in fMRI with multiple runs. Each run of the WM task contains > > about 80 different images. There will be 10 runs and images used in > > runs are different. I have written the E-Prime script (.es2) for the > > first run and would like to find an automatic method to re-generate > > the ".es2" files for other runs based on the ".es2" of the first run > > (without openning and editing ".es2" in E-Studio). I was thinking to > > read the ".es2" file of the first run as a text in, for example, > > MATLAB and rename all "*.jpg" images on it to new names and then save > > it as a new file. But as the ".es2" is not formatted as text, I cannot > > do that. > > > > I appreciate it if anyone let me know a solution to automatically re- > > generate the ".es2" file with new parameters, e.g., name of images, > > without opening it in E-Studio. > > > > Thank you, > > Abbas -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From reiss_jason%wheatoncollege.edu at gtempaccount.com Fri Feb 24 17:47:10 2012 From: reiss_jason%wheatoncollege.edu at gtempaccount.com (Jason E. Reiss) Date: Fri, 24 Feb 2012 09:47:10 -0800 Subject: Using a epk file in E-prime 2 In-Reply-To: <4f43f317.a139320a.20c7.ffffdc3aSMTPIN_ADDED@gmr-mx.google.com> Message-ID: FYI: I just received the following reply from PST Support: Dear Jason, I apologize for the delay in my response. There is no way to automatically convert E-Prime 1.x EPK files to the E-Prime 2.0 EPK2 format. EPK is just a text file with a different extension, while EPK2 is our special proprietary format created using the Package File Editor. Because EPK is a text file, you can open it in Notepad or another text editor, then copy and paste most of the package directly into the PackageFile Editor to create your own EPK2. You can open the PackageFile Editor through the Windows Start Menu or through the Tools menu in E-Studio. Please see section 1.5 in the New Features Guide for more information. Note that it is not necessary to use the Declare section of the EPK in this version, since the original purpose was to declare routines that are now created through the interface. For example, instead of writing Declare Public Sub IscanEyeTracker_EtCalibrate(pNcal As Integer), you should create a new routine, name it EtCalibrate (the IscanEyeTracker will be automatically added to the beginning), and create a parameter named pNcal of type Integer. The script between Public Sub IscanEyeTracker_EtCalibrate(pNcal As Integer) and End Sub should be pasted into the Script tab of the new routine. I have attached a partially created EPK2 version of the package file. Please take a look at this version, try converting the remainder using the Package File Editor, and let me know if you have any questions. Sincerely, Alison Lauer Senior Technical Consultant -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 24 18:13:53 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 24 Feb 2012 13:13:53 -0500 Subject: Assigning Hex number In-Reply-To: Message-ID: Just a bit of clarification for those who don't go back to the days of BASIC on Apple II and Commodore 64: The "%" in Const MYPORT% = &H4000 is a type-declaration character that declares the constant MYPORT as type Integer. In newer dialects you can achieve the same effect with Const MYPORT as Integer = &H4000 depending on your own programming style. -- David McFarlane At 2/11/2012 07:44 PM Saturday, Paul Groot wrote: >Hi S, > >If the address is static throughout the experiment, you could simply >declare a constant in the global user section: > >Const MYPORT% = &H4000 > >You can then use MYPORT anywhere in your inline scripts. > > >xyz.OnsetSignalEnabled= True >xyz.OnsetSignalPort= MYPORT >xyz.OnsetSignalData= 25 > >The conversion to CInt is never required since the hex-value is >already interpreted as integer value. > >cheers >Paul -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 24 18:27:12 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 24 Feb 2012 13:27:12 -0500 Subject: recording two sets of reaction times simultaneously In-Reply-To: <441c289c-14a7-42ba-9a3c-cce0dfcb7f47@dq9g2000vbb.googlegro ups.com> Message-ID: Rika, In short, yes, E-Prime can do this, and quite elegantly too if you have enough understanding of E-Prime. You will need to use what EP calls "extended response" -- see that tutorial in Appendix C of the User's Guide that came with E-Prime (really, everyone should do *all* the tutorials in *all* the manuals before starting their first EP program; it also would not hurt for folks to take my online course, see http://psychology.msu.edu/Workshops_Courses/eprime.aspx ). I might start by using a Wait object with Duration 0 and Time Limit (infinite) to collect the push-button responses, then follow that with the speaking task. If you want to log more than one push-button response during the speaking task, then you will have to adjust Max Count on the push-button object, and then add some inline code to log the collected train of responses -- see the "Multiple Response Collection" example downloadable from PST (registration & login required). BTW, PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp is also a good place to ask this sort of thing, and they strive to respond to all requests in 24-48 hours. -- David McFarlane At 2/13/2012 10:34 AM Monday, you wrote: >Hi all, >I would like to run a language experiment using e-prime where I want >to record reaction times to spoken responses (so far, so good). I >would however also like to have my participant perform a simple task >requiring them to push a button at the same time. The instances when >they are required to push a button will not be exactly the same as >when they are required to give a spoken response. Does anyone know if >it is possible to combine these two things (spoken responses and >button press responses) in the same experiment and then also record >two sets of reaction times? >Thanks in advance for any responses! >Rika -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Fri Feb 24 18:48:16 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 24 Feb 2012 13:48:16 -0500 Subject: Recording multiple responses before stimulus terminates In-Reply-To: Message-ID: Leslie, I can't quite follow all the detail below, but here is a thought. In short, as I understand it your movie completes its Duration even after a given pair of button presses should terminate it. First question, are you sure that you have the inline code running during the movie? I.e., do you have the movie Duration set to 0 (with StopAfter of No), or PreRelease = Duration? Second, when your inline code detects the required pair of responses, does it issue the appropriate command to terminate the movie (Movie.Stop, or Movie.Terminate, you will have to look that up)? Note that terminating the MovieDisplay object that plays the movie is *not* the same as terminating the playback of the movie, so you might have to look into that. Finally, of course, you can always ask PST's trained staff at http://support.pstnet.com/e%2Dprime/support/login.asp , they strive to respond to all requests in 24-48 hours. And if you do get an answer from PST staff, please extend the courtesy of posting their reply back here for the sake of others. -- David McFarlane At 2/20/2012 07:01 PM Monday, you wrote: >Hi all, > >I am attempting to make a habituation paradigm with E-Prime. In order >to do so, I need to log multiple responses. Using the samples from E- >Primes website I have my program recording multiple responses and >recording button presses and releases. What I need E-Prime to do is >calculate the difference between a button press "N" and release "{- >N}"and terminate the presentation of a movie display when the time >after N is pressed is >= 2000 ms. > >I have had the program record the multiple responses and stop cycling >the video when the difference between two responses is > 2000 ms, but >it does not stop until the end of the video. I need it to terminate >during the video! When the max count = 2, then the video will stop >after 2 consecutive seconds. However, infants will look to/away from >the screen multiple times, so I need to record multiple responses. > >My guess is that the problem is occuring because the responses are not >logged until the max count is reached. How can I tell E-Prime to log/ >use responses prior to reaching the max count? > >Here's my code so far: > > > Dim theResponseObject As RteRunnableInputObject > Set theResponseObject = >CRteRunnableInputObject(Rte.GetObject("Fam1Video")) > > 'Counter variable for the number of responses made > Dim nPressCount As Long > > 'Counter variable > Dim nIndex as Integer > > 'Enumerate through the response collection > 'If any of the responses were made by the keyboard, display > 'the statistics to the user. > For nIndex = 1 To theResponseObject.InputMasks.Responses.Count > > 'Set theKeyboardResponseData equal to the current > keyboard response > Dim theKeyboardResponseData As KeyboardResponseData > Set theKeyboardResponseData = >CKeyboardResponseData(theResponseObject.InputMasks.Responses(nIndex)) > If Not theKeyboardResponseData Is Nothing Then > > 'Log reaction time and response for each key press. > c.SetAttrib "KeyPress" & nIndex & "RT", > theKeyboardResponseData.RT > c.SetAttrib "KeyPress" & nIndex & "RESP", >theKeyboardResponseData.RESP > > End if > next 'nIndex > > For nIndex = 2 to theResponseObject.InputMasks.Responses.Count > If c.GetAttrib("KeyPress" & nIndex & "RT") - c.GetAttrib("KeyPress" >& nIndex-1 & "RT") > 2000 Then Familiarization1.Terminate > Next > >Thank you, >Leslie Rollins -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From erin.siebert at gmail.com Fri Feb 24 22:04:51 2012 From: erin.siebert at gmail.com (Erin) Date: Fri, 24 Feb 2012 14:04:51 -0800 Subject: sending com port command In-Reply-To: <4F45BF3C.4000900@msu.edu> Message-ID: Thank you so much for the advice David and Paul. I also contacted PST support, and they told me basically the same thing- that I would have to use a custom DLL to communicate with a USB device (which is outside the scope of PST support). Unfortunately, RS232 is not an option with this particular device, so I will try Paul's second set of suggestions. However, I was also able to find a control box from OnTrak that supports RS232 connections... so that may end up being my best bet. (I have had success in the past using E-Prime to trigger a juice pump reward system on an RS232 connection.) Again, thank you very much for the advice! Erin On Feb 22, 11:23?pm, David McFarlane wrote: > Erin, > > I second Paul's suggestion that if possible you use a legacy RS232 > connection because, put simply, E-Prime has absolutely no facility for > communicating through USB. ?Now in principle, such a facility can be > added -- in fact, I have used a USB device with E-Prime, but only > because that device came with a dll file of external routines which > could be accessed by using Declare statements in E-Prime. ?But short of > that, you are out of luck. > > But please do not take my word for any of this. ?Please contact PST Web > Support athttp://support.pstnet.com/e%2Dprime/support/login.asp, and > then write back here with their response. > > -- David McFarlane > > On 21 Feb 2012 Paul Groot wrote: > > > Hi Erin, > > > Ah, I described a solution for a 'legacy' ADR device because you > > linked to the RS232 example. But if I understand this correctly, you > > are using an ADU (USB only) device... > > > However, if the device you have supports legacy RS232 connections, you > > should try the following first because RS232 it is a bit easier to use > > than the USB interface DLL: First check which (virtual) COM port is > > being assigned by windows after installing the driver. If the USB > > device connects as virtual RS232, you should be able to find it under > > control panel>device manager->COM and LPT ports. Windows often assigns > > a port number >4, which might be problemematic with EPrime (not sure > > if this is less critical in EPrime 2.) Just try to change the port > > number to the first available value below 4. If the PC has 1 or 2 > > physical COM ports, you should skip those numbers. Also note that the > > port number often changes when a different USB port is used. > > > If RS232 is *not* an option (i.e. no new COM port is added when you > > plugin the USB cable), you should use the DLL interface to connect to > > the USB channels. EBasic supports calling functions in external DLL's, > > so that should be no problem. To do this, you should declare all DLL > > functions first. For example, you can put the following declarations > > in the global user script section: > > > Declare Function OpenAduDevice Lib "AduHid.DLL" ?(ByVal iTimeout As > > Long) As Long > > > Declare Function WriteAduDevice Lib "AduHid.DLL" ?(ByVal aduHandle As > > Long, ByVal lpBuffer As String, ByVal lNumberOfBytesToWrite As Long, > > ByRef lBytesWritten As Long, ByVal iTimeout As Long) As Long > > > Declare Function ReadAduDevice Lib "AduHid.DLL" (ByVal aduHandle As > > Long, ByVal lpBuffer As String, ByVal lNumberOfBytesToRead As Long, > > ByRef lBytesRead As Long, ByVal iTimeout As Long) As Long > > > Declare Function CloseAduDevice Lib "AduHid.DLL" (ByVal iHandle As Long) As Long > > > (more info herehttp://www.ontrak.net/ADUSDK/MinimalCompile-VB.html) > > > When the declarations are defined, you should be able to call the > > functions in inline script just as if the functions are part of > > EBasic: > > > ' you would probably put this declaration also in the global section > > Dim aduHandle As Long > > > 'then in some inline script: > > aduHandle = OpenAduDevice(0) > > > The VisualBasic example contains further details on the WriteAduDevice > > function. Also don't forget to close the channel properly by calling > > CloseAduDevice(aduHandle) before the end of the experiment. > > > best, > > paul > > > 2012/2/21 Erin : > >> Thanks for the info Paul. ?I was thinking something like that may > >> work. ?In the past, I have successfully triggered a serial port pump > >> (via a usb to 9-pin serial port converter) in E-Prime sending text > >> commands using a serial.writestring inline. ?(I installed a driver for > >> the computer to recognize the serial-usb converter as a serial com > >> port.) > > >> However, the equipment I am currently working with is a usb to usb > >> connection, and E-Prime does not recognize it as a serial port. ?When > >> I run the experiment with a serial device added, I get an "unable to > >> open port" error, even when I go through and try every com port. ?Is > >> there a way to send this signal through a traditional USB connection? > >> thanks! > > >> Erin > > >> On Feb 20, 3:47 pm, Paul Groot wrote: > >>> Hi Erin, > > >>> Although, in theory, it would be possible to use the WritePort command > >>> to send bytes to a classicalserial(non-USB) RS232 port, it is > >>> definitely not the way to go. Instead you should use a SerialDevice > >>> object to communicate with a COM port. The easiest way is to add such > >>> aSerialdevice in the following dialog: > >>> E-Studio>Menu>Edit>Experiment>Devices>AddSerial. The default setting > >>> should be OK (9600bps, 8bit, no parity, 1 stopbit). When you add this > >>> device, EPrime will add a global SerialDevice object variable to your > >>> script. The name of this variable will be 'Serial' if there is only > >>> oneserialdevice. > > >>> The next thing you should do is to add a single line of inline script > >>> to send the command: > > >>> SerialDevice.WriteString "sk0" & ebCr > > >>> The ebCr constant is a cariage return that is probably required by the device. > > >>> I'm not sure if the external device also needs to be initialised first > >>> (by sending "CPA00000000" for example), but that's up to you to find > >>> out ;-) > > >>> Hope this helps, > >>> Paul > > >>> 2012/2/18 Erin : > > >>>> I am trying to send a command to an external device via ausb > >>>> connection. ?The external device is an ADU200USBRelay I/O Interface > >>>> (http://www.ontrak.net/ADUcommands.htm). ?This is a control box which > >>>> triggers an automatic feeder for our monkeys. ?Using the control box's > >>>> test software, I can trigger the auto feeder by sending the control > >>>> box the command "sk0." ?So, I know I need E-Prime to send the command > >>>> "sk0" to the ADU200 control box via ausbCOM port. > >>>> I have read the E-Prime help, and it appears it is difficult to send a > >>>> non binary message via a com port (the WritePort command). ?It is > >>>> possible I may need to use something called a Declare Statement, which > >>>> is done outside of E-Prime. ?However, I am hoping this is not > >>>> necessary. > >>>> Reading the OnTrak help, it appear a Visual Basic code similar to > >>>> MSComm1.Output = "sk0" would work (http://www.ontrak.net/visual.htm), > >>>> however this does not appear to be an option in E-Prime. > >>>> Any pointers would be very appreciated. ?Thank you! > >>>> Erin -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From lswenson at elon.edu Sat Feb 25 20:06:06 2012 From: lswenson at elon.edu (Lindsay) Date: Sat, 25 Feb 2012 12:06:06 -0800 Subject: problems with consistent video duration Message-ID: I am setting up an experiment with videos and am playing around with displaying the videos to make sure it will work for our study. The videos will play, but they will not play for the whole length every time. I am using two practice videos, one 13 seconds and one 6 seconds long, and have the program set up to randomly pull them from a list and play them after a blank screen. I have tried pre-release, changing the run time of the videos, and various video formats, but have not had much success. When I increase the number of cycles, some of the presentations will run the whole time and some will cut off half-way through. The timing of the presentation of stimuli is not necessarily important, but we need each video to run for the set length of time (about 7 seconds). We are expanding upon a study that used still images, so we are not as familiar with the various video formats, compressions, etc. I would appreciate any help! Lindsay -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From yildizhanlar at gmail.com Sun Feb 26 23:03:07 2012 From: yildizhanlar at gmail.com (Fatih YILDIZHAN) Date: Sun, 26 Feb 2012 15:03:07 -0800 Subject: Feeling-of-Knowing and Retrospective Confidence Judgments - Eprime In-Reply-To: <4F2026B9.70809@ucl.ac.uk> Message-ID: > > Hello, > I am working on Feeling-of-Knowing and Retrospective Confidence Judgments > with Eprime. But I couldn't organize the image and names like pictures. > > http://img26.imageshack.us/img26/2690/exp1t.png > http://img825.imageshack.us/img825/2089/exp2.png > > I want to show: > > Picture > > Name1 Name2 Name3 > > then, when user click any button, screen will pass the another screen > similar with this. This thing will repeat about 25 times. How can I build > this structur on Eprime? Please can you help me? > > > It gives more details about topic. > > http://web.westvalley.edu/documents/faculty_resources/brainstorming/e_Cognitive%20and%20Affective%20Processes/e7_neuroimage_2006.pdf > > Thank you so much, > Best Regards > > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To view this discussion on the web visit https://groups.google.com/d/msg/e-prime/-/eGzKv9bAK5cJ. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send 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 yildizhanlar at gmail.com Sun Feb 26 23:03:40 2012 From: yildizhanlar at gmail.com (Fatih YILDIZHAN) Date: Sun, 26 Feb 2012 15:03:40 -0800 Subject: Feeling-of-Knowing and Retrospective Confidence Judgments - Eprime In-Reply-To: Message-ID: Hello, I am working on Feeling-of-Knowing and Retrospective Confidence Judgments with Eprime. But I couldn't organize the image and names like pictures. http://img26.imageshack.us/img26/2690/exp1t.png http://img825.imageshack.us/img825/2089/exp2.png I want to show: Picture Name1 Name2 Name3 then, when user click any button, screen will pass the another screen similar with this. This thing will repeat about 25 times. How can I build this structur on Eprime? Please can you help me? It gives more details about topic. http://web.westvalley.edu/documents/faculty_resources/brainstorming/e_Cognitive%20and%20Affective%20Processes/e7_neuroimage_2006.pdf Thank you so much, Best Regards On Wednesday, February 22, 2012 1:17:07 PM UTC+2, Krupa Sheth wrote: > > I am running an experiment which consists of 5 different loads (A-C) > and requires a voice-responses data to be recorded. The problem I am > encountering is when I run the experimental load, E-Prime runs loads > 1-4 perfectly. It is only when it gets to Load 5 running it conitously > does E-Prime terminate by itself resulting in none of the previous > data from loads 1-4 being recorded despite those loads running > perfectly. The strange thing is when running the experimental block in > two halves i.e. loads 1-3 and then followed by load 4 & 5, does it run > smoothly. Is there a problem with my computer I am using or is it an E- > Prime problem. > > Many Thanks On Wednesday, February 22, 2012 1:17:07 PM UTC+2, Krupa Sheth wrote: > > I am running an experiment which consists of 5 different loads (A-C) > and requires a voice-responses data to be recorded. The problem I am > encountering is when I run the experimental load, E-Prime runs loads > 1-4 perfectly. It is only when it gets to Load 5 running it conitously > does E-Prime terminate by itself resulting in none of the previous > data from loads 1-4 being recorded despite those loads running > perfectly. The strange thing is when running the experimental block in > two halves i.e. loads 1-3 and then followed by load 4 & 5, does it run > smoothly. Is there a problem with my computer I am using or is it an E- > Prime problem. > > Many Thanks -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To view this discussion on the web visit https://groups.google.com/d/msg/e-prime/-/fXCBwTvakfUJ. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: From d.vinson at ucl.ac.uk Mon Feb 27 10:33:14 2012 From: d.vinson at ucl.ac.uk (David Vinson) Date: Mon, 27 Feb 2012 10:33:14 +0000 Subject: problems with consistent video duration In-Reply-To: Message-ID: Hi Lindsay, Unfortunately it can be a lot of work to get videos to display correctly, and it looks like you've gone through a sensible process so far. We experienced something similar, and suspected it could be related to the time it takes to load the video files from the hard drive and get them displayed in time. We might not be correct but we managed to eliminate these problems (or at least sufficiently reduce them) by a combination of a few factors: 1. pre-load the video (e.g. MovieDisplay1.Load in an inline object) well before the movie is due to start playing 2. include a fairly high % of breaks between trials if possible, which may help resolve the buildup of lag 3. if you are using an older/slower machine it may be useful to have video files on a different hard drive than the one being used for virtual memory And 4. a bit more "trial and error" with video formats. Keep in mind that just converting from one video format to another may not be sufficient - it may be necessary to re-compress with a different codec. In troubleshooting these matters it may also be helpful to set up the simplest possible miniature version of your experiment (e.g. just one or two videos) repeated many times in the simplest possible trial sequence, and see if your problem reproduces under those conditions. OR.... am I missing something here - if one of your videos is 13 sec and you only display it for 7 seconds, this would cut it off about halfway through. But surely it's not as simple as this. good luck, and please report back to the list if you figure it out. -dv On 25/02/2012 20:06, Lindsay wrote: > I am setting up an experiment with videos and am playing around with > displaying the videos to make sure it will work for our study. The > videos will play, but they will not play for the whole length every > time. I am using two practice videos, one 13 seconds and one 6 seconds > long, and have the program set up to randomly pull them from a list > and play them after a blank screen. I have tried pre-release, changing > the run time of the videos, and various video formats, but have not > had much success. When I increase the number of cycles, some of the > presentations will run the whole time and some will cut off half-way > through. The timing of the presentation of stimuli is not necessarily > important, but we need each video to run for the set length of time > (about 7 seconds). > > We are expanding upon a study that used still images, so we are not as > familiar with the various video formats, compressions, etc. I would > appreciate any help! > > Lindsay > -- David Vinson, Ph.D. Senior Postdoctoral Researcher Cognitive, Perceptual and Brain Sciences Research Department University College London 26 Bedford Way, London WC1H 0AP Tel +44 (0)20 7679 5311 (UCL internal ext. 25311) -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From s.guzin at gmail.com Tue Feb 28 10:20:21 2012 From: s.guzin at gmail.com (=?ISO-8859-1?Q?G=FCzin_Mazman?=) Date: Tue, 28 Feb 2012 12:20:21 +0200 Subject: limiting numbers of the box selection Message-ID: Hi, I am developing an experiment which participants must remember the orientataion of numbers presented sequentially. Participants will click on the empty boxes which would show the orientation of top of numbers. A slide which displays 8 empty boxes images arranged like circle on the screen and show one of the 8 different angles (45, 90, 135....). After participant click on the box, it will be checked by filling. I have done until here. My problem is limiting the numbers of checking boxes. I mean for first trial block particpnat will select only two boxes that are correct. If they choose a third one, I want their last selection will dissapper. Or maybe program will not allow to select choosing more than two. My boxes names are; Check1, Check2, Check3, Check4, Check5, Check6, Check7, Check8. I attached two imaged that are selected or not selected. I am including my code below. Coul you help me how can I limit numbers of selecting . Dim theState as SlideState Set theState = Stimulus.States("Default") 'Variable for holding the name of the sub-object clicked by the subject. Dim strHit As String 'Variable for holding the subject's response information. Dim theMouseResponseData As MouseResponseData 'Was a response made? If Stimulus.InputMasks.Responses.Count > 0 Then 'Get the mouse response Set theMouseResponseData = CMouseResponseData(Stimulus.InputMasks.Responses(1)) 'Determine string name of SlideImage or SlideText object at 'mouse click coordinates. Assign that value to strHit strHit = theState.HitTest(theMouseResponseData.CursorX, theMouseResponseData.CursorY) 'If a check box was clicked, check or uncheck it based on its current state. If Mid(strHit, 1, 5) = "Check" Then 'Store the number of the checkbox clicked. Dim nCheck As Integer nCheck = CInt(Mid(strHit, 6, 1)) Debug.Print nCheck If c.GetAttrib("Check" & nCheck & "Image") = "checkempty.bmp" Then c.SetAttrib "Check" & nCheck & "Image", "checkfull.bmp" 'If a box has been checked, log the RT and RESP. Else c.SetAttrib "Check" & nCheck & "Image", "checkempty.bmp" c.Setattrib "Check" & nCheck & "RESP", "" End If End IF if c.GetAttrib("Check4Image")="checkfull.bmp" and c.GetAttrib("Check5Image")="checkfull.bmp" and c.GetAttrib("Check1Image")="checkempty.bmp" and c.GetAttrib("Check2Image")="checkempty.bmp" and c.GetAttrib("Check3Image")="checkempty.bmp" and c.GetAttrib("Check6Image")="checkempty.bmp" and c.GetAttrib("Check7Image")="checkempty.bmp" and c.GetAttrib("Check8Image")="checkempty.bmp" Then 'if strHit = "Check5" and strHit = "Check4" Then Stimulus.ACC = 1 else Stimulus.ACC = 0 End if -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: selected.jpg Type: image/jpeg Size: 7876 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: empty_boxes.jpg Type: image/jpeg Size: 8029 bytes Desc: not available URL: From mcfarla9 at msu.edu Tue Feb 28 15:46:39 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 28 Feb 2012 10:46:39 -0500 Subject: using mouse scroll as response device for a sliding scale In-Reply-To: <55456dfe-e3ff-4ad2-8410-fb906525ac00@s7g2000vby.googlegrou ps.com> Message-ID: Brieana, Hmm, using the mouse scroll wheel. First time I have heard anyone ask about that, I would be interested in knowing how myself. I suspect that you would have to access the Windows mouse scroll wheel API, see, e.g., http://msdn.microsoft.com/en-us/library/ms997498.aspx (found by Googling "mouse scroll wheel api"). Perhaps you could post this to PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp , and then post back here with the answer. -- David McFarlane At 1/30/2012 10:56 AM Monday, you wrote: >Oops, my bad. Below is the code for each of the two inline scripts: > > >'InitializeTrial' inlinescript: > >'Designate "theSlide" as the current Slide >Dim theSlide As Slide >Set theSlide = VASSlide > >'Designate "theState" as the Default Slide State, which is the >'current, ActiveState on theSlide >Dim theState as SlideState >Set theState = theSlide.States("Default") > >'Gain access to the SlideCursor SlideText. >Dim Drag1 As SlideText >Set Drag1 = CSlideText(theState.Objects("SlideCursor")) >Drag1.X = "55%" > >Dim theRating As SlideText >Set theRating = CSlideText(theState.Objects("Rating")) >theRating.X = "55%" >theRating.Text = "" > >-------------------------- >'ChangeScale' inline script: > >Dim nCurrentScore As Integer >nCurrentScore = 25 > >Dim nResponseCount As Integer >Dim theKeyboardResponseData As KeyboardResponseData > >Do While theSlide.InputMasks.IsPending() > > 'Was there a response? > If theSlide.InputMasks.Responses.Count > nResponseCount Then > > nResponseCount = nResponseCount + 1 > > Set theKeyboardResponseData = >CKeyboardResponseData(theSlide.InputMasks.Responses(nResponseCount)) > > 'Move cursor/change score > If theKeyboardResponseData.RESP = "{RIGHTARROW}" Then > > 'Check for top of scale > If nCurrentScore <= 49 Then > nCurrentScore = nCurrentScore + 1 > Else > Debug.Print "top of scale" > End If > > Else > > 'Check for bottom of scale > If nCurrentScore > 0 Then > nCurrentScore = nCurrentScore - 1 > Else > Debug.Print "bottom of scale" > End If > > End If > > 'Update the slider (adjusted by 5%) and rating feedback > Drag1.X = CInt(nCurrentScore * 2) -.8 & "%" > theRating.Text = nCurrentScore > > theSlide.Draw > Sleep 1 > > End If > >Loop > >c.SetAttrib "Rating", nCurrentScore > >-------- > >Thanks. > >On Jan 30, 10:53 am, Brieana wrote: > > Hi everyone, > > > > I am trying to create a sliding scale that can be used by participants > > to place a bid from $0-50 with a mouse scroll. The inline scripts that > > I am using I found in a PST support forum post and just changed the > > parameters to fit my needs. However, I just found out that the > > facility I will be conducting the fMRI study in does not have a > > compatible keypad device so I have to switch the response device to a > > mouse. Does anyone know of how I can change the inline script(s) such > > that a scroll up would mean scrolling through values greater than 50 > > and scrolling down would mean scrolling through values lesser than > > 50? > > > > Thanks for the read and for the help! > > > > Brieana -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 28 16:29:44 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 28 Feb 2012 11:29:44 -0500 Subject: Adding rows to the eDat file using code In-Reply-To: Message-ID: Sorry for taking so long to get back with a public reply to this one, by now you probably no longer need the solution. But for the record, here is some information. Your code does exactly as it is designed to do. Note that c.SetAttrib commands do *not* immediately log values, they merely add attributes to the Context, which may be logged later. Instead, the c.Log command does the actual logging. By default the enclosing Procedure issues a c.Log command once at the end of the Procedure (don't take my word for that, look at the full code generated by E-Studio), and at that time it logs only the latest value of the assigned context attributes (e.g., the final values of X & Y). So, if you do multiple c.SetAttrib of the same attribute within a Procedure, only the final one will count. But you can add a row to the log at any time by adding a c.Log command in inline -- in your case, just add c.Log before the "end if" of your code fragment. See also the Context.SetAttrib and Context.Log topics in the E-Basic Help facility. Now, you might still get an extra row at the end of the Procedure, so you might have to pull some tricks to get it exactly right (or filter out extra rows using the filtering facility of E-DataAid, etc.). Note that you can tell E-Studio to *not* add the c.Log at the end of a Procedure by changing the LogData property of the Procedure -- this is a bit tricky, but has been made much easier in EP2.0.10.x. Alternatively, instead of logging extra rows for each X, Y, you could add extra columns to hold the data. E.g., dim iAttrib as integer dim x as single, y as single iAttrib = 0 do if ASL_GetPOG(x, y, true) then cnv.Text 20, 20, "Point of gaze from eye tracker" cnv.Text 20, 40, "x = " & x & " " cnv.Text 20, 60, "y = " & y & " " iAttrib = iAttrib + 1 c.setAttrib "textDisplay1.gazePosX" & iAttrib, x c.setAttrib "textDisplay1.gazePosY" & iAttrib, y end if Loop Until TextDisplay1.RT > 0 Now, the single c.Log at the end of the Procedure logs all these generated attributes/columns. Finally, remember that PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp also takes these sorts of questions, and they strive to respond to all requests in 24-48 hours. -- David McFarlane At 1/31/2012 11:00 AM Tuesday, you wrote: >Hello ! > >I am using ePrime to display a series of pictures which change with a >mouseclick. This is working perfectly > >I have a coded function that receives data from an external device >(ASL 504 Pan-Tilt Eyetracker). Everytime the function is run it >receives an X value and a Y value. I am able to store these values as >numbers and even display them on screen. > >I am trying to run the above function 30 times a second during each >picture display. I need the eDAT file to have a row for every time it >is run (30 rows per second). Each row should have the usual stimulus >related fields plus this X and Y value from my function > >Currently in my trial procedure, I have an inline object after the >picture display and I have this code in it. This is just a simple loop >that continuously receives the x and y values > >[quote] > >dim x as single, y as single >do >if ASL_GetPOG(x, y, true) then > cnv.Text 20, 20, "Point of gaze from eye tracker" > cnv.Text 20, 40, "x = " & x & " " > cnv.Text 20, 60, "y = " & y & " " > c.setAttrib "textDisplay1.gazePosX", x > c.setAttrib "textDisplay1.gazePosY", y >end if >Loop Until TextDisplay1.RT > 0 > >/[quote] > >This however just creates one row for each slide and gives me the last >value of X and Y that has been received. Calling the function at >regular time intervals inside the inline object does he same thing. I >am able to create a string and store a long string of these X and Y >values which I am able to parse through later...but an ideal case for >me would be to add a row to the eDAT file everytime the function is >run with X and Y values. > >Any help on how to accomplish this would be most helpful. I have a bit >of programming experience but am extremely new to ePrime. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 28 16:49:44 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 28 Feb 2012 11:49:44 -0500 Subject: problem with a summation object In-Reply-To: <494acf35-557a-4082-a5c8-17258c5ab40d@j14g2000vba.googlegro ups.com> Message-ID: Max, Hmm, another question that could go to PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp . Anyway, what was the exact line of code that produced the error? Typically, an "Object does not have a default value" error occurs when you use an object but fail to specify which *property* of the object you mean. You can get away with that only when the object does have a default property, otherwise you must explicitly specify which property you mean. To take a contrived example, the following will create such an error: SummationRTA.AddObservation CInt(ReactionInterval) whereas the following will not: SummationRTA.AddObservation CInt(ReactionInterval.RT) -- David McFarlane At 2/2/2012 06:02 AM Thursday, you wrote: >Dear everyone, > >I tried to use a summation object to give feedback to experimental >subjects about their accuracy and reaction times. >I used following code: >Dim SummationAccA, SummationAccB, SummationRTA, SummationRTB as >Summation >(global variables) > >Set SummationAccA = New Summation >Set SummationRTA = New Summation >Set SummationAccB = New Summation >Set SummationRTB = New Summation >(before running the list) > >SummationAccA.AddObservation ReactionInterval.ACC >SummationRTA.AddObservation ReactionInterval.RT >SummationAccB.AddObservation ReactionInterval2.ACC >SummationRTB.AddObservation ReactionInterval2.RT >(ReactionInterval & Reactioninterval2 are slide objects) > >By attempting to add the accuracies and reaction times following error >occurs: >"Object does not have a default value" > >I used the same principle in further experiments and there it worked. >I hope there is just a simple mistake, thanks for answers, >best regards, >Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue Feb 28 16:54:10 2012 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 28 Feb 2012 11:54:10 -0500 Subject: Parallel Port Problems In-Reply-To: Message-ID: Max, Are you sure that you specified a different (& correct) port address for the second port? If you used the same port address for both, then you are really using only one of the ports, and that one port becomes input or output depending on the last command issued. -- David McFarlane At 2/24/2012 12:12 PM Friday, you wrote: >Dear all, > >next problem: > >I tried to use two parallel ports, one for sending a trigger for EEG, >one for input from a self-made device (like a keyboard). >Sending triggers work until I add a second parallel port ("port mode" >= Input) to the devices (with second "port mode" = output it works, >but I need it for input). > >Any suggestions? > >Max -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en.