From pfc.groot at gmail.com Mon May 2 09:14:59 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Mon, 2 May 2011 02:14:59 -0700 Subject: Tower of hanoi task In-Reply-To: <4db9bcf9.da71e70a.552d.216aSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thanks David, for fixing this. It must the the first time that someone else fixed my script ;-)) 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 bsmith.lap at gmail.com Fri May 6 16:38:57 2011 From: bsmith.lap at gmail.com (Benjamin) Date: Fri, 6 May 2011 09:38:57 -0700 Subject: Crashing when playing sound files in version 74 Message-ID: An experiment I wrote in version 22 crashes when run in version 74, when it tries to play sound files. There is no problem when run in version 22. Do other people have this problem? Were these kinds of sound issues fixed in version 90? Both computers are running XP. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Jedema at pitt.edu Mon May 9 17:28:12 2011 From: Jedema at pitt.edu (Hank Jedema) Date: Mon, 9 May 2011 10:28:12 -0700 Subject: Crashing when playing sound files in version 74 In-Reply-To: <1ab29e2f-c3a4-42b3-92e8-dc5cae234c48@t16g2000vbi.googlegroups.com> Message-ID: Hi Brian, There was a known issue with the sound in version 79, which was remedied in the current version (2.08.90) that is available for download on the website. Hank On May 6, 12:38 pm, Benjamin wrote: > An experiment I wrote in version 22 crashes when run in version 74, > when it tries to play sound files.  There is no problem when run in > version 22.  Do other people have this problem?  Were these kinds of > sound issues fixed in version 90?  Both computers are running XP. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 10 16:59:53 2011 From: erin.siebert at gmail.com (Erin) Date: Tue, 10 May 2011 09:59:53 -0700 Subject: selecting an image with the mouse cursor by contact alone (without clicking) In-Reply-To: <4dbacc91.4c3c2b0a.0f7d.271eSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thank you very very much for the suggestions! On Apr 29, 10:34 am, David McFarlane wrote: > Erin, > > Stock reminder:  1) I do not work for PST.  2) PST's trained staff > takes any and all questions athttp://support.pstnet.com/e%2Dprime/support/login.asp, and they > strive to respond to all requests in 24-48 hours -- this is pretty > much their substitute for proper documentation, so make full use of > it.  3) If you do get an answer from PST Web Support, please extend > the courtesy of posting their reply back here for the sake of others. > > That said, here is my take... > > Basically, what Ben already said.  Inside your loop, you can get > mouse cursor position using Mouse.GetCursorPos (see the > MouseDevice.GetCursorPos topic in the online E-Basic Help).  For the > test, you could use SlideState.HitTest, or PointInRect (see those > topics in the online E-Basic Help), depending on your tastes and requirements. > > E.g., for just one rectangular target zone, > > Const  tgtName as String = "Image1" > Dim  x as Long, y as Long > Dim  slState as SlideState  ' for convenience > Set slState = StimSlide.States("Default") > Do  ' loop until mouse enters the named region >      Mouse.GetCursorPos x, y > Loop Until ( (slState.HitTest( x, y ) = tgtName) ) > > Do be aware that some uses of HitTest and PointInRect include top & > left edges as part of the rectangle, but exclude bottom & right edges > as part of the rectangle, in case that is important to you. > > Since you want the loop to end when the mouse contacts any of *three* > distinct areas, you will need to construct a somewhat more elaborate > conditional clause than in this example, but you get the idea.  And > if you want to allow for non-rectangular target zones then you will > have to incorporate some kind of mask into your tests, which I leave > as an exercise. > > -- David McFarlane, Professional Faultfinder > > At 4/29/2011 09:08 AM Friday, ben robinson wrote: > > >you could use a Do...Loop Until in an Inline to continuously check > >for mouse cursor position until some condition is met, for instance > >the cursor's x and y position both meet some requirement (ie, If x > > >5 and x < 10 and y > 5 and y < 10 Then trial.ACC = 1, trial.RT = > >clock.read).  does that make sense? > > >ben > > >On Thu, Apr 28, 2011 at 5:35 PM, Erin > ><erin.sieb... at gmail.com> wrote: > >I want find out how to make an image selection happen by simply having > >the mouse cursor contact an image, without any clicking. My experiment > >is actually a match-to-sample task for chimpanzees using ajoystick > >without buttons. I have successfully set up thejoystickto control > >the mouse cursor in E-Prime, so the chimp can control the mouse cursor > >using thejoystick. I want the chimp to be able to select an image by > >simply contacting the image with the mouse cursor. > > >The experiment will have three images displayed- a sample image at the > >top of the screen (no response if contacted), then below, 2 images: > >one image that matches the sample (correct if contacted), and a non- > >matching foil image (incorrect if contacted). > > >So, I need to figure out how to have an image selection happen by > >contact with the mouse cursor alone, and how to designate the image > >response as correct or incorrect. I have searched the E-Prime help, > >and checked the forums with no luck.  I downloaded the sample > >experiment "Response Areas For Mouse Input Sample," but I am not sure > >how to adapt it to select an image without a click.  I am new to E- > >Prime, and would appreciate any information. 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 mcfarla9 at msu.edu Tue May 10 19:59:45 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 10 May 2011 15:59:45 -0400 Subject: Mastering E-Prime: Solving E-Prime Puzzles Message-ID: How to Solve E-Prime Puzzles A General Algorithm I have developed a general algorithm for solving E-Prime problems, and I am putting this in the record here in case anyone (including me) ever needs to search for this. (Note that, in many respects, this merely repeats what you may find at the start of the E-Prime "Getting Started Guide".) - Read the manuals that came with E-Prime and work through *all* the tutorials: - Getting Started Guide - User's Guide - New Features Guide (EP2 only) - Reference Guide - In addition, see the alternative "E-Primer" from Michiel Spapé, Rinus Verdonschot, and Jan-Rouke Kuipers, http://step.psy.cmu.edu/materials/EPrimer.pdf - Look at the example programs that came with E-Prime: - BasicRT - PictureRT - SoundRT - SlideRT - NestingRT - NestingXRT - MovieRT (EP2 only) - MultipleDisplayRt (EP2 only) - Search and study the E-Basic Help facility (but note that E-Basic Help is incomplete, and in many cases misleading or wrong): - From E-Studio: Help > E-Basic Help - From the Windows Start menu: Path may vary, but it will be in about the same place as the shortcut to E-Studio - Read the online FAQ, whenever that gets written (I am still working on this one) - Look at example programs available on the Web (but use your judgment, the quality of these examples varies widely): - From PST: http://www.pstnet.com/e-prime/support/samples.asp (requires registration and login) - From the System for Teaching Experimental Psychology (STEP): http://step.psy.cmu.edu/ - From Paul Groot: http://www.psy.vu.nl/download/menu/xml/TOC.xml - Attached to various messages at the PST Forum (requires registration & login to download attachments): http://support.pstnet.com/forum/Forum3-1.aspx - Search the E-Prime Knowledge Base at http://www.pstnet.com/e-prime/support/kb.asp - Search, browse, and study the web forums: - E-Prime mailing list -- two portals to the same content: - E-Prime Google Group: http://groups.google.com/group/e-prime - Archives of EPRIME List: http://listserv.linguistlist.org/archives/eprime.html - PST Forum: http://support.pstnet.com/forum/Forum3-1.aspx - After all the above fail, post a question at the web forums above. This may require registration. - Or, just skip all the above, and go directly to PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp. They strive to respond to all requests in 24-48 hours, and this is pretty much their substitute for proper documentation, so make full use of it. -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue May 10 20:02:40 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 10 May 2011 16:02:40 -0400 Subject: Mastering E-Prime: How to Learn E-Prime Programming Message-ID: The question comes up from time to time, "How can I learn to program with E-Prime?" Here is my attempt to answer that. First, some earlier posted partial attempts to address this: http://support.pstnet.com/forum/Topic1806-5-1.aspx http://support.pstnet.com/forum/Topic2316-5-1.aspx http://support.pstnet.com/forum/Topic2951-12-1.aspx http://support.pstnet.com/forum/Topic2446-23-1.aspx http://groups.google.com/group/e-prime/browse_thread/thread/e4b89ad5265c747a/b1ec5d104cc7977d ( http://listserv.linguistlist.org/cgi-bin/wa?A2=ind0804D&L=EPRIME&P=R1715 ) And now, my essay... For those without any programming background: - E-Prime is well suited for casual, amateur programmers of simple psychological experiments, insofar as it insulates the user from the deeper workings of the system (and encapsulates several structures and concepts peculiar to experimental psychology). As a result, it makes a poor platform for learning or understanding actual computer programming. If you try this you will only make things hard on yourself. - I urge you instead to just knuckle down and do some actual coursework in any modern object-oriented programming language until you at least grasp some general core concepts (bits, bytes, words, literals, constants, variables, integers, floats, strings, arrays, objects, representations, types, classes, scope, operators, labels, conditionals, branches, loops, blocks, subroutines, functions, arguments, etc.). Otherwise you will not understand what we are talking about. - Since E-Basic is a derived from Microsoft Visual Basic for Applicatons (the language element of Visual Basic 6), you would do best to study this if possible. - Some of us who hearken back to the 1980s still think that Pascal makes a fine language for learning general programming concepts, but it has fallen out of fashion. (And if you did study Pascal, you would want an object-oriented version, e.g., ObjectPascal.) - You can use any web browser (e.g., Internet Explorer, Firefox, Opera) to study JavaScript, which incorporates a rich set of object-oriented concepts, for free. However, JavaScript quickly gets entangled with HTML, Cascading Style Sheets, and the Document Object Model, so this may not be so useful as I once thought. - Python is also free, and seems to be generally in fashion now for Introduction to Programming, so you might try that. - Python does not let you learn directly about labels and goto statements, which you will need for E-Prime. But you might learn similar concepts with Python's exception handling (i.e., try, raise, except). - Personally, for this kind of work I think you cannot do better than to get a good grounding in C or C++, but I seem to be outvoted here. - Even more fundamental than learning any programming language, you should study and be comfortable with math in general, and in particular propositional logic, combinatorics, and probability. - It also helps to know some information and communication theory. (If you can make it through the classic work of Claude Shannon, then you are in good shape.) - See my "How to Solve E-Prime Puzzles". For those who come to E-Prime with some programming background: - E-Basic is a derived from Microsoft Visual Basic for Applications (the language element of Visual Basic 6). So you might like some materials on VB or VBA. - Most materials on Visual Basic focus on using the VB GUI to design the GUI aspects of your program, and using VB to control databases and web sites, so they are not much use to us. Instead, you want a source that covers the basic language elements. - Books to try: - "VBA for Dummies", Steve Cummings, IDG Books Worldwide, Inc., Foster City, CA, 1998. - "VB and VBA in a Nutshell: The Language", Paul Lomax, O'Reilly Media, Inc., Sebastopol, CA, 1998. - "VBA Developer's Handbook", Ken Getz & Mike Gilbert, Sybex Inc., San Francisco, CA, 1997. - "VBA for Dummies" and "VBA Developer's Handbook" come recommended in the E-Prime User's Guide (p. 124, sec. 4.1.1). - I find "VBA for Dummies" to make the best general discursive introduction (despite its annoyingly chatty style). "VB and VBA in a Nutshell", true to O'Reilly's general quality, makes a generally good reference book. "VBA Developer's Handbook" is really meant for a different audience (developers of commercial VBA applications). - E-Basic lacks some standard VBA elements (e.g., With). - E-Basic extends VBA with its own host of classes/objects (and associated properties and methods), so VB books only help so far. - In addition, vital task control issues such as randomization and critical timing go beyond the scope of most programming texts, so you will have to learn those separately (e.g., Chapter 3 of the E-Prime User's Guide). - BTW, the E-Studio environment itself borrows a lot from the Visual Basic Editor. - Some features of E-Prime (e.g., graphics and timing) rely on Microsoft's DirectX technology, so you may wish to also study that. - The Guides supplied with E-Prime do a pretty good job as far as they go, but they are rather tutorial in nature and scope. There is neither a proper technical reference, nor any discursive guide to lay out the underlying principles and concepts of E-Prime and E-Basic. You are left to puzzle this out for yourself, or along with other regular users. - Make lots of small demo programs in E-Studio, and study the generated code. - Use Lists and Weights to easily limit test runs. - Use Clock.Scale for speeded test runs. - Log test values (c.SetAttrib) and examine the resulting .edat* file *after* test runs to see what the program did. - Or, use Debug.Print (per Michiel Spapé). - Or, use MsgBox to trace execution at run time. - Use GetUserBreakState() for graceful early exits. - If you have EP1, use E-Run to try out E-Basic elements with even simpler test programs. You can do this even without a hardware key (which is probably why PST removed this capability from E-Run in EP2). In this regard, EP2 makes an inferior platform for studying E-Basic. - See my "How to Solve E-Prime Puzzles". - In particular, study Chapter 4, "Using E-Basic", of the User's Guide. - If you care at all about critical timing, then someone in your lab *must* study Chapter 3 of the User's Guide. I cannot stress this enough. - The "real" documentation, insofar as we get any at all, is in the E-Basic Help facility. - The E-Basic Help facility is still incomplete (e.g., http://support.pstnet.com/forum/Topic1241-12-1.aspx ), and in some cases misleading or just plain wrong (e.g., http://support.pstnet.com/forum/Topic1197-5-1.aspx ). -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tiburona at gmail.com Wed May 11 03:06:45 2011 From: tiburona at gmail.com (Katie S) Date: Tue, 10 May 2011 20:06:45 -0700 Subject: selecting stimuli without replacement from a list, but using the same stimuli consistently on trials within a block Message-ID: Hi all Here is my situation: I want to present shapes paired with sounds, first shape, then sound, in three different blocks. In each block, there are 16 shape-sound trials: 12 common sounds and 4 oddball sounds. In one block, the same shape always predicts the same sound, so there are 12 common shapes, 4 oddball shapes. In another block, there is an "error" 25% of the time. So there are 6 oddball shapes (3 before the the oddball sounds, 3 before the common sound) and 10 common shapes (1 before the oddball shape, 9 before the common shapes) In a third block, it is random which shape predicts which sound, so there are 6 of one shape before common sounds and 2 before oddball sounds, and the same is true of the other. I have some constraints I'd like to satisfy. I'd like the oddball sounds to be dispersed so that one occurs in each quarter of the 16 trials. I probably have some others but I don't think that's important for my current question. I can write code just fine to generate two arrays that create a constraint-satisfying pseudorandom order for my shapes and noises, calling one arrShape and populating it with 1's and 2's, and the other arrNoise and populating it with 1's and 2's. I more or less already have. What I can't figure out: having specified that order, how do I assign a shape to be 1, 2 and a noise to be 1,2, and where would I put the order I generated to control the display of my shapes and noises? If what I needed to do was select a random shape with a particular characteristic on each trial, I would know how to do that with nested lists. But that's not what I need. I need to select a shape randomly from a list somewhere, designate it shape 1 (the same for sound 1, shape 2, sound 2) and have that identity be consistent on each trial through the block. I also have some constraints about which two shapes get paired together, so I need to be able to place some limits on the selection of the second shape. I need to generate the order for the presentation of shape 1, sound 1, etc. (I already know how to generate a constraint-satisfying pseudorandom order) , and use that order to govern their presentation through the 16 trials. Then, those shapes/sounds having been selected, I need them not to be used again in subsequent blocks. I am perfectly willing to code -- I just need some help with overall approach, how to integrate code with the various E-Prime objects, etc. I would understand how to do this if it were a programming task in a regular language -- what I don't understand is how to integrate it in with the prefab E-Prime objects. I would appreciate any help. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From baltimore.ben at gmail.com Wed May 11 15:07:28 2011 From: baltimore.ben at gmail.com (ben robinson) Date: Wed, 11 May 2011 11:07:28 -0400 Subject: Mastering E-Prime: How to Learn E-Prime Programming In-Reply-To: <4dc999e7.4c3c2b0a.3617.59e7SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Clock.Scale? amazing. thank you, david! On Tue, May 10, 2011 at 4:02 PM, David McFarlane wrote: > The question comes up from time to time, "How can I learn to program with > E-Prime?" Here is my attempt to answer that. > > First, some earlier posted partial attempts to address this: > http://support.pstnet.com/forum/Topic1806-5-1.aspx > http://support.pstnet.com/forum/Topic2316-5-1.aspx > http://support.pstnet.com/forum/Topic2951-12-1.aspx > http://support.pstnet.com/forum/Topic2446-23-1.aspx > > http://groups.google.com/group/e-prime/browse_thread/thread/e4b89ad5265c747a/b1ec5d104cc7977d > ( > http://listserv.linguistlist.org/cgi-bin/wa?A2=ind0804D&L=EPRIME&P=R1715 ) > > And now, my essay... > > For those without any programming background: > - E-Prime is well suited for casual, amateur programmers of simple > psychological experiments, insofar as it insulates the user from the > deeper workings of the system (and encapsulates several structures and > concepts peculiar to experimental psychology). As a result, it makes > a poor platform for learning or understanding actual computer > programming. If you try this you will only make things hard on > yourself. > - I urge you instead to just knuckle down and do some actual coursework > in any modern object-oriented programming language until you at least > grasp some general core concepts (bits, bytes, words, literals, > constants, variables, integers, floats, strings, arrays, objects, > representations, types, classes, scope, operators, labels, > conditionals, branches, loops, blocks, subroutines, functions, > arguments, etc.). Otherwise you will not understand what we are > talking about. > - Since E-Basic is a derived from Microsoft Visual Basic for > Applicatons (the language element of Visual Basic 6), you would do > best to study this if possible. > - Some of us who hearken back to the 1980s still think that Pascal > makes a fine language for learning general programming concepts, > but it has fallen out of fashion. (And if you did study Pascal, > you would want an object-oriented version, e.g., ObjectPascal.) > - You can use any web browser (e.g., Internet Explorer, Firefox, > Opera) to study JavaScript, which incorporates a rich set of > object-oriented concepts, for free. However, JavaScript quickly > gets entangled with HTML, Cascading Style Sheets, and the Document > Object Model, so this may not be so useful as I once thought. > - Python is also free, and seems to be generally in fashion now for > Introduction to Programming, so you might try that. > - Python does not let you learn directly about labels and goto > statements, which you will need for E-Prime. But you might > learn similar concepts with Python's exception handling > (i.e., try, raise, except). > - Personally, for this kind of work I think you cannot do better > than to get a good grounding in C or C++, but I seem to be > outvoted here. > - Even more fundamental than learning any programming language, you > should study and be comfortable with math in general, and in > particular propositional logic, combinatorics, and probability. > - It also helps to know some information and communication theory. > (If you can make it through the classic work of Claude Shannon, > then you are in good shape.) > - See my "How to Solve E-Prime Puzzles". > > For those who come to E-Prime with some programming background: > - E-Basic is a derived from Microsoft Visual Basic for Applications > (the language element of Visual Basic 6). So you might like some > materials on VB or VBA. > - Most materials on Visual Basic focus on using the VB GUI to design > the GUI aspects of your program, and using VB to control > databases and web sites, so they are not much use to us. > Instead, you want a source that covers the basic language > elements. > - Books to try: > - "VBA for Dummies", Steve Cummings, IDG Books Worldwide, Inc., > Foster City, CA, 1998. > - "VB and VBA in a Nutshell: The Language", Paul Lomax, > O'Reilly Media, Inc., Sebastopol, CA, 1998. > - "VBA Developer's Handbook", Ken Getz & Mike Gilbert, Sybex > Inc., San Francisco, CA, 1997. > - "VBA for Dummies" and "VBA Developer's Handbook" come > recommended in the E-Prime User's Guide (p. 124, sec. 4.1.1). > - I find "VBA for Dummies" to make the best general discursive > introduction (despite its annoyingly chatty style). "VB and > VBA in a Nutshell", true to O'Reilly's general quality, makes > a generally good reference book. "VBA Developer's Handbook" > is really meant for a different audience (developers of > commercial VBA applications). > - E-Basic lacks some standard VBA elements (e.g., With). > - E-Basic extends VBA with its own host of classes/objects (and > associated properties and methods), so VB books only help so far. > - In addition, vital task control issues such as randomization and > critical timing go beyond the scope of most programming texts, so > you will have to learn those separately (e.g., Chapter 3 of the > E-Prime User's Guide). > - BTW, the E-Studio environment itself borrows a lot from the > Visual Basic Editor. > - Some features of E-Prime (e.g., graphics and timing) rely on > Microsoft's DirectX technology, so you may wish to also study that. > - The Guides supplied with E-Prime do a pretty good job as far as they > go, but they are rather tutorial in nature and scope. There is > neither a proper technical reference, nor any discursive guide to lay > out the underlying principles and concepts of E-Prime and E-Basic. > You are left to puzzle this out for yourself, or along with other > regular users. > - Make lots of small demo programs in E-Studio, and study the > generated code. > - Use Lists and Weights to easily limit test runs. > - Use Clock.Scale for speeded test runs. > - Log test values (c.SetAttrib) and examine the resulting > .edat* file *after* test runs to see what the program did. > - Or, use Debug.Print (per Michiel Spapé). > - Or, use MsgBox to trace execution at run time. > - Use GetUserBreakState() for graceful early exits. > - If you have EP1, use E-Run to try out E-Basic elements with even > simpler test programs. You can do this even without a hardware > key (which is probably why PST removed this capability from E-Run > in EP2). In this regard, EP2 makes an inferior platform for > studying E-Basic. > - See my "How to Solve E-Prime Puzzles". > - In particular, study Chapter 4, "Using E-Basic", of the User's > Guide. > - If you care at all about critical timing, then someone in > your lab *must* study Chapter 3 of the User's Guide. I > cannot stress this enough. > - The "real" documentation, insofar as we get any at all, is in > the E-Basic Help facility. > - The E-Basic Help facility is still incomplete (e.g., > http://support.pstnet.com/forum/Topic1241-12-1.aspx ), and > in some cases misleading or just plain wrong (e.g., > http://support.pstnet.com/forum/Topic1197-5-1.aspx ). > > -- David McFarlane, Professional Faultfinder > > -- > You received this message because you are subscribed to the Google Groups > "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to > e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/e-prime?hl=en. > > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcfarla9 at msu.edu Thu May 12 16:21:46 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 12 May 2011 12:21:46 -0400 Subject: Mastering E-Prime: How to Learn E-Prime Programming In-Reply-To: Message-ID: Ben, At 5/11/2011 11:07 AM Wednesday, ben robinson wrote: >Clock.Scale? amazing. thank you, david! Since you mention it, I will expand that detail a little more. As you found, Clock.Scale allows you to speed up (or slow down) the clock rate in E-Prime. It is meant primarily for synchronizing the clock to other equipment, but I find it very handy for speeding up test runs. I am going to give you a bit of enhanced inline code for safely using Clock.Scale for this purpose, but first I need to motivate this with a story. When I discovered Clock.Scale many years ago, first I would simply put it in an inline in my program for my test runs. Of course, then I had to remember to remove or disable my Clock.Scale before using the program with subjects, imagine the trouble if I forgot! At first I would try to remember to delete the line before running subjects, but then I would have to type it back in for new test runs. Then I tried merely commenting it out as needed, which left the line in place but still ran the risk of me forgetting to comment it out as needed. Then I tried putting it into its own inline, and "deleting" that to Unreferenced E-Objects as needed, and dragging it back into SessionProc for test runs. Again, that ran the risk of forgetting to disable my Clock.Scale for subject runs. I thought I could get more clever, so I decided to use a "secret handshake" to start test runs, which would then present a warning reminder before setting the Clock.Scale. I wanted to use a negative Session number, but E-Prime didn't like that so I settled on 11111 (that's five ones). Then I thought, in addition to a warning, it should give the user a chance to bail out. Then I thought, as long as it does all that, why not have it ask me for the Clock.Scale value, so I can change it from run to run? And log the Clock.Scale value? And give me a chance to enter arbitrary comments to log? Etc. Now I can just leave that code in place and invoke it only for test runs, during subject runs it has no effect. So this keeps evolving, but here is the current bit of code that I put into its own inline at the start of almost every project (I like to name the inline "DeveloperInitCode"): '/---------------------------------------------------------------------- ' Inline code to enable various development aids. Const DebugTrigger = 11111 Const ClockScaleAskDefault as Single = 0.05 Dim x If c.GetAttrib("Session") = DebugTrigger Then Beep x = AnswerBox( "You entered a session number of " & DebugTrigger _ & ".\nThis enables some extra developer testing script added" _ & " by the developer of this experiment." _ & "\nIf this is not what you meant, use Cancel to quit the" _ & " experiment now.", "OK", "Cancel", , "DeveloperInit Notice" ) If (x <> 1) Then Exit Sub ' Use Clock.Scale to speed up, or slow down, the experiment running ' time for development testing: x = AskBox( "Clock.Scale (use 1 to run with normal timing): ", _ ClockScaleAskDefault ) If IsEmpty(x) Then Exit Sub Clock.Scale = x c.SetAttrib "Clock.Scale", Clock.Scale c.SetAttrib "Comment", AskBox( "Comment:" ) End If '\---------------------------------------------------------------------- Sometimes I crank the Clock.Scale all the way down (up?) to 0.01, speeding the run up by a factor of 100. This works great for programs that do not wait for subject responses (such as fMRI) -- e.g., I can run through a 15 min experiment in 9 s and then look at the .edat file to see what stimuli got presented when, etc. Now, if only I had an easy programmable way to disable and re-enable self-paced responses for test runs! -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From erin.siebert at gmail.com Thu May 12 17:03:51 2011 From: erin.siebert at gmail.com (Erin) Date: Thu, 12 May 2011 10:03:51 -0700 Subject: Controlling cursor speed when using a joystick Message-ID: I want to control the speed the cursor moves when controlling it with a joystick. I set the joystick to emulate the mouse in my experiment (inline Joystick.AttachToMouseCursor = True). The joystick is quite touchy, and causes the cursor to move very quickly across the screen. For my experiment, I need the cursor to only move slowly, no matter how much the joystick is moved. I tried decreasing the mouse sensitivity settings on my computer. This slowed the cursor down when using the mouse within my experiment, but had no effect on the joystick. I also tried increasing the resolution display of my experiment (giving the cursor "further" to travel)- also no effect. I have also tried adjusting the sensitivity of my joystick, but the cursor is still too fast. E-Prime support suggested the following: "E-Prime does have some limited options for positioning the mouse cursor and limiting its boundaries. We could try to use a combination of the two to make the mouse cursor move more slowly. However, this would require significant scripting and could result in the cursor movement not being smooth" My main question: Is anyone aware of a simpler way of controlling the cursor speed in E-Prime? If not, here is further information on this method: E-Prime help suggested the following: "I would recommend taking a look at the MouseDevice.SetCursorLimits and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via the Help menu). The former will allow you to specify boundaries for the cursor, and the latter will allow you to position the mouse cursor in a specific area. You could use a combination of the two to first limit the movement of the cursor so that it does not immediately move to one edge of the screen, and then use SetCursorPos to move the cursor move slowly. You could also slowly expand the cursor limits as the cursor hits the maximum in one direction. This would allow you to give the appearance of the cursor moving more slowly. To do this, you would have a loop that continuously checks the cursor position against the limits that are set, and expand the limits in one direction as the cursor hits that limit. This would require significant scripting and could result in the cursor movement not being smooth." I took a look at the MouseDevice.SetCursorLimits and MouseDevice.SetCursorPos help, and I understand how this would work in theory. However, I am very new to programming, and I am afraid that the scripting involved is a bit over my head. If anyone can offer any advice or pointers, it 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 mcfarla9 at msu.edu Thu May 12 17:58:10 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 12 May 2011 13:58:10 -0400 Subject: Controlling cursor speed when using a joystick In-Reply-To: Message-ID: Erin, Thanks for posting the full information from PST, that helped (can you let us know which staff member helped you?). I might have come up with the Mouse.SetCursorPos approach myself, but not the Mouse.SetCursorLimits approach, that approach seems a little wacky to me but what do I know?. As for Mouse.SetCursorPos, this posed a nice little puzzle, so I knocked out a quick demo, and here is the inline that I came up with. (Just to have a mouse click to respond to, I preceded the inline with a TextDisplay called StimText, set to Duration of 0 and mouse with Time Limit of (infinite)): /----------------------------------------------------------------------\ ' Code to modify the rate of mouse movement. Const LoopDelay as Long = 0 Const CursorMoveFactor as Single = 0.5 Dim x0 as Long, y0 as Long Dim x1 as Long, y1 as Long Mouse.GetCursorPos x0, y0 ' initialize Do While (StimText.RT = 0) ' replace this with your exit condition Mouse.GetCursorPos x1, y1 x0 = x0 + (CursorMoveFactor * (x1 - x0)) y0 = y0 + (CursorMoveFactor * (y1 - y0)) Mouse.SetCursorPos x0, y0 Sleep LoopDelay Loop \----------------------------------------------------------------------/ I expected to find some cursor movement artifacts, but it really worked rather smoothly. As you can see, I didn't even really need the LoopDelay, but I left it there just in case. -- David McFarlane, Professional Faultfinder At 5/12/2011 01:03 PM Thursday, you wrote: >I want to control the speed the cursor moves when controlling it with >a joystick. I set the joystick to emulate the mouse in my experiment >(inline Joystick.AttachToMouseCursor = True). The joystick is quite >touchy, and causes the cursor to move very quickly across the screen. >For my experiment, I need the cursor to only move slowly, no matter >how much the joystick is moved. > >I tried decreasing the mouse sensitivity settings on my computer. >This slowed the cursor down when using the mouse within my experiment, >but had no effect on the joystick. I also tried increasing the >resolution display of my experiment (giving the cursor "further" to >travel)- also no effect. I have also tried adjusting the sensitivity >of my joystick, but the cursor is still too fast. > >E-Prime support suggested the following: "E-Prime does have some >limited options for positioning the mouse cursor and limiting its >boundaries. We could try to use a combination of the two to make the >mouse cursor move more slowly. However, this would require significant >scripting and could result in the cursor movement not being smooth" > >My main question: Is anyone aware of a simpler way of controlling the >cursor speed in E-Prime? > > >If not, here is further information on this method: > > >E-Prime help suggested the following: >"I would recommend taking a look at the MouseDevice.SetCursorLimits >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via >the Help menu). The former will allow you to specify boundaries for >the cursor, and the latter will allow you to position the mouse cursor >in a specific area. You could use a combination of the two to first >limit the movement of the cursor so that it does not immediately move >to one edge of the screen, and then use SetCursorPos to move the >cursor move slowly. You could also slowly expand the cursor limits as >the cursor hits the maximum in one direction. This would allow you to >give the appearance of the cursor moving more slowly. To do this, you >would have a loop that continuously checks the cursor position against >the limits that are set, and expand the limits in one direction as the >cursor hits that limit. This would require significant scripting and >could result in the cursor movement not being smooth." > >I took a look at the MouseDevice.SetCursorLimits and >MouseDevice.SetCursorPos help, and I understand how this would work in >theory. However, I am very new to programming, and I am afraid that >the scripting involved is a bit over my head. If anyone can offer any >advice or pointers, it 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 erin.siebert at gmail.com Thu May 12 18:46:49 2011 From: erin.siebert at gmail.com (Erin) Date: Thu, 12 May 2011 11:46:49 -0700 Subject: Controlling cursor speed when using a joystick In-Reply-To: <4dcc1fef.da71e70a.2afb.14f7SMTPIN_ADDED@gmr-mx.google.com> Message-ID: hi David, Matt was the one helping me. Thank you very much for the sample code! I tried it out, and it does change how the cursor moves. For the mouse, it slows it down quite perfectly. For the joystick, it also slows down, but there is an interesting effect. The mouse cursor is basically "stuck" to the joystick. Normally, when you move the joystick left, the cursor continues to move left, even when the joystick handle is held in a constant left position. With your modification, the mouse cursor moves only when you move the joystick. So, the cursor will move left as you move the joystick left, but when you stop the joystick, it stops. And, when you let the joystick go back to it's resting position, the cursor actually backtracks back to it's original position. This is an interesting feature, but not what will work for my particular application. (However, I'm sure it's exactly what someone else might need). It would be absolutely perfect if the cursor could be "unstuck" from the joystick, so that the joystick just directs the cursor to move forward in whatever direction the joystick is pointed. Any suggestions? Again, thank you so much! Erin On May 12, 1:58 pm, David McFarlane wrote: > Erin, > > Thanks for posting the full information from PST, that helped (can > you let us know which staff member helped you?).  I might have come > up with the Mouse.SetCursorPos approach myself, but not the > Mouse.SetCursorLimits approach, that approach seems a little wacky to > me but what do I know?. > > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I > knocked out a quick demo, and here is the inline that I came up > with.  (Just to have a mouse click to respond to, I preceded the > inline with a TextDisplay called StimText, set to Duration of 0 and > mouse with Time Limit of (infinite)): > > /----------------------------------------------------------------------\ > ' Code to modify the rate of mouse movement. > > Const  LoopDelay as Long = 0 > Const  CursorMoveFactor as Single = 0.5 > > Dim  x0 as Long, y0 as Long > Dim  x1 as Long, y1 as Long > > Mouse.GetCursorPos x0, y0  ' initialize > Do While (StimText.RT = 0)  ' replace this with your exit condition >      Mouse.GetCursorPos x1, y1 >      x0 = x0 + (CursorMoveFactor * (x1 - x0)) >      y0 = y0 + (CursorMoveFactor * (y1 - y0)) >      Mouse.SetCursorPos x0, y0 >      Sleep LoopDelay > Loop > \----------------------------------------------------------------------/ > > I expected to find some cursor movement artifacts, but it really > worked rather smoothly.  As you can see, I didn't even really need > the LoopDelay, but I left it there just in case. > > -- David McFarlane, Professional Faultfinder > > At 5/12/2011 01:03 PM Thursday, you wrote: > > >I want to control the speed the cursor moves when controlling it with > >a joystick.  I set the joystick to emulate the mouse in my experiment > >(inline Joystick.AttachToMouseCursor = True).  The joystick is quite > >touchy, and causes the cursor to move very quickly across the screen. > >For my experiment, I need the cursor to only move slowly, no matter > >how much the joystick is moved. > > >I tried decreasing the mouse sensitivity settings on my computer. > >This slowed the cursor down when using the mouse within my experiment, > >but had no effect on the joystick.  I also tried increasing the > >resolution display of my experiment (giving the cursor "further" to > >travel)- also no effect.  I have also tried adjusting the sensitivity > >of my joystick, but the cursor is still too fast. > > >E-Prime support suggested the following: "E-Prime does have some > >limited options for positioning the mouse cursor and limiting its > >boundaries. We could try to use a combination of the two to make the > >mouse cursor move more slowly. However, this would require significant > >scripting and could result in the cursor movement not being smooth" > > >My main question: Is anyone aware of a simpler way of controlling the > >cursor speed in E-Prime? > > >If not, here is further information on this method: > > >E-Prime help suggested the following: > >"I would recommend taking a look at the MouseDevice.SetCursorLimits > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via > >the Help menu). The former will allow you to specify boundaries for > >the cursor, and the latter will allow you to position the mouse cursor > >in a specific area. You could use a combination of the two to first > >limit the movement of the cursor so that it does not immediately move > >to one edge of the screen, and then use SetCursorPos to move the > >cursor move slowly. You could also slowly expand the cursor limits as > >the cursor hits the maximum in one direction. This would allow you to > >give the appearance of the cursor moving more slowly. To do this, you > >would have a loop that continuously checks the cursor position against > >the limits that are set, and expand the limits in one direction as the > >cursor hits that limit. This would require significant scripting and > >could result in the cursor movement not being smooth." > > >I took a look at the MouseDevice.SetCursorLimits and > >MouseDevice.SetCursorPos help, and I understand how this would work in > >theory.  However, I am very new to programming, and I am afraid that > >the scripting involved is a bit over my head.  If anyone can offer any > >advice or pointers, it 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 mcfarla9 at msu.edu Thu May 12 19:34:05 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 12 May 2011 15:34:05 -0400 Subject: Controlling cursor speed when using a joystick In-Reply-To: <7714fa96-e241-4526-b503-055404073dcc@p23g2000vbl.googlegro ups.com> Message-ID: Erin, Thanks for testing that out, and posting back so quickly. I don't have any joystick myself, so I don't think I can help any further. I would not have expected your result, clearly the joystick does not simply emulate the mouse otherwise it would just work (and in that case you would not need a code solution in the first place). Is there a separate Windows "control panel" for the joystick that you can use to control its settings? Other than that, if it were me I might try another joystick, or start Googling around for more technical background on joysticks in general and then use that knowledge to devise a solution. Good luck, -- David McFarlane, Professional Faultfinder >hi David, >Matt was the one helping me. > >Thank you very much for the sample code! I tried it out, and it does >change how the cursor moves. For the mouse, it slows it down quite >perfectly. For the joystick, it also slows down, but there is an >interesting effect. The mouse cursor is basically "stuck" to the >joystick. Normally, when you move the joystick left, the cursor >continues to move left, even when the joystick handle is held in a >constant left position. With your modification, the mouse cursor >moves only when you move the joystick. So, the cursor will move left >as you move the joystick left, but when you stop the joystick, it >stops. And, when you let the joystick go back to it's resting >position, the cursor actually backtracks back to it's original >position. This is an interesting feature, but not what will work for >my particular application. (However, I'm sure it's exactly what >someone else might need). It would be absolutely perfect if the >cursor could be "unstuck" from the joystick, so that the joystick >just directs the cursor to move forward in whatever direction the >joystick is pointed. Any suggestions? Again, thank you so much! > >Erin > > > >On May 12, 1:58 pm, David McFarlane wrote: > > Erin, > > > > Thanks for posting the full information from PST, that helped (can > > you let us know which staff member helped you?). I might have come > > up with the Mouse.SetCursorPos approach myself, but not the > > Mouse.SetCursorLimits approach, that approach seems a little wacky to > > me but what do I know?. > > > > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I > > knocked out a quick demo, and here is the inline that I came up > > with. (Just to have a mouse click to respond to, I preceded the > > inline with a TextDisplay called StimText, set to Duration of 0 and > > mouse with Time Limit of (infinite)): > > > > /----------------------------------------------------------------------\ > > ' Code to modify the rate of mouse movement. > > > > Const LoopDelay as Long = 0 > > Const CursorMoveFactor as Single = 0.5 > > > > Dim x0 as Long, y0 as Long > > Dim x1 as Long, y1 as Long > > > > Mouse.GetCursorPos x0, y0 ' initialize > > Do While (StimText.RT = 0) ' replace this with your exit condition > > Mouse.GetCursorPos x1, y1 > > x0 = x0 + (CursorMoveFactor * (x1 - x0)) > > y0 = y0 + (CursorMoveFactor * (y1 - y0)) > > Mouse.SetCursorPos x0, y0 > > Sleep LoopDelay > > Loop > > \----------------------------------------------------------------------/ > > > > I expected to find some cursor movement artifacts, but it really > > worked rather smoothly. As you can see, I didn't even really need > > the LoopDelay, but I left it there just in case. > > > > -- David McFarlane, Professional Faultfinder > > > > At 5/12/2011 01:03 PM Thursday, you wrote: > > > > >I want to control the speed the cursor moves when controlling it with > > >a joystick. I set the joystick to emulate the mouse in my experiment > > >(inline Joystick.AttachToMouseCursor = True). The joystick is quite > > >touchy, and causes the cursor to move very quickly across the screen. > > >For my experiment, I need the cursor to only move slowly, no matter > > >how much the joystick is moved. > > > > >I tried decreasing the mouse sensitivity settings on my computer. > > >This slowed the cursor down when using the mouse within my experiment, > > >but had no effect on the joystick. I also tried increasing the > > >resolution display of my experiment (giving the cursor "further" to > > >travel)- also no effect. I have also tried adjusting the sensitivity > > >of my joystick, but the cursor is still too fast. > > > > >E-Prime support suggested the following: "E-Prime does have some > > >limited options for positioning the mouse cursor and limiting its > > >boundaries. We could try to use a combination of the two to make the > > >mouse cursor move more slowly. However, this would require significant > > >scripting and could result in the cursor movement not being smooth" > > > > >My main question: Is anyone aware of a simpler way of controlling the > > >cursor speed in E-Prime? > > > > >If not, here is further information on this method: > > > > >E-Prime help suggested the following: > > >"I would recommend taking a look at the MouseDevice.SetCursorLimits > > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via > > >the Help menu). The former will allow you to specify boundaries for > > >the cursor, and the latter will allow you to position the mouse cursor > > >in a specific area. You could use a combination of the two to first > > >limit the movement of the cursor so that it does not immediately move > > >to one edge of the screen, and then use SetCursorPos to move the > > >cursor move slowly. You could also slowly expand the cursor limits as > > >the cursor hits the maximum in one direction. This would allow you to > > >give the appearance of the cursor moving more slowly. To do this, you > > >would have a loop that continuously checks the cursor position against > > >the limits that are set, and expand the limits in one direction as the > > >cursor hits that limit. This would require significant scripting and > > >could result in the cursor movement not being smooth." > > > > >I took a look at the MouseDevice.SetCursorLimits and > > >MouseDevice.SetCursorPos help, and I understand how this would work in > > >theory. However, I am very new to programming, and I am afraid that > > >the scripting involved is a bit over my head. If anyone can offer any > > >advice or pointers, it 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 mcfarla9 at msu.edu Thu May 12 19:38:17 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 12 May 2011 15:38:17 -0400 Subject: Controlling cursor speed when using a joystick In-Reply-To: <4dcc3639.4e40e70a.24a0.15b1SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Just thinking through this a bit further, if we knew exactly what data the joystick sent to the PC, and where (e.g., what I/O port) that data appeared, then in principle we could write code to affect the cursor in whatever way we wish. But at the moment we lack that technical information. -- David McFarlane, Professional Faultfinder At 5/12/2011 03:34 PM Thursday, you wrote: >Erin, > >Thanks for testing that out, and posting back so quickly. I don't >have any joystick myself, so I don't think I can help any >further. I would not have expected your result, clearly the >joystick does not simply emulate the mouse otherwise it would just >work (and in that case you would not need a code solution in the >first place). Is there a separate Windows "control panel" for the >joystick that you can use to control its settings? Other than that, >if it were me I might try another joystick, or start Googling around >for more technical background on joysticks in general and then use >that knowledge to devise a solution. > >Good luck, >-- David McFarlane, Professional Faultfinder > > >>hi David, >>Matt was the one helping me. >> >>Thank you very much for the sample code! I tried it out, and it does >>change how the cursor moves. For the mouse, it slows it down quite >>perfectly. For the joystick, it also slows down, but there is an >>interesting effect. The mouse cursor is basically "stuck" to the >>joystick. Normally, when you move the joystick left, the cursor >>continues to move left, even when the joystick handle is held in a >>constant left position. With your modification, the mouse cursor >>moves only when you move the joystick. So, the cursor will move left >>as you move the joystick left, but when you stop the joystick, it >>stops. And, when you let the joystick go back to it's resting >>position, the cursor actually backtracks back to it's original >>position. This is an interesting feature, but not what will work for >>my particular application. (However, I'm sure it's exactly what >>someone else might need). It would be absolutely perfect if the >>cursor could be "unstuck" from the joystick, so that the joystick >>just directs the cursor to move forward in whatever direction the >>joystick is pointed. Any suggestions? Again, thank you so much! >> >>Erin >> >> >> >>On May 12, 1:58 pm, David McFarlane wrote: >> > Erin, >> > >> > Thanks for posting the full information from PST, that helped (can >> > you let us know which staff member helped you?). I might have come >> > up with the Mouse.SetCursorPos approach myself, but not the >> > Mouse.SetCursorLimits approach, that approach seems a little wacky to >> > me but what do I know?. >> > >> > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I >> > knocked out a quick demo, and here is the inline that I came up >> > with. (Just to have a mouse click to respond to, I preceded the >> > inline with a TextDisplay called StimText, set to Duration of 0 and >> > mouse with Time Limit of (infinite)): >> > >> > /----------------------------------------------------------------------\ >> > ' Code to modify the rate of mouse movement. >> > >> > Const LoopDelay as Long = 0 >> > Const CursorMoveFactor as Single = 0.5 >> > >> > Dim x0 as Long, y0 as Long >> > Dim x1 as Long, y1 as Long >> > >> > Mouse.GetCursorPos x0, y0 ' initialize >> > Do While (StimText.RT = 0) ' replace this with your exit condition >> > Mouse.GetCursorPos x1, y1 >> > x0 = x0 + (CursorMoveFactor * (x1 - x0)) >> > y0 = y0 + (CursorMoveFactor * (y1 - y0)) >> > Mouse.SetCursorPos x0, y0 >> > Sleep LoopDelay >> > Loop >> > \----------------------------------------------------------------------/ >> > >> > I expected to find some cursor movement artifacts, but it really >> > worked rather smoothly. As you can see, I didn't even really need >> > the LoopDelay, but I left it there just in case. >> > >> > -- David McFarlane, Professional Faultfinder >> > >> > At 5/12/2011 01:03 PM Thursday, you wrote: >> > >> > >I want to control the speed the cursor moves when controlling it with >> > >a joystick. I set the joystick to emulate the mouse in my experiment >> > >(inline Joystick.AttachToMouseCursor = True). The joystick is quite >> > >touchy, and causes the cursor to move very quickly across the screen. >> > >For my experiment, I need the cursor to only move slowly, no matter >> > >how much the joystick is moved. >> > >> > >I tried decreasing the mouse sensitivity settings on my computer. >> > >This slowed the cursor down when using the mouse within my experiment, >> > >but had no effect on the joystick. I also tried increasing the >> > >resolution display of my experiment (giving the cursor "further" to >> > >travel)- also no effect. I have also tried adjusting the sensitivity >> > >of my joystick, but the cursor is still too fast. >> > >> > >E-Prime support suggested the following: "E-Prime does have some >> > >limited options for positioning the mouse cursor and limiting its >> > >boundaries. We could try to use a combination of the two to make the >> > >mouse cursor move more slowly. However, this would require significant >> > >scripting and could result in the cursor movement not being smooth" >> > >> > >My main question: Is anyone aware of a simpler way of controlling the >> > >cursor speed in E-Prime? >> > >> > >If not, here is further information on this method: >> > >> > >E-Prime help suggested the following: >> > >"I would recommend taking a look at the MouseDevice.SetCursorLimits >> > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via >> > >the Help menu). The former will allow you to specify boundaries for >> > >the cursor, and the latter will allow you to position the mouse cursor >> > >in a specific area. You could use a combination of the two to first >> > >limit the movement of the cursor so that it does not immediately move >> > >to one edge of the screen, and then use SetCursorPos to move the >> > >cursor move slowly. You could also slowly expand the cursor limits as >> > >the cursor hits the maximum in one direction. This would allow you to >> > >give the appearance of the cursor moving more slowly. To do this, you >> > >would have a loop that continuously checks the cursor position against >> > >the limits that are set, and expand the limits in one direction as the >> > >cursor hits that limit. This would require significant scripting and >> > >could result in the cursor movement not being smooth." >> > >> > >I took a look at the MouseDevice.SetCursorLimits and >> > >MouseDevice.SetCursorPos help, and I understand how this would work in >> > >theory. However, I am very new to programming, and I am afraid that >> > >the scripting involved is a bit over my head. If anyone can offer any >> > >advice or pointers, it 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 pfc.groot at gmail.com Thu May 12 20:38:33 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Thu, 12 May 2011 22:38:33 +0200 Subject: Mastering E-Prime: How to Learn E-Prime Programming In-Reply-To: <4dcc0940.092c2b0a.107a.103dSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hi All, The hidden clock.scale configuration at startup David described is indeed invaluable for serious programming and testing. A poor man’s trigger implementation I often use is the following: If GetUserBreakState<>0 SetUserBreakState 0 Clock.Scale = … End if I normally place this after the startup/intro screen. Just pressing Ctrl+Shift during the intro will enter turbo/slowmotion mode. This could be useful when the session number is used for something else (e.g. list ordering: counterbalance, offset, …) happy programming... Paul Groot -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 13 00:23:28 2011 From: erin.siebert at gmail.com (Erin) Date: Thu, 12 May 2011 17:23:28 -0700 Subject: Controlling cursor speed when using a joystick In-Reply-To: <4dcc3731.092c2b0a.6ca4.12b5SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thank you David. I looked up the joystick in the "control panel" and the only adjustments available are normal calibration, which doesn't help with adjusting it's sensitivity. Strange that your code changes the behavior of the joystick within E- Prime. In effect, it changes the joystick's effect on the cursor, and makes it function more like a track ball. E-Prime must treat the joystick input differently than the mouse input, and your code somehow interacts with that difference. I am not sure exactly what data the joystick sends to the PC or in what I/O port the date appears. I'll do some more research, and post back here if I find anything that may be useful. Thank you again so much for your help! Erin On May 12, 3:38 pm, David McFarlane wrote: > Just thinking through this a bit further, if we knew exactly what > data the joystick sent to the PC, and where (e.g., what I/O port) > that data appeared, then in principle we could write code to affect > the cursor in whatever way we wish.  But at the moment we lack that > technical information. > > -- David McFarlane, Professional Faultfinder > > At 5/12/2011 03:34 PM Thursday, you wrote: > > >Erin, > > >Thanks for testing that out, and posting back so quickly.  I don't > >have any joystick myself, so I don't think I can help any > >further.  I would not have expected your result, clearly the > >joystick does not simply emulate the mouse otherwise it would just > >work (and in that case you would not need a code solution in the > >first place).  Is there a separate Windows "control panel" for the > >joystick that you can use to control its settings?  Other than that, > >if it were me I might try another joystick, or start Googling around > >for more technical background on joysticks in general and then use > >that knowledge to devise a solution. > > >Good luck, > >-- David McFarlane, Professional Faultfinder > > >>hi David, > >>Matt was the one helping me. > > >>Thank you very much for the sample code!  I tried it out, and it does > >>change how the cursor moves.  For the mouse, it slows it down quite > >>perfectly.  For the joystick, it also slows down, but there is an > >>interesting effect. The mouse cursor is basically "stuck" to the > >>joystick.  Normally, when you move the joystick left, the cursor > >>continues to move left, even when the joystick handle is held in a > >>constant left position.  With your modification, the mouse cursor > >>moves only when you move the joystick.  So, the cursor will move left > >>as you move the joystick left, but when you stop the joystick, it > >>stops.  And, when you let the joystick go back to it's resting > >>position, the cursor actually backtracks back to it's original > >>position.  This is an interesting feature, but not what will work for > >>my particular application. (However, I'm sure it's exactly what > >>someone else might need).  It would be absolutely perfect if the > >>cursor could be "unstuck"  from the joystick, so that the joystick > >>just directs the cursor to move forward in whatever direction the > >>joystick is pointed.  Any suggestions?  Again, thank you so much! > > >>Erin > > >>On May 12, 1:58 pm, David McFarlane wrote: > >> > Erin, > > >> > Thanks for posting the full information from PST, that helped (can > >> > you let us know which staff member helped you?).  I might have come > >> > up with the Mouse.SetCursorPos approach myself, but not the > >> > Mouse.SetCursorLimits approach, that approach seems a little wacky to > >> > me but what do I know?. > > >> > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I > >> > knocked out a quick demo, and here is the inline that I came up > >> > with.  (Just to have a mouse click to respond to, I preceded the > >> > inline with a TextDisplay called StimText, set to Duration of 0 and > >> > mouse with Time Limit of (infinite)): > > >> > /----------------------------------------------------------------------\ > >> > ' Code to modify the rate of mouse movement. > > >> > Const  LoopDelay as Long = 0 > >> > Const  CursorMoveFactor as Single = 0.5 > > >> > Dim  x0 as Long, y0 as Long > >> > Dim  x1 as Long, y1 as Long > > >> > Mouse.GetCursorPos x0, y0  ' initialize > >> > Do While (StimText.RT = 0)  ' replace this with your exit condition > >> >      Mouse.GetCursorPos x1, y1 > >> >      x0 = x0 + (CursorMoveFactor * (x1 - x0)) > >> >      y0 = y0 + (CursorMoveFactor * (y1 - y0)) > >> >      Mouse.SetCursorPos x0, y0 > >> >      Sleep LoopDelay > >> > Loop > >> > \----------------------------------------------------------------------/ > > >> > I expected to find some cursor movement artifacts, but it really > >> > worked rather smoothly.  As you can see, I didn't even really need > >> > the LoopDelay, but I left it there just in case. > > >> > -- David McFarlane, Professional Faultfinder > > >> > At 5/12/2011 01:03 PM Thursday, you wrote: > > >> > >I want to control the speed the cursor moves when controlling it with > >> > >a joystick.  I set the joystick to emulate the mouse in my experiment > >> > >(inline Joystick.AttachToMouseCursor = True).  The joystick is quite > >> > >touchy, and causes the cursor to move very quickly across the screen. > >> > >For my experiment, I need the cursor to only move slowly, no matter > >> > >how much the joystick is moved. > > >> > >I tried decreasing the mouse sensitivity settings on my computer. > >> > >This slowed the cursor down when using the mouse within my experiment, > >> > >but had no effect on the joystick.  I also tried increasing the > >> > >resolution display of my experiment (giving the cursor "further" to > >> > >travel)- also no effect.  I have also tried adjusting the sensitivity > >> > >of my joystick, but the cursor is still too fast. > > >> > >E-Prime support suggested the following: "E-Prime does have some > >> > >limited options for positioning the mouse cursor and limiting its > >> > >boundaries. We could try to use a combination of the two to make the > >> > >mouse cursor move more slowly. However, this would require significant > >> > >scripting and could result in the cursor movement not being smooth" > > >> > >My main question: Is anyone aware of a simpler way of controlling the > >> > >cursor speed in E-Prime? > > >> > >If not, here is further information on this method: > > >> > >E-Prime help suggested the following: > >> > >"I would recommend taking a look at the MouseDevice.SetCursorLimits > >> > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via > >> > >the Help menu). The former will allow you to specify boundaries for > >> > >the cursor, and the latter will allow you to position the mouse cursor > >> > >in a specific area. You could use a combination of the two to first > >> > >limit the movement of the cursor so that it does not immediately move > >> > >to one edge of the screen, and then use SetCursorPos to move the > >> > >cursor move slowly. You could also slowly expand the cursor limits as > >> > >the cursor hits the maximum in one direction. This would allow you to > >> > >give the appearance of the cursor moving more slowly. To do this, you > >> > >would have a loop that continuously checks the cursor position against > >> > >the limits that are set, and expand the limits in one direction as the > >> > >cursor hits that limit. This would require significant scripting and > >> > >could result in the cursor movement not being smooth." > > >> > >I took a look at the MouseDevice.SetCursorLimits and > >> > >MouseDevice.SetCursorPos help, and I understand how this would work in > >> > >theory.  However, I am very new to programming, and I am afraid that > >> > >the scripting involved is a bit over my head.  If anyone can offer any > >> > >advice or pointers, it 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 erin.siebert at gmail.com Fri May 13 00:40:20 2011 From: erin.siebert at gmail.com (Erin) Date: Thu, 12 May 2011 17:40:20 -0700 Subject: randomly alternating between two SlideStates Message-ID: Hello, I have a question about randomizing image placement, by randomly displaying one of two Slidestates in each trial of my experiment. Right now I have a slide in my experiment with 2 SlideImages, which are named [match] and [foil], at the right and left of the screen. I would like the match and foil image to randomly appear within either the right or left SlideImage, in a random fashion. I made two SlideState tabs in my slide, named MatchLeft and MatchRight, which reverse the location of [match] and [foil]. I would like to randomly use one of these two slide states for each trial. I looked at the "NestingRT" randomizing example program, and this is on the right track. However, I want to clearly define each trial, so that the same individual match and foil image always appear paired together within the same trial. The only thing I want to randomize is whether the match and foil appear on the right or left. Originally, I had the experiment set up with with the two slide images named [leftimage] and [rightimage], and randomized the right and left placement of the match and foil images in the triallist. However, this is very impractical, as we are planning to do very large numbers of trials, and need the right and left placement of sample and foil to be independently randomized for each subject and session. Any help or pointers would be very much 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 Michiel.Spape at nottingham.ac.uk Fri May 13 08:34:03 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Fri, 13 May 2011 09:34:03 +0100 Subject: Controlling cursor speed when using a joystick In-Reply-To: <4dcc3731.092c2b0a.6ca4.12b5SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hiya, Two points here: - For one, I'd suggest just going a bit higher into Windows and setting the mouse and/or joystick sensitivity. I remember this was quite common in Win98 or something like that, but it seems to be missing in Windows XP. Nevertheless, I very much doubt you won't be able to find a little programme that sets the cursor and/or mouse sensitivity to a lower resolution. All in all, that would be a lot easier for your purposes. - Second, it seems to me that the main issue with joystick vs mouse is the joystick being centred at a certain position. I think - but could be mistaken? - that in order to do this, you might want to change the script so that the X0, Y0 are not overwritten, but rather that you change the cursor position by the deviation with the beginning of the trial. So, if the cursor is at pixel 320,240 in the beginning (i.e. centre at 640x480 resolution), then at next polling the cursor is at 321,240 (1 pixel to the right), the cursor should (as it does currently) move one pixel to the right. However, at the polling after that, given that the subject didn't move the joystick (i.e. polling says it's the same as previous polling), then the difference of 1,0 related to the *startposition* should still cause it to move 1 more to the right (i.e. 322,240). I'm terrible at messing with someone else's code, but if you understand what I'm saying, this shouldn't be too hard to implement (just keep comparing to the start position, rather than the previous position). More hardcore, by the way, and likely better (given that most joysticks tend to be round, rather than square) would be to calculate the angle and amplitude of the joystick, then move the cursor with that information. Hope that helps, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of David McFarlane Sent: 12 May 2011 20:38 To: e-prime at googlegroups.com Subject: Re: Controlling cursor speed when using a joystick Just thinking through this a bit further, if we knew exactly what data the joystick sent to the PC, and where (e.g., what I/O port) that data appeared, then in principle we could write code to affect the cursor in whatever way we wish. But at the moment we lack that technical information. -- David McFarlane, Professional Faultfinder At 5/12/2011 03:34 PM Thursday, you wrote: >Erin, > >Thanks for testing that out, and posting back so quickly. I don't >have any joystick myself, so I don't think I can help any >further. I would not have expected your result, clearly the >joystick does not simply emulate the mouse otherwise it would just >work (and in that case you would not need a code solution in the >first place). Is there a separate Windows "control panel" for the >joystick that you can use to control its settings? Other than that, >if it were me I might try another joystick, or start Googling around >for more technical background on joysticks in general and then use >that knowledge to devise a solution. > >Good luck, >-- David McFarlane, Professional Faultfinder > > >>hi David, >>Matt was the one helping me. >> >>Thank you very much for the sample code! I tried it out, and it does >>change how the cursor moves. For the mouse, it slows it down quite >>perfectly. For the joystick, it also slows down, but there is an >>interesting effect. The mouse cursor is basically "stuck" to the >>joystick. Normally, when you move the joystick left, the cursor >>continues to move left, even when the joystick handle is held in a >>constant left position. With your modification, the mouse cursor >>moves only when you move the joystick. So, the cursor will move left >>as you move the joystick left, but when you stop the joystick, it >>stops. And, when you let the joystick go back to it's resting >>position, the cursor actually backtracks back to it's original >>position. This is an interesting feature, but not what will work for >>my particular application. (However, I'm sure it's exactly what >>someone else might need). It would be absolutely perfect if the >>cursor could be "unstuck" from the joystick, so that the joystick >>just directs the cursor to move forward in whatever direction the >>joystick is pointed. Any suggestions? Again, thank you so much! >> >>Erin >> >> >> >>On May 12, 1:58 pm, David McFarlane wrote: >> > Erin, >> > >> > Thanks for posting the full information from PST, that helped (can >> > you let us know which staff member helped you?). I might have come >> > up with the Mouse.SetCursorPos approach myself, but not the >> > Mouse.SetCursorLimits approach, that approach seems a little wacky to >> > me but what do I know?. >> > >> > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I >> > knocked out a quick demo, and here is the inline that I came up >> > with. (Just to have a mouse click to respond to, I preceded the >> > inline with a TextDisplay called StimText, set to Duration of 0 and >> > mouse with Time Limit of (infinite)): >> > >> > /----------------------------------------------------------------------\ >> > ' Code to modify the rate of mouse movement. >> > >> > Const LoopDelay as Long = 0 >> > Const CursorMoveFactor as Single = 0.5 >> > >> > Dim x0 as Long, y0 as Long >> > Dim x1 as Long, y1 as Long >> > >> > Mouse.GetCursorPos x0, y0 ' initialize >> > Do While (StimText.RT = 0) ' replace this with your exit condition >> > Mouse.GetCursorPos x1, y1 >> > x0 = x0 + (CursorMoveFactor * (x1 - x0)) >> > y0 = y0 + (CursorMoveFactor * (y1 - y0)) >> > Mouse.SetCursorPos x0, y0 >> > Sleep LoopDelay >> > Loop >> > \----------------------------------------------------------------------/ >> > >> > I expected to find some cursor movement artifacts, but it really >> > worked rather smoothly. As you can see, I didn't even really need >> > the LoopDelay, but I left it there just in case. >> > >> > -- David McFarlane, Professional Faultfinder >> > >> > At 5/12/2011 01:03 PM Thursday, you wrote: >> > >> > >I want to control the speed the cursor moves when controlling it with >> > >a joystick. I set the joystick to emulate the mouse in my experiment >> > >(inline Joystick.AttachToMouseCursor = True). The joystick is quite >> > >touchy, and causes the cursor to move very quickly across the screen. >> > >For my experiment, I need the cursor to only move slowly, no matter >> > >how much the joystick is moved. >> > >> > >I tried decreasing the mouse sensitivity settings on my computer. >> > >This slowed the cursor down when using the mouse within my experiment, >> > >but had no effect on the joystick. I also tried increasing the >> > >resolution display of my experiment (giving the cursor "further" to >> > >travel)- also no effect. I have also tried adjusting the sensitivity >> > >of my joystick, but the cursor is still too fast. >> > >> > >E-Prime support suggested the following: "E-Prime does have some >> > >limited options for positioning the mouse cursor and limiting its >> > >boundaries. We could try to use a combination of the two to make the >> > >mouse cursor move more slowly. However, this would require significant >> > >scripting and could result in the cursor movement not being smooth" >> > >> > >My main question: Is anyone aware of a simpler way of controlling the >> > >cursor speed in E-Prime? >> > >> > >If not, here is further information on this method: >> > >> > >E-Prime help suggested the following: >> > >"I would recommend taking a look at the MouseDevice.SetCursorLimits >> > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via >> > >the Help menu). The former will allow you to specify boundaries for >> > >the cursor, and the latter will allow you to position the mouse cursor >> > >in a specific area. You could use a combination of the two to first >> > >limit the movement of the cursor so that it does not immediately move >> > >to one edge of the screen, and then use SetCursorPos to move the >> > >cursor move slowly. You could also slowly expand the cursor limits as >> > >the cursor hits the maximum in one direction. This would allow you to >> > >give the appearance of the cursor moving more slowly. To do this, you >> > >would have a loop that continuously checks the cursor position against >> > >the limits that are set, and expand the limits in one direction as the >> > >cursor hits that limit. This would require significant scripting and >> > >could result in the cursor movement not being smooth." >> > >> > >I took a look at the MouseDevice.SetCursorLimits and >> > >MouseDevice.SetCursorPos help, and I understand how this would work in >> > >theory. However, I am very new to programming, and I am afraid that >> > >the scripting involved is a bit over my head. If anyone can offer any >> > >advice or pointers, it 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. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Fri May 13 09:14:24 2011 From: liwenna at gmail.com (liwenna) Date: Fri, 13 May 2011 02:14:24 -0700 Subject: randomly alternating between two SlideStates In-Reply-To: Message-ID: Hi Erin, So... how did you do this randomization within a triallist in the older set-up? Because I personally would rather use a list-based randomization than two slidestates. If you have a triallist in which both the attributes match and foil are defined than you'll have 'match and foil' pairs as the same match and foil will always be shown together. Now... if you into that triallist nest a second list called something like randompositions and in that list create two attributes called... xposmatch and xposfail you can enter the values of the x (i.e. 25% and 75% vs 75% and 25% on the second level) into these cells, set that list to random and you're set. Although you should manipulate the weights a bit as randomizing two values (two levels) doesn't give much variation. Giving both levels a weight of 2 or 3 solves that. Make it so that the total trials within each block or the entire experiment is a multitude of the total 'draws' from the randompositionslist, in order to have complete randomization. If you rather use the two slidestates, which is actually as fine a solution... then don't create a list called something like randompositions but rather nest a list called randomstate. In this list create one attribute called 'statename' (or something the like), and in the cells enter the values 'MatchLeft' and 'MatchRight'. Again, a randomization on 2 draws doesn't give much variation so manipulate the weights. Set this list to 'random' on the slide set the slidestate to [statename] and you're set. Best, liw On May 13, 2:40 am, Erin wrote: > Hello, > I have a question about randomizing image placement, by randomly > displaying one of two Slidestates in each trial of my experiment. > Right now I have a slide in my experiment with 2 SlideImages, which > are named [match] and [foil],  at the right and left of the screen. I > would like the match and foil image to randomly appear within either > the right or left SlideImage, in a random fashion. I made two > SlideState tabs in my slide, named MatchLeft and MatchRight, which > reverse the location of [match] and [foil].  I would like to randomly > use one of these two slide states for each trial. > > I looked at the "NestingRT" randomizing example program, and this is > on the right track. However, I want to clearly define each trial, so > that the same individual match and foil image always appear paired > together within the same trial. The only thing I want to randomize is > whether the match and foil appear on the right or left. > > Originally, I had the experiment set up with with the two slide images > named [leftimage] and [rightimage], and randomized the right and left > placement of the match and foil images in the triallist. However, this > is very impractical, as we are planning to do very large numbers of > trials, and need the right and left placement of sample and foil to be > independently randomized for each subject and session. > > Any help or pointers would be very much 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 erin.siebert at gmail.com Fri May 13 20:06:56 2011 From: erin.siebert at gmail.com (Erin) Date: Fri, 13 May 2011 13:06:56 -0700 Subject: Controlling cursor speed when using a joystick In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92DE13D0674@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Thank you for the pointers. I had already tried slowing down the cursor speed in windows. This successfully slows down the mouse cursor speed within E-Prime, but has no effect on the joystick. There are not similar controls for joystick sensitivity in the game controller section of the Windows control panel. So, I did more testing of the joystick in E-Prime. Turns out, the cursor is "stuck" to the joystick even without David's code. His code just slowed down the cursor enough that the effect was much more noticeable. Before, the cursor was so sensitive that only very small joystick moments were needed to move the cursor and make an image selection, and the "backtracking" behavior was less apparent. (The experiment is set up to re-center the cursor on every trial, also making it less obvious). So, when the cursor speed is slowed, the range of the cursor is very diminished when using the joystick- you can't even reach the edge of the screen with the cursor (which is obviously a problem). Anyone have any ideas of how to make the joystick only "push" the cursor forward in E-Prime, and not "pull" it back when the joystick is moved back towards center? Erin On May 13, 4:34 am, Michiel Spape wrote: > Hiya, > Two points here: > - For one, I'd suggest just going a bit higher into Windows and setting the mouse and/or joystick sensitivity. I remember this was quite common in Win98 or something like that, but it seems to be missing in Windows XP. Nevertheless, I very much doubt you won't be able to find a little programme that sets the cursor and/or mouse sensitivity to a lower resolution. All in all, that would be a lot easier for your purposes. > - Second, it seems to me that the main issue with joystick vs mouse is the joystick being centred at a certain position. I think - but could be mistaken? - that in order to do this, you might want to change the script so that the X0, Y0 are not overwritten, but rather that you change the cursor position by the deviation with the beginning of the trial. So, if the cursor is at pixel 320,240 in the beginning (i.e. centre at 640x480 resolution), then at next polling the cursor is at 321,240 (1 pixel to the right), the cursor should (as it does currently) move one pixel to the right. However, at the polling after that, given that the subject didn't move the joystick (i.e. polling says it's the same as previous polling), then the difference of 1,0 related to the *startposition* should still cause it to move 1 more to the right (i.e. 322,240). I'm terrible at messing with someone else's code, but if you understand what I'm saying, this shouldn't be too hard to implement (just keep comparing to the start position, rather than the previous position). More hardcore, by the way, and likely better (given that most joysticks tend to be round, rather than square) would be to calculate the angle and amplitude of the joystick, then move the cursor with that information. > > Hope that helps, > Mich > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of David McFarlane > Sent: 12 May 2011 20:38 > To: e-prime at googlegroups.com > Subject: Re: Controlling cursor speed when using a joystick > > Just thinking through this a bit further, if we knew exactly what > data the joystick sent to the PC, and where (e.g., what I/O port) > that data appeared, then in principle we could write code to affect > the cursor in whatever way we wish.  But at the moment we lack that > technical information. > > -- David McFarlane, Professional Faultfinder > > At 5/12/2011 03:34 PM Thursday, you wrote: > >Erin, > > >Thanks for testing that out, and posting back so quickly.  I don't > >have any joystick myself, so I don't think I can help any > >further.  I would not have expected your result, clearly the > >joystick does not simply emulate the mouse otherwise it would just > >work (and in that case you would not need a code solution in the > >first place).  Is there a separate Windows "control panel" for the > >joystick that you can use to control its settings?  Other than that, > >if it were me I might try another joystick, or start Googling around > >for more technical background on joysticks in general and then use > >that knowledge to devise a solution. > > >Good luck, > >-- David McFarlane, Professional Faultfinder > > >>hi David, > >>Matt was the one helping me. > > >>Thank you very much for the sample code!  I tried it out, and it does > >>change how the cursor moves.  For the mouse, it slows it down quite > >>perfectly.  For the joystick, it also slows down, but there is an > >>interesting effect. The mouse cursor is basically "stuck" to the > >>joystick.  Normally, when you move the joystick left, the cursor > >>continues to move left, even when the joystick handle is held in a > >>constant left position.  With your modification, the mouse cursor > >>moves only when you move the joystick.  So, the cursor will move left > >>as you move the joystick left, but when you stop the joystick, it > >>stops.  And, when you let the joystick go back to it's resting > >>position, the cursor actually backtracks back to it's original > >>position.  This is an interesting feature, but not what will work for > >>my particular application. (However, I'm sure it's exactly what > >>someone else might need).  It would be absolutely perfect if the > >>cursor could be "unstuck"  from the joystick, so that the joystick > >>just directs the cursor to move forward in whatever direction the > >>joystick is pointed.  Any suggestions?  Again, thank you so much! > > >>Erin > > >>On May 12, 1:58 pm, David McFarlane wrote: > >> > Erin, > > >> > Thanks for posting the full information from PST, that helped (can > >> > you let us know which staff member helped you?).  I might have come > >> > up with the Mouse.SetCursorPos approach myself, but not the > >> > Mouse.SetCursorLimits approach, that approach seems a little wacky to > >> > me but what do I know?. > > >> > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I > >> > knocked out a quick demo, and here is the inline that I came up > >> > with.  (Just to have a mouse click to respond to, I preceded the > >> > inline with a TextDisplay called StimText, set to Duration of 0 and > >> > mouse with Time Limit of (infinite)): > > >> > /----------------------------------------------------------------------\ > >> > ' Code to modify the rate of mouse movement. > > >> > Const  LoopDelay as Long = 0 > >> > Const  CursorMoveFactor as Single = 0.5 > > >> > Dim  x0 as Long, y0 as Long > >> > Dim  x1 as Long, y1 as Long > > >> > Mouse.GetCursorPos x0, y0  ' initialize > >> > Do While (StimText.RT = 0)  ' replace this with your exit condition > >> >      Mouse.GetCursorPos x1, y1 > >> >      x0 = x0 + (CursorMoveFactor * (x1 - x0)) > >> >      y0 = y0 + (CursorMoveFactor * (y1 - y0)) > >> >      Mouse.SetCursorPos x0, y0 > >> >      Sleep LoopDelay > >> > Loop > >> > \----------------------------------------------------------------------/ > > >> > I expected to find some cursor movement artifacts, but it really > >> > worked rather smoothly.  As you can see, I didn't even really need > >> > the LoopDelay, but I left it there just in case. > > >> > -- David McFarlane, Professional Faultfinder > > >> > At 5/12/2011 01:03 PM Thursday, you wrote: > > >> > >I want to control the speed the cursor moves when controlling it with > >> > >a joystick.  I set the joystick to emulate the mouse in my experiment > >> > >(inline Joystick.AttachToMouseCursor = True).  The joystick is quite > >> > >touchy, and causes the cursor to move very quickly across the screen. > >> > >For my experiment, I need the cursor to only move slowly, no matter > >> > >how much the joystick is moved. > > >> > >I tried decreasing the mouse sensitivity settings on my computer. > >> > >This slowed the cursor down when using the mouse within my experiment, > >> > >but had no effect on the joystick.  I also tried increasing the > >> > >resolution display of my experiment (giving the cursor "further" to > >> > >travel)- also no effect.  I have also tried adjusting the sensitivity > >> > >of my joystick, but the cursor is still too fast. > > >> > >E-Prime support suggested the following: "E-Prime does have some > >> > >limited options for positioning the mouse cursor and limiting its > >> > >boundaries. We could try to use a combination of the two to make the > >> > >mouse cursor move more slowly. However, this would require significant > >> > >scripting and could result in the cursor movement not being smooth" > > >> > >My main question: Is anyone aware of a simpler way of controlling the > >> > >cursor speed in E-Prime? > > >> > >If not, here is further information on this method: > > >> > >E-Prime help suggested the following: > >> > >"I would recommend taking a look at the MouseDevice.SetCursorLimits > >> > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via > >> > >the Help menu). The former will allow you to specify boundaries for > >> > >the cursor, and the latter will allow you to position the mouse cursor > >> > >in a specific area. You could use a combination of the two to first > >> > >limit the movement of the cursor so that it does not immediately move > >> > >to one edge of the screen, and then use SetCursorPos to move the > >> > >cursor move slowly. You could also slowly expand the cursor limits as > >> > >the cursor hits the maximum in one direction. This would allow you to > >> > >give the appearance of the cursor moving more slowly. To do this, you > >> > >would have a loop that continuously checks the cursor position against > >> > >the limits that are set, and expand the limits in one direction as the > >> > >cursor hits that limit. This would require significant scripting and > >> > >could result in the cursor movement not being smooth." > > >> > >I took a look at the MouseDevice.SetCursorLimits and > >> > >MouseDevice.SetCursorPos help, and I understand how this would work in > >> > >theory.  However, I am very new to programming, and I am afraid that > >> > >the scripting involved is a bit over my head.  If anyone can offer any > >> > >advice or pointers, it 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. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own > > ... > > read more » -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Mon May 16 18:35:30 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 16 May 2011 14:35:30 -0400 Subject: Controlling cursor speed when using a joystick In-Reply-To: <9d42923d-ac1b-4667-9df1-e11852cc36f1@32g2000vbe.googlegrou ps.com> Message-ID: Erin, Well, I was mighty puzzled when it seemed that my code made the joystick behave oddly, so I am glad that you took the trouble to test it further and report back that the joystick always behaves that way, thanks. But that doesn't help you solve your problem. It does seem odd to me that the joystick behaves that way, it seems to me that if that behavior were common then other E-Prime users would have made a note of it. So I hope we hear from other E-Prime users with joysticks about whether as a rule the screen cursor simply mirrors the current joystick position, or if instead the cursor continues moving as long as the joystick is pushed off-center. If joysticks for other users work in the "unstuck" way, then I would suspect the problem has something to do with your particular joystick and you might want to try another. To that end, you might ask PST support again what joysticks they recommend. BTW, just for kicks I started to make a second demo to follow Matt Lenhart's suggestion to use SetCursorLimits. But I don't see how that could possibly work. If cursor limits are set to the current cursor position, then any attempt to move the cursor any farther from center will result in no movement at all, so there will be no new cursor data with which to set new cursor limits. E.g., suppose the cursor is at (100, 100), so you set one corner of the cursor limit to (100, 100). The subject then moves such that the cursor should move to, say, (90,90). But that is beyond the current limit, so the cursor stays at (100, 100), and the system lacks any information regarding the subject's attempt to move the cursor and so the cursor just stays where it is. (Of course, it would still detect inward movements, but that hardly helps you.) So I gave up on that idea. So I am afraid that I am out of ideas. -- David McFarlane, Professional Faultfinder At 5/13/2011 04:06 PM Friday, Erin wrote: >Thank you for the pointers. > >I had already tried slowing down the cursor speed in windows. This >successfully slows down the mouse cursor speed within E-Prime, but has >no effect on the joystick. There are not similar controls for >joystick sensitivity in the game controller section of the Windows >control panel. > >So, I did more testing of the joystick in E-Prime. Turns out, the >cursor is "stuck" to the joystick even without David's code. His code >just slowed down the cursor enough that the effect was much more >noticeable. Before, the cursor was so sensitive that only very small >joystick moments were needed to move the cursor and make an image >selection, and the "backtracking" behavior was less apparent. (The >experiment is set up to re-center the cursor on every trial, also >making it less obvious). So, when the cursor speed is slowed, the >range of the cursor is very diminished when using the joystick- you >can't even reach the edge of the screen with the cursor (which is >obviously a problem). > >Anyone have any ideas of how to make the joystick only "push" the >cursor forward in E-Prime, and not "pull" it back when the joystick is >moved back towards center? > >Erin > > > > >On May 13, 4:34 am, Michiel Spape >wrote: > > Hiya, > > Two points here: > > - For one, I'd suggest just going a bit > higher into Windows and setting the mouse > and/or joystick sensitivity. I remember this > was quite common in Win98 or something like > that, but it seems to be missing in Windows XP. > Nevertheless, I very much doubt you won't be > able to find a little programme that sets the > cursor and/or mouse sensitivity to a lower > resolution. All in all, that would be a lot easier for your purposes. > > - Second, it seems to me that the main issue > with joystick vs mouse is the joystick being > centred at a certain position. I think - but > could be mistaken? - that in order to do this, > you might want to change the script so that the > X0, Y0 are not overwritten, but rather that you > change the cursor position by the deviation > with the beginning of the trial. So, if the > cursor is at pixel 320,240 in the beginning > (i.e. centre at 640x480 resolution), then at > next polling the cursor is at 321,240 (1 pixel > to the right), the cursor should (as it does > currently) move one pixel to the right. > However, at the polling after that, given that > the subject didn't move the joystick (i.e. > polling says it's the same as previous > polling), then the difference of 1,0 related to > the *startposition* should still cause it to > move 1 more to the right (i.e. 322,240). I'm > terrible at messing with someone else's code, > but if you understand what I'm saying, this > shouldn't be too hard to implement (just keep > comparing to the start position, rather than > the previous position). More hardcore, by the > way, and likely better (given that most > joysticks tend to be round, rather than square) > would be to calculate the angle and amplitude > of the joystick, then move the cursor with that information. > > > > Hope that helps, > > Mich > > > > Michiel Spapé > > Research Fellow > > Perception & Action group > > University of Nottingham > > School of Psychologywww.cognitology.eu > > > > -----Original Message----- > > From: e-prime at googlegroups.com > [mailto:e-prime at googlegroups.com] On Behalf Of David McFarlane > > Sent: 12 May 2011 20:38 > > To: e-prime at googlegroups.com > > Subject: Re: Controlling cursor speed when using a joystick > > > > Just thinking through this a bit further, if we knew exactly what > > data the joystick sent to the PC, and where (e.g., what I/O port) > > that data appeared, then in principle we could write code to affect > > the cursor in whatever way we wish. But at the moment we lack that > > technical information. > > > > -- David McFarlane, Professional Faultfinder > > > > At 5/12/2011 03:34 PM Thursday, you wrote: > > >Erin, > > > > >Thanks for testing that out, and posting back so quickly. I don't > > >have any joystick myself, so I don't think I can help any > > >further. I would not have expected your result, clearly the > > >joystick does not simply emulate the mouse otherwise it would just > > >work (and in that case you would not need a code solution in the > > >first place). Is there a separate Windows "control panel" for the > > >joystick that you can use to control its settings? Other than that, > > >if it were me I might try another joystick, or start Googling around > > >for more technical background on joysticks in general and then use > > >that knowledge to devise a solution. > > > > >Good luck, > > >-- David McFarlane, Professional Faultfinder > > > > >>hi David, > > >>Matt was the one helping me. > > > > >>Thank you very much for the sample code! I tried it out, and it does > > >>change how the cursor moves. For the mouse, it slows it down quite > > >>perfectly. For the joystick, it also slows down, but there is an > > >>interesting effect. The mouse cursor is basically "stuck" to the > > >>joystick. Normally, when you move the joystick left, the cursor > > >>continues to move left, even when the joystick handle is held in a > > >>constant left position. With your modification, the mouse cursor > > >>moves only when you move the joystick. So, the cursor will move left > > >>as you move the joystick left, but when you stop the joystick, it > > >>stops. And, when you let the joystick go back to it's resting > > >>position, the cursor actually backtracks back to it's original > > >>position. This is an interesting feature, but not what will work for > > >>my particular application. (However, I'm sure it's exactly what > > >>someone else might need). It would be absolutely perfect if the > > >>cursor could be "unstuck" from the joystick, so that the joystick > > >>just directs the cursor to move forward in whatever direction the > > >>joystick is pointed. Any suggestions? Again, thank you so much! > > > > >>Erin > > > > >>On May 12, 1:58 pm, David McFarlane wrote: > > >> > Erin, > > > > >> > Thanks for posting the full information from PST, that helped (can > > >> > you let us know which staff member helped you?). I might have come > > >> > up with the Mouse.SetCursorPos approach myself, but not the > > >> > Mouse.SetCursorLimits approach, that approach seems a little wacky to > > >> > me but what do I know?. > > > > >> > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I > > >> > knocked out a quick demo, and here is the inline that I came up > > >> > with. (Just to have a mouse click to respond to, I preceded the > > >> > inline with a TextDisplay called StimText, set to Duration of 0 and > > >> > mouse with Time Limit of (infinite)): > > > > >> > > /----------------------------------------------------------------------\ > > >> > ' Code to modify the rate of mouse movement. > > > > >> > Const LoopDelay as Long = 0 > > >> > Const CursorMoveFactor as Single = 0.5 > > > > >> > Dim x0 as Long, y0 as Long > > >> > Dim x1 as Long, y1 as Long > > > > >> > Mouse.GetCursorPos x0, y0 ' initialize > > >> > Do While (StimText.RT = 0) ' replace this with your exit condition > > >> > Mouse.GetCursorPos x1, y1 > > >> > x0 = x0 + (CursorMoveFactor * (x1 - x0)) > > >> > y0 = y0 + (CursorMoveFactor * (y1 - y0)) > > >> > Mouse.SetCursorPos x0, y0 > > >> > Sleep LoopDelay > > >> > Loop > > >> > > \----------------------------------------------------------------------/ > > > > >> > I expected to find some cursor movement artifacts, but it really > > >> > worked rather smoothly. As you can see, I didn't even really need > > >> > the LoopDelay, but I left it there just in case. > > > > >> > -- David McFarlane, Professional Faultfinder > > > > >> > At 5/12/2011 01:03 PM Thursday, you wrote: > > > > >> > >I want to control the speed the cursor moves when controlling it with > > >> > >a joystick. I set the joystick to emulate the mouse in my experiment > > >> > >(inline Joystick.AttachToMouseCursor = True). The joystick is quite > > >> > >touchy, and causes the cursor to move very quickly across the screen. > > >> > >For my experiment, I need the cursor to only move slowly, no matter > > >> > >how much the joystick is moved. > > > > >> > >I tried decreasing the mouse sensitivity settings on my computer. > > >> > >This slowed the cursor down when using > the mouse within my experiment, > > >> > >but had no effect on the joystick. I also tried increasing the > > >> > >resolution display of my experiment (giving the cursor "further" to > > >> > >travel)- also no effect. I have also tried adjusting the sensitivity > > >> > >of my joystick, but the cursor is still too fast. > > > > >> > >E-Prime support suggested the following: "E-Prime does have some > > >> > >limited options for positioning the mouse cursor and limiting its > > >> > >boundaries. We could try to use a combination of the two to make the > > >> > >mouse cursor move more slowly. However, > this would require significant > > >> > >scripting and could result in the cursor movement not being smooth" > > > > >> > >My main question: Is anyone aware of a simpler way of controlling the > > >> > >cursor speed in E-Prime? > > > > >> > >If not, here is further information on this method: > > > > >> > >E-Prime help suggested the following: > > >> > >"I would recommend taking a look at the MouseDevice.SetCursorLimits > > >> > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via > > >> > >the Help menu). The former will allow you to specify boundaries for > > >> > >the cursor, and the latter will allow > you to position the mouse cursor > > >> > >in a specific area. You could use a combination of the two to first > > >> > >limit the movement of the cursor so that it does not immediately move > > >> > >to one edge of the screen, and then use SetCursorPos to move the > > >> > >cursor move slowly. You could also slowly expand the cursor limits as > > >> > >the cursor hits the maximum in one direction. This would allow you to > > >> > >give the appearance of the cursor moving more slowly. To do this, you > > >> > >would have a loop that continuously > checks the cursor position against > > >> > >the limits that are set, and expand the > limits in one direction as the > > >> > >cursor hits that limit. This would require significant scripting and > > >> > >could result in the cursor movement not being smooth." > > > > >> > >I took a look at the MouseDevice.SetCursorLimits and > > >> > >MouseDevice.SetCursorPos help, and I > understand how this would work in > > >> > >theory. However, I am very new to programming, and I am afraid that > > >> > >the scripting involved is a bit over my > head. If anyone can offer any > > >> > >advice or pointers, it 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 mcfarla9 at msu.edu Mon May 16 19:07:20 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 16 May 2011 15:07:20 -0400 Subject: selecting stimuli without replacement from a list, but using the same stimuli consistently on trials within a block In-Reply-To: <89315221-5ce8-4f87-86f6-894efd28c6d1@h9g2000yqk.googlegrou ps.com> Message-ID: Katie, Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... I couldn't follow all the details of your intricate account, but I understand that you have already randomized some arrays as desired and now just want to use those somehow in your program. So here are a few general thoughts. 1) If you have a randomized array that indicates the order in which to present levels (rows) of a List, then you can use an ExplicitOrder object for the presentation order of the List -- see the ExplicitOrder topic in the E-Basic Help facility (thanks go to Alison Lauer at PST Web Support for showing me this). 2) If your randomized array contains actual stimulus information, then you could use it in inline code to explicitly set attributes that get used in your stimulus object. E.g., if ImageFiles contains a randomized array of image file names for each trial, and iTrial keeps track of the trial number, then you could use c.SetAttribute "ImageFile", ImageFiles( iTrial ) and then use [ImageFile] as an attribute reference for the file name in an ImageDisplay object. 3) Again, if your randomized array contains actual stimulus information, then you could populate a List directly from inline code and then run the List as an ordinary object in the program structure. The "NoRepeats" examples available from PST provide some example of how to do that (but beware, PST examples generally also exhibit poor programming practices), or better, just set any List to Load Method Script and then look at the generated E-Basic code to see how it's done (note that List.AddAttrib does not appear in the List topic of the E-Basic Help, but instead appears under FactorSpace.AddAttrib). One style note, I am loathe to use inline code to modify a "main" List (i.e., one that runs Procedures), because it leaves no clue to the reader that the List they see in the structure is not the List that will run at run-time. Instead, I prefer to modify a nested List, which, the way I do it, leaves a "?" in place of the List, thereby warning readers to look at the code to see what that List will do. Just one of many ways in which my programming practices depart from those of PST. -- David McFarlane, Professional Faultfinder At 5/10/2011 11:06 PM Tuesday, you wrote: >Hi all > >Here is my situation: > >I want to present shapes paired with sounds, first shape, then sound, >in three different blocks. > >In each block, there are 16 shape-sound trials: 12 common sounds and 4 >oddball sounds. > >In one block, the same shape always predicts the same sound, so there >are 12 common shapes, 4 oddball shapes. >In another block, there is an "error" 25% of the time. So there are 6 >oddball shapes (3 before the the oddball sounds, 3 before the common >sound) and 10 common shapes (1 before the oddball shape, 9 before the >common shapes) >In a third block, it is random which shape predicts which sound, so >there are 6 of one shape before common sounds and 2 before oddball >sounds, and the same is true of the other. > >I have some constraints I'd like to satisfy. I'd like the oddball >sounds to be dispersed so that one occurs in each quarter of the 16 >trials. I probably have some others but I don't think that's >important for my current question. > >I can write code just fine to generate two arrays that create a >constraint-satisfying pseudorandom order for my shapes and noises, >calling one arrShape and populating it with 1's and 2's, and the other >arrNoise and populating it with 1's and 2's. I more or less already >have. > >What I can't figure out: having specified that order, how do I assign >a shape to be 1, 2 and a noise to be 1,2, and where would I put the >order I generated to control the display of my shapes and noises? > >If what I needed to do was select a random shape with a particular >characteristic on each trial, I would know how to do that with nested >lists. But that's not what I need. I need to select a shape randomly >from a list somewhere, designate it shape 1 (the same for sound 1, >shape 2, sound 2) and have that identity be consistent on each trial >through the block. I also have some constraints about which two >shapes get paired together, so I need to be able to place some limits >on the selection of the second shape. I need to generate the order >for the presentation of shape 1, sound 1, etc. (I already know how to >generate a constraint-satisfying pseudorandom order) , and use that >order to govern their presentation through the 16 trials. Then, those >shapes/sounds having been selected, I need them not to be used again >in subsequent blocks. > >I am perfectly willing to code -- I just need some help with overall >approach, how to integrate code with the various E-Prime objects, >etc. I would understand how to do this if it were a programming task >in a regular language -- what I don't understand is how to integrate >it in with the prefab E-Prime objects. > >I would appreciate any help. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From bsmith.lap at gmail.com Mon May 16 21:05:44 2011 From: bsmith.lap at gmail.com (Benjamin) Date: Mon, 16 May 2011 14:05:44 -0700 Subject: Crashing when playing sound files in version 74 In-Reply-To: Message-ID: I forgot to run the codec config. But if anyone has any thoughts about version 90, I'd love to hear them. On May 9, 1:28 pm, Hank Jedema wrote: > Hi Brian, > > There was a known issue with the sound in version 79, which was > remedied in the current version (2.08.90) that is available for > download on the website. > > Hank > > On May 6, 12:38 pm, Benjamin wrote: > > > > > > > > > An experiment I wrote in version 22 crashes when run in version 74, > > when it tries to play sound files.  There is no problem when run in > > version 22.  Do other people have this problem?  Were these kinds of > > sound issues fixed in version 90?  Both computers are running XP. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From bsmith.lap at gmail.com Mon May 16 21:14:11 2011 From: bsmith.lap at gmail.com (Benjamin) Date: Mon, 16 May 2011 14:14:11 -0700 Subject: Floor function Message-ID: Is there an elegant way to perform Floor and Ceiling functions in script? I tried Floor( myDoubleNumber ) and Math.Floor( myDoubleNumber ) but got Unknown Function errors both times. The manuals and PST web site have nothing, as far as I can tell. I ended up hacking up a solution using the mod operator "\", but it seems like there should be a better way. The mod solution would be particularly annoying for a ceiling function. Did I forget to install or configure something again? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Tue May 17 10:38:10 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 17 May 2011 11:38:10 +0100 Subject: Controlling cursor speed when using a joystick In-Reply-To: <9d42923d-ac1b-4667-9df1-e11852cc36f1@32g2000vbe.googlegroups.com> Message-ID: Hi Erin and David, First thing: when I suggested looking around for a programme that could adjust the joystick sensitivity, I did not only mean windows settings in control pad. What kind of joystick are we talking about? A number of them come with native (but not necessarily required) applications that adjust sensitivity, and there are bound to be third-party programmes out there that do it for you, courtesy of the numerous coding gamers. I'd suggest not immediately giving up after having looked at the control panel. Second, I was wondering whether my suggestion of extracting angle and amplitude from joystick manoeuvres was understood. As joysticks tend to have a round interface, rather than (like a screen) a rectangular one, it is useful to remember that, in essence, a cursor position in joy-stick terms, of 0,0 (upper left corner) in one stroke, should not be possible. For this reason, as well as for the essential other differences with mice, I think it makes much less sense than one might first think to let the joystick have anything to do with a mouse. If memory serves, the new E-Prime (perhaps even the old one), comes with the possibility of extracting joystick data independent from mouse, and I think it makes a lot of sense to only /set/ the mouse cursor position (i.e. a mere graphic), rather than in any way /get/ it. One thus ought to move it by using angle and amplitude (this requires some basic trigonometry which I generally have to look up again and again), or merely angle, if you have a more classic one. So: "Anyone have any ideas of how to make the joystick only "push" the cursor forward in E-Prime, and not "pull" it back when the joystick is moved back towards center?" Well, if (previous amplitude > current amplitude) then move, otherwise don't. Sorry, I had a more articulate suggestion here, based on David's code below, but I'll leave that for another day, if you don't mind. Best, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Erin Sent: 13 May 2011 21:07 To: E-Prime Subject: Re: Controlling cursor speed when using a joystick Thank you for the pointers. I had already tried slowing down the cursor speed in windows. This successfully slows down the mouse cursor speed within E-Prime, but has no effect on the joystick. There are not similar controls for joystick sensitivity in the game controller section of the Windows control panel. So, I did more testing of the joystick in E-Prime. Turns out, the cursor is "stuck" to the joystick even without David's code. His code just slowed down the cursor enough that the effect was much more noticeable. Before, the cursor was so sensitive that only very small joystick moments were needed to move the cursor and make an image selection, and the "backtracking" behavior was less apparent. (The experiment is set up to re-center the cursor on every trial, also making it less obvious). So, when the cursor speed is slowed, the range of the cursor is very diminished when using the joystick- you can't even reach the edge of the screen with the cursor (which is obviously a problem). Anyone have any ideas of how to make the joystick only "push" the cursor forward in E-Prime, and not "pull" it back when the joystick is moved back towards center? Erin On May 13, 4:34 am, Michiel Spape wrote: > Hiya, > Two points here: > - For one, I'd suggest just going a bit higher into Windows and setting the mouse and/or joystick sensitivity. I remember this was quite common in Win98 or something like that, but it seems to be missing in Windows XP. Nevertheless, I very much doubt you won't be able to find a little programme that sets the cursor and/or mouse sensitivity to a lower resolution. All in all, that would be a lot easier for your purposes. > - Second, it seems to me that the main issue with joystick vs mouse is the joystick being centred at a certain position. I think - but could be mistaken? - that in order to do this, you might want to change the script so that the X0, Y0 are not overwritten, but rather that you change the cursor position by the deviation with the beginning of the trial. So, if the cursor is at pixel 320,240 in the beginning (i.e. centre at 640x480 resolution), then at next polling the cursor is at 321,240 (1 pixel to the right), the cursor should (as it does currently) move one pixel to the right. However, at the polling after that, given that the subject didn't move the joystick (i.e. polling says it's the same as previous polling), then the difference of 1,0 related to the *startposition* should still cause it to move 1 more to the right (i.e. 322,240). I'm terrible at messing with someone else's code, but if you understand what I'm saying, this shouldn't be too hard to implement (just keep comparing to the start position, rather than the previous position). More hardcore, by the way, and likely better (given that most joysticks tend to be round, rather than square) would be to calculate the angle and amplitude of the joystick, then move the cursor with that information. > > Hope that helps, > Mich > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of David McFarlane > Sent: 12 May 2011 20:38 > To: e-prime at googlegroups.com > Subject: Re: Controlling cursor speed when using a joystick > > Just thinking through this a bit further, if we knew exactly what > data the joystick sent to the PC, and where (e.g., what I/O port) > that data appeared, then in principle we could write code to affect > the cursor in whatever way we wish.  But at the moment we lack that > technical information. > > -- David McFarlane, Professional Faultfinder > > At 5/12/2011 03:34 PM Thursday, you wrote: > >Erin, > > >Thanks for testing that out, and posting back so quickly.  I don't > >have any joystick myself, so I don't think I can help any > >further.  I would not have expected your result, clearly the > >joystick does not simply emulate the mouse otherwise it would just > >work (and in that case you would not need a code solution in the > >first place).  Is there a separate Windows "control panel" for the > >joystick that you can use to control its settings?  Other than that, > >if it were me I might try another joystick, or start Googling around > >for more technical background on joysticks in general and then use > >that knowledge to devise a solution. > > >Good luck, > >-- David McFarlane, Professional Faultfinder > > >>hi David, > >>Matt was the one helping me. > > >>Thank you very much for the sample code!  I tried it out, and it does > >>change how the cursor moves.  For the mouse, it slows it down quite > >>perfectly.  For the joystick, it also slows down, but there is an > >>interesting effect. The mouse cursor is basically "stuck" to the > >>joystick.  Normally, when you move the joystick left, the cursor > >>continues to move left, even when the joystick handle is held in a > >>constant left position.  With your modification, the mouse cursor > >>moves only when you move the joystick.  So, the cursor will move left > >>as you move the joystick left, but when you stop the joystick, it > >>stops.  And, when you let the joystick go back to it's resting > >>position, the cursor actually backtracks back to it's original > >>position.  This is an interesting feature, but not what will work for > >>my particular application. (However, I'm sure it's exactly what > >>someone else might need).  It would be absolutely perfect if the > >>cursor could be "unstuck"  from the joystick, so that the joystick > >>just directs the cursor to move forward in whatever direction the > >>joystick is pointed.  Any suggestions?  Again, thank you so much! > > >>Erin > > >>On May 12, 1:58 pm, David McFarlane wrote: > >> > Erin, > > >> > Thanks for posting the full information from PST, that helped (can > >> > you let us know which staff member helped you?).  I might have come > >> > up with the Mouse.SetCursorPos approach myself, but not the > >> > Mouse.SetCursorLimits approach, that approach seems a little wacky to > >> > me but what do I know?. > > >> > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I > >> > knocked out a quick demo, and here is the inline that I came up > >> > with.  (Just to have a mouse click to respond to, I preceded the > >> > inline with a TextDisplay called StimText, set to Duration of 0 and > >> > mouse with Time Limit of (infinite)): > > >> > /----------------------------------------------------------------------\ > >> > ' Code to modify the rate of mouse movement. > > >> > Const  LoopDelay as Long = 0 > >> > Const  CursorMoveFactor as Single = 0.5 > > >> > Dim  x0 as Long, y0 as Long > >> > Dim  x1 as Long, y1 as Long > > >> > Mouse.GetCursorPos x0, y0  ' initialize > >> > Do While (StimText.RT = 0)  ' replace this with your exit condition > >> >      Mouse.GetCursorPos x1, y1 > >> >      x0 = x0 + (CursorMoveFactor * (x1 - x0)) > >> >      y0 = y0 + (CursorMoveFactor * (y1 - y0)) > >> >      Mouse.SetCursorPos x0, y0 > >> >      Sleep LoopDelay > >> > Loop > >> > \----------------------------------------------------------------------/ > > >> > I expected to find some cursor movement artifacts, but it really > >> > worked rather smoothly.  As you can see, I didn't even really need > >> > the LoopDelay, but I left it there just in case. > > >> > -- David McFarlane, Professional Faultfinder > > >> > At 5/12/2011 01:03 PM Thursday, you wrote: > > >> > >I want to control the speed the cursor moves when controlling it with > >> > >a joystick.  I set the joystick to emulate the mouse in my experiment > >> > >(inline Joystick.AttachToMouseCursor = True).  The joystick is quite > >> > >touchy, and causes the cursor to move very quickly across the screen. > >> > >For my experiment, I need the cursor to only move slowly, no matter > >> > >how much the joystick is moved. > > >> > >I tried decreasing the mouse sensitivity settings on my computer. > >> > >This slowed the cursor down when using the mouse within my experiment, > >> > >but had no effect on the joystick.  I also tried increasing the > >> > >resolution display of my experiment (giving the cursor "further" to > >> > >travel)- also no effect.  I have also tried adjusting the sensitivity > >> > >of my joystick, but the cursor is still too fast. > > >> > >E-Prime support suggested the following: "E-Prime does have some > >> > >limited options for positioning the mouse cursor and limiting its > >> > >boundaries. We could try to use a combination of the two to make the > >> > >mouse cursor move more slowly. However, this would require significant > >> > >scripting and could result in the cursor movement not being smooth" > > >> > >My main question: Is anyone aware of a simpler way of controlling the > >> > >cursor speed in E-Prime? > > >> > >If not, here is further information on this method: > > >> > >E-Prime help suggested the following: > >> > >"I would recommend taking a look at the MouseDevice.SetCursorLimits > >> > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via > >> > >the Help menu). The former will allow you to specify boundaries for > >> > >the cursor, and the latter will allow you to position the mouse cursor > >> > >in a specific area. You could use a combination of the two to first > >> > >limit the movement of the cursor so that it does not immediately move > >> > >to one edge of the screen, and then use SetCursorPos to move the > >> > >cursor move slowly. You could also slowly expand the cursor limits as > >> > >the cursor hits the maximum in one direction. This would allow you to > >> > >give the appearance of the cursor moving more slowly. To do this, you > >> > >would have a loop that continuously checks the cursor position against > >> > >the limits that are set, and expand the limits in one direction as the > >> > >cursor hits that limit. This would require significant scripting and > >> > >could result in the cursor movement not being smooth." > > >> > >I took a look at the MouseDevice.SetCursorLimits and > >> > >MouseDevice.SetCursorPos help, and I understand how this would work in > >> > >theory.  However, I am very new to programming, and I am afraid that > >> > >the scripting involved is a bit over my head.  If anyone can offer any > >> > >advice or pointers, it 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. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own > > ... > > read more » -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From bsmith.lap at gmail.com Tue May 17 15:22:37 2011 From: bsmith.lap at gmail.com (Benjamin) Date: Tue, 17 May 2011 08:22:37 -0700 Subject: Floor function In-Reply-To: <79c500cc-eff8-460a-bef0-c8c3974c0c5f@cu4g2000vbb.googlegroups.com> Message-ID: The correct floor function is Fix(), which fixes the number the way you might fix a dog. Note that if your dog is negative, Fix() will round him "up" towards zero. Note that there is no ceiling function built into Visual Basic. Note that Google does not understand the difference between Visual Basic and .NET. Note that Susan G. Campbell, PhD does. On May 16, 5:14 pm, Benjamin wrote: > Is there an elegant way to perform Floor and Ceiling functions in > script?  I tried Floor( myDoubleNumber ) and > Math.Floor( myDoubleNumber ) but got Unknown Function errors both > times.  The manuals and PST web site have nothing, as far as I can > tell. > > I ended up hacking up a solution using the mod operator "\", but it > seems like there should be a better way.  The mod solution would be > particularly annoying for a ceiling function. > > Did I forget to install or configure something again? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 17 16:36:48 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 17 May 2011 12:36:48 -0400 Subject: Mastering E-Prime: Rounding, truncation, floor, ceil Message-ID: E-Prime (i.e., VBA) has no functions named "trunc()", "floor()", or "ceil()", but as a point of reference we recognize the following standard definitions: - trunc(x) = integer part of x, i.e., x rounded toward 0. Note that, e.g., trunc(2.1) = 2, and trunc(-2.1) = -2. - floor(x) = nearest integer less than or equal to x. Note that, e.g., floor(2.1) = 2, while floor(-2.1) = -3. - ceil(x) = nearest integer greater than or equal to x. Note that, e.g., ceil(2.1) = 3, while ceil(-2.1) = -2. Now, E-Prime does provide the following: - Fix(x) "returns the integer part of x", i.e., it simply truncates x (trunc(x)), i.e., it rounds toward 0. - Int(x) "returns the integer part of a given value by returning the first integer less than the number", i.e., does a floor(x). (Yes, PST's using "integer part" in both descriptions does confuse things.) - CInt(x) returns an integer for the round value of x (using "bankers'" or "scientific" rounding, where values ending in .5 get rounded to the the nearest even integer). - CLng(x) does the same as CInt(x) but returns a Long. - Format$(x) returns a String (or, Format(x) a String Variant) of x according to an optional format specifier string, and may round x (using "bankers'" or "scientific" rounding). - x\y does integer division after first rounding the arguments (using "bankers'" or "scientific" rounding), i.e., (x\y) = Fix( CInt(x) / CInt(y) ). Using these, we may implement ceil(x) with -Int(-x). -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue May 17 16:40:48 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 17 May 2011 12:40:48 -0400 Subject: Floor function In-Reply-To: <3207290d-959c-4c3a-9a91-77a2ef6c1ba7@k17g2000vbn.googlegro ups.com> Message-ID: You beat me to it. Still, I went ahead and posted a "Mastering E-Prime" article to more fully cover this (see http://groups.google.com/group/e-prime/browse_thread/thread/71182af63ddc1402 ), based on some notes I started last year and finished up today prodded by your question (you may also see someone else's earlier attempt at this at http://support.pstnet.com/forum/Topic4424-5-1.aspx?Highlight=floor ). Perhaps it will help someone else in the future. -- David McFarlane, Professional Faultfinder At 5/17/2011 11:22 AM Tuesday, Benjamin wrote: >The correct floor function is Fix(), which fixes the number the way >you might fix a dog. > >Note that if your dog is negative, Fix() will round him "up" towards >zero. >Note that there is no ceiling function built into Visual Basic. >Note that Google does not understand the difference between Visual >Basic and .NET. >Note that Susan G. Campbell, PhD does. > >On May 16, 5:14 pm, Benjamin wrote: > > Is there an elegant way to perform Floor and Ceiling functions in > > script? I tried Floor( myDoubleNumber ) and > > Math.Floor( myDoubleNumber ) but got Unknown Function errors both > > times. The manuals and PST web site have nothing, as far as I can > > tell. > > > > I ended up hacking up a solution using the mod operator "\", but it > > seems like there should be a better way. The mod solution would be > > particularly annoying for a ceiling function. > > > > Did I forget to install or configure something again? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 Wed May 18 14:48:43 2011 From: erin.siebert at gmail.com (Erin) Date: Wed, 18 May 2011 07:48:43 -0700 Subject: changing/customizing mouse cursor appearance Message-ID: Hi all, I am trying to figure out how to change the appearance of the mouse cursor in E-Prime. In the E-Basic help, the MouseDevice.Cursor topic lists the standard cursors available in E-Prime (you can change the cursor using inline "Mouse.Cursor = (1-13)"). However, the options are quite limited. I want to set my own image as the cursor (in my case, a small white circle). Does anyone know of a way to set a small .bmp or .jpg file to appear as the cursor? 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 tobias.fw at gmail.com Wed May 18 15:04:40 2011 From: tobias.fw at gmail.com (Tobias) Date: Wed, 18 May 2011 08:04:40 -0700 Subject: use input as a variable Message-ID: Hi there! I want to use the keyboard input from a slide as a variable. Usually, it is only available as an attribute. For example, if the slide is called "Respond", the input during that slide would be available as Respond.RESP. I can then use it in code like this: "if c.getattrib("Respond.RESP") = x then ...." and so on. It is however much handier to have it as a variable. Any idea how to realise that? Best, Tobias -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Wed May 18 15:46:40 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Wed, 18 May 2011 16:46:40 +0100 Subject: changing/customizing mouse cursor appearance In-Reply-To: <533c13d2-1666-4859-b2ea-41556e5886cf@r33g2000prh.googlegroups.com> Message-ID: Hiya, 1) You might just be able to change your cursor settings in windows (download and find), I'd be surprised if E-Prime actually copied these. 2) You can hide the cursor and insert a BMP over it. For example, if you have a procedure: 1. Label1 2. Slide with bmp of your face, positioned at X: [Xpos], Y: [Ypos], duration 10 ms with vsync on. 3. Inline: Dim x1 as integer, y1 as integer Mouse.GetCursorPos x1, y1 c.SetAttrib "Xpos", x1 c.SetAttrib "Ypos", y1 goto Label1 Should work. Best, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Erin Sent: 18 May 2011 15:49 To: E-Prime Subject: changing/customizing mouse cursor appearance Hi all, I am trying to figure out how to change the appearance of the mouse cursor in E-Prime. In the E-Basic help, the MouseDevice.Cursor topic lists the standard cursors available in E-Prime (you can change the cursor using inline "Mouse.Cursor = (1-13)"). However, the options are quite limited. I want to set my own image as the cursor (in my case, a small white circle). Does anyone know of a way to set a small .bmp or .jpg file to appear as the cursor? 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. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From pfc.groot at gmail.com Wed May 18 20:45:23 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Wed, 18 May 2011 22:45:23 +0200 Subject: use input as a variable In-Reply-To: Message-ID: Hi Tobias, EPrime will always offer the RESP value (and others) as build-in member variables of the corresponding e-object (such as a slide). In fact, the values of those variables are copied to attributes if you turn on the log setting. In that case eprime will add lines like this: c.SetAttrib "Respond.RESP", Respond.RESP cheers Paul 2011/5/18 Tobias : > Hi there! > > I want to use the keyboard input from a slide as a variable. Usually, > it is only available as an attribute. For example, if the slide is > called "Respond", the input during that slide would be available as > Respond.RESP. I can then use it in code like this: "if > c.getattrib("Respond.RESP") = x then ...." and so on. It is however > much handier to have it as a variable. Any idea how to realise that? > > Best, > Tobias > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. > > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From adeline.paignon at univ-savoie.fr Thu May 19 09:42:06 2011 From: adeline.paignon at univ-savoie.fr (Adeline) Date: Thu, 19 May 2011 02:42:06 -0700 Subject: select only one level in a list ? help Message-ID: Hi, (sorry for my english !!) I'm working on an experiment of artificial grammar. I use permutation to attribute 4 colors to 4 circles (having all possibles combinaisons) but I don't know how to select only one combinaison. I have my 24 combinaisons in List1 at the beggining of the experiment, and I want to select one line according to the number entered by the experimentateur. I want this number to be entered like subject , session etc .. Does anyone could help me ? Thanks Adeline -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 19 15:39:24 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 19 May 2011 11:39:24 -0400 Subject: select only one level in a list ? help In-Reply-To: <73f93b0e-f5aa-492f-a22c-1747df3c3a68@28g2000yqu.googlegrou ps.com> Message-ID: Adeline, Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... Indeed, this is the purpose of Counterbalance in the Order field of the Selection tab of any List. You might learn a bit more about this from either the User's Guide or the Reference Guide that came with E-Prime, or my own short write ups found at http://groups.google.com/group/e-prime/browse_thread/thread/26d2e1e83c6a09bb and http://groups.google.com/group/e-prime/browse_thread/thread/879ed88851b5267 . -- David McFarlane, Professional Faultfinder >Hi, (sorry for my english !!) >I'm working on an experiment of artificial grammar. I use permutation >to attribute 4 colors to 4 circles (having all possibles combinaisons) >but I don't know how to select only one combinaison. >I have my 24 combinaisons in List1 at the beggining of the experiment, >and I want to select one line according to the number entered by the >experimentateur. I want this number to be entered like subject , >session etc .. >Does anyone could help me ? >Thanks >Adeline -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 19 15:56:14 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 19 May 2011 11:56:14 -0400 Subject: use input as a variable In-Reply-To: Message-ID: Tobias, At 5/18/2011 11:04 AM Wednesday, you wrote: >I want to use the keyboard input from a slide as a variable. Usually, >it is only available as an attribute. Just to make sure this is clear, this statement is incorrect. In fact, it is just the other way around -- usually, response information is available only as a variable (or more properly speaking, as a property of an object variable). As Paul Groot has already explained, response information becomes available as attributes only when logging of that information has been set, or when you add inline to do so explicitly, e.g., c.SetAttrib "Respond.RESP", Respond.RESP. >For example, if the slide is >called "Respond", the input during that slide would be available as >Respond.RESP. I can then use it in code like this: "if >c.getattrib("Respond.RESP") = x then ...." and so on. It is however >much handier to have it as a variable. Any idea how to realise that? So, if you have a stimulus object called, say, StimSlide, and have attached an input mask to StimSlide, then response data will automatically be available as properties of the StimSlide object variable, e.g., StimSlide.RESP, StimSlide.RT, etc. You need do nothing more. And in that case, you could implement your example code simply with If (StimSlide.RESP = x) Then .... etc. -- i.e., same as before, just strip out the surrounding c.GetAttrib("..."). If you then also want those properties available as attributes, you need to enable logging for the desired properties or add inline code as indicated above. -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mpaffel at gmail.com Fri May 20 17:12:20 2011 From: mpaffel at gmail.com (Matt Paffel) Date: Fri, 20 May 2011 10:12:20 -0700 Subject: E-DataAid crashing Message-ID: Hi All E-DataAid has been crashing when opening files. However, it doesn’t happen with every file I try to open. When I try to open the files on XP, I get the error message: "E- DataAid has encountered a problem and needs to close." When I try to open the files on Win 7, I get the error message: "E- DataAid application has stopped working." Has anyone ever experienced this? If so, can the problem be remedied? E-Prime version: 2.0.8.79 -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 20 17:56:03 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 20 May 2011 13:56:03 -0400 Subject: E-DataAid crashing In-Reply-To: <97c537ae-ffa3-464c-b232-1b9c1ca02c33@x6g2000yqj.googlegrou ps.com> Message-ID: Matt, Have you asked PST Web Support (http://support.pstnet.com/e%2Dprime/support/login.asp )? I would try that first. Also, latest release of EP2 is 2.0.8.90, so you might also try updating. -- David McFarlane, Professional Faultfinder >E-DataAid has been crashing when opening files. However, it doesn't >happen with every file I try to open. > >When I try to open the files on XP, I get the error message: "E- >DataAid has encountered a problem and needs to close." > >When I try to open the files on Win 7, I get the error message: "E- >DataAid application has stopped working." > >Has anyone ever experienced this? If so, can the problem be remedied? > >E-Prime version: 2.0.8.79 -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mpaffel at gmail.com Fri May 20 18:12:08 2011 From: mpaffel at gmail.com (Matt Paffel) Date: Fri, 20 May 2011 11:12:08 -0700 Subject: E-DataAid crashing In-Reply-To: <4dd6ab3d.44ac2a0a.53a7.5b43SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hi David, I sent PST a support request but I was hoping one of you E-Prime gurus here had some insight so I don't have to wait two weeks for a reply (not meant as a dis to PST, just impatient). Also, thanks for the heads up concerning .90. On May 20, 12:56 pm, David McFarlane wrote: > Matt, > > Have you asked PST Web Support > (http://support.pstnet.com/e%2Dprime/support/login.asp)?  I would > try that first. > > Also, latest release of EP2 is 2.0.8.90, so you might also try updating. > > -- David McFarlane, Professional Faultfinder > > > > >E-DataAid has been crashing when opening files. However, it doesn't > >happen with every file I try to open. > > >When I try to open the files on XP, I get the error message: "E- > >DataAid has encountered a problem and needs to close." > > >When I try to open the files on Win 7, I get the error message: "E- > >DataAid application has stopped working." > > >Has anyone ever experienced this? If so, can the problem be remedied? > > >E-Prime version: 2.0.8.79- Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From nusphd at gmail.com Sat May 21 08:52:19 2011 From: nusphd at gmail.com (Lidia Suarez) Date: Sat, 21 May 2011 16:52:19 +0800 Subject: Crashing when playing sound files in version 74 In-Reply-To: Message-ID: Hi, Below the response PST gave me regarding crashes. I posted it some time ago: Next, here is what you should know about running E-Prime 2.0 and 1.x on Vista and 7 machines. This article provides more details on running 1.x on Vista/7 machines: INFO: E-Prime 1.x Support for Windows Vista. Until formal timing tests can be performed on a number of Windows Vista machines running E-Prime, PST encourages the use of E-Prime and Windows Vista only for design and testing purposes. Subject stations that are collecting data should be directed to Windows XP and Windows 2000 machines. I suggest that you keep using E-Prime 2.0 because the only version of E-Prime that has been tested and verified on Vista/7 machines is version 2.0.8.90. While PST has not officially published timing results for Windows 7, E-Prime 2.0.8.90 and later versions have been approved for Windows 7 x86/x64, Windows Vista SP2 x86/x64, and Windows XP SP3 x86 with the exception of Windows 7 or Vista paradigms that require sound startup latency values of less than 30ms. We have delayed publishing the timing results while we continue to work on consistent audio timing. PST is currently verifying a variety of sound drivers and recommends the use of Windows XP for experiments with sound related timing until further notice. PST intends to provide a more formal statement about Windows 7 shortly. Please check this article for updates: INFO: Windows 7 support in E-Prime. All of this said, I was able to run your experiment without any crashing on a Windows 7 machine. This leads me to believe that you can make some changes to your computer that should stop the crashes. Here are some steps to try: 1) Ensure that you have the latest version of E-Prime, which is 2.0.8.90. You can verify this by opening E-Studio and going to Help - About E-Studio. If you want to download the latest version, you can access the download via the Download/E-Prime/E-Prime 2.0 Release Candidate links to the left. Make sure that you download and install the version that matches the license you purchased (i.e., E-Prime 2.0 Standard or E-Prime 2.0 Professional). 2) Please use CodecConfig to check the codecs on your computer. This article contains instructions on this as well as links to codecs you may want to download and install: FEATURE: CodecConfig provides ability to choose codecs used for Movie and Sound rendering . 3) Disable or shutdown any background applications that may be causing a conflict. Here is an article with more information on that: INFO: How to use MSCONFIG to troubleshoot machine configuration and reduce background applications . 4) If the crashing continues, please send me a Tech Support Report so I can gather more information on your computer. Here is how to do this: INFO: How to send a tech support report to PST representatives . -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send 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 May 23 08:55:22 2011 From: d.vinson at ucl.ac.uk (David Vinson) Date: Mon, 23 May 2011 09:55:22 +0100 Subject: E-DataAid crashing In-Reply-To: <97c537ae-ffa3-464c-b232-1b9c1ca02c33@x6g2000yqj.googlegroups.com> Message-ID: Hi Matt, Do you have any special characters in your problematic files (such as letters with umlauts, Japanese/Mandarin/Hebrew text, etc)? These seem to cause various problems for E-DataAid. In which case (if you can open the file in any way) you can export to text, replace the problematic characters & save, then import. If you cannot open the data file at all, you might try a handy trick that was posted to the group recently - change the file extension from .edat2 to .edat then try opening it with E-DataAid v1 (assuming you have access to version 1.x). cheers, David (the other one). On 20/05/2011 18:12, Matt Paffel wrote: > Hi All > > E-DataAid has been crashing when opening files. However, it doesn’t > happen with every file I try to open. > > When I try to open the files on XP, I get the error message: "E- > DataAid has encountered a problem and needs to close." > > When I try to open the files on Win 7, I get the error message: "E- > DataAid application has stopped working." > > Has anyone ever experienced this? If so, can the problem be remedied? > > E-Prime version: 2.0.8.79 > -- 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 Mon May 23 13:21:42 2011 From: d.vinson at ucl.ac.uk (David Vinson) Date: Mon, 23 May 2011 14:21:42 +0100 Subject: stopping video playback beyond Duration (response contingent)? Message-ID: Hello, I have been wrestling with a MovieDisplay problem and wonder if anyone on the list has any ideas. A simplified version of my trial sequence can be described like this: time 0: MovieDisplay begins time 600: ImageDisplay begins while movie continues time 2500: end of typical video (range 2000-3100). Keypress can occur at any time during or after this sequence. Feedback on accuracy occurs after the response has been made. My current design starts with a MovieDisplay: keypress response, duration/time limit = 600, stop after = no and end action = terminate. If MovieDisplay.RT > 0 the ImageDisplay is skipped, otherwise it's displayed with duration = infinite (waits forever for a keyboard response). I log variables for the ImageDisplay and use inline code to update the logged variables for MovieDisplay as well. Then feedback occurs based on MovieDisplay.ACC. The problem is that often feedback doesn't appear (it's actually being displayed behind the video which continues until it is finished - video always takes display priority). Is there any way to stop the video once a keypress to MovieDisplay or ImageDisplay is recorded? I've tried various ways to deal with this (eg setting Durations to 0 and using inline code to keep time) but have not figured out a way to pull the plug on a video. I have been able to make the feedback display visible, for example adding a long Wait object before the feedback, or increasing the duration of the feedback object, or displaying the feedback off center - but I'd prefer if participants didn't have to wait until the end of video clips if they have already made early responses. any ideas or suggestions would be very helpful! -- 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 Mon May 23 14:14:39 2011 From: d.vinson at ucl.ac.uk (David Vinson) Date: Mon, 23 May 2011 15:14:39 +0100 Subject: stopping video playback beyond Duration (response contingent)? In-Reply-To: <4DDA5F66.4030908@ucl.ac.uk> Message-ID: just a quick follow-up to note that some of my timing issues have been solved - I finally found some posts by David McFarlane that were very helpful with a design like mine. Using extended input to collect response data rather than piecing it together from multiple display objects: http://groups.google.com/group/e-prime/msg/e30fc88284d85e3c Using SetNextTargetOnsetTime to schedule upcoming events: http://groups.google.com/group/e-prime/msg/3f1b16b48a068f14 However i'm still looking for ideas about stopping a video in mid-play once its Duration has expired. cheers, David V > I have been wrestling with a MovieDisplay problem and wonder if anyone > on the list has any ideas. > > A simplified version of my trial sequence can be described like this: > > time 0: MovieDisplay begins > time 600: ImageDisplay begins while movie continues > time 2500: end of typical video (range 2000-3100). > Keypress can occur at any time during or after this sequence. > > Feedback on accuracy occurs after the response has been made. > > My current design starts with a MovieDisplay: keypress response, > duration/time limit = 600, stop after = no and end action = terminate. > > If MovieDisplay.RT > 0 the ImageDisplay is skipped, otherwise it's > displayed with duration = infinite (waits forever for a keyboard > response). I log variables for the ImageDisplay and use inline code to > update the logged variables for MovieDisplay as well. > > Then feedback occurs based on MovieDisplay.ACC. The problem is that > often feedback doesn't appear (it's actually being displayed behind the > video which continues until it is finished - video always takes display > priority). > > Is there any way to stop the video once a keypress to MovieDisplay or > ImageDisplay is recorded? I've tried various ways to deal with this (eg > setting Durations to 0 and using inline code to keep time) but have not > figured out a way to pull the plug on a video. > > I have been able to make the feedback display visible, for example > adding a long Wait object before the feedback, or increasing the > duration of the feedback object, or displaying the feedback off center - > but I'd prefer if participants didn't have to wait until the end of > video clips if they have already made early responses. > > any ideas or suggestions would be very helpful! -- 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 Michiel.Spape at nottingham.ac.uk Mon May 23 15:55:35 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Mon, 23 May 2011 16:55:35 +0100 Subject: E-DataAid crashing In-Reply-To: <152c3f40-d262-462a-9cff-71dfe523b24c@l18g2000yql.googlegroups.com> Message-ID: Hiya, I always found E-DataAid to be exceptionally stable. Also, I'd be amazed if updating to any other E-Prime version will do anything - as far as I can see, the only thing that's different between 2.0x and EP1 in terms of e-dataAid is that it saves the same files with an added 2. These can be interchangeably opened, so one wonders what the great use of the 2 in the name is, there. My immediate thought would be there's something either wrong with your e-dataAid install (so reinstall), or the data-files themselves. I think the first step the people over at PST will want to sort out is whether there's a problem with your E-DataAid (presumably with its install then, perhaps missing .net components or whatnot), or whether your data-files are somehow corrupted. Have you checked yet whether anyone else can open them? Have you tried re-making the .edat files with E-Recovery? When exactly does E-DataAid crash anyway (during opening of files, during some analysis, &c.)? As a side note, does anyone else think e-Prime should, in this i-Age, change the name? I'm personally of the opinion that Me-Prime sounds better (although perhaps a bit too late, as YouTube, MySpace and YouGov have all lost that glossiness... Gee-Prime and /i/-Prime will probably end up to be rather costly). Best, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Matt Paffel Sent: 20 May 2011 19:12 To: E-Prime Subject: Re: E-DataAid crashing Hi David, I sent PST a support request but I was hoping one of you E-Prime gurus here had some insight so I don't have to wait two weeks for a reply (not meant as a dis to PST, just impatient). Also, thanks for the heads up concerning .90. On May 20, 12:56 pm, David McFarlane wrote: > Matt, > > Have you asked PST Web Support > (http://support.pstnet.com/e%2Dprime/support/login.asp)?  I would > try that first. > > Also, latest release of EP2 is 2.0.8.90, so you might also try updating. > > -- David McFarlane, Professional Faultfinder > > > > >E-DataAid has been crashing when opening files. However, it doesn't > >happen with every file I try to open. > > >When I try to open the files on XP, I get the error message: "E- > >DataAid has encountered a problem and needs to close." > > >When I try to open the files on Win 7, I get the error message: "E- > >DataAid application has stopped working." > > >Has anyone ever experienced this? If so, can the problem be remedied? > > >E-Prime version: 2.0.8.79- Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From adeline.paignon at univ-savoie.fr Mon May 23 16:47:46 2011 From: adeline.paignon at univ-savoie.fr (Adeline) Date: Mon, 23 May 2011 09:47:46 -0700 Subject: select only one level in a list ? help In-Reply-To: <4dd539b5.44ac2a0a.53a7.2d49SMTPIN_ADDED@gmr-mx.google.com> Message-ID: thanks, as you said I find a solution in using this code Dim nLevel As Integer For nLevel = 1 To List1.Size If nLevel = c.GetAttrib("mynumpermutation") then List1.SetWeight nLevel, 1 else List1.SetWeight nLevel, 0 Next 'nLevel List1.Reset Thanks On 19 mai, 17:39, David McFarlane wrote: > Adeline, > > Stock reminder:  1) I do not work for PST.  2) PST's trained staff > takes any and all questions athttp://support.pstnet.com/e%2Dprime/support/login.asp, and they > strive to respond to all requests in 24-48 hours -- this is pretty > much their substitute for proper documentation, so make full use of > it.  3) If you do get an answer from PST Web Support, please extend > the courtesy of posting their reply back here for the sake of others. > > That said, here is my take... > > Indeed, this is the purpose of Counterbalance in the Order field of > the Selection tab of any List.  You might learn a bit more about this > from either the User's Guide or the Reference Guide that came with > E-Prime, or my own short write ups found athttp://groups.google.com/group/e-prime/browse_thread/thread/26d2e1e83... > andhttp://groups.google.com/group/e-prime/browse_thread/thread/879ed8885.... > > -- David McFarlane, Professional Faultfinder > > > > > > > > >Hi, (sorry for my english !!) > >I'm working on an experiment of artificial grammar. I use permutation > >to attribute 4 colors to 4 circles (having all possibles combinaisons) > >but I don't know how to select only one combinaison. > >I have my 24 combinaisons in List1 at the beggining of the experiment, > >and I want to select one line according to the number entered by the > >experimentateur. I want this number to be entered like subject , > >session etc .. > >Does anyone could help me ? > >Thanks > >Adeline -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From adeline.paignon at univ-savoie.fr Mon May 23 17:04:09 2011 From: adeline.paignon at univ-savoie.fr (Adeline) Date: Mon, 23 May 2011 10:04:09 -0700 Subject: sequentially read attributes entered on a unique line of a list Message-ID: Hi, I'm designing an experiment consisting of presentation of 4 squares.The 4 Square have to appear successively on the screen. (squares are defined in a line because they have to change their color) first square1 appear in a first location during 500 ms and disappear , after 200 ms the second square appear in a second location and so on. I entered my 4 locations in a List where my 4 locations are presented on the same line (loc_1; loc_2..). (After I will play with the number of square presented and the location) is it possible with eprime to "read" the attributes cell by cell in a list and not row by row ? I search for a code that permit to read sequentially the item(loc_) presented on a unique line ? Does anyone havea idea ? thanks for your help -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Mon May 23 18:20:34 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 23 May 2011 14:20:34 -0400 Subject: E-DataAid crashing In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92F6E114919@EXCHANGE3.ad.no ttingham.ac.uk> Message-ID: At 5/23/2011 11:55 AM Monday, Michiel Spape wrote: >As a side note, does anyone else think e-Prime should, in this >i-Age, change the name? I'm personally of the opinion that Me-Prime >sounds better (although perhaps a bit too late, as YouTube, MySpace >and YouGov have all lost that glossiness... Gee-Prime and /i/-Prime >will probably end up to be rather costly). As I recall, the name "E-Prime" was meant to evoke "Experiment-Prime", i.e., "Experiment'", somewhat in the fashion of Isaac Newton's notation for derivatives; and so "E-Prime" was meant to evoke a system that advances experiments to the next level. But I don't know where I read that, and I can't find a citation now. I was never fond of this affectation (just like I was never fond of PST calling experiment programs "paradigms", or calling VBA/E-Basic source code "script", etc.). But I understand the name, and in that sense I suppose E-Prime makes more sense than -Prime. Just my US$.02, -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Mon May 23 18:56:20 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 23 May 2011 14:56:20 -0400 Subject: select only one level in a list ? help In-Reply-To: Message-ID: Not the solution I had in mind, as it requires more code than the Counterbalance approach -- i.e., in the List property pages set the List Order to Counterbalance and Order By to whatever (e.g., Subject), then use inline code any time before List1 to override the Order By, e.g., Set List1.Deletion = PickOne(c.GetAttrib("mynumpermutation")) Admittedly, this is not officially documented, and you can only learn this sort of thing by looking at the generated source code and hacking with it. So your solution does the job just as well and I am glad that it works for you. It also, I admit, opens the way for other possibilities. Thanks for posting back with your solution, -- David McFarlane, Professional Faultfinder At 5/23/2011 12:47 PM Monday, you wrote: >thanks, >as you said I find a solution in using this code > >Dim nLevel As Integer >For nLevel = 1 To List1.Size > If nLevel = c.GetAttrib("mynumpermutation") then > List1.SetWeight nLevel, 1 > else List1.SetWeight nLevel, 0 >Next 'nLevel >List1.Reset > >Thanks > > >On 19 mai, 17:39, David McFarlane wrote: > > Adeline, > > > > Stock reminder: 1) I do not work for PST. 2) PST's trained staff > > takes any and all questions at > http://support.pstnet.com/e%2Dprime/support/login.asp , and they > > strive to respond to all requests in 24-48 hours -- this is pretty > > much their substitute for proper documentation, so make full use of > > it. 3) If you do get an answer from PST Web Support, please extend > > the courtesy of posting their reply back here for the sake of others. > > > > That said, here is my take... > > > > Indeed, this is the purpose of Counterbalance in the Order field of > > the Selection tab of any List. You might learn a bit more about this > > from either the User's Guide or the Reference Guide that came with > > E-Prime, or my own short write ups found at > http://groups.google.com/group/e-prime/browse_thread/thread/26d2e1e83 ... > > and > http://groups.google.com/group/e-prime/browse_thread/thread/879ed8885 .... > > > > -- David McFarlane, Professional Faultfinder > > > > > > >Hi, (sorry for my english !!) > > >I'm working on an experiment of artificial grammar. I use permutation > > >to attribute 4 colors to 4 circles (having all possibles combinaisons) > > >but I don't know how to select only one combinaison. > > >I have my 24 combinaisons in List1 at the beggining of the experiment, > > >and I want to select one line according to the number entered by the > > >experimentateur. I want this number to be entered like subject , > > >session etc .. > > >Does anyone could help me ? > > >Thanks > > >Adeline -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Mon May 23 19:02:36 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 23 May 2011 15:02:36 -0400 Subject: sequentially read attributes entered on a unique line of a list In-Reply-To: Message-ID: >is it possible with eprime to "read" the attributes cell by cell in >a list and not row by row ? Well, you might do that with some inline code. E.g., suppose you have a List with attributes for Square1, Square2, Square3, and Square4, then the following code would successively assign the value of each attribute to the single attribute "Square": Const nAttrib as Integer = 4 Dim i as Integer For i = 1 to nAttrib c.SetAttrib "Square", c.GetAttrib( "Square" & i ) ' more code to make use of this here... Next i The key is that attribute names are nothing more than strings, and you may construct them using ordinary string concatentation and other operations, then use the resulting name in a call to GetAttrib(). Another way to get at attributes one-by-one in a single row of a List is to put those values in a nested List from your main List, and then access the individual rows of the nested List using colon syntax. Just look up "colon syntax" in the index of the User's Guide that came with E-Prime. I am just addressing the academic "is it possible" question here, I am not sure that this will have any practical benefit for programming your particular task, but there you go. -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Mon May 23 19:17:52 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 23 May 2011 15:17:52 -0400 Subject: stopping video playback beyond Duration (response contingent)? In-Reply-To: <4DDA6BCF.5090001@ucl.ac.uk> Message-ID: David, Hmm, glad I helped with some solutions. I don't have time to explore the movie stopping issue myself just now, so let me just toss out some ideas for you to try. I would look for a MovieDisplay equivalent to the the Stop method of the SoundOut class (SoundOut.Stop) (or more precisely, the SoundBuffer class, SoundBuffer.Stop). This will take some sleuthing, as PST has yet to grace us with any documentation for Movies in the E-Basic Help facility. To that end, I would also submit a request posthaste to PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp -- this is after all pretty much their substitute for the documentation that they should provide in the first place, so don't be shy, PST seems to prefer to be liberal with their tech support and to document their stuff only on a "need to know" basis. And then please post back here with whatever you find. Thanks, -- David McFarlane, Professional Faultfinder At 5/23/2011 10:14 AM Monday, you wrote: >just a quick follow-up to note that some of my timing issues have >been solved - I finally found some posts by David McFarlane that >were very helpful with a design like mine. > >Using extended input to collect response data rather than piecing it >together from multiple display objects: >http://groups.google.com/group/e-prime/msg/e30fc88284d85e3c > >Using SetNextTargetOnsetTime to schedule upcoming events: >http://groups.google.com/group/e-prime/msg/3f1b16b48a068f14 > >However i'm still looking for ideas about stopping a video in >mid-play once its Duration has expired. > >cheers, >David V > > >>I have been wrestling with a MovieDisplay problem and wonder if anyone >>on the list has any ideas. >> >>A simplified version of my trial sequence can be described like this: >> >>time 0: MovieDisplay begins >>time 600: ImageDisplay begins while movie continues >>time 2500: end of typical video (range 2000-3100). >>Keypress can occur at any time during or after this sequence. >> >>Feedback on accuracy occurs after the response has been made. >> >>My current design starts with a MovieDisplay: keypress response, >>duration/time limit = 600, stop after = no and end action = terminate. >> >>If MovieDisplay.RT > 0 the ImageDisplay is skipped, otherwise it's >>displayed with duration = infinite (waits forever for a keyboard >>response). I log variables for the ImageDisplay and use inline code to >>update the logged variables for MovieDisplay as well. >> >>Then feedback occurs based on MovieDisplay.ACC. The problem is that >>often feedback doesn't appear (it's actually being displayed behind the >>video which continues until it is finished - video always takes display >>priority). >> >>Is there any way to stop the video once a keypress to MovieDisplay or >>ImageDisplay is recorded? I've tried various ways to deal with this (eg >>setting Durations to 0 and using inline code to keep time) but have not >>figured out a way to pull the plug on a video. >> >>I have been able to make the feedback display visible, for example >>adding a long Wait object before the feedback, or increasing the >>duration of the feedback object, or displaying the feedback off center - >>but I'd prefer if participants didn't have to wait until the end of >>video clips if they have already made early responses. >> >>any ideas or suggestions would be very helpful! > > >-- >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 ashtyster at gmail.com Tue May 24 09:26:11 2011 From: ashtyster at gmail.com (Ashtyster) Date: Tue, 24 May 2011 02:26:11 -0700 Subject: trying to get a response box (RB-730) from www.cedrus.com to work with e-prime 2.0 Message-ID: Hi! We're trying to get a response box (RB-730) from www.cedrus.com to work with e-prime 2.0 on a Windows XP 32bit machine. We've tried to reinstall both the e-prime srbox driver and the driver for the RB-730 response box. We have also used the guide on Cedrus' site to update the firmware and make the box compatible with e-prime (http://cedrus.com/support/rb_series/tn1047_eprime.htm), but we're still getting the following error message: Device Name: SRBOX Error: 0x00004a49 Message: 'Unable to open the SRBOX: 0x00000005 The program used for updating the firmware is called 'xidon'. Xidon is able to autodetect the response box and, when it's not switch to 'e-prime mode', it will also register the response. We've checked and made sure that the COM port is the same and 'Bit per second' is set to '19200' in both e-prime and Device Manager. Has anybody ever run into a similar problem? We would appreciate all your comments or suggestions. Thank you. A. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 24 20:17:58 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Tue, 24 May 2011 22:17:58 +0200 Subject: trying to get a response box (RB-730) from www.cedrus.com to work with e-prime 2.0 In-Reply-To: Message-ID: Hi A, Sounds like a driver problem as described in: http://community.cedrus.com/showthread.php?t=1226 So, you might have to double check the question mark icons under 'other devices' in the device manager. Best 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 ashtyster at gmail.com Wed May 25 08:26:37 2011 From: ashtyster at gmail.com (Ashtyster) Date: Wed, 25 May 2011 01:26:37 -0700 Subject: trying to get a response box (RB-730) from www.cedrus.com to work with e-prime 2.0 In-Reply-To: Message-ID: Hi Paul, thank you for your suggestion. I've checked, and I am quite certain this not a driver problem. It seems like e-prime just can't communicate with the box. Cheers, Ashtyster On May 24, 10:17 pm, Paul Groot wrote: > Hi A, > > Sounds like a driver problem  as described in:http://community.cedrus.com/showthread.php?t=1226 > So, you might have to double check the question mark icons under > 'other devices' in the device manager. > > Best > 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 brenna.mrosenberg at gmail.com Wed May 25 17:54:46 2011 From: brenna.mrosenberg at gmail.com (Brenna R) Date: Wed, 25 May 2011 10:54:46 -0700 Subject: Exporting Eprime to an Eprime Naive Computer Message-ID: Hi all- My research group would like see if we can compile all the EPrime code (in v1) and export it into an eprime naive computer.. i.e one that does not have any Eprime software sans code to read and implement this Eprime script on it. I understand that you can install Eprime 1 on a computer and, without a key, still collect data. But is there a legally sound way to ship out an install package, say over e-mail or via download, that has the background software AND your code (and that's it)? From my experience with other standard engineering software packages, primarily Matlab and Labview, I know this is frequently an option for GUIs, DAQs, etc . Any help would be greatly appreciated. -B -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From 0702claudia at gmail.com Wed May 25 19:21:10 2011 From: 0702claudia at gmail.com (Claudia) Date: Wed, 25 May 2011 12:21:10 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key Message-ID: Hi, I am very new to e-prime and, after having spent hours pouring on the manuals, I have yet to find the solution to a likely elementary (!) matter: How do I make the software accept 1) that the space key is an "Allowed response", and 2) that absence of response is also an "Allowed response". My experiment is a visual recognition task in which my participants are supposed to press 'space bar' only if the target flashed on screen (i.e. a triangle) has been preceded by some specific stimuli, but not to press anything at all if the rule is not met. Thank you in advance for your help, Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From a.assfalg at googlemail.com Thu May 26 06:36:19 2011 From: a.assfalg at googlemail.com (Alexander) Date: Wed, 25 May 2011 23:36:19 -0700 Subject: multiple mouse reactions in one trial Message-ID: Hi all, I have little experience with eprime. I want to do an experiment in which four digits are presented simultaneous on the screen. These should be selected in ascending order with the mouse. For every mouse click the reaction time and the clicked off digit should be recorded. The digit already been selected should be hidden. The next trial with new digits should start only when all four digits have been clicked. For notes on how I can solve this in an easily way, I would be more than grateful. Best regards Alexander -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu May 26 08:51:20 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 26 May 2011 01:51:20 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key In-Reply-To: <9d18df45-2280-43c9-b3e8-8fc29b357282@s41g2000prb.googlegroups.com> Message-ID: Hi Claudia, this is indeed very elementary... did you also check the 'manual' called 'an e-primer'? It can be downloaded here: step.psy.cmu.edu/ materials/EPrimer.pdf I don't know it by heart but I daresay it should contain your answers and otherwise be helpful for you. As for the allowed response: this simply defines which buttons are being 'read' by e-prime. If a certain button is not defined response, one can press it however much they like, e-prime will not respond to it. To make the spacebar the only allowed response (no response is not a response, so you don't need to "allow" it) enter {SPACE} into the allowed responses field. However, the remaining of your question pertains not to how to set an allowed response but to how to set a correct response. To achieve what you want to achieve, make an attribute in your list that contains the correct response, call it "correctresp" or something the like. For trials in which space is the correct response give it value {SPACE}, for trials in which no response is the correct response give it value "" (two times ", nothing inbetween). Tell your slide that this attribute contains the correctresponse by entering [correctresp] into the correct response field of the slide. In order to make it possible that no response is given ("allow" no response, if you like...) give the slide a set duration (1000 ms for instance, instead of infinite) so that it always disappears after a given time (even if no response is made). You can keep the end action at terminate if you want the slide to disappear after space is pressed or set it to none of you want it to remain for the set duration even after spacebar is pressed. Best, liw On May 25, 9:21 pm, Claudia <0702clau... at gmail.com> wrote: > Hi, > > I am very new to e-prime and, after having spent hours pouring on the > manuals, I have yet to find the solution to a likely elementary (!) > matter: How do I make the software accept 1) that the space key is an > "Allowed response", and 2) that absence of response is also an > "Allowed response". My experiment is a visual recognition task in > which my participants are supposed to press 'space bar' only if the > target flashed on screen (i.e. a triangle) has been preceded by some > specific stimuli, but not to press anything at all if the rule is not > met. > > Thank you in advance for your help, > Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Thu May 26 09:02:41 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Thu, 26 May 2011 10:02:41 +0100 Subject: multiple mouse reactions in one trial In-Reply-To: <73b82945-0a5d-453c-9848-22a97946897f@c1g2000yqe.googlegroups.com> Message-ID: Hiya, The easy way would be to pay someone to code it for you! But, for anyone to help: - What is "little experience"? Have you read the entire getting started guide and/or additional material (linked before)? - Where do you get stuck? Best, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Alexander Sent: 26 May 2011 07:36 To: E-Prime Subject: multiple mouse reactions in one trial Hi all, I have little experience with eprime. I want to do an experiment in which four digits are presented simultaneous on the screen. These should be selected in ascending order with the mouse. For every mouse click the reaction time and the clicked off digit should be recorded. The digit already been selected should be hidden. The next trial with new digits should start only when all four digits have been clicked. For notes on how I can solve this in an easily way, I would be more than grateful. Best regards Alexander -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From 0702claudia at gmail.com Thu May 26 10:21:25 2011 From: 0702claudia at gmail.com (Claudia) Date: Thu, 26 May 2011 03:21:25 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key In-Reply-To: Message-ID: Thank you very much, liw! This was really helpful: the value "" was the one I could not figure out, and because of it the experiment would just stop every time I tried to run it. I will now try it again and also follow your other advices re. lack of response as "correct response". Thank you also for the link to the manual. Best, Claudia On May 26, 10:51 am, liwenna wrote: > Hi Claudia, > > this is indeed very elementary... did you also check the 'manual' > called 'an e-primer'? It can be downloaded here: step.psy.cmu.edu/ > materials/EPrimer.pdf > I don't know it by heart but I daresay it should contain your answers > and otherwise be helpful for you. > > As for the allowed response: this simply defines which buttons are > being 'read' by e-prime. If a certain button is not defined response, > one can press it however much they like, e-prime will not respond to > it. To make the spacebar the only allowed response (no response is not > a response, so you don't need to "allow" it) enter {SPACE} into the > allowed responses field. > > However, the remaining of your question pertains not to how to set an > allowed response but to how to set a correct response. To achieve what > you want to achieve, make an attribute in your list that contains the > correct response, call it "correctresp" or something the like. For > trials in which space is the correct response give it value {SPACE}, > for trials in which no response is the correct response give it value > "" (two times ", nothing inbetween). Tell your slide that this > attribute contains the correctresponse by entering [correctresp] into > the correct response field of the slide. In order to make it possible > that no response is given ("allow" no response, if you like...) give > the slide a set duration (1000 ms for instance, instead of infinite) > so that it always disappears after a given time (even if no response > is made). You can keep the end action at terminate if you want the > slide to disappear after space is pressed or set it to  none of you > want it to remain for the set duration even after spacebar is pressed. > > Best, > > liw > > On May 25, 9:21 pm, Claudia <0702clau... at gmail.com> wrote: > > > Hi, > > > I am very new to e-prime and, after having spent hours pouring on the > > manuals, I have yet to find the solution to a likely elementary (!) > > matter: How do I make the software accept 1) that the space key is an > > "Allowed response", and 2) that absence of response is also an > > "Allowed response". My experiment is a visual recognition task in > > which my participants are supposed to press 'space bar' only if the > > target flashed on screen (i.e. a triangle) has been preceded by some > > specific stimuli, but not to press anything at all if the rule is not > > met. > > > Thank you in advance for your help, > > Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu May 26 10:21:41 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 26 May 2011 03:21:41 -0700 Subject: multiple mouse reactions in one trial In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92F6E114A75@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: hmmmz despite Michiels more educationally responsible answer I tried to conjure something up for you. I believe it's possible to record multiple responses during one show of a slide... but you can't alter the slide while it's being shown. You do want to change it (i.e. you want the clicked number to disappear) so therefore you'll have to change the slide after each response is given and then show it again. One could use different slidestates to show 'the same slide' with different appearances (i.e. a different number of text boxes) but.. you'd need 24 slidestates (4*3*2*1) while if I remember correctly, only 12 are allowed, so that's not really an option. What is? Use a slide with four textboxes... each textbox will contain one number, store the numbers in four attributes in a list (n1, n2, n3 or whatever you like) and tell the four textboxes to find their 'text' from these attributes by entering [n1], [n2], etc in the text fields. By default the textboxes will be named text1, text2, text3 etc, which is fine, you could change their names, doesn't really matter. Enable the mouse on the slide and set the end action to terminate, log the response time. On your trial procedure, directly after the slide place an inline containing this code: ******* If responsecount = 0 then c.setattrib "slidestarttime", SLIDENAME.OnsetTime 'tell the program which slide we are talking about Set theState = SLIDENAME.States("Default") 'Was there a response? If SLIDENAME.InputMasks.Responses.Count > 0 Then 'Get the mouse response Set theMouseResponseData = CMouseResponseData(SLIDENAME.InputMasks.Responses(1)) 'Determine string name of SlideImage or SlideText object at 'mouse click coordinates. Assign that value to strHit strHit = theState.HitTest(theMouseResponseData.CursorX, theMouseResponseData.CursorY) 'if strHit remains empty, i.e. the mouseclick was not made on one of the textboxes, then go back and show the slide again if strHit = "" then goto backlabel 'keep a count of the number of responses given so far Responsecount = responsecount +1 'log the name of the textbox that was clicked under response1, response2, response3 etc, dependent on the value of responsecount 'log the responsetime for this response under response1.rt, response2.rt, etc, also dependent on the value of responsecount. Calculate the responsetime by subtracting the 'onsettime of the first showing of the slide (stored under slidestarttime) from the timestamp of the new response (SLIDENAME.RTTime). c.SetAttrib "response"& responsecount, strHit c.SetAttrib “response”& responsecount &“.rt”, SLIDENAME.RTTime - c.getattrib ("slidestarttime") 'change the text of the textbox was clicked to nothing: "" CSlideText(SLIDENAME.States(Slide1.ActiveState).Objects(strHit)).text=“” 'if less than 4 response have been given, go back to show the slide again if responsecount <4 then goto backlabel End If 'reset the response counter for the next trial Responsecount = 0 ************ replace every instance of SLIDENAME with the actual name of your slide. The variable responsecount should be created by writing the line "dim responsecount as integer" (no "'s) on the user tab of the script window. Place a label on the procedure right before your slide, call it backlabel. This is a kind of 'marker', at the end of the code the program will return to that 'place in the procedure' when it encounter the line containing 'goto backlabel'. So basically what it does is the following: it determines the name of the textsubobject that was clicked on and stored this name under 'strHit'. If there is no value stored in strHit then the click was made outside of the textbox areas and the program goes back to show the slide again in it's current state. If that is not the case then strHit is stored as the given response and so is the response time. After that it replaces the text of the subjectobject with the name that is stored under strHit (i.e. the box that was clicked on) with "" which is... nothing. This way the clicked number will (hopefully :p) disappear. It then goes back to backlabel and shows the slide again, rinse and repeat until 4 responses have been given. I haven't tested this code, it might be full of minor and/or major errors.. but something like this should, generally speaking, work... you could just give it a try ;) especially this line might be problematic: c.SetAttrib “response”& responsecount &“.rt”, SLIDENAME.RTTime - c.getattrib ("slidestarttime") . If so then break it down into one line for the calulations (create variable called erm... responsetime, then use a line: responsetime = SLIDENAME.RTTime - c.getattrib ("slidestarttime") followed by a separate line to log this value: c.SetAttrib "reponse"& responsecount &".rt", responsetime . Please le me know whether that works :) Best, liw On May 26, 11:02 am, Michiel Spape wrote: > Hiya, > The easy way would be to pay someone to code it for you! > > But, for anyone to help: > - What is "little experience"? Have you read the entire getting started guide and/or additional material (linked before)? > - Where do you get stuck? > Best, > Mich > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Alexander > Sent: 26 May 2011 07:36 > To: E-Prime > Subject: multiple mouse reactions in one trial > > Hi all, > > I have little experience with eprime. > I want to do an experiment in which four digits are presented > simultaneous on the screen. These should be selected in ascending > order with the mouse. For every mouse click the reaction time and the > clicked off digit should be recorded. The digit already been selected > should be hidden. The next trial with new digits should start only > when all four digits have been clicked. > For notes on how I can solve this in an easily way, I would be more > than grateful. > > Best regards > Alexander > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From 0702claudia at gmail.com Thu May 26 13:13:01 2011 From: 0702claudia at gmail.com (Claudia) Date: Thu, 26 May 2011 06:13:01 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key In-Reply-To: Message-ID: Hi again, I am clearly doing something wrong since, although I believe I followed your (and the manual) instructions, I keep getting the same error window. Could you please look at it and let me know if it tells you something? I am copy-pasting below the section containing the 'bug' - The last line seems to be the critical one. Thank you very much, Claudia Sub PracticeProc_Run(c as Context) Fixation.Run Blank.Run PrimePractice.Text = c.GetAttrib("PrimePractice") PrimePractice.Run Blank1.Run Stimulus.ActiveState = c.GetAttrib("Stimulus") Stimulus.Run ResponseTrial.InputMasks.Reset If Keyboard.GetState() = ebStateOpen Then ResponseTrialEchoClients.RemoveAll ResponseTrial.InputMasks.Add Keyboard.CreateInputMask("{SPACE}", c.GetAttrib("CorrectAnswer"), CLng(ResponseTrial.Duration), CLng("1"), ebEndResponseActionNone, CLogical("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") On May 26, 10:51 am, liwenna wrote: > Hi Claudia, > > this is indeed very elementary... did you also check the 'manual' > called 'an e-primer'? It can be downloaded here: step.psy.cmu.edu/ > materials/EPrimer.pdf > I don't know it by heart but I daresay it should contain your answers > and otherwise be helpful for you. > > As for the allowed response: this simply defines which buttons are > being 'read' by e-prime. If a certain button is not defined response, > one can press it however much they like, e-prime will not respond to > it. To make the spacebar the only allowed response (no response is not > a response, so you don't need to "allow" it) enter {SPACE} into the > allowed responses field. > > However, the remaining of your question pertains not to how to set an > allowed response but to how to set a correct response. To achieve what > you want to achieve, make an attribute in your list that contains the > correct response, call it "correctresp" or something the like. For > trials in which space is the correct response give it value {SPACE}, > for trials in which no response is the correct response give it value > "" (two times ", nothing inbetween). Tell your slide that this > attribute contains the correctresponse by entering [correctresp] into > the correct response field of the slide. In order to make it possible > that no response is given ("allow" no response, if you like...) give > the slide a set duration (1000 ms for instance, instead of infinite) > so that it always disappears after a given time (even if no response > is made). You can keep the end action at terminate if you want the > slide to disappear after space is pressed or set it to  none of you > want it to remain for the set duration even after spacebar is pressed. > > Best, > > liw > > On May 25, 9:21 pm, Claudia <0702clau... at gmail.com> wrote: > > > Hi, > > > I am very new to e-prime and, after having spent hours pouring on the > > manuals, I have yet to find the solution to a likely elementary (!) > > matter: How do I make the software accept 1) that the space key is an > > "Allowed response", and 2) that absence of response is also an > > "Allowed response". My experiment is a visual recognition task in > > which my participants are supposed to press 'space bar' only if the > > target flashed on screen (i.e. a triangle) has been preceded by some > > specific stimuli, but not to press anything at all if the rule is not > > met. > > > Thank you in advance for your help, > > Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu May 26 13:36:00 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 26 May 2011 06:36:00 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key In-Reply-To: Message-ID: What is the text of the error message you get? Also: with the error you should receive a referral to a specific line in the code... does this refer to the last line of the code you posted? quite frankly, I can't read much into it :s On May 26, 3:13 pm, Claudia <0702clau... at gmail.com> wrote: > Hi again, > > I am clearly doing something wrong since, although I believe I > followed your (and the manual) instructions, I keep getting the same > error window. Could you please look at it and let me know if it tells > you something? I am copy-pasting below the section containing the > 'bug' - The last line seems to be the critical one. > Thank you very much, > Claudia > > Sub PracticeProc_Run(c as Context) > >         Fixation.Run > >         Blank.Run > >         PrimePractice.Text = c.GetAttrib("PrimePractice") >         PrimePractice.Run > >         Blank1.Run > >         Stimulus.ActiveState = c.GetAttrib("Stimulus") >         Stimulus.Run > >         ResponseTrial.InputMasks.Reset > >         If Keyboard.GetState() = ebStateOpen Then >                 ResponseTrialEchoClients.RemoveAll >                 ResponseTrial.InputMasks.Add Keyboard.CreateInputMask("{SPACE}", > c.GetAttrib("CorrectAnswer"), CLng(ResponseTrial.Duration), CLng("1"), > ebEndResponseActionNone, CLogical("Yes"), "", "", "ResponseMode:All > ProcessBackspace:Yes") > > On May 26, 10:51 am, liwenna wrote: > > > Hi Claudia, > > > this is indeed very elementary... did you also check the 'manual' > > called 'an e-primer'? It can be downloaded here: step.psy.cmu.edu/ > > materials/EPrimer.pdf > > I don't know it by heart but I daresay it should contain your answers > > and otherwise be helpful for you. > > > As for the allowed response: this simply defines which buttons are > > being 'read' by e-prime. If a certain button is not defined response, > > one can press it however much they like, e-prime will not respond to > > it. To make the spacebar the only allowed response (no response is not > > a response, so you don't need to "allow" it) enter {SPACE} into the > > allowed responses field. > > > However, the remaining of your question pertains not to how to set an > > allowed response but to how to set a correct response. To achieve what > > you want to achieve, make an attribute in your list that contains the > > correct response, call it "correctresp" or something the like. For > > trials in which space is the correct response give it value {SPACE}, > > for trials in which no response is the correct response give it value > > "" (two times ", nothing inbetween). Tell your slide that this > > attribute contains the correctresponse by entering [correctresp] into > > the correct response field of the slide. In order to make it possible > > that no response is given ("allow" no response, if you like...) give > > the slide a set duration (1000 ms for instance, instead of infinite) > > so that it always disappears after a given time (even if no response > > is made). You can keep the end action at terminate if you want the > > slide to disappear after space is pressed or set it to  none of you > > want it to remain for the set duration even after spacebar is pressed. > > > Best, > > > liw > > > On May 25, 9:21 pm, Claudia <0702clau... at gmail.com> wrote: > > > > Hi, > > > > I am very new to e-prime and, after having spent hours pouring on the > > > manuals, I have yet to find the solution to a likely elementary (!) > > > matter: How do I make the software accept 1) that the space key is an > > > "Allowed response", and 2) that absence of response is also an > > > "Allowed response". My experiment is a visual recognition task in > > > which my participants are supposed to press 'space bar' only if the > > > target flashed on screen (i.e. a triangle) has been preceded by some > > > specific stimuli, but not to press anything at all if the rule is not > > > met. > > > > Thank you in advance for your help, > > > Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 26 15:14:59 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 26 May 2011 11:14:59 -0400 Subject: Why is is called "E-Prime"? Message-ID: Curious minds want to know. So, I went ahead and posted this question to PST Web Support (as I keep saying, they really do generously take any and all questions there, and they did reply within 2 days). Laura McCarthy replied, "E-Prime refers to the Experimenter's Prime (best) development studio for the implementation of computerized behavioral research such as reaction time, detection, and learning type paradigms." She does not have a source citation for this, and neither do I -- I might have seen this explained in one of the early published papers introducing E-Prime, or in some of the early documentation for the beta versions that we started using back in 1998 or 1999. I might go back sometime and look further, but this should do for now. -- David McFarlane, Professional Faultfinder At 5/23/2011 02:20 PM Monday, in the thread "E-DataAid crashing" (http://groups.google.com/group/e-prime/browse_thread/thread/2351146132d184ea ), David McFarlane wrote: >At 5/23/2011 11:55 AM Monday, Michiel Spape wrote: >>As a side note, does anyone else think e-Prime should, in this >>i-Age, change the name? I'm personally of the opinion that Me-Prime >>sounds better (although perhaps a bit too late, as YouTube, MySpace >>and YouGov have all lost that glossiness... Gee-Prime and /i/-Prime >>will probably end up to be rather costly). > >As I recall, the name "E-Prime" was meant to evoke >"Experiment-Prime", i.e., "Experiment'", somewhat in the fashion of >Isaac Newton's notation for derivatives; and so "E-Prime" was meant >to evoke a system that advances experiments to the next level. But >I don't know where I read that, and I can't find a citation now. > >I was never fond of this affectation (just like I was never fond of >PST calling experiment programs "paradigms", or calling VBA/E-Basic >source code "script", etc.). But I understand the name, and in that >sense I suppose E-Prime makes more sense than -Prime. > >Just my US$.02, >-- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu May 26 15:34:21 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 26 May 2011 11:34:21 -0400 Subject: Participants=?iso-8859-1?Q?=B4_?=response via space key In-Reply-To: <9d18df45-2280-43c9-b3e8-8fc29b357282@s41g2000prb.googlegro ups.com> Message-ID: Claudia, You and liw are already working this out. I just wanted to add that you can get more information about using special characters for Allowable and Correct by looking at the "(key} nomenclature" topic in the E-Basic Help facility. Also to reiterate that to accept "no response" as a "response" you logically need to set a Duration for the stimulus to expire, and a Time Limit for the input mask that gets the response (typically leave that at (same as duration), unless you want to use "Extended Input" -- work through Appendix C of the User's Guide that came with E-Prime). -- David McFarlane, Professional Faultfinder At 5/25/2011 03:21 PM Wednesday, you wrote: >Hi, > >I am very new to e-prime and, after having spent hours pouring on the >manuals, I have yet to find the solution to a likely elementary (!) >matter: How do I make the software accept 1) that the space key is an >"Allowed response", and 2) that absence of response is also an >"Allowed response". My experiment is a visual recognition task in >which my participants are supposed to press 'space bar' only if the >target flashed on screen (i.e. a triangle) has been preceded by some >specific stimuli, but not to press anything at all if the rule is not >met. > >Thank you in advance for your help, >Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 26 16:21:50 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 26 May 2011 12:21:50 -0400 Subject: Exporting Eprime to an Eprime Naive Computer In-Reply-To: Message-ID: Good question, and a feature that many of us would like to have in E-Prime. But E-Prime is not like "other standard engineering software packages" -- to be sure, E-Prime is not even an "engineering" package meant for serious programmers, it is a "psychology" package meant primarily for casual use by amateurs (although it has enough features so that serious programmers can still make use of it). So, AFAIK E-Prime, *by design*, has no facility to allow distribution of run-time code to run without installing E-Prime. In fact, just think about the license terms -- you are allowed to install E-Prime to run experiments on up to some number (25?) of machines *within your lab*. How could they enforce those terms if you could export EP code to run willy-nilly on any old machine? (Mind you, I am not defending the terms of the license, only reflecting on what those terms imply with regard to your question.) But please, do not take my word for this. You really should take this up directly with PST -- try Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp . And then please post back here with the result. -- David McFarlane, Professional Faultfinder At 5/25/2011 01:54 PM Wednesday, you wrote: >Hi all- > >My research group would like see if we can compile all the EPrime code >(in v1) and export it into an eprime naive computer.. i.e one that >does not have any Eprime software sans code to read and implement this >Eprime script on it. I understand that you can install Eprime 1 on a >computer and, without a key, still collect data. But is there a >legally sound way to ship out an install package, say over e-mail or >via download, that has the background software AND your code (and >that's it)? From my experience with other standard engineering >software packages, primarily Matlab and Labview, I know this is >frequently an option for GUIs, DAQs, etc >. >Any help would be greatly appreciated. >-B -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 26 16:06:40 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 26 May 2011 12:06:40 -0400 Subject: multiple mouse reactions in one trial In-Reply-To: <01abd5bb-8354-479d-a2cd-b36c7747be94@n10g2000yqf.googlegro ups.com> Message-ID: Alexander, Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. (And to Mich, hat's off for saying what I so often say.) That said, here is my take... As liw hinted, you could collect multiple mouse clicks for a single stimulus & input mask by making use of the InputMask.Responses property in inline code -- see that topic in the E-Basic Help facility, and the MultipleResponseCollection.es example in the PST Web Downloads area. But to get the stimulus to change upon each response would take more work. I think liw's approach using multiple objects may be easier to for a begginner, but if you don't mind diving in to a bunch of code then an alternative (and not necessarily better) approach would be to use the InputMask.Responses property along with the .Draw method of each of the various sub-objects on your stimulus Slide. The VAS example from PST shows how to do something like this (note that their VAS example is *not* a VAS, it is a Likert scale!). (And if you do resort to the PST examples, take them as only a starting point for coding ideas -- they have the virtue of providing actual working code, but beyond that the code is not a good model of good programming practices.) -- David McFarlane, Professional Faultfinder "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." (Richard Feynman, Nobel prize-winning physicist) At 5/26/2011 06:21 AM Thursday, liwenna wrote: >hmmmz despite Michiels more educationally responsible answer I tried >to conjure something up for you. > >I believe it's possible to record multiple responses during one show >of a slide... but you can't alter the slide while it's being shown. >You do want to change it (i.e. you want the clicked number to >disappear) so therefore you'll have to change the slide after each >response is given and then show it again. > >One could use different slidestates to show 'the same slide' with >different appearances (i.e. a different number of text boxes) but.. >you'd need 24 slidestates (4*3*2*1) while if I remember correctly, >only 12 are allowed, so that's not really an option. > >What is? > >Use a slide with four textboxes... each textbox will contain one >number, store the numbers in four attributes in a list (n1, n2, n3 or >whatever you like) and tell the four textboxes to find their 'text' >from these attributes by entering [n1], [n2], etc in the text fields. >By default the textboxes will be named text1, text2, text3 etc, which >is fine, you could change their names, doesn't really matter. Enable >the mouse on the slide and set the end action to terminate, log the >response time. > >On your trial procedure, directly after the slide place an inline >containing this code: > >******* >If responsecount = 0 then c.setattrib "slidestarttime", >SLIDENAME.OnsetTime > >'tell the program which slide we are talking about > Set theState = SLIDENAME.States("Default") > >'Was there a response? > If SLIDENAME.InputMasks.Responses.Count > 0 Then > >'Get the mouse response > Set theMouseResponseData = >CMouseResponseData(SLIDENAME.InputMasks.Responses(1)) > >'Determine string name of SlideImage or SlideText object at >'mouse click coordinates. Assign that value to strHit > strHit = >theState.HitTest(theMouseResponseData.CursorX, >theMouseResponseData.CursorY) > >'if strHit remains empty, i.e. the mouseclick was not made on one of >the textboxes, then go back and show the slide again > if strHit = "" then goto backlabel > >'keep a count of the number of responses given so far > Responsecount = responsecount +1 > >'log the name of the textbox that was clicked under response1, >response2, response3 etc, dependent on the value of responsecount >'log the responsetime for this response under response1.rt, >response2.rt, etc, also dependent on the value of responsecount. >Calculate the responsetime by subtracting the >'onsettime of the first showing of the slide (stored under >slidestarttime) from the timestamp of the new response >(SLIDENAME.RTTime). > c.SetAttrib "response"& responsecount, strHit > c.SetAttrib “response”& responsecount &“.rt”, SLIDENAME.RTTime >- c.getattrib ("slidestarttime") > >'change the text of the textbox was clicked to nothing: "" > >CSlideText(SLIDENAME.States(Slide1.ActiveState).Objects(strHit)).text=“” > >'if less than 4 response have been given, go back to show the slide >again > if responsecount <4 then goto backlabel > > End If > >'reset the response counter for the next trial >Responsecount = 0 >************ > >replace every instance of SLIDENAME with the actual name of your >slide. The variable responsecount should be created by writing the >line "dim responsecount as integer" (no "'s) on the user tab of the >script window. Place a label on the procedure right before your slide, >call it backlabel. This is a kind of 'marker', at the end of the code >the program will return to that 'place in the procedure' when it >encounter the line containing 'goto backlabel'. > >So basically what it does is the following: it determines the name of >the textsubobject that was clicked on and stored this name under >'strHit'. If there is no value stored in strHit then the click was >made outside of the textbox areas and the program goes back to show >the slide again in it's current state. If that is not the case then >strHit is stored as the given response and so is the response time. >After that it replaces the text of the subjectobject with the name >that is stored under strHit (i.e. the box that was clicked on) with "" >which is... nothing. This way the clicked number will (hopefully :p) >disappear. It then goes back to backlabel and shows the slide again, >rinse and repeat until 4 responses have been given. > >I haven't tested this code, it might be full of minor and/or major >errors.. but something like this should, generally speaking, work... >you could just give it a try ;) > >especially this line might be problematic: c.SetAttrib “response”& >responsecount &“.rt”, SLIDENAME.RTTime - c.getattrib >("slidestarttime") . If so then break it down into one line for the >calulations (create variable called erm... responsetime, then use a >line: responsetime = SLIDENAME.RTTime - c.getattrib ("slidestarttime") >followed by a separate line to log this value: c.SetAttrib "reponse"& >responsecount &".rt", responsetime . > >Please le me know whether that works :) > >Best, > >liw > > > > >On May 26, 11:02 am, Michiel Spape >wrote: > > Hiya, > > The easy way would be to pay someone to code it for you! > > > > But, for anyone to help: > > - What is "little experience"? Have you read > the entire getting started guide and/or additional material (linked before)? > > - Where do you get stuck? > > Best, > > Mich > > > > Michiel Spapé > > Research Fellow > > Perception & Action group > > University of Nottingham > > School of Psychologywww.cognitology.eu > > > > -----Original Message----- > > From: e-prime at googlegroups.com > [mailto:e-prime at googlegroups.com] On Behalf Of Alexander > > Sent: 26 May 2011 07:36 > > To: E-Prime > > Subject: multiple mouse reactions in one trial > > > > Hi all, > > > > I have little experience with eprime. > > I want to do an experiment in which four digits are presented > > simultaneous on the screen. These should be selected in ascending > > order with the mouse. For every mouse click the reaction time and the > > clicked off digit should be recorded. The digit already been selected > > should be hidden. The next trial with new digits should start only > > when all four digits have been clicked. > > For notes on how I can solve this in an easily way, I would be more > > than grateful. > > > > Best regards > > Alexander -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mahonlab at gmail.com Thu May 26 17:29:04 2011 From: mahonlab at gmail.com (frank) Date: Thu, 26 May 2011 10:29:04 -0700 Subject: go/no go task Message-ID: hello all.. I have a quick question. I am creating a go/no go task, however it is a little backwards. I want participants to always hold down button 1 on the sr response box. When they see an image of a face, I want them to let go, hence 'go' trials. When they see an image of an animal I want them to keep holding down button 1 on the sr response box. This is naturally a little backwards; I could have a participant hit 1 every time they see a face, 'go', or hit nothing when they do not see a face, or when an animal is being presented, 'no go'. Ive tried holding down button 1 and then letting go when a face is presented, but no response logs. Is there a specific code anyone has or a strategy that is specific to this design? Thanks, frank -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From neuropsych76 at gmail.com Thu May 26 18:06:16 2011 From: neuropsych76 at gmail.com (cogneuro) Date: Thu, 26 May 2011 14:06:16 -0400 Subject: Why is is called "E-Prime"? In-Reply-To: <4dde6e85.83ad2a0a.1613.66e7SMTPIN_ADDED@gmr-mx.google.com> Message-ID: I actually just met the creator of e-prime (!!!) a couple weeks ago and should have asked him this! Dr. Schneider just told me that he just wanted to create a software program that made making experiments easier and it just happened from there :) (he used to be an engineer). On Thu, May 26, 2011 at 11:14 AM, David McFarlane wrote: > Curious minds want to know. So, I went ahead and posted this question to > PST Web Support (as I keep saying, they really do generously take any and > all questions there, and they did reply within 2 days). Laura McCarthy > replied, "E-Prime refers to the Experimenter's Prime (best) development > studio for the implementation of computerized behavioral research such as > reaction time, detection, and learning type paradigms." She does not have a > source citation for this, and neither do I -- I might have seen this > explained in one of the early published papers introducing E-Prime, or in > some of the early documentation for the beta versions that we started using > back in 1998 or 1999. I might go back sometime and look further, but this > should do for now. > > -- David McFarlane, Professional Faultfinder > > > At 5/23/2011 02:20 PM Monday, in the thread "E-DataAid crashing" ( > http://groups.google.com/group/e-prime/browse_thread/thread/2351146132d184ea), David McFarlane wrote: > >> At 5/23/2011 11:55 AM Monday, Michiel Spape wrote: >> >>> As a side note, does anyone else think e-Prime should, in this i-Age, >>> change the name? I'm personally of the opinion that Me-Prime sounds better >>> (although perhaps a bit too late, as YouTube, MySpace and YouGov have all >>> lost that glossiness... Gee-Prime and /i/-Prime will probably end up to be >>> rather costly). >>> >> >> As I recall, the name "E-Prime" was meant to evoke "Experiment-Prime", >> i.e., "Experiment'", somewhat in the fashion of Isaac Newton's notation for >> derivatives; and so "E-Prime" was meant to evoke a system that advances >> experiments to the next level. But I don't know where I read that, and I >> can't find a citation now. >> >> I was never fond of this affectation (just like I was never fond of PST >> calling experiment programs "paradigms", or calling VBA/E-Basic source code >> "script", etc.). But I understand the name, and in that sense I suppose >> E-Prime makes more sense than -Prime. >> >> Just my US$.02, >> -- David McFarlane, Professional Faultfinder >> > > -- > You received this message because you are subscribed to the Google Groups > "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to > e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/e-prime?hl=en. > > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcfarla9 at msu.edu Thu May 26 18:12:48 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 26 May 2011 14:12:48 -0400 Subject: go/no go task In-Reply-To: <38ec5122-0b3e-4b12-a9ad-18c769b1ea76@hg8g2000vbb.googlegro ups.com> Message-ID: Frank, Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... See the "{key} nomenclature" topic in the E-Basic Help facility, and the "KeyRelease.es" example downloadbable from PST (requires registration and login). -- David McFarlane, Professional Faultfinder >I am creating a go/no go task, however it is a little backwards. I >want participants to always hold down button 1 on the sr response >box. When they see an image of a face, I want them to let go, hence >'go' trials. When they see an image of an animal I want them to keep >holding down button 1 on the sr response box. This is naturally a >little backwards; I could have a participant hit 1 every time they see >a face, 'go', or hit nothing when they do not see a face, or when an >animal is being presented, 'no go'. > >Ive tried holding down button 1 and then letting go when a face is >presented, but no response logs. Is there a specific code anyone has >or a strategy that is specific to this design? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mahonlab at gmail.com Thu May 26 18:21:07 2011 From: mahonlab at gmail.com (frank) Date: Thu, 26 May 2011 11:21:07 -0700 Subject: go/no go task In-Reply-To: <4dde9824.07b12a0a.135e.1352SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thank you for your support, David. cheers, --frank On May 26, 2:12 pm, David McFarlane wrote: > Frank, > > Stock reminder:  1) I do not work for PST.  2) PST's trained staff > takes any and all questions athttp://support.pstnet.com/e%2Dprime/support/login.asp, and they > strive to respond to all requests in 24-48 hours -- this is pretty > much their substitute for proper documentation, so make full use of > it.  3) If you do get an answer from PST Web Support, please extend > the courtesy of posting their reply back here for the sake of others. > > That said, here is my take... > > See the "{key} nomenclature" topic in the E-Basic Help facility, and > the "KeyRelease.es" example downloadbable from PST (requires > registration and login). > > -- David McFarlane, Professional Faultfinder > > > > > > > > >I am creating a go/no go task, however it is a little backwards. I > >want participants to always hold down button 1 on the sr response > >box.  When they see an image of a face, I want them to let go, hence > >'go' trials.  When they see an image of an animal I want them to keep > >holding down button 1 on the sr response box.  This is naturally a > >little backwards; I could have a participant hit 1 every time they see > >a face, 'go', or hit nothing when they do not see a face, or when an > >animal is being presented, 'no go'. > > >Ive tried holding down button 1 and then letting go when a face is > >presented, but no response logs.  Is there a specific code anyone has > >or a strategy that is specific to this design? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu May 26 18:20:56 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 26 May 2011 14:20:56 -0400 Subject: Why is is called "E-Prime"? In-Reply-To: Message-ID: Interesting. Did Dr. Schneider also explain that before E-Prime he produced MEL (Microcomputer Experiment Laboratory), a rather successful product that ran under DOS? Or that E-Prime started as a joint venture with Brian MacWhinney (head of this very discussion board, and STEP) at Carnegie Mellon University to bring some of the ideas from MacWhinney's PsyScope on the Macintosh over to the Windows platform? There's some interesting history behind E-Prime, as for most things. -- David McFarlane, Professional Faultfinder At 5/26/2011 02:06 PM Thursday, you wrote: >I actually just met the creator of e-prime (!!!) a couple weeks ago >and should have asked him this! > >Dr. Schneider just told me that he just wanted to create a software >program that made making experiments easier and it just happened >from there :) (he used to be an engineer). > >On Thu, May 26, 2011 at 11:14 AM, David McFarlane ><mcfarla9 at msu.edu> wrote: >Curious minds want to know. So, I went ahead and posted this >question to PST Web Support (as I keep saying, they really do >generously take any and all questions there, and they did reply >within 2 days). Laura McCarthy replied, "E-Prime refers to the >Experimenter's Prime (best) development studio for the >implementation of computerized behavioral research such as reaction >time, detection, and learning type paradigms." She does not have a >source citation for this, and neither do I -- I might have seen this >explained in one of the early published papers introducing E-Prime, >or in some of the early documentation for the beta versions that we >started using back in 1998 or 1999. I might go back sometime and >look further, but this should do for now. > >-- David McFarlane, Professional Faultfinder > > >At 5/23/2011 02:20 PM Monday, in the thread "E-DataAid crashing" >(http://groups.google.com/group/e-prime/browse_thread/thread/2351146132d184ea >), David McFarlane wrote: >At 5/23/2011 11:55 AM Monday, Michiel Spape wrote: >As a side note, does anyone else think e-Prime should, in this >i-Age, change the name? I'm personally of the opinion that Me-Prime >sounds better (although perhaps a bit too late, as YouTube, MySpace >and YouGov have all lost that glossiness... Gee-Prime and /i/-Prime >will probably end up to be rather costly). > > >As I recall, the name "E-Prime" was meant to evoke >"Experiment-Prime", i.e., "Experiment'", somewhat in the fashion of >Isaac Newton's notation for derivatives; and so "E-Prime" was meant >to evoke a system that advances experiments to the next level. But >I don't know where I read that, and I can't find a citation now. > >I was never fond of this affectation (just like I was never fond of >PST calling experiment programs "paradigms", or calling VBA/E-Basic >source code "script", etc.). But I understand the name, and in that >sense I suppose E-Prime makes more sense than -Prime. > >Just my US$.02, >-- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From adeline.paignon at univ-savoie.fr Thu May 26 19:30:00 2011 From: adeline.paignon at univ-savoie.fr (Adeline) Date: Thu, 26 May 2011 12:30:00 -0700 Subject: sequentially read attributes entered on a unique line of a list In-Reply-To: <4ddaaf4d.cf472a0a.3fde.ffff8768SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Nice !!! thank you for your help, the code works well ! thanks adeline On May 23, 9:02 pm, David McFarlane wrote: > >is it possible with eprime to "read" the attributes cell by cell in > >a list and not row by row ? > > Well, you might do that with some inline code. E.g., suppose you have > a List with attributes for Square1, Square2, Square3, and Square4, > then the following code would successively assign the value of each > attribute to the single attribute "Square": > > Const nAttrib as Integer = 4 > Dim  i as Integer > For i = 1 to nAttrib >      c.SetAttrib "Square", c.GetAttrib( "Square" & i ) >      ' more code to make use of this here... > Next i > > The key is that attribute names are nothing more than strings, and > you may construct them using ordinary string concatentation and other > operations, then use the resulting name in a call to GetAttrib(). > > Another way to get at attributes one-by-one in a single row of a List > is to put those values in a nested List from your main List, and then > access the individual rows of the nested List using colon > syntax.  Just look up "colon syntax" in the index of the User's Guide > that came with E-Prime. > > I am just addressing the academic "is it possible" question here, I > am not sure that this will have any practical benefit for programming > your particular task, but there you go. > > -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From 0702claudia at gmail.com Thu May 26 19:39:25 2011 From: 0702claudia at gmail.com (Claudia) Date: Thu, 26 May 2011 12:39:25 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key In-Reply-To: <4dde7300.42a62a0a.58f0.66f9SMTPIN_ADDED@gmr-mx.google.com> Message-ID: The error message says "Run-time Error (Line 438) 10018: Correct Response is not part of Allowable" which - according to the cursor on my screen, is the last line in the script-segment I sent earlier. I have set the Time limit, and checked carefully that {SPACE} is correctly written both in the appropriate attribute column and in the "Allowed response" box. I am not sure if you could get a better idea of the possible problem if I send you a longer segment of script,.....or would you have any other suggestion? Thank you very much for your help, Claudia On May 26, 5:34 pm, David McFarlane wrote: > Claudia, > > You and liw are already working this out.  I just wanted to add that > you can get more information about using special characters for > Allowable and Correct by looking at the "(key} nomenclature" topic in > the E-Basic Help facility.  Also to reiterate that to accept "no > response" as a "response" you logically need to set a Duration for > the stimulus to expire, and a Time Limit for the input mask that gets > the response (typically leave that at (same as duration), unless you > want to use "Extended Input" -- work through Appendix C of the User's > Guide that came with E-Prime). > > -- David McFarlane, Professional Faultfinder > > At 5/25/2011 03:21 PM Wednesday, you wrote: > > >Hi, > > >I am very new to e-prime and, after having spent hours pouring on the > >manuals, I have yet to find the solution to a likely elementary (!) > >matter: How do I make the software accept 1) that the space key is an > >"Allowed response", and 2) that absence of response is also an > >"Allowed response". My experiment is a visual recognition task in > >which my participants are supposed to press 'space bar' only if the > >target flashed on screen (i.e. a triangle) has been preceded by some > >specific stimuli, but not to press anything at all if the rule is not > >met. > > >Thank you in advance for your help, > >Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Fri May 27 08:36:17 2011 From: liwenna at gmail.com (liwenna) Date: Fri, 27 May 2011 01:36:17 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key In-Reply-To: Message-ID: Hi Claudia, My bad... There was this little nagging voice in my head yesterday saying that something wouldn't work about what I wrote... and this is probably it :p Maybe I was mistaken by advicing you to use "". Brandon's post in this thread on the PST forums (http://www.pstnet.com/forum/ Topic1311-5-1.aspx#bm1824) makes me thinkt that, while "" is used for a 'no-response' when writing inline code, it is not needed to place the brackets around the 'nothing' when the cresp is defined in a list. So... first try removing the "" and run the task with {SPACE} in the go trials and nothing in the nogo trials, if that doesn't work then try expanding the collection of allowed responses to {ANY}. In the current set-up the program checks to see if "" (cresp) is part of {SPACE} (allowed responses) which it obviously isn't. By allowing any key Pp can also press other buttons than spacebar but chances of them doing that aren't that big... Best, liw On May 26, 9:39 pm, Claudia <0702clau... at gmail.com> wrote: > The error message says "Run-time Error (Line 438) 10018: Correct > Response is not part of Allowable" which - according to the cursor on > my screen, is the last line in the script-segment I sent earlier. I > have set the Time limit, and checked carefully that {SPACE} is > correctly written both in the appropriate attribute column and in the > "Allowed response" box. I am not sure if you could get a better idea > of the possible problem if I send you a longer segment of > script,.....or would you have any other suggestion? > > Thank you very much for your help, > Claudia > > On May 26, 5:34 pm, David McFarlane wrote: > > > Claudia, > > > You and liw are already working this out.  I just wanted to add that > > you can get more information about using special characters for > > Allowable and Correct by looking at the "(key} nomenclature" topic in > > the E-Basic Help facility.  Also to reiterate that to accept "no > > response" as a "response" you logically need to set a Duration for > > the stimulus to expire, and a Time Limit for the input mask that gets > > the response (typically leave that at (same as duration), unless you > > want to use "Extended Input" -- work through Appendix C of the User's > > Guide that came with E-Prime). > > > -- David McFarlane, Professional Faultfinder > > > At 5/25/2011 03:21 PM Wednesday, you wrote: > > > >Hi, > > > >I am very new to e-prime and, after having spent hours pouring on the > > >manuals, I have yet to find the solution to a likely elementary (!) > > >matter: How do I make the software accept 1) that the space key is an > > >"Allowed response", and 2) that absence of response is also an > > >"Allowed response". My experiment is a visual recognition task in > > >which my participants are supposed to press 'space bar' only if the > > >target flashed on screen (i.e. a triangle) has been preceded by some > > >specific stimuli, but not to press anything at all if the rule is not > > >met. > > > >Thank you in advance for your help, > > >Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From 0702claudia at gmail.com Fri May 27 14:05:03 2011 From: 0702claudia at gmail.com (Claudia) Date: Fri, 27 May 2011 07:05:03 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key In-Reply-To: Message-ID: Thanks liw! I´ll follow your advice....hoping for the best :-) Claudia On May 27, 10:36 am, liwenna wrote: > Hi Claudia, > > My bad... There was this little nagging voice in my head yesterday > saying that something wouldn't work about what I wrote... and this is > probably it :p > > Maybe I was mistaken by advicing you to use "". Brandon's post in this > thread on the PST forums (http://www.pstnet.com/forum/ > Topic1311-5-1.aspx#bm1824) makes me thinkt that, while "" is used for > a 'no-response' when writing inline code, it is not needed to place > the brackets around the 'nothing' when the cresp is defined in a > list. > > So... first try removing the "" and run the task with {SPACE} in the > go trials and nothing in the nogo trials, if that doesn't work then > try expanding the collection of allowed responses to {ANY}. In the > current set-up the program checks to see if "" (cresp) is part of > {SPACE} (allowed responses) which it obviously isn't. By allowing any > key Pp can also press other buttons than spacebar but chances of them > doing that aren't that big... > > Best, > > liw > > On May 26, 9:39 pm, Claudia <0702clau... at gmail.com> wrote: > > > The error message says "Run-time Error (Line 438) 10018: Correct > > Response is not part of Allowable" which - according to the cursor on > > my screen, is the last line in the script-segment I sent earlier. I > > have set the Time limit, and checked carefully that {SPACE} is > > correctly written both in the appropriate attribute column and in the > > "Allowed response" box. I am not sure if you could get a better idea > > of the possible problem if I send you a longer segment of > > script,.....or would you have any other suggestion? > > > Thank you very much for your help, > > Claudia > > > On May 26, 5:34 pm, David McFarlane wrote: > > > > Claudia, > > > > You and liw are already working this out.  I just wanted to add that > > > you can get more information about using special characters for > > > Allowable and Correct by looking at the "(key} nomenclature" topic in > > > the E-Basic Help facility.  Also to reiterate that to accept "no > > > response" as a "response" you logically need to set a Duration for > > > the stimulus to expire, and a Time Limit for the input mask that gets > > > the response (typically leave that at (same as duration), unless you > > > want to use "Extended Input" -- work through Appendix C of the User's > > > Guide that came with E-Prime). > > > > -- David McFarlane, Professional Faultfinder > > > > At 5/25/2011 03:21 PM Wednesday, you wrote: > > > > >Hi, > > > > >I am very new to e-prime and, after having spent hours pouring on the > > > >manuals, I have yet to find the solution to a likely elementary (!) > > > >matter: How do I make the software accept 1) that the space key is an > > > >"Allowed response", and 2) that absence of response is also an > > > >"Allowed response". My experiment is a visual recognition task in > > > >which my participants are supposed to press 'space bar' only if the > > > >target flashed on screen (i.e. a triangle) has been preceded by some > > > >specific stimuli, but not to press anything at all if the rule is not > > > >met. > > > > >Thank you in advance for your help, > > > >Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 Fri May 27 15:49:12 2011 From: d.vinson at ucl.ac.uk (David Vinson) Date: Fri, 27 May 2011 16:49:12 +0100 Subject: stopping video playback beyond Duration (response contingent)? In-Reply-To: <4ddab2e1.cf472a0a.3fde.ffff87fdSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Here's a follow up to my previous posting as I got a response back from E-Prime Support. Perpahs it may prove useful to someone else trying to do complicated things with videos. Here's a summarized version of the support reply. No surprise that David M's suggestion was right on track. A MovieDisplay object does indeed have a Stop method. If "Stop after" property of the MovieDisplay object is set to "Yes", the Stop method is automatically called at the end of the object's Duration. If "Stop after" is set to "No", the movie plays until its end (or the end time specified in the object properties) or until manually stopped. To manually stop the movie display, InLine code like Movie1.Stop will suffice to stop playback of MovieDisplay object named "Movie1". A small amount of information about MovieDisplay objects can be found here: http://www.pstnet.com/support/kb.asp?TopicID=2720 But this is still very under-documented; I was also advised to take advantage of the fact that many characteristics of MovieDisplay objects are comparable to those of ImageDisplay or SoundOut (and thus can be figured out by using E-Basic help on these objects). Ultimately a quick request to E-Prime's online support team may well be the best way to solve a Movie problem. cheers, David V > Hmm, glad I helped with some solutions. I don't have time to explore the > movie stopping issue myself just now, so let me just toss out some ideas > for you to try. I would look for a MovieDisplay equivalent to the the > Stop method of the SoundOut class (SoundOut.Stop) (or more precisely, > the SoundBuffer class, SoundBuffer.Stop). This will take some sleuthing, > as PST has yet to grace us with any documentation for Movies in the > E-Basic Help facility. To that end, I would also submit a request > posthaste to PST Web Support at > http://support.pstnet.com/e%2Dprime/support/login.asp -- this is after > all pretty much their substitute for the documentation that they should > provide in the first place, so don't be shy, PST seems to prefer to be > liberal with their tech support and to document their stuff only on a > "need to know" basis. And then please post back here with whatever you > find. > > Thanks, > -- David McFarlane, Professional Faultfinder > > > At 5/23/2011 10:14 AM Monday, you wrote: >> just a quick follow-up to note that some of my timing issues have been >> solved - I finally found some posts by David McFarlane that were very >> helpful with a design like mine. >> >> Using extended input to collect response data rather than piecing it >> together from multiple display objects: >> http://groups.google.com/group/e-prime/msg/e30fc88284d85e3c >> >> Using SetNextTargetOnsetTime to schedule upcoming events: >> http://groups.google.com/group/e-prime/msg/3f1b16b48a068f14 >> >> However i'm still looking for ideas about stopping a video in mid-play >> once its Duration has expired. >> >> cheers, >> David V >> >> >>> I have been wrestling with a MovieDisplay problem and wonder if anyone >>> on the list has any ideas. >>> >>> A simplified version of my trial sequence can be described like this: >>> >>> time 0: MovieDisplay begins >>> time 600: ImageDisplay begins while movie continues >>> time 2500: end of typical video (range 2000-3100). >>> Keypress can occur at any time during or after this sequence. >>> >>> Feedback on accuracy occurs after the response has been made. >>> >>> My current design starts with a MovieDisplay: keypress response, >>> duration/time limit = 600, stop after = no and end action = terminate. >>> >>> If MovieDisplay.RT > 0 the ImageDisplay is skipped, otherwise it's >>> displayed with duration = infinite (waits forever for a keyboard >>> response). I log variables for the ImageDisplay and use inline code to >>> update the logged variables for MovieDisplay as well. >>> >>> Then feedback occurs based on MovieDisplay.ACC. The problem is that >>> often feedback doesn't appear (it's actually being displayed behind the >>> video which continues until it is finished - video always takes display >>> priority). >>> >>> Is there any way to stop the video once a keypress to MovieDisplay or >>> ImageDisplay is recorded? I've tried various ways to deal with this (eg >>> setting Durations to 0 and using inline code to keep time) but have not >>> figured out a way to pull the plug on a video. >>> >>> I have been able to make the feedback display visible, for example >>> adding a long Wait object before the feedback, or increasing the >>> duration of the feedback object, or displaying the feedback off center - >>> but I'd prefer if participants didn't have to wait until the end of >>> video clips if they have already made early responses. >>> >>> any ideas or suggestions would be very helpful! >> >> >> -- >> 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) > -- 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 sanne.scharf at googlemail.com Sat May 28 18:30:09 2011 From: sanne.scharf at googlemail.com (Susanne) Date: Sat, 28 May 2011 11:30:09 -0700 Subject: Blank SoundIn recordings & Problem with Win7 and SR-Box Message-ID: Hi, I've got two problems that I need help with: In my experiment I'd like students to name pictures. I want to get the RT and record their responses. I work with a SR Box from PST (Model 200a) with a dynamic microphone. I get the RT of each picture but the problem is that even though e- prime creates soundfiles their is no sound played (they are blank). I tested if the loudspeakers are the problem, but normally the sound works perfectly. I also tested a simple headphone which in plugged into the normal microphone slot in my computer. Now e-prime creates soundfiles with sound, but the RT is not collected. (Even when changing the sensitivity). Still I'd like to use the SR-Box with mic to collect the data. Does anybody now why there is no sound in the soundfiles created with e-prime and the SR-box? Another problem is that I also want to use the SR-Box with my laptop. Thus I bought a Serial-USB converter. The problem is that my laptop is equipped witg Windows7 64bit Version. When I want to install the normal SR-Box driver an error occurs: The installation FAILED with the follwing information: Error: -3 Extended: -536870347 I changed the settings in e-prime and the converter so that they use the same "COM1"-settings. Thus I think the problem is Win7. I now that some people use e-prime with Win7. How do they do it? Is there a new driver that works with Win7? Thanks for your help, Best wishes from Germany Susanne -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From neuropsych76 at gmail.com Sun May 29 14:32:48 2011 From: neuropsych76 at gmail.com (cogneuro) Date: Sun, 29 May 2011 10:32:48 -0400 Subject: Why is is called "E-Prime"? In-Reply-To: <4dde9a1d.07b12a0a.135e.1377SMTPIN_ADDED@gmr-mx.google.com> Message-ID: He did mention MEL briefly but that was pretty much it. I was mostly asking questions about his neuroscience research :) On Thu, May 26, 2011 at 2:20 PM, David McFarlane wrote: > Interesting. Did Dr. Schneider also explain that before E-Prime he > produced MEL (Microcomputer Experiment Laboratory), a rather successful > product that ran under DOS? Or that E-Prime started as a joint venture with > Brian MacWhinney (head of this very discussion board, and STEP) at Carnegie > Mellon University to bring some of the ideas from MacWhinney's PsyScope on > the Macintosh over to the Windows platform? There's some interesting > history behind E-Prime, as for most things. > > -- David McFarlane, Professional Faultfinder > > > > At 5/26/2011 02:06 PM Thursday, you wrote: > >> I actually just met the creator of e-prime (!!!) a couple weeks ago and >> should have asked him this! >> >> Dr. Schneider just told me that he just wanted to create a software >> program that made making experiments easier and it just happened from there >> :) (he used to be an engineer). >> >> On Thu, May 26, 2011 at 11:14 AM, David McFarlane <> mcfarla9 at msu.edu>mcfarla9 at msu.edu> wrote: >> Curious minds want to know. So, I went ahead and posted this question to >> PST Web Support (as I keep saying, they really do generously take any and >> all questions there, and they did reply within 2 days). Laura McCarthy >> replied, "E-Prime refers to the Experimenter's Prime (best) development >> studio for the implementation of computerized behavioral research such as >> reaction time, detection, and learning type paradigms." She does not have a >> source citation for this, and neither do I -- I might have seen this >> explained in one of the early published papers introducing E-Prime, or in >> some of the early documentation for the beta versions that we started using >> back in 1998 or 1999. I might go back sometime and look further, but this >> should do for now. >> >> -- David McFarlane, Professional Faultfinder >> >> >> At 5/23/2011 02:20 PM Monday, in the thread "E-DataAid crashing" (< >> http://groups.google.com/group/e-prime/browse_thread/thread/2351146132d184ea >> > >> http://groups.google.com/group/e-prime/browse_thread/thread/2351146132d184ea), David McFarlane wrote: >> At 5/23/2011 11:55 AM Monday, Michiel Spape wrote: >> As a side note, does anyone else think e-Prime should, in this i-Age, >> change the name? I'm personally of the opinion that Me-Prime sounds better >> (although perhaps a bit too late, as YouTube, MySpace and YouGov have all >> lost that glossiness... Gee-Prime and /i/-Prime will probably end up to be >> rather costly). >> >> >> As I recall, the name "E-Prime" was meant to evoke "Experiment-Prime", >> i.e., "Experiment'", somewhat in the fashion of Isaac Newton's notation for >> derivatives; and so "E-Prime" was meant to evoke a system that advances >> experiments to the next level. But I don't know where I read that, and I >> can't find a citation now. >> >> I was never fond of this affectation (just like I was never fond of PST >> calling experiment programs "paradigms", or calling VBA/E-Basic source code >> "script", etc.). But I understand the name, and in that sense I suppose >> E-Prime makes more sense than -Prime. >> >> Just my US$.02, >> -- David McFarlane, Professional Faultfinder >> > > -- > You received this message because you are subscribed to the Google Groups > "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to > e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/e-prime?hl=en. > > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send 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 suzanne.e.mol at gmail.com Mon May 30 13:04:39 2011 From: suzanne.e.mol at gmail.com (SEM) Date: Mon, 30 May 2011 06:04:39 -0700 Subject: visual dot probe experiment: position of words & pictures Message-ID: Hi! I already read the posts on dot probe tasks and scrolled through the e- prime manual by Michiel Spapé and Rinus Verdonschot (2009), but I didn't quite find the answer to my question, so I hope to succeed here… I am currently creating a visual dot probe experiment in E-prime (v 2.0), in which I'd like to present: A) fixation cross at the center of the screen B) pair of words C) arrow at the top of the screen or at the lower position, exactly corresponding the position of the word I especially have problems with getting the 2 words at the right POSITION in the screen so the arrow is presented at the exact same position as the word the arrow should "replace". How could I do that? Some background info: I am going to present each word pair (either negative-neutral or neutral-neutral) 4 times for 500 ms and 4 times for 1500 ms, in which the negative word is presented at the "top" twice + at the lower position of the screen twice for each duration time. Within those trials, the arrow will be in the same position of the "negative word" (= congruent; once pointing to the right, once pointing to the left for 500 ms and vice versa for 1500 ms so all words are presented with all 8 possibilites with regards to word-arrow congruency and arrows pointing left/right) and twice in the neutral position (= incongruent). (NB: The neutral-neutral fillers also are presented 4 times for 500 ms and 4 times for 1500 ms but there will be no "congruent" or "incongruent" for the arrows in these trials.) I wonder... - how many nested lists do I have to create? (e.g., would "congruent, incongruent, filler" do the trick?) - within the nested list, what attributes should I add (now, I added 5 attributes: word1, word2, arrow, CorrectAnswer, ItemNr. However, I don't get how I'd adjust the position of the words in the "textdisplay" screen except for just centering them, so I guess I am not doing everything right here?!) - as procedures, I created "wordarrowbelowlong=fixation cross, text displaylong, arrow-below"; "wordarrowbelow=fixation cross, textdisplayshort, arrow-below"; "wordarrowtoplong=fixation cross, textdisplaylong, arrow-top"; "wordarrowtop=fixation cross, textdisplayshort, arrow-top" (in which long = 1500 ms and short = 500 ms). Also within these properties screens, I don't manage adjusting the "position" of both of the words correctly. Or are these procedures wrong and can I already manage to get the right positions within the lists itself? - I think that the percentages I should fill in at "arrow-top" may be height=75% and "arrow-below"=25% (and frame should be set at center for all 4 options)? If that also fits/matches the position of the words… Furthermore, I'd like to run the same experiment for pictures (12 negative - neutral pairs; 4 neutral - neutral picture pairs) as well, presented above each other. I guess the creation of the lists and procedures will be the same (except I'd replace "word" by "pic"). However, positioning both pictures may differ from the "textdisplay"- positioning-procedure? Pictures should have like 3-8 cm distance between each other (dimensions for each picture in .jpg: 326x244). I'm sorry for my extended post, but I hope I have clearly explained what I am trying to get at eventually… Thank you in advance for your advice! Suzanne Leiden 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 pfc.groot at gmail.com Mon May 30 22:17:39 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Tue, 31 May 2011 00:17:39 +0200 Subject: visual dot probe experiment: position of words & pictures In-Reply-To: Message-ID: Hi Suzanne, I'm not sure if I completely understand the layout you are aiming for, but I think most of the problems could be solved if you start using a single Slide object with placeholders for the text and picture objects. Use the []-syntax to 'autofill' the words and pictures in those objects. This way the slide object act as a kind of template for your screen layout. I guess you would like to use transparent text objects on top of the arrow images. Defining en empty text string will make sure the arrow below the text object will be visible. You probably also have to define an empty dummy picture in case you would like to draw text without an arrow in the background. However, things might be a bit more complicated if the different objects have different onset times or durations, but this mechanism should also be usable in more complicated cases. And regarding to the nested lists: perhaps you could start with a minimalistic setup without nested list. Then, when everything works fine, you could move some of the attributes to separate lists when required. best Paul PS. I'm not sure if reaction time is critical in you study, but keep in mind that most displays draw the image from top to bottom. This can take upto 10-20ms, so be careful when comparing RT's between top-bottom conditions. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Tue May 31 09:58:17 2011 From: liwenna at gmail.com (liwenna) Date: Tue, 31 May 2011 02:58:17 -0700 Subject: visual dot probe experiment: position of words & pictures In-Reply-To: Message-ID: That's an excellent point you raise regarding top-bottom comparisons, Paul! On the other hand and to expand: literature on dot probes using word stimuli has it, that the reading effect is influencing rt's too much when a horizontal arrangement is used and that for this reason word dot probes ought to always use a vertical arrangement. Moreover: counterbalancing the positions of the negative and neutral words over the top and bottom position should cancel out possible effects from top-to-bottom display drawing. Still a good point that you raised, I nearly always use horizontal arrangements but I had never thought of this before. I am also at Leiden university and I'll see Suzanne this afternoon for some 'real life' trouble shooting. Your name is Dutch, are we having an all Dutch thread here? best, AW On 31 mei, 00:17, Paul Groot wrote: > Hi Suzanne, > > I'm not sure if I completely understand the layout you are aiming for, > but I think most of the problems could be solved if you start using a > single Slide object with placeholders for the text and picture > objects. Use the []-syntax to 'autofill' the words and pictures in > those objects. This way the slide object act as a kind of template for > your screen layout. I guess you would like to use transparent text > objects on top of the arrow images. Defining en empty text string will > make sure the arrow below the text object will be visible. You > probably also have to define an empty dummy picture in case you would > like to draw text without an arrow in the background. > > However, things might be a bit more complicated if the different > objects have different onset times or durations, but this mechanism > should also be usable in more complicated cases. > > And regarding to the nested lists: perhaps you could start with a > minimalistic setup without nested list. Then, when everything works > fine, you could move some of the attributes to separate lists when > required. > > best > Paul > > PS. I'm not sure if reaction time is critical in you study, but keep > in mind that most displays draw the image from top to bottom. This can > take upto 10-20ms, so be careful when comparing RT's between > top-bottom conditions. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 Tue May 31 13:33:34 2011 From: krupa.d.sheth at gmail.com (Krupa Sheth) Date: Tue, 31 May 2011 06:33:34 -0700 Subject: Randomising the Fixation duration Message-ID: Hi! I been totally baffled by this and I am sure there is a way where to over come this. Is there any function in E-Prime that allows the fixation point ("+") to appear for a random duration between 1500ms to 3500ms. I am sure it is possible but am so clueless how to do it. 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 Michiel.Spape at nottingham.ac.uk Tue May 31 14:26:34 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 31 May 2011 15:26:34 +0100 Subject: Randomising the Fixation duration In-Reply-To: <46da393d-562c-4ab7-96f2-80c424bb35ff@w21g2000yqm.googlegroups.com> Message-ID: It's actually somewhere in the E-Primer: http://www.cognitology.eu/pubs/AnE-Primer2009.pdf as an example of what to do with line-in stuff... I suggest going through the last 2 chapters, or earlier. But, then again, if you have a textdisplay showing just a +, called FixationDisplay, and a short inline before that: FixationDisplay.Duration = Random(1500,3500) - you're done. Best, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Krupa Sheth Sent: 31 May 2011 14:34 To: E-Prime Subject: Randomising the Fixation duration Hi! I been totally baffled by this and I am sure there is a way where to over come this. Is there any function in E-Prime that allows the fixation point ("+") to appear for a random duration between 1500ms to 3500ms. I am sure it is possible but am so clueless how to do it. 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. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue May 31 14:56:58 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 31 May 2011 10:56:58 -0400 Subject: Randomising the Fixation duration In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92F78811A64@EXCHANGE3.ad.no ttingham.ac.uk> Message-ID: Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... First, I agree that you would do well to work through Mich's E-Primer, as well as the Getting Started and User's Guides that came with E-Prime. Now, the inline code method allows you to easily randomize down to the ms, and without using attribute references. OTOH, the lack of an attribute reference means that the data log contains no record of the randomized fixation duration. So I would modify Mich's example as follows: c.SetAttrib "FixDur", Random(1500,3500) Then, in my fixation object, I would set Duration to "[FixDur]". Done. But if you don't mind (or even prefer) a coarser grain (say, 1500 - 3500 ms in steps of 100 ms) then you can accomplish this without any inline code. Just use a List, or perhaps a nested List, to hold all the possible fixation durations, and set the List Selection to Random. Suppose we call that attribute (i.e., column) "FixDur". Then, as before, in your fixation object set Duration to "[FixDur]". Done. (For more on nested Lists in particular, see Appendix C of the User's Guide that came with E-Prime.) -- David McFarlane, Professional Faultfinder At 5/31/2011 10:26 AM Tuesday, Michiel Spape wrote: >It's actually somewhere in the E-Primer: >http://www.cognitology.eu/pubs/AnE-Primer2009.pdf > as an example of what to do with line-in >stuff... I suggest going through the last 2 chapters, or earlier. >But, then again, if you have a textdisplay >showing just a +, called FixationDisplay, and a >short inline before that: >FixationDisplay.Duration = Random(1500,3500) - you're done. >Best, >Mich > >Michiel Spapé >Research Fellow >Perception & Action group >University of Nottingham >School of Psychology >www.cognitology.eu > >-----Original Message----- >From: e-prime at googlegroups.com >[mailto:e-prime at googlegroups.com] On Behalf Of Krupa Sheth >Sent: 31 May 2011 14:34 >To: E-Prime >Subject: Randomising the Fixation duration > >Hi! I been totally baffled by this and I am sure there is a way where >to over come this. > >Is there any function in E-Prime that allows the fixation point ("+") >to appear for a random duration between 1500ms to 3500ms. I am sure it >is possible but am so clueless how to do it. > >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 mcfarla9 at msu.edu Tue May 31 15:16:20 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 31 May 2011 11:16:20 -0400 Subject: Blank SoundIn recordings & Problem with Win7 and SR-Box In-Reply-To: <222115eb-61b4-43e5-b420-e7fd673d6032@m10g2000yqd.googlegro ups.com> Message-ID: Susanne, Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... Taking the second problem first... You didn't say what version of EP you use. If EP1, then you need to know that the EP1 SRBox driver does not work with anything beyond 32-bit XP. However, if you install the driver from EP2 then it should work with EP1 (at least, it does for me on 32-bit Vista). For more on this, see the PST Knowledge Base, e.g., http://www.pstnet.com/support/kb.asp?TopicID=1987 , http://www.pstnet.com/support/kb.asp?TopicID=3108 , http://www.pstnet.com/support/kb.asp?TopicID=3108 , http://www.pstnet.com/support/kb.asp?TopicID=4026 . BTW, I still would not use anything beyond 32-bit XP for running subjects for time-critical experiments (I use Vista only during development). Now, as I understand it you want to simultaneously record a voice response and get the RT for the onset of the voice response. For that, at a minimum you will need either two microphones, or one microphone with the cable split to go simultaneously to both the voicekey input of the SRBox *and* the sound input of your PC. As you have already discovered & noted, the SRBox microphone/voicekey input does *not* pass on sound to the PC, it acts only as the voicekey (just think about it, and the fact that the SRBox is attached to the PC only via a serial cable); and the sound input of the PC does *not* act as a voicekey, it only receives raw sound from the microphone. So you need to do both. I hope that clarifies things a bit. -- David McFarlane, Yankee Faultfinder "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." (Richard Feynman, Nobel prize-winning physicist) At 5/28/2011 02:30 PM Saturday, Susanne wrote: >Hi, > >I've got two problems that I need help with: > >In my experiment I'd like students to name pictures. I want to get the >RT and record their responses. >I work with a SR Box from PST (Model 200a) with a dynamic microphone. >I get the RT of each picture but the problem is that even though e- >prime creates soundfiles their is no sound played (they are blank). I >tested if the loudspeakers are the problem, but normally the sound >works perfectly. > >I also tested a simple headphone which in plugged into the normal >microphone slot in my computer. Now e-prime creates soundfiles with >sound, but the RT is not collected. (Even when changing the >sensitivity). > >Still I'd like to use the SR-Box with mic to collect the data. >Does anybody now why there is no sound in the soundfiles created with >e-prime and the SR-box? > > >Another problem is that I also want to use the SR-Box with my laptop. >Thus I bought a Serial-USB converter. The problem is that my laptop is >equipped witg Windows7 64bit Version. When I want to install the >normal SR-Box driver an error occurs: > >The installation FAILED with the follwing information: >Error: -3 >Extended: -536870347 > >I changed the settings in e-prime and the converter so that they use >the same "COM1"-settings. Thus I think the problem is Win7. I now that >some people use e-prime with Win7. How do they do it? Is there a new >driver that works with Win7? > >Thanks for your help, >Best wishes from Germany >Susanne -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 Tue May 31 15:23:07 2011 From: krupa.d.sheth at gmail.com (Krupa Sheth) Date: Tue, 31 May 2011 08:23:07 -0700 Subject: Randomising the Fixation duration In-Reply-To: <4de501c0.01a32a0a.69c1.02daSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thanks all for the very useful advice. I tried to follow Michiel's inline line of thought using her code suffix but it was coming to an E-Prime error. After having tried that provided by David; it worked.. i even checked it out on the E-DataAid file and all fixation durations were randomised... HALLELUJAH!! Thanks so much. I really appreciate it :) Best wishes, Krupa Research Associate Cerebra Centre of Neurodevelopmental Disorders University of Birmingham Edgbaston B15 2TT On May 31, 3:56 pm, David McFarlane wrote: > Stock reminder:  1) I do not work for PST.  2) > PST's trained staff takes any and all questions > athttp://support.pstnet.com/e%2Dprime/support/login.asp > , and they strive to respond to all requests in > 24-48 hours -- this is pretty much their > substitute for proper documentation, so make full > use of it.  3) If you do get an answer from PST > Web Support, please extend the courtesy of > posting their reply back here for the sake of others. > > That said, here is my take... > > First, I agree that you would do well to work > through Mich's E-Primer, as well as the Getting > Started and User's Guides that came with E-Prime. > > Now, the inline code method allows you to easily > randomize down to the ms, and without using > attribute references.  OTOH, the lack of an > attribute reference means that the data log > contains no record of the randomized fixation > duration.  So I would modify Mich's example as follows: > > c.SetAttrib "FixDur", Random(1500,3500) > > Then, in my fixation object, I would set Duration to "[FixDur]".  Done. > > But if you don't mind (or even prefer) a coarser > grain (say, 1500 - 3500 ms in steps of 100 ms) > then you can accomplish this without any inline > code.  Just use a List, or perhaps a nested List, > to hold all the possible fixation durations, and > set the List Selection to Random.  Suppose we > call that attribute (i.e., column) > "FixDur".  Then, as before, in your fixation > object set Duration to "[FixDur]".  Done.  (For > more on nested Lists in particular, see Appendix > C of the User's Guide that came with E-Prime.) > > -- David McFarlane, Professional Faultfinder > > At 5/31/2011 10:26 AM Tuesday, Michiel Spape wrote: > > > > > > > > >It's actually somewhere in the E-Primer: > >http://www.cognitology.eu/pubs/AnE-Primer2009.pdf > >  as an example of what to do with line-in > >stuff... I suggest going through the last 2 chapters, or earlier. > >But, then again, if you have a textdisplay > >showing just a +, called FixationDisplay, and a > >short inline before that: > >FixationDisplay.Duration = Random(1500,3500) - you're done. > >Best, > >Mich > > >Michiel Spapé > >Research Fellow > >Perception & Action group > >University of Nottingham > >School of Psychology > >www.cognitology.eu > > >-----Original Message----- > >From: e-prime at googlegroups.com > >[mailto:e-prime at googlegroups.com] On Behalf Of Krupa Sheth > >Sent: 31 May 2011 14:34 > >To: E-Prime > >Subject: Randomising the Fixation duration > > >Hi! I been totally baffled by this and I am sure there is a way where > >to over come this. > > >Is there any function in E-Prime that allows the fixation point ("+") > >to appear for a random duration between 1500ms to 3500ms. I am sure it > >is possible but am so clueless how to do it. > > >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 mcfarla9 at msu.edu Tue May 31 15:37:22 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 31 May 2011 11:37:22 -0400 Subject: Randomising the Fixation duration In-Reply-To: Message-ID: Krupa, Glad it worked for you. But it bugged me that Mich's code did not work, so I looked into it myself. Indeed, when I hurriedly tried it, I got the compile-time error, 'Left of "." must be an object, structure, or dialog.' That seemed odd, I looked more closely and saw that I had misnamed my TextDisplay as "FixtationDisplay" instead of "FixationDisplay". Fixed that, and for the record, Mich's code worked just fine. So I expect something like that happened to you, very easy to do. Glad you got it to work in any case, and posted back with your success. -- David McFarlane, Professional Faultfinder >Thanks all for the very useful advice. > >I tried to follow Michiel's inline line of thought using her code >suffix but it was coming to an E-Prime error. After having tried that >provided by David; it worked.. i even checked it out on the E-DataAid >file and all fixation durations were randomised... HALLELUJAH!! > >Thanks so much. I really appreciate it :) > >Best wishes, > >Krupa >Research Associate >Cerebra Centre of Neurodevelopmental Disorders >University of Birmingham >Edgbaston >B15 2TT > >On May 31, 3:56 pm, David McFarlane wrote: > > Stock reminder: 1) I do not work for PST. 2) > > PST's trained staff takes any and all questions > > athttp://support.pstnet.com/e%2Dprime/support/login.asp > > , and they strive to respond to all requests in > > 24-48 hours -- this is pretty much their > > substitute for proper documentation, so make full > > use of it. 3) If you do get an answer from PST > > Web Support, please extend the courtesy of > > posting their reply back here for the sake of others. > > > > That said, here is my take... > > > > First, I agree that you would do well to work > > through Mich's E-Primer, as well as the Getting > > Started and User's Guides that came with E-Prime. > > > > Now, the inline code method allows you to easily > > randomize down to the ms, and without using > > attribute references. OTOH, the lack of an > > attribute reference means that the data log > > contains no record of the randomized fixation > > duration. So I would modify Mich's example as follows: > > > > c.SetAttrib "FixDur", Random(1500,3500) > > > > Then, in my fixation object, I would set Duration to "[FixDur]". Done. > > > > But if you don't mind (or even prefer) a coarser > > grain (say, 1500 - 3500 ms in steps of 100 ms) > > then you can accomplish this without any inline > > code. Just use a List, or perhaps a nested List, > > to hold all the possible fixation durations, and > > set the List Selection to Random. Suppose we > > call that attribute (i.e., column) > > "FixDur". Then, as before, in your fixation > > object set Duration to "[FixDur]". Done. (For > > more on nested Lists in particular, see Appendix > > C of the User's Guide that came with E-Prime.) > > > > -- David McFarlane, Professional Faultfinder > > > > At 5/31/2011 10:26 AM Tuesday, Michiel Spape wrote: > > > > > > > > > > > > > > > > >It's actually somewhere in the E-Primer: > > >http://www.cognitology.eu/pubs/AnE-Primer2009.pdf > > > as an example of what to do with line-in > > >stuff... I suggest going through the last 2 chapters, or earlier. > > >But, then again, if you have a textdisplay > > >showing just a +, called FixationDisplay, and a > > >short inline before that: > > >FixationDisplay.Duration = Random(1500,3500) - you're done. > > >Best, > > >Mich > > > > >Michiel Spapé > > >Research Fellow > > >Perception & Action group > > >University of Nottingham > > >School of Psychology > > >www.cognitology.eu > > > > >-----Original Message----- > > >From: e-prime at googlegroups.com > > >[mailto:e-prime at googlegroups.com] On Behalf Of Krupa Sheth > > >Sent: 31 May 2011 14:34 > > >To: E-Prime > > >Subject: Randomising the Fixation duration > > > > >Hi! I been totally baffled by this and I am sure there is a way where > > >to over come this. > > > > >Is there any function in E-Prime that allows the fixation point ("+") > > >to appear for a random duration between 1500ms to 3500ms. I am sure it > > >is possible but am so clueless how to do it. > > > > >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 Michiel.Spape at nottingham.ac.uk Tue May 31 16:18:28 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 31 May 2011 17:18:28 +0100 Subject: Randomising the Fixation duration In-Reply-To: <4de501c0.01a32a0a.69c1.02daSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hiya, There's indeed nothing wrong with the code, but yes, it's more elegant to do David's suggestion, because you're at least sure it's also logged. There is also good reason to do the nested list with Duration, because you're never quite sure whether "random" isn't too random for your purposes. Suppose, for instance, that you constantly show each and every subject really short fixations? That will make an utter mess of your jittering purposes! It's unlikely, but still possible nonetheless - the joy of randomising with replacement. So, indeed, if you have a nice nested list with every random value (you can safely skip a few, because of screen refresh rates), you can be safe in the knowledge that at least you're sure no value is used twice (depending on the length of the list and the number of trials, of course). Best, Mich Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of David McFarlane Sent: 31 May 2011 15:57 To: e-prime at googlegroups.com Subject: RE: Randomising the Fixation duration Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... First, I agree that you would do well to work through Mich's E-Primer, as well as the Getting Started and User's Guides that came with E-Prime. Now, the inline code method allows you to easily randomize down to the ms, and without using attribute references. OTOH, the lack of an attribute reference means that the data log contains no record of the randomized fixation duration. So I would modify Mich's example as follows: c.SetAttrib "FixDur", Random(1500,3500) Then, in my fixation object, I would set Duration to "[FixDur]". Done. But if you don't mind (or even prefer) a coarser grain (say, 1500 - 3500 ms in steps of 100 ms) then you can accomplish this without any inline code. Just use a List, or perhaps a nested List, to hold all the possible fixation durations, and set the List Selection to Random. Suppose we call that attribute (i.e., column) "FixDur". Then, as before, in your fixation object set Duration to "[FixDur]". Done. (For more on nested Lists in particular, see Appendix C of the User's Guide that came with E-Prime.) -- David McFarlane, Professional Faultfinder At 5/31/2011 10:26 AM Tuesday, Michiel Spape wrote: >It's actually somewhere in the E-Primer: >http://www.cognitology.eu/pubs/AnE-Primer2009.pdf > as an example of what to do with line-in >stuff... I suggest going through the last 2 chapters, or earlier. >But, then again, if you have a textdisplay >showing just a +, called FixationDisplay, and a >short inline before that: >FixationDisplay.Duration = Random(1500,3500) - you're done. >Best, >Mich > >Michiel Spapé >Research Fellow >Perception & Action group >University of Nottingham >School of Psychology >www.cognitology.eu > >-----Original Message----- >From: e-prime at googlegroups.com >[mailto:e-prime at googlegroups.com] On Behalf Of Krupa Sheth >Sent: 31 May 2011 14:34 >To: E-Prime >Subject: Randomising the Fixation duration > >Hi! I been totally baffled by this and I am sure there is a way where >to over come this. > >Is there any function in E-Prime that allows the fixation point ("+") >to appear for a random duration between 1500ms to 3500ms. I am sure it >is possible but am so clueless how to do it. > >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. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Tue May 31 16:46:08 2011 From: liwenna at gmail.com (liwenna) Date: Tue, 31 May 2011 09:46:08 -0700 Subject: Randomising the Fixation duration In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92F78811A96@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Glad you got it to work, but if you don't mind me asking: why would you want your fixation cross to have a random duration? I've seen people ask for this before, but as far as I can see it makes no sense at all. The fixation cross serves the purpose of fixating the gaze and warning that the new trial is too start. It exerts it's attention capturing 'quality' only at it's onset and should therefore appear always about 500 ms prior to the start of the trial, instead of having a random duration. Especially with a fixation cross as long as 3500 changes are pretty high that your participant's gaze has wandered elsewhere after 3500 ms when the trial starts, in which case the fixation cross achieved the exact opposite from what it is intended to do. The cross intends to indicate the start of the trial to the pp and therefore it should be predictable in it's duration. You do want to have a random duration inter trial interval in order to avoid automation of the timing of the motor response over trials, but rather use a separate blank slide (inter trial interval slide) with it's duration set to random in between the response slide and the next fixation cross (i,e, either at the total end or right at the start of the trial procedure), instead of randomizing the duration of the cross. best, liw On May 31, 6:18 pm, Michiel Spape wrote: > Hiya, > There's indeed nothing wrong with the code, but yes, it's more elegant to do David's suggestion, because you're at least sure it's also logged. There is also good reason to do the nested list with Duration, because you're never quite sure whether "random" isn't too random for your purposes. Suppose, for instance, that you constantly show each and every subject really short fixations? That will make an utter mess of your jittering purposes! It's unlikely, but still possible nonetheless - the joy of randomising with replacement. So, indeed, if you have a nice nested list with every random value (you can safely skip a few, because of screen refresh rates), you can be safe in the knowledge that at least you're sure no value is used twice (depending on the length of the list and the number of trials, of course). > > Best, > Mich > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of David McFarlane > Sent: 31 May 2011 15:57 > To: e-prime at googlegroups.com > Subject: RE: Randomising the Fixation duration > > Stock reminder:  1) I do not work for PST.  2) > PST's trained staff takes any and all questions > athttp://support.pstnet.com/e%2Dprime/support/login.asp > , and they strive to respond to all requests in > 24-48 hours -- this is pretty much their > substitute for proper documentation, so make full > use of it.  3) If you do get an answer from PST > Web Support, please extend the courtesy of > posting their reply back here for the sake of others. > > That said, here is my take... > > First, I agree that you would do well to work > through Mich's E-Primer, as well as the Getting > Started and User's Guides that came with E-Prime. > > Now, the inline code method allows you to easily > randomize down to the ms, and without using > attribute references.  OTOH, the lack of an > attribute reference means that the data log > contains no record of the randomized fixation > duration.  So I would modify Mich's example as follows: > > c.SetAttrib "FixDur", Random(1500,3500) > > Then, in my fixation object, I would set Duration to "[FixDur]".  Done. > > But if you don't mind (or even prefer) a coarser > grain (say, 1500 - 3500 ms in steps of 100 ms) > then you can accomplish this without any inline > code.  Just use a List, or perhaps a nested List, > to hold all the possible fixation durations, and > set the List Selection to Random.  Suppose we > call that attribute (i.e., column) > "FixDur".  Then, as before, in your fixation > object set Duration to "[FixDur]".  Done.  (For > more on nested Lists in particular, see Appendix > C of the User's Guide that came with E-Prime.) > > -- David McFarlane, Professional Faultfinder > > At 5/31/2011 10:26 AM Tuesday, Michiel Spape wrote: > >It's actually somewhere in the E-Primer: > >http://www.cognitology.eu/pubs/AnE-Primer2009.pdf > >  as an example of what to do with line-in > >stuff... I suggest going through the last 2 chapters, or earlier. > >But, then again, if you have a textdisplay > >showing just a +, called FixationDisplay, and a > >short inline before that: > >FixationDisplay.Duration = Random(1500,3500) - you're done. > >Best, > >Mich > > >Michiel Spapé > >Research Fellow > >Perception & Action group > >University of Nottingham > >School of Psychology > >www.cognitology.eu > > >-----Original Message----- > >From: e-prime at googlegroups.com > >[mailto:e-prime at googlegroups.com] On Behalf Of Krupa Sheth > >Sent: 31 May 2011 14:34 > >To: E-Prime > >Subject: Randomising the Fixation duration > > >Hi! I been totally baffled by this and I am sure there is a way where > >to over come this. > > >Is there any function in E-Prime that allows the fixation point ("+") > >to appear for a random duration between 1500ms to 3500ms. I am sure it > >is possible but am so clueless how to do it. > > >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 athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Tue May 31 17:03:31 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 31 May 2011 18:03:31 +0100 Subject: Randomising the Fixation duration In-Reply-To: Message-ID: Hiya, I can see loads of reasons, but my favourite is the jittering one. That is, if you have a paradigm like fixation(500 ms)-->stimulus(500ms)-->response(500 ms) (I guess this accounts for a lot of them), and you do EEG, then chances are that whatever you measure as peaks after stimulus (say, an N1), are actually not in the 100 ms after stimulus, but 600 ms after the onset of your fixation. By blurring the duration of your fixation, you'd blur the peak, which can - if adequately done - result in a flat-line. Other reasons I'll leave for others (e.g. I get a lot of anticipation responses if I do not randomise the fixation at least somewhat) - nice question anyway, it's good to sometimes discuss more theoretical issues here! Best, Michiel Michiel Spapé Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of liwenna Sent: 31 May 2011 17:46 To: E-Prime Subject: Re: Randomising the Fixation duration Glad you got it to work, but if you don't mind me asking: why would you want your fixation cross to have a random duration? I've seen people ask for this before, but as far as I can see it makes no sense at all. The fixation cross serves the purpose of fixating the gaze and warning that the new trial is too start. It exerts it's attention capturing 'quality' only at it's onset and should therefore appear always about 500 ms prior to the start of the trial, instead of having a random duration. Especially with a fixation cross as long as 3500 changes are pretty high that your participant's gaze has wandered elsewhere after 3500 ms when the trial starts, in which case the fixation cross achieved the exact opposite from what it is intended to do. The cross intends to indicate the start of the trial to the pp and therefore it should be predictable in it's duration. You do want to have a random duration inter trial interval in order to avoid automation of the timing of the motor response over trials, but rather use a separate blank slide (inter trial interval slide) with it's duration set to random in between the response slide and the next fixation cross (i,e, either at the total end or right at the start of the trial procedure), instead of randomizing the duration of the cross. best, liw On May 31, 6:18 pm, Michiel Spape wrote: > Hiya, > There's indeed nothing wrong with the code, but yes, it's more elegant to do David's suggestion, because you're at least sure it's also logged. There is also good reason to do the nested list with Duration, because you're never quite sure whether "random" isn't too random for your purposes. Suppose, for instance, that you constantly show each and every subject really short fixations? That will make an utter mess of your jittering purposes! It's unlikely, but still possible nonetheless - the joy of randomising with replacement. So, indeed, if you have a nice nested list with every random value (you can safely skip a few, because of screen refresh rates), you can be safe in the knowledge that at least you're sure no value is used twice (depending on the length of the list and the number of trials, of course). > > Best, > Mich > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > Michiel Spapé > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of David McFarlane > Sent: 31 May 2011 15:57 > To: e-prime at googlegroups.com > Subject: RE: Randomising the Fixation duration > > Stock reminder:  1) I do not work for PST.  2) > PST's trained staff takes any and all questions > athttp://support.pstnet.com/e%2Dprime/support/login.asp > , and they strive to respond to all requests in > 24-48 hours -- this is pretty much their > substitute for proper documentation, so make full > use of it.  3) If you do get an answer from PST > Web Support, please extend the courtesy of > posting their reply back here for the sake of others. > > That said, here is my take... > > First, I agree that you would do well to work > through Mich's E-Primer, as well as the Getting > Started and User's Guides that came with E-Prime. > > Now, the inline code method allows you to easily > randomize down to the ms, and without using > attribute references.  OTOH, the lack of an > attribute reference means that the data log > contains no record of the randomized fixation > duration.  So I would modify Mich's example as follows: > > c.SetAttrib "FixDur", Random(1500,3500) > > Then, in my fixation object, I would set Duration to "[FixDur]".  Done. > > But if you don't mind (or even prefer) a coarser > grain (say, 1500 - 3500 ms in steps of 100 ms) > then you can accomplish this without any inline > code.  Just use a List, or perhaps a nested List, > to hold all the possible fixation durations, and > set the List Selection to Random.  Suppose we > call that attribute (i.e., column) > "FixDur".  Then, as before, in your fixation > object set Duration to "[FixDur]".  Done.  (For > more on nested Lists in particular, see Appendix > C of the User's Guide that came with E-Prime.) > > -- David McFarlane, Professional Faultfinder > > At 5/31/2011 10:26 AM Tuesday, Michiel Spape wrote: > >It's actually somewhere in the E-Primer: > >http://www.cognitology.eu/pubs/AnE-Primer2009.pdf > >  as an example of what to do with line-in > >stuff... I suggest going through the last 2 chapters, or earlier. > >But, then again, if you have a textdisplay > >showing just a +, called FixationDisplay, and a > >short inline before that: > >FixationDisplay.Duration = Random(1500,3500) - you're done. > >Best, > >Mich > > >Michiel Spapé > >Research Fellow > >Perception & Action group > >University of Nottingham > >School of Psychology > >www.cognitology.eu > > >-----Original Message----- > >From: e-prime at googlegroups.com > >[mailto:e-prime at googlegroups.com] On Behalf Of Krupa Sheth > >Sent: 31 May 2011 14:34 > >To: E-Prime > >Subject: Randomising the Fixation duration > > >Hi! I been totally baffled by this and I am sure there is a way where > >to over come this. > > >Is there any function in E-Prime that allows the fixation point ("+") > >to appear for a random duration between 1500ms to 3500ms. I am sure it > >is possible but am so clueless how to do it. > > >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 athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From pfc.groot at gmail.com Tue May 31 20:31:39 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Tue, 31 May 2011 22:31:39 +0200 Subject: visual dot probe experiment: position of words & pictures In-Reply-To: <2ec18e3d-b1c0-4ddc-ab35-abb74b77359e@n10g2000yqf.googlegroups.com> Message-ID: Counterbalancing should indeed cancel out this issue, but I know it's often overlooked. If you use relatively narrow stimuli at top and botton, then you could rotate the display 90 degrees and reduce this kind of interference and gain some accuracy. off topic: je hebt inderdaad een directe lijn met het AMC in Amsterdam 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 pfc.groot at gmail.com Mon May 2 09:14:59 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Mon, 2 May 2011 02:14:59 -0700 Subject: Tower of hanoi task In-Reply-To: <4db9bcf9.da71e70a.552d.216aSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thanks David, for fixing this. It must the the first time that someone else fixed my script ;-)) 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 bsmith.lap at gmail.com Fri May 6 16:38:57 2011 From: bsmith.lap at gmail.com (Benjamin) Date: Fri, 6 May 2011 09:38:57 -0700 Subject: Crashing when playing sound files in version 74 Message-ID: An experiment I wrote in version 22 crashes when run in version 74, when it tries to play sound files. There is no problem when run in version 22. Do other people have this problem? Were these kinds of sound issues fixed in version 90? Both computers are running XP. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Jedema at pitt.edu Mon May 9 17:28:12 2011 From: Jedema at pitt.edu (Hank Jedema) Date: Mon, 9 May 2011 10:28:12 -0700 Subject: Crashing when playing sound files in version 74 In-Reply-To: <1ab29e2f-c3a4-42b3-92e8-dc5cae234c48@t16g2000vbi.googlegroups.com> Message-ID: Hi Brian, There was a known issue with the sound in version 79, which was remedied in the current version (2.08.90) that is available for download on the website. Hank On May 6, 12:38?pm, Benjamin wrote: > An experiment I wrote in version 22 crashes when run in version 74, > when it tries to play sound files. ?There is no problem when run in > version 22. ?Do other people have this problem? ?Were these kinds of > sound issues fixed in version 90? ?Both computers are running XP. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 10 16:59:53 2011 From: erin.siebert at gmail.com (Erin) Date: Tue, 10 May 2011 09:59:53 -0700 Subject: selecting an image with the mouse cursor by contact alone (without clicking) In-Reply-To: <4dbacc91.4c3c2b0a.0f7d.271eSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thank you very very much for the suggestions! On Apr 29, 10:34?am, David McFarlane wrote: > Erin, > > Stock reminder: ?1) I do not work for PST. ?2) PST's trained staff > takes any and all questions athttp://support.pstnet.com/e%2Dprime/support/login.asp, and they > strive to respond to all requests in 24-48 hours -- this is pretty > much their substitute for proper documentation, so make full use of > it. ?3) If you do get an answer from PST Web Support, please extend > the courtesy of posting their reply back here for the sake of others. > > That said, here is my take... > > Basically, what Ben already said. ?Inside your loop, you can get > mouse cursor position using Mouse.GetCursorPos (see the > MouseDevice.GetCursorPos topic in the online E-Basic Help). ?For the > test, you could use SlideState.HitTest, or PointInRect (see those > topics in the online E-Basic Help), depending on your tastes and requirements. > > E.g., for just one rectangular target zone, > > Const ?tgtName as String = "Image1" > Dim ?x as Long, y as Long > Dim ?slState as SlideState ?' for convenience > Set slState = StimSlide.States("Default") > Do ?' loop until mouse enters the named region > ? ? ?Mouse.GetCursorPos x, y > Loop Until ( (slState.HitTest( x, y ) = tgtName) ) > > Do be aware that some uses of HitTest and PointInRect include top & > left edges as part of the rectangle, but exclude bottom & right edges > as part of the rectangle, in case that is important to you. > > Since you want the loop to end when the mouse contacts any of *three* > distinct areas, you will need to construct a somewhat more elaborate > conditional clause than in this example, but you get the idea. ?And > if you want to allow for non-rectangular target zones then you will > have to incorporate some kind of mask into your tests, which I leave > as an exercise. > > -- David McFarlane, Professional Faultfinder > > At 4/29/2011 09:08 AM Friday, ben robinson wrote: > > >you could use a Do...Loop Until in an Inline to continuously check > >for mouse cursor position until some condition is met, for instance > >the cursor's x and y position both meet some requirement (ie, If x > > >5 and x < 10 and y > 5 and y < 10 Then trial.ACC = 1, trial.RT = > >clock.read). ?does that make sense? > > >ben > > >On Thu, Apr 28, 2011 at 5:35 PM, Erin > ><erin.sieb... at gmail.com> wrote: > >I want find out how to make an image selection happen by simply having > >the mouse cursor contact an image, without any clicking. My experiment > >is actually a match-to-sample task for chimpanzees using ajoystick > >without buttons. I have successfully set up thejoystickto control > >the mouse cursor in E-Prime, so the chimp can control the mouse cursor > >using thejoystick. I want the chimp to be able to select an image by > >simply contacting the image with the mouse cursor. > > >The experiment will have three images displayed- a sample image at the > >top of the screen (no response if contacted), then below, 2 images: > >one image that matches the sample (correct if contacted), and a non- > >matching foil image (incorrect if contacted). > > >So, I need to figure out how to have an image selection happen by > >contact with the mouse cursor alone, and how to designate the image > >response as correct or incorrect. I have searched the E-Prime help, > >and checked the forums with no luck. ?I downloaded the sample > >experiment "Response Areas For Mouse Input Sample," but I am not sure > >how to adapt it to select an image without a click. ?I am new to E- > >Prime, and would appreciate any information. 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 mcfarla9 at msu.edu Tue May 10 19:59:45 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 10 May 2011 15:59:45 -0400 Subject: Mastering E-Prime: Solving E-Prime Puzzles Message-ID: How to Solve E-Prime Puzzles A General Algorithm I have developed a general algorithm for solving E-Prime problems, and I am putting this in the record here in case anyone (including me) ever needs to search for this. (Note that, in many respects, this merely repeats what you may find at the start of the E-Prime "Getting Started Guide".) - Read the manuals that came with E-Prime and work through *all* the tutorials: - Getting Started Guide - User's Guide - New Features Guide (EP2 only) - Reference Guide - In addition, see the alternative "E-Primer" from Michiel Spap?, Rinus Verdonschot, and Jan-Rouke Kuipers, http://step.psy.cmu.edu/materials/EPrimer.pdf - Look at the example programs that came with E-Prime: - BasicRT - PictureRT - SoundRT - SlideRT - NestingRT - NestingXRT - MovieRT (EP2 only) - MultipleDisplayRt (EP2 only) - Search and study the E-Basic Help facility (but note that E-Basic Help is incomplete, and in many cases misleading or wrong): - From E-Studio: Help > E-Basic Help - From the Windows Start menu: Path may vary, but it will be in about the same place as the shortcut to E-Studio - Read the online FAQ, whenever that gets written (I am still working on this one) - Look at example programs available on the Web (but use your judgment, the quality of these examples varies widely): - From PST: http://www.pstnet.com/e-prime/support/samples.asp (requires registration and login) - From the System for Teaching Experimental Psychology (STEP): http://step.psy.cmu.edu/ - From Paul Groot: http://www.psy.vu.nl/download/menu/xml/TOC.xml - Attached to various messages at the PST Forum (requires registration & login to download attachments): http://support.pstnet.com/forum/Forum3-1.aspx - Search the E-Prime Knowledge Base at http://www.pstnet.com/e-prime/support/kb.asp - Search, browse, and study the web forums: - E-Prime mailing list -- two portals to the same content: - E-Prime Google Group: http://groups.google.com/group/e-prime - Archives of EPRIME List: http://listserv.linguistlist.org/archives/eprime.html - PST Forum: http://support.pstnet.com/forum/Forum3-1.aspx - After all the above fail, post a question at the web forums above. This may require registration. - Or, just skip all the above, and go directly to PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp. They strive to respond to all requests in 24-48 hours, and this is pretty much their substitute for proper documentation, so make full use of it. -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue May 10 20:02:40 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 10 May 2011 16:02:40 -0400 Subject: Mastering E-Prime: How to Learn E-Prime Programming Message-ID: The question comes up from time to time, "How can I learn to program with E-Prime?" Here is my attempt to answer that. First, some earlier posted partial attempts to address this: http://support.pstnet.com/forum/Topic1806-5-1.aspx http://support.pstnet.com/forum/Topic2316-5-1.aspx http://support.pstnet.com/forum/Topic2951-12-1.aspx http://support.pstnet.com/forum/Topic2446-23-1.aspx http://groups.google.com/group/e-prime/browse_thread/thread/e4b89ad5265c747a/b1ec5d104cc7977d ( http://listserv.linguistlist.org/cgi-bin/wa?A2=ind0804D&L=EPRIME&P=R1715 ) And now, my essay... For those without any programming background: - E-Prime is well suited for casual, amateur programmers of simple psychological experiments, insofar as it insulates the user from the deeper workings of the system (and encapsulates several structures and concepts peculiar to experimental psychology). As a result, it makes a poor platform for learning or understanding actual computer programming. If you try this you will only make things hard on yourself. - I urge you instead to just knuckle down and do some actual coursework in any modern object-oriented programming language until you at least grasp some general core concepts (bits, bytes, words, literals, constants, variables, integers, floats, strings, arrays, objects, representations, types, classes, scope, operators, labels, conditionals, branches, loops, blocks, subroutines, functions, arguments, etc.). Otherwise you will not understand what we are talking about. - Since E-Basic is a derived from Microsoft Visual Basic for Applicatons (the language element of Visual Basic 6), you would do best to study this if possible. - Some of us who hearken back to the 1980s still think that Pascal makes a fine language for learning general programming concepts, but it has fallen out of fashion. (And if you did study Pascal, you would want an object-oriented version, e.g., ObjectPascal.) - You can use any web browser (e.g., Internet Explorer, Firefox, Opera) to study JavaScript, which incorporates a rich set of object-oriented concepts, for free. However, JavaScript quickly gets entangled with HTML, Cascading Style Sheets, and the Document Object Model, so this may not be so useful as I once thought. - Python is also free, and seems to be generally in fashion now for Introduction to Programming, so you might try that. - Python does not let you learn directly about labels and goto statements, which you will need for E-Prime. But you might learn similar concepts with Python's exception handling (i.e., try, raise, except). - Personally, for this kind of work I think you cannot do better than to get a good grounding in C or C++, but I seem to be outvoted here. - Even more fundamental than learning any programming language, you should study and be comfortable with math in general, and in particular propositional logic, combinatorics, and probability. - It also helps to know some information and communication theory. (If you can make it through the classic work of Claude Shannon, then you are in good shape.) - See my "How to Solve E-Prime Puzzles". For those who come to E-Prime with some programming background: - E-Basic is a derived from Microsoft Visual Basic for Applications (the language element of Visual Basic 6). So you might like some materials on VB or VBA. - Most materials on Visual Basic focus on using the VB GUI to design the GUI aspects of your program, and using VB to control databases and web sites, so they are not much use to us. Instead, you want a source that covers the basic language elements. - Books to try: - "VBA for Dummies", Steve Cummings, IDG Books Worldwide, Inc., Foster City, CA, 1998. - "VB and VBA in a Nutshell: The Language", Paul Lomax, O'Reilly Media, Inc., Sebastopol, CA, 1998. - "VBA Developer's Handbook", Ken Getz & Mike Gilbert, Sybex Inc., San Francisco, CA, 1997. - "VBA for Dummies" and "VBA Developer's Handbook" come recommended in the E-Prime User's Guide (p. 124, sec. 4.1.1). - I find "VBA for Dummies" to make the best general discursive introduction (despite its annoyingly chatty style). "VB and VBA in a Nutshell", true to O'Reilly's general quality, makes a generally good reference book. "VBA Developer's Handbook" is really meant for a different audience (developers of commercial VBA applications). - E-Basic lacks some standard VBA elements (e.g., With). - E-Basic extends VBA with its own host of classes/objects (and associated properties and methods), so VB books only help so far. - In addition, vital task control issues such as randomization and critical timing go beyond the scope of most programming texts, so you will have to learn those separately (e.g., Chapter 3 of the E-Prime User's Guide). - BTW, the E-Studio environment itself borrows a lot from the Visual Basic Editor. - Some features of E-Prime (e.g., graphics and timing) rely on Microsoft's DirectX technology, so you may wish to also study that. - The Guides supplied with E-Prime do a pretty good job as far as they go, but they are rather tutorial in nature and scope. There is neither a proper technical reference, nor any discursive guide to lay out the underlying principles and concepts of E-Prime and E-Basic. You are left to puzzle this out for yourself, or along with other regular users. - Make lots of small demo programs in E-Studio, and study the generated code. - Use Lists and Weights to easily limit test runs. - Use Clock.Scale for speeded test runs. - Log test values (c.SetAttrib) and examine the resulting .edat* file *after* test runs to see what the program did. - Or, use Debug.Print (per Michiel Spap?). - Or, use MsgBox to trace execution at run time. - Use GetUserBreakState() for graceful early exits. - If you have EP1, use E-Run to try out E-Basic elements with even simpler test programs. You can do this even without a hardware key (which is probably why PST removed this capability from E-Run in EP2). In this regard, EP2 makes an inferior platform for studying E-Basic. - See my "How to Solve E-Prime Puzzles". - In particular, study Chapter 4, "Using E-Basic", of the User's Guide. - If you care at all about critical timing, then someone in your lab *must* study Chapter 3 of the User's Guide. I cannot stress this enough. - The "real" documentation, insofar as we get any at all, is in the E-Basic Help facility. - The E-Basic Help facility is still incomplete (e.g., http://support.pstnet.com/forum/Topic1241-12-1.aspx ), and in some cases misleading or just plain wrong (e.g., http://support.pstnet.com/forum/Topic1197-5-1.aspx ). -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From tiburona at gmail.com Wed May 11 03:06:45 2011 From: tiburona at gmail.com (Katie S) Date: Tue, 10 May 2011 20:06:45 -0700 Subject: selecting stimuli without replacement from a list, but using the same stimuli consistently on trials within a block Message-ID: Hi all Here is my situation: I want to present shapes paired with sounds, first shape, then sound, in three different blocks. In each block, there are 16 shape-sound trials: 12 common sounds and 4 oddball sounds. In one block, the same shape always predicts the same sound, so there are 12 common shapes, 4 oddball shapes. In another block, there is an "error" 25% of the time. So there are 6 oddball shapes (3 before the the oddball sounds, 3 before the common sound) and 10 common shapes (1 before the oddball shape, 9 before the common shapes) In a third block, it is random which shape predicts which sound, so there are 6 of one shape before common sounds and 2 before oddball sounds, and the same is true of the other. I have some constraints I'd like to satisfy. I'd like the oddball sounds to be dispersed so that one occurs in each quarter of the 16 trials. I probably have some others but I don't think that's important for my current question. I can write code just fine to generate two arrays that create a constraint-satisfying pseudorandom order for my shapes and noises, calling one arrShape and populating it with 1's and 2's, and the other arrNoise and populating it with 1's and 2's. I more or less already have. What I can't figure out: having specified that order, how do I assign a shape to be 1, 2 and a noise to be 1,2, and where would I put the order I generated to control the display of my shapes and noises? If what I needed to do was select a random shape with a particular characteristic on each trial, I would know how to do that with nested lists. But that's not what I need. I need to select a shape randomly from a list somewhere, designate it shape 1 (the same for sound 1, shape 2, sound 2) and have that identity be consistent on each trial through the block. I also have some constraints about which two shapes get paired together, so I need to be able to place some limits on the selection of the second shape. I need to generate the order for the presentation of shape 1, sound 1, etc. (I already know how to generate a constraint-satisfying pseudorandom order) , and use that order to govern their presentation through the 16 trials. Then, those shapes/sounds having been selected, I need them not to be used again in subsequent blocks. I am perfectly willing to code -- I just need some help with overall approach, how to integrate code with the various E-Prime objects, etc. I would understand how to do this if it were a programming task in a regular language -- what I don't understand is how to integrate it in with the prefab E-Prime objects. I would appreciate any help. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From baltimore.ben at gmail.com Wed May 11 15:07:28 2011 From: baltimore.ben at gmail.com (ben robinson) Date: Wed, 11 May 2011 11:07:28 -0400 Subject: Mastering E-Prime: How to Learn E-Prime Programming In-Reply-To: <4dc999e7.4c3c2b0a.3617.59e7SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Clock.Scale? amazing. thank you, david! On Tue, May 10, 2011 at 4:02 PM, David McFarlane wrote: > The question comes up from time to time, "How can I learn to program with > E-Prime?" Here is my attempt to answer that. > > First, some earlier posted partial attempts to address this: > http://support.pstnet.com/forum/Topic1806-5-1.aspx > http://support.pstnet.com/forum/Topic2316-5-1.aspx > http://support.pstnet.com/forum/Topic2951-12-1.aspx > http://support.pstnet.com/forum/Topic2446-23-1.aspx > > http://groups.google.com/group/e-prime/browse_thread/thread/e4b89ad5265c747a/b1ec5d104cc7977d > ( > http://listserv.linguistlist.org/cgi-bin/wa?A2=ind0804D&L=EPRIME&P=R1715 ) > > And now, my essay... > > For those without any programming background: > - E-Prime is well suited for casual, amateur programmers of simple > psychological experiments, insofar as it insulates the user from the > deeper workings of the system (and encapsulates several structures and > concepts peculiar to experimental psychology). As a result, it makes > a poor platform for learning or understanding actual computer > programming. If you try this you will only make things hard on > yourself. > - I urge you instead to just knuckle down and do some actual coursework > in any modern object-oriented programming language until you at least > grasp some general core concepts (bits, bytes, words, literals, > constants, variables, integers, floats, strings, arrays, objects, > representations, types, classes, scope, operators, labels, > conditionals, branches, loops, blocks, subroutines, functions, > arguments, etc.). Otherwise you will not understand what we are > talking about. > - Since E-Basic is a derived from Microsoft Visual Basic for > Applicatons (the language element of Visual Basic 6), you would do > best to study this if possible. > - Some of us who hearken back to the 1980s still think that Pascal > makes a fine language for learning general programming concepts, > but it has fallen out of fashion. (And if you did study Pascal, > you would want an object-oriented version, e.g., ObjectPascal.) > - You can use any web browser (e.g., Internet Explorer, Firefox, > Opera) to study JavaScript, which incorporates a rich set of > object-oriented concepts, for free. However, JavaScript quickly > gets entangled with HTML, Cascading Style Sheets, and the Document > Object Model, so this may not be so useful as I once thought. > - Python is also free, and seems to be generally in fashion now for > Introduction to Programming, so you might try that. > - Python does not let you learn directly about labels and goto > statements, which you will need for E-Prime. But you might > learn similar concepts with Python's exception handling > (i.e., try, raise, except). > - Personally, for this kind of work I think you cannot do better > than to get a good grounding in C or C++, but I seem to be > outvoted here. > - Even more fundamental than learning any programming language, you > should study and be comfortable with math in general, and in > particular propositional logic, combinatorics, and probability. > - It also helps to know some information and communication theory. > (If you can make it through the classic work of Claude Shannon, > then you are in good shape.) > - See my "How to Solve E-Prime Puzzles". > > For those who come to E-Prime with some programming background: > - E-Basic is a derived from Microsoft Visual Basic for Applications > (the language element of Visual Basic 6). So you might like some > materials on VB or VBA. > - Most materials on Visual Basic focus on using the VB GUI to design > the GUI aspects of your program, and using VB to control > databases and web sites, so they are not much use to us. > Instead, you want a source that covers the basic language > elements. > - Books to try: > - "VBA for Dummies", Steve Cummings, IDG Books Worldwide, Inc., > Foster City, CA, 1998. > - "VB and VBA in a Nutshell: The Language", Paul Lomax, > O'Reilly Media, Inc., Sebastopol, CA, 1998. > - "VBA Developer's Handbook", Ken Getz & Mike Gilbert, Sybex > Inc., San Francisco, CA, 1997. > - "VBA for Dummies" and "VBA Developer's Handbook" come > recommended in the E-Prime User's Guide (p. 124, sec. 4.1.1). > - I find "VBA for Dummies" to make the best general discursive > introduction (despite its annoyingly chatty style). "VB and > VBA in a Nutshell", true to O'Reilly's general quality, makes > a generally good reference book. "VBA Developer's Handbook" > is really meant for a different audience (developers of > commercial VBA applications). > - E-Basic lacks some standard VBA elements (e.g., With). > - E-Basic extends VBA with its own host of classes/objects (and > associated properties and methods), so VB books only help so far. > - In addition, vital task control issues such as randomization and > critical timing go beyond the scope of most programming texts, so > you will have to learn those separately (e.g., Chapter 3 of the > E-Prime User's Guide). > - BTW, the E-Studio environment itself borrows a lot from the > Visual Basic Editor. > - Some features of E-Prime (e.g., graphics and timing) rely on > Microsoft's DirectX technology, so you may wish to also study that. > - The Guides supplied with E-Prime do a pretty good job as far as they > go, but they are rather tutorial in nature and scope. There is > neither a proper technical reference, nor any discursive guide to lay > out the underlying principles and concepts of E-Prime and E-Basic. > You are left to puzzle this out for yourself, or along with other > regular users. > - Make lots of small demo programs in E-Studio, and study the > generated code. > - Use Lists and Weights to easily limit test runs. > - Use Clock.Scale for speeded test runs. > - Log test values (c.SetAttrib) and examine the resulting > .edat* file *after* test runs to see what the program did. > - Or, use Debug.Print (per Michiel Spap?). > - Or, use MsgBox to trace execution at run time. > - Use GetUserBreakState() for graceful early exits. > - If you have EP1, use E-Run to try out E-Basic elements with even > simpler test programs. You can do this even without a hardware > key (which is probably why PST removed this capability from E-Run > in EP2). In this regard, EP2 makes an inferior platform for > studying E-Basic. > - See my "How to Solve E-Prime Puzzles". > - In particular, study Chapter 4, "Using E-Basic", of the User's > Guide. > - If you care at all about critical timing, then someone in > your lab *must* study Chapter 3 of the User's Guide. I > cannot stress this enough. > - The "real" documentation, insofar as we get any at all, is in > the E-Basic Help facility. > - The E-Basic Help facility is still incomplete (e.g., > http://support.pstnet.com/forum/Topic1241-12-1.aspx ), and > in some cases misleading or just plain wrong (e.g., > http://support.pstnet.com/forum/Topic1197-5-1.aspx ). > > -- David McFarlane, Professional Faultfinder > > -- > You received this message because you are subscribed to the Google Groups > "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to > e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/e-prime?hl=en. > > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcfarla9 at msu.edu Thu May 12 16:21:46 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 12 May 2011 12:21:46 -0400 Subject: Mastering E-Prime: How to Learn E-Prime Programming In-Reply-To: Message-ID: Ben, At 5/11/2011 11:07 AM Wednesday, ben robinson wrote: >Clock.Scale? amazing. thank you, david! Since you mention it, I will expand that detail a little more. As you found, Clock.Scale allows you to speed up (or slow down) the clock rate in E-Prime. It is meant primarily for synchronizing the clock to other equipment, but I find it very handy for speeding up test runs. I am going to give you a bit of enhanced inline code for safely using Clock.Scale for this purpose, but first I need to motivate this with a story. When I discovered Clock.Scale many years ago, first I would simply put it in an inline in my program for my test runs. Of course, then I had to remember to remove or disable my Clock.Scale before using the program with subjects, imagine the trouble if I forgot! At first I would try to remember to delete the line before running subjects, but then I would have to type it back in for new test runs. Then I tried merely commenting it out as needed, which left the line in place but still ran the risk of me forgetting to comment it out as needed. Then I tried putting it into its own inline, and "deleting" that to Unreferenced E-Objects as needed, and dragging it back into SessionProc for test runs. Again, that ran the risk of forgetting to disable my Clock.Scale for subject runs. I thought I could get more clever, so I decided to use a "secret handshake" to start test runs, which would then present a warning reminder before setting the Clock.Scale. I wanted to use a negative Session number, but E-Prime didn't like that so I settled on 11111 (that's five ones). Then I thought, in addition to a warning, it should give the user a chance to bail out. Then I thought, as long as it does all that, why not have it ask me for the Clock.Scale value, so I can change it from run to run? And log the Clock.Scale value? And give me a chance to enter arbitrary comments to log? Etc. Now I can just leave that code in place and invoke it only for test runs, during subject runs it has no effect. So this keeps evolving, but here is the current bit of code that I put into its own inline at the start of almost every project (I like to name the inline "DeveloperInitCode"): '/---------------------------------------------------------------------- ' Inline code to enable various development aids. Const DebugTrigger = 11111 Const ClockScaleAskDefault as Single = 0.05 Dim x If c.GetAttrib("Session") = DebugTrigger Then Beep x = AnswerBox( "You entered a session number of " & DebugTrigger _ & ".\nThis enables some extra developer testing script added" _ & " by the developer of this experiment." _ & "\nIf this is not what you meant, use Cancel to quit the" _ & " experiment now.", "OK", "Cancel", , "DeveloperInit Notice" ) If (x <> 1) Then Exit Sub ' Use Clock.Scale to speed up, or slow down, the experiment running ' time for development testing: x = AskBox( "Clock.Scale (use 1 to run with normal timing): ", _ ClockScaleAskDefault ) If IsEmpty(x) Then Exit Sub Clock.Scale = x c.SetAttrib "Clock.Scale", Clock.Scale c.SetAttrib "Comment", AskBox( "Comment:" ) End If '\---------------------------------------------------------------------- Sometimes I crank the Clock.Scale all the way down (up?) to 0.01, speeding the run up by a factor of 100. This works great for programs that do not wait for subject responses (such as fMRI) -- e.g., I can run through a 15 min experiment in 9 s and then look at the .edat file to see what stimuli got presented when, etc. Now, if only I had an easy programmable way to disable and re-enable self-paced responses for test runs! -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From erin.siebert at gmail.com Thu May 12 17:03:51 2011 From: erin.siebert at gmail.com (Erin) Date: Thu, 12 May 2011 10:03:51 -0700 Subject: Controlling cursor speed when using a joystick Message-ID: I want to control the speed the cursor moves when controlling it with a joystick. I set the joystick to emulate the mouse in my experiment (inline Joystick.AttachToMouseCursor = True). The joystick is quite touchy, and causes the cursor to move very quickly across the screen. For my experiment, I need the cursor to only move slowly, no matter how much the joystick is moved. I tried decreasing the mouse sensitivity settings on my computer. This slowed the cursor down when using the mouse within my experiment, but had no effect on the joystick. I also tried increasing the resolution display of my experiment (giving the cursor "further" to travel)- also no effect. I have also tried adjusting the sensitivity of my joystick, but the cursor is still too fast. E-Prime support suggested the following: "E-Prime does have some limited options for positioning the mouse cursor and limiting its boundaries. We could try to use a combination of the two to make the mouse cursor move more slowly. However, this would require significant scripting and could result in the cursor movement not being smooth" My main question: Is anyone aware of a simpler way of controlling the cursor speed in E-Prime? If not, here is further information on this method: E-Prime help suggested the following: "I would recommend taking a look at the MouseDevice.SetCursorLimits and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via the Help menu). The former will allow you to specify boundaries for the cursor, and the latter will allow you to position the mouse cursor in a specific area. You could use a combination of the two to first limit the movement of the cursor so that it does not immediately move to one edge of the screen, and then use SetCursorPos to move the cursor move slowly. You could also slowly expand the cursor limits as the cursor hits the maximum in one direction. This would allow you to give the appearance of the cursor moving more slowly. To do this, you would have a loop that continuously checks the cursor position against the limits that are set, and expand the limits in one direction as the cursor hits that limit. This would require significant scripting and could result in the cursor movement not being smooth." I took a look at the MouseDevice.SetCursorLimits and MouseDevice.SetCursorPos help, and I understand how this would work in theory. However, I am very new to programming, and I am afraid that the scripting involved is a bit over my head. If anyone can offer any advice or pointers, it 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 mcfarla9 at msu.edu Thu May 12 17:58:10 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 12 May 2011 13:58:10 -0400 Subject: Controlling cursor speed when using a joystick In-Reply-To: Message-ID: Erin, Thanks for posting the full information from PST, that helped (can you let us know which staff member helped you?). I might have come up with the Mouse.SetCursorPos approach myself, but not the Mouse.SetCursorLimits approach, that approach seems a little wacky to me but what do I know?. As for Mouse.SetCursorPos, this posed a nice little puzzle, so I knocked out a quick demo, and here is the inline that I came up with. (Just to have a mouse click to respond to, I preceded the inline with a TextDisplay called StimText, set to Duration of 0 and mouse with Time Limit of (infinite)): /----------------------------------------------------------------------\ ' Code to modify the rate of mouse movement. Const LoopDelay as Long = 0 Const CursorMoveFactor as Single = 0.5 Dim x0 as Long, y0 as Long Dim x1 as Long, y1 as Long Mouse.GetCursorPos x0, y0 ' initialize Do While (StimText.RT = 0) ' replace this with your exit condition Mouse.GetCursorPos x1, y1 x0 = x0 + (CursorMoveFactor * (x1 - x0)) y0 = y0 + (CursorMoveFactor * (y1 - y0)) Mouse.SetCursorPos x0, y0 Sleep LoopDelay Loop \----------------------------------------------------------------------/ I expected to find some cursor movement artifacts, but it really worked rather smoothly. As you can see, I didn't even really need the LoopDelay, but I left it there just in case. -- David McFarlane, Professional Faultfinder At 5/12/2011 01:03 PM Thursday, you wrote: >I want to control the speed the cursor moves when controlling it with >a joystick. I set the joystick to emulate the mouse in my experiment >(inline Joystick.AttachToMouseCursor = True). The joystick is quite >touchy, and causes the cursor to move very quickly across the screen. >For my experiment, I need the cursor to only move slowly, no matter >how much the joystick is moved. > >I tried decreasing the mouse sensitivity settings on my computer. >This slowed the cursor down when using the mouse within my experiment, >but had no effect on the joystick. I also tried increasing the >resolution display of my experiment (giving the cursor "further" to >travel)- also no effect. I have also tried adjusting the sensitivity >of my joystick, but the cursor is still too fast. > >E-Prime support suggested the following: "E-Prime does have some >limited options for positioning the mouse cursor and limiting its >boundaries. We could try to use a combination of the two to make the >mouse cursor move more slowly. However, this would require significant >scripting and could result in the cursor movement not being smooth" > >My main question: Is anyone aware of a simpler way of controlling the >cursor speed in E-Prime? > > >If not, here is further information on this method: > > >E-Prime help suggested the following: >"I would recommend taking a look at the MouseDevice.SetCursorLimits >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via >the Help menu). The former will allow you to specify boundaries for >the cursor, and the latter will allow you to position the mouse cursor >in a specific area. You could use a combination of the two to first >limit the movement of the cursor so that it does not immediately move >to one edge of the screen, and then use SetCursorPos to move the >cursor move slowly. You could also slowly expand the cursor limits as >the cursor hits the maximum in one direction. This would allow you to >give the appearance of the cursor moving more slowly. To do this, you >would have a loop that continuously checks the cursor position against >the limits that are set, and expand the limits in one direction as the >cursor hits that limit. This would require significant scripting and >could result in the cursor movement not being smooth." > >I took a look at the MouseDevice.SetCursorLimits and >MouseDevice.SetCursorPos help, and I understand how this would work in >theory. However, I am very new to programming, and I am afraid that >the scripting involved is a bit over my head. If anyone can offer any >advice or pointers, it 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 erin.siebert at gmail.com Thu May 12 18:46:49 2011 From: erin.siebert at gmail.com (Erin) Date: Thu, 12 May 2011 11:46:49 -0700 Subject: Controlling cursor speed when using a joystick In-Reply-To: <4dcc1fef.da71e70a.2afb.14f7SMTPIN_ADDED@gmr-mx.google.com> Message-ID: hi David, Matt was the one helping me. Thank you very much for the sample code! I tried it out, and it does change how the cursor moves. For the mouse, it slows it down quite perfectly. For the joystick, it also slows down, but there is an interesting effect. The mouse cursor is basically "stuck" to the joystick. Normally, when you move the joystick left, the cursor continues to move left, even when the joystick handle is held in a constant left position. With your modification, the mouse cursor moves only when you move the joystick. So, the cursor will move left as you move the joystick left, but when you stop the joystick, it stops. And, when you let the joystick go back to it's resting position, the cursor actually backtracks back to it's original position. This is an interesting feature, but not what will work for my particular application. (However, I'm sure it's exactly what someone else might need). It would be absolutely perfect if the cursor could be "unstuck" from the joystick, so that the joystick just directs the cursor to move forward in whatever direction the joystick is pointed. Any suggestions? Again, thank you so much! Erin On May 12, 1:58?pm, David McFarlane wrote: > Erin, > > Thanks for posting the full information from PST, that helped (can > you let us know which staff member helped you?). ?I might have come > up with the Mouse.SetCursorPos approach myself, but not the > Mouse.SetCursorLimits approach, that approach seems a little wacky to > me but what do I know?. > > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I > knocked out a quick demo, and here is the inline that I came up > with. ?(Just to have a mouse click to respond to, I preceded the > inline with a TextDisplay called StimText, set to Duration of 0 and > mouse with Time Limit of (infinite)): > > /----------------------------------------------------------------------\ > ' Code to modify the rate of mouse movement. > > Const ?LoopDelay as Long = 0 > Const ?CursorMoveFactor as Single = 0.5 > > Dim ?x0 as Long, y0 as Long > Dim ?x1 as Long, y1 as Long > > Mouse.GetCursorPos x0, y0 ?' initialize > Do While (StimText.RT = 0) ?' replace this with your exit condition > ? ? ?Mouse.GetCursorPos x1, y1 > ? ? ?x0 = x0 + (CursorMoveFactor * (x1 - x0)) > ? ? ?y0 = y0 + (CursorMoveFactor * (y1 - y0)) > ? ? ?Mouse.SetCursorPos x0, y0 > ? ? ?Sleep LoopDelay > Loop > \----------------------------------------------------------------------/ > > I expected to find some cursor movement artifacts, but it really > worked rather smoothly. ?As you can see, I didn't even really need > the LoopDelay, but I left it there just in case. > > -- David McFarlane, Professional Faultfinder > > At 5/12/2011 01:03 PM Thursday, you wrote: > > >I want to control the speed the cursor moves when controlling it with > >a joystick. ?I set the joystick to emulate the mouse in my experiment > >(inline Joystick.AttachToMouseCursor = True). ?The joystick is quite > >touchy, and causes the cursor to move very quickly across the screen. > >For my experiment, I need the cursor to only move slowly, no matter > >how much the joystick is moved. > > >I tried decreasing the mouse sensitivity settings on my computer. > >This slowed the cursor down when using the mouse within my experiment, > >but had no effect on the joystick. ?I also tried increasing the > >resolution display of my experiment (giving the cursor "further" to > >travel)- also no effect. ?I have also tried adjusting the sensitivity > >of my joystick, but the cursor is still too fast. > > >E-Prime support suggested the following: "E-Prime does have some > >limited options for positioning the mouse cursor and limiting its > >boundaries. We could try to use a combination of the two to make the > >mouse cursor move more slowly. However, this would require significant > >scripting and could result in the cursor movement not being smooth" > > >My main question: Is anyone aware of a simpler way of controlling the > >cursor speed in E-Prime? > > >If not, here is further information on this method: > > >E-Prime help suggested the following: > >"I would recommend taking a look at the MouseDevice.SetCursorLimits > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via > >the Help menu). The former will allow you to specify boundaries for > >the cursor, and the latter will allow you to position the mouse cursor > >in a specific area. You could use a combination of the two to first > >limit the movement of the cursor so that it does not immediately move > >to one edge of the screen, and then use SetCursorPos to move the > >cursor move slowly. You could also slowly expand the cursor limits as > >the cursor hits the maximum in one direction. This would allow you to > >give the appearance of the cursor moving more slowly. To do this, you > >would have a loop that continuously checks the cursor position against > >the limits that are set, and expand the limits in one direction as the > >cursor hits that limit. This would require significant scripting and > >could result in the cursor movement not being smooth." > > >I took a look at the MouseDevice.SetCursorLimits and > >MouseDevice.SetCursorPos help, and I understand how this would work in > >theory. ?However, I am very new to programming, and I am afraid that > >the scripting involved is a bit over my head. ?If anyone can offer any > >advice or pointers, it 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 mcfarla9 at msu.edu Thu May 12 19:34:05 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 12 May 2011 15:34:05 -0400 Subject: Controlling cursor speed when using a joystick In-Reply-To: <7714fa96-e241-4526-b503-055404073dcc@p23g2000vbl.googlegro ups.com> Message-ID: Erin, Thanks for testing that out, and posting back so quickly. I don't have any joystick myself, so I don't think I can help any further. I would not have expected your result, clearly the joystick does not simply emulate the mouse otherwise it would just work (and in that case you would not need a code solution in the first place). Is there a separate Windows "control panel" for the joystick that you can use to control its settings? Other than that, if it were me I might try another joystick, or start Googling around for more technical background on joysticks in general and then use that knowledge to devise a solution. Good luck, -- David McFarlane, Professional Faultfinder >hi David, >Matt was the one helping me. > >Thank you very much for the sample code! I tried it out, and it does >change how the cursor moves. For the mouse, it slows it down quite >perfectly. For the joystick, it also slows down, but there is an >interesting effect. The mouse cursor is basically "stuck" to the >joystick. Normally, when you move the joystick left, the cursor >continues to move left, even when the joystick handle is held in a >constant left position. With your modification, the mouse cursor >moves only when you move the joystick. So, the cursor will move left >as you move the joystick left, but when you stop the joystick, it >stops. And, when you let the joystick go back to it's resting >position, the cursor actually backtracks back to it's original >position. This is an interesting feature, but not what will work for >my particular application. (However, I'm sure it's exactly what >someone else might need). It would be absolutely perfect if the >cursor could be "unstuck" from the joystick, so that the joystick >just directs the cursor to move forward in whatever direction the >joystick is pointed. Any suggestions? Again, thank you so much! > >Erin > > > >On May 12, 1:58 pm, David McFarlane wrote: > > Erin, > > > > Thanks for posting the full information from PST, that helped (can > > you let us know which staff member helped you?). I might have come > > up with the Mouse.SetCursorPos approach myself, but not the > > Mouse.SetCursorLimits approach, that approach seems a little wacky to > > me but what do I know?. > > > > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I > > knocked out a quick demo, and here is the inline that I came up > > with. (Just to have a mouse click to respond to, I preceded the > > inline with a TextDisplay called StimText, set to Duration of 0 and > > mouse with Time Limit of (infinite)): > > > > /----------------------------------------------------------------------\ > > ' Code to modify the rate of mouse movement. > > > > Const LoopDelay as Long = 0 > > Const CursorMoveFactor as Single = 0.5 > > > > Dim x0 as Long, y0 as Long > > Dim x1 as Long, y1 as Long > > > > Mouse.GetCursorPos x0, y0 ' initialize > > Do While (StimText.RT = 0) ' replace this with your exit condition > > Mouse.GetCursorPos x1, y1 > > x0 = x0 + (CursorMoveFactor * (x1 - x0)) > > y0 = y0 + (CursorMoveFactor * (y1 - y0)) > > Mouse.SetCursorPos x0, y0 > > Sleep LoopDelay > > Loop > > \----------------------------------------------------------------------/ > > > > I expected to find some cursor movement artifacts, but it really > > worked rather smoothly. As you can see, I didn't even really need > > the LoopDelay, but I left it there just in case. > > > > -- David McFarlane, Professional Faultfinder > > > > At 5/12/2011 01:03 PM Thursday, you wrote: > > > > >I want to control the speed the cursor moves when controlling it with > > >a joystick. I set the joystick to emulate the mouse in my experiment > > >(inline Joystick.AttachToMouseCursor = True). The joystick is quite > > >touchy, and causes the cursor to move very quickly across the screen. > > >For my experiment, I need the cursor to only move slowly, no matter > > >how much the joystick is moved. > > > > >I tried decreasing the mouse sensitivity settings on my computer. > > >This slowed the cursor down when using the mouse within my experiment, > > >but had no effect on the joystick. I also tried increasing the > > >resolution display of my experiment (giving the cursor "further" to > > >travel)- also no effect. I have also tried adjusting the sensitivity > > >of my joystick, but the cursor is still too fast. > > > > >E-Prime support suggested the following: "E-Prime does have some > > >limited options for positioning the mouse cursor and limiting its > > >boundaries. We could try to use a combination of the two to make the > > >mouse cursor move more slowly. However, this would require significant > > >scripting and could result in the cursor movement not being smooth" > > > > >My main question: Is anyone aware of a simpler way of controlling the > > >cursor speed in E-Prime? > > > > >If not, here is further information on this method: > > > > >E-Prime help suggested the following: > > >"I would recommend taking a look at the MouseDevice.SetCursorLimits > > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via > > >the Help menu). The former will allow you to specify boundaries for > > >the cursor, and the latter will allow you to position the mouse cursor > > >in a specific area. You could use a combination of the two to first > > >limit the movement of the cursor so that it does not immediately move > > >to one edge of the screen, and then use SetCursorPos to move the > > >cursor move slowly. You could also slowly expand the cursor limits as > > >the cursor hits the maximum in one direction. This would allow you to > > >give the appearance of the cursor moving more slowly. To do this, you > > >would have a loop that continuously checks the cursor position against > > >the limits that are set, and expand the limits in one direction as the > > >cursor hits that limit. This would require significant scripting and > > >could result in the cursor movement not being smooth." > > > > >I took a look at the MouseDevice.SetCursorLimits and > > >MouseDevice.SetCursorPos help, and I understand how this would work in > > >theory. However, I am very new to programming, and I am afraid that > > >the scripting involved is a bit over my head. If anyone can offer any > > >advice or pointers, it 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 mcfarla9 at msu.edu Thu May 12 19:38:17 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 12 May 2011 15:38:17 -0400 Subject: Controlling cursor speed when using a joystick In-Reply-To: <4dcc3639.4e40e70a.24a0.15b1SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Just thinking through this a bit further, if we knew exactly what data the joystick sent to the PC, and where (e.g., what I/O port) that data appeared, then in principle we could write code to affect the cursor in whatever way we wish. But at the moment we lack that technical information. -- David McFarlane, Professional Faultfinder At 5/12/2011 03:34 PM Thursday, you wrote: >Erin, > >Thanks for testing that out, and posting back so quickly. I don't >have any joystick myself, so I don't think I can help any >further. I would not have expected your result, clearly the >joystick does not simply emulate the mouse otherwise it would just >work (and in that case you would not need a code solution in the >first place). Is there a separate Windows "control panel" for the >joystick that you can use to control its settings? Other than that, >if it were me I might try another joystick, or start Googling around >for more technical background on joysticks in general and then use >that knowledge to devise a solution. > >Good luck, >-- David McFarlane, Professional Faultfinder > > >>hi David, >>Matt was the one helping me. >> >>Thank you very much for the sample code! I tried it out, and it does >>change how the cursor moves. For the mouse, it slows it down quite >>perfectly. For the joystick, it also slows down, but there is an >>interesting effect. The mouse cursor is basically "stuck" to the >>joystick. Normally, when you move the joystick left, the cursor >>continues to move left, even when the joystick handle is held in a >>constant left position. With your modification, the mouse cursor >>moves only when you move the joystick. So, the cursor will move left >>as you move the joystick left, but when you stop the joystick, it >>stops. And, when you let the joystick go back to it's resting >>position, the cursor actually backtracks back to it's original >>position. This is an interesting feature, but not what will work for >>my particular application. (However, I'm sure it's exactly what >>someone else might need). It would be absolutely perfect if the >>cursor could be "unstuck" from the joystick, so that the joystick >>just directs the cursor to move forward in whatever direction the >>joystick is pointed. Any suggestions? Again, thank you so much! >> >>Erin >> >> >> >>On May 12, 1:58 pm, David McFarlane wrote: >> > Erin, >> > >> > Thanks for posting the full information from PST, that helped (can >> > you let us know which staff member helped you?). I might have come >> > up with the Mouse.SetCursorPos approach myself, but not the >> > Mouse.SetCursorLimits approach, that approach seems a little wacky to >> > me but what do I know?. >> > >> > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I >> > knocked out a quick demo, and here is the inline that I came up >> > with. (Just to have a mouse click to respond to, I preceded the >> > inline with a TextDisplay called StimText, set to Duration of 0 and >> > mouse with Time Limit of (infinite)): >> > >> > /----------------------------------------------------------------------\ >> > ' Code to modify the rate of mouse movement. >> > >> > Const LoopDelay as Long = 0 >> > Const CursorMoveFactor as Single = 0.5 >> > >> > Dim x0 as Long, y0 as Long >> > Dim x1 as Long, y1 as Long >> > >> > Mouse.GetCursorPos x0, y0 ' initialize >> > Do While (StimText.RT = 0) ' replace this with your exit condition >> > Mouse.GetCursorPos x1, y1 >> > x0 = x0 + (CursorMoveFactor * (x1 - x0)) >> > y0 = y0 + (CursorMoveFactor * (y1 - y0)) >> > Mouse.SetCursorPos x0, y0 >> > Sleep LoopDelay >> > Loop >> > \----------------------------------------------------------------------/ >> > >> > I expected to find some cursor movement artifacts, but it really >> > worked rather smoothly. As you can see, I didn't even really need >> > the LoopDelay, but I left it there just in case. >> > >> > -- David McFarlane, Professional Faultfinder >> > >> > At 5/12/2011 01:03 PM Thursday, you wrote: >> > >> > >I want to control the speed the cursor moves when controlling it with >> > >a joystick. I set the joystick to emulate the mouse in my experiment >> > >(inline Joystick.AttachToMouseCursor = True). The joystick is quite >> > >touchy, and causes the cursor to move very quickly across the screen. >> > >For my experiment, I need the cursor to only move slowly, no matter >> > >how much the joystick is moved. >> > >> > >I tried decreasing the mouse sensitivity settings on my computer. >> > >This slowed the cursor down when using the mouse within my experiment, >> > >but had no effect on the joystick. I also tried increasing the >> > >resolution display of my experiment (giving the cursor "further" to >> > >travel)- also no effect. I have also tried adjusting the sensitivity >> > >of my joystick, but the cursor is still too fast. >> > >> > >E-Prime support suggested the following: "E-Prime does have some >> > >limited options for positioning the mouse cursor and limiting its >> > >boundaries. We could try to use a combination of the two to make the >> > >mouse cursor move more slowly. However, this would require significant >> > >scripting and could result in the cursor movement not being smooth" >> > >> > >My main question: Is anyone aware of a simpler way of controlling the >> > >cursor speed in E-Prime? >> > >> > >If not, here is further information on this method: >> > >> > >E-Prime help suggested the following: >> > >"I would recommend taking a look at the MouseDevice.SetCursorLimits >> > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via >> > >the Help menu). The former will allow you to specify boundaries for >> > >the cursor, and the latter will allow you to position the mouse cursor >> > >in a specific area. You could use a combination of the two to first >> > >limit the movement of the cursor so that it does not immediately move >> > >to one edge of the screen, and then use SetCursorPos to move the >> > >cursor move slowly. You could also slowly expand the cursor limits as >> > >the cursor hits the maximum in one direction. This would allow you to >> > >give the appearance of the cursor moving more slowly. To do this, you >> > >would have a loop that continuously checks the cursor position against >> > >the limits that are set, and expand the limits in one direction as the >> > >cursor hits that limit. This would require significant scripting and >> > >could result in the cursor movement not being smooth." >> > >> > >I took a look at the MouseDevice.SetCursorLimits and >> > >MouseDevice.SetCursorPos help, and I understand how this would work in >> > >theory. However, I am very new to programming, and I am afraid that >> > >the scripting involved is a bit over my head. If anyone can offer any >> > >advice or pointers, it 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 pfc.groot at gmail.com Thu May 12 20:38:33 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Thu, 12 May 2011 22:38:33 +0200 Subject: Mastering E-Prime: How to Learn E-Prime Programming In-Reply-To: <4dcc0940.092c2b0a.107a.103dSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hi All, The hidden clock.scale configuration at startup David described is indeed invaluable for serious programming and testing. A poor man?s trigger implementation I often use is the following: If GetUserBreakState<>0 SetUserBreakState 0 Clock.Scale = ? End if I normally place this after the startup/intro screen. Just pressing Ctrl+Shift during the intro will enter turbo/slowmotion mode. This could be useful when the session number is used for something else (e.g. list ordering: counterbalance, offset, ?) happy programming... Paul Groot -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 13 00:23:28 2011 From: erin.siebert at gmail.com (Erin) Date: Thu, 12 May 2011 17:23:28 -0700 Subject: Controlling cursor speed when using a joystick In-Reply-To: <4dcc3731.092c2b0a.6ca4.12b5SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thank you David. I looked up the joystick in the "control panel" and the only adjustments available are normal calibration, which doesn't help with adjusting it's sensitivity. Strange that your code changes the behavior of the joystick within E- Prime. In effect, it changes the joystick's effect on the cursor, and makes it function more like a track ball. E-Prime must treat the joystick input differently than the mouse input, and your code somehow interacts with that difference. I am not sure exactly what data the joystick sends to the PC or in what I/O port the date appears. I'll do some more research, and post back here if I find anything that may be useful. Thank you again so much for your help! Erin On May 12, 3:38?pm, David McFarlane wrote: > Just thinking through this a bit further, if we knew exactly what > data the joystick sent to the PC, and where (e.g., what I/O port) > that data appeared, then in principle we could write code to affect > the cursor in whatever way we wish. ?But at the moment we lack that > technical information. > > -- David McFarlane, Professional Faultfinder > > At 5/12/2011 03:34 PM Thursday, you wrote: > > >Erin, > > >Thanks for testing that out, and posting back so quickly. ?I don't > >have any joystick myself, so I don't think I can help any > >further. ?I would not have expected your result, clearly the > >joystick does not simply emulate the mouse otherwise it would just > >work (and in that case you would not need a code solution in the > >first place). ?Is there a separate Windows "control panel" for the > >joystick that you can use to control its settings? ?Other than that, > >if it were me I might try another joystick, or start Googling around > >for more technical background on joysticks in general and then use > >that knowledge to devise a solution. > > >Good luck, > >-- David McFarlane, Professional Faultfinder > > >>hi David, > >>Matt was the one helping me. > > >>Thank you very much for the sample code! ?I tried it out, and it does > >>change how the cursor moves. ?For the mouse, it slows it down quite > >>perfectly. ?For the joystick, it also slows down, but there is an > >>interesting effect. The mouse cursor is basically "stuck" to the > >>joystick. ?Normally, when you move the joystick left, the cursor > >>continues to move left, even when the joystick handle is held in a > >>constant left position. ?With your modification, the mouse cursor > >>moves only when you move the joystick. ?So, the cursor will move left > >>as you move the joystick left, but when you stop the joystick, it > >>stops. ?And, when you let the joystick go back to it's resting > >>position, the cursor actually backtracks back to it's original > >>position. ?This is an interesting feature, but not what will work for > >>my particular application. (However, I'm sure it's exactly what > >>someone else might need). ?It would be absolutely perfect if the > >>cursor could be "unstuck" ?from the joystick, so that the joystick > >>just directs the cursor to move forward in whatever direction the > >>joystick is pointed. ?Any suggestions? ?Again, thank you so much! > > >>Erin > > >>On May 12, 1:58 pm, David McFarlane wrote: > >> > Erin, > > >> > Thanks for posting the full information from PST, that helped (can > >> > you let us know which staff member helped you?). ?I might have come > >> > up with the Mouse.SetCursorPos approach myself, but not the > >> > Mouse.SetCursorLimits approach, that approach seems a little wacky to > >> > me but what do I know?. > > >> > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I > >> > knocked out a quick demo, and here is the inline that I came up > >> > with. ?(Just to have a mouse click to respond to, I preceded the > >> > inline with a TextDisplay called StimText, set to Duration of 0 and > >> > mouse with Time Limit of (infinite)): > > >> > /----------------------------------------------------------------------\ > >> > ' Code to modify the rate of mouse movement. > > >> > Const ?LoopDelay as Long = 0 > >> > Const ?CursorMoveFactor as Single = 0.5 > > >> > Dim ?x0 as Long, y0 as Long > >> > Dim ?x1 as Long, y1 as Long > > >> > Mouse.GetCursorPos x0, y0 ?' initialize > >> > Do While (StimText.RT = 0) ?' replace this with your exit condition > >> > ? ? ?Mouse.GetCursorPos x1, y1 > >> > ? ? ?x0 = x0 + (CursorMoveFactor * (x1 - x0)) > >> > ? ? ?y0 = y0 + (CursorMoveFactor * (y1 - y0)) > >> > ? ? ?Mouse.SetCursorPos x0, y0 > >> > ? ? ?Sleep LoopDelay > >> > Loop > >> > \----------------------------------------------------------------------/ > > >> > I expected to find some cursor movement artifacts, but it really > >> > worked rather smoothly. ?As you can see, I didn't even really need > >> > the LoopDelay, but I left it there just in case. > > >> > -- David McFarlane, Professional Faultfinder > > >> > At 5/12/2011 01:03 PM Thursday, you wrote: > > >> > >I want to control the speed the cursor moves when controlling it with > >> > >a joystick. ?I set the joystick to emulate the mouse in my experiment > >> > >(inline Joystick.AttachToMouseCursor = True). ?The joystick is quite > >> > >touchy, and causes the cursor to move very quickly across the screen. > >> > >For my experiment, I need the cursor to only move slowly, no matter > >> > >how much the joystick is moved. > > >> > >I tried decreasing the mouse sensitivity settings on my computer. > >> > >This slowed the cursor down when using the mouse within my experiment, > >> > >but had no effect on the joystick. ?I also tried increasing the > >> > >resolution display of my experiment (giving the cursor "further" to > >> > >travel)- also no effect. ?I have also tried adjusting the sensitivity > >> > >of my joystick, but the cursor is still too fast. > > >> > >E-Prime support suggested the following: "E-Prime does have some > >> > >limited options for positioning the mouse cursor and limiting its > >> > >boundaries. We could try to use a combination of the two to make the > >> > >mouse cursor move more slowly. However, this would require significant > >> > >scripting and could result in the cursor movement not being smooth" > > >> > >My main question: Is anyone aware of a simpler way of controlling the > >> > >cursor speed in E-Prime? > > >> > >If not, here is further information on this method: > > >> > >E-Prime help suggested the following: > >> > >"I would recommend taking a look at the MouseDevice.SetCursorLimits > >> > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via > >> > >the Help menu). The former will allow you to specify boundaries for > >> > >the cursor, and the latter will allow you to position the mouse cursor > >> > >in a specific area. You could use a combination of the two to first > >> > >limit the movement of the cursor so that it does not immediately move > >> > >to one edge of the screen, and then use SetCursorPos to move the > >> > >cursor move slowly. You could also slowly expand the cursor limits as > >> > >the cursor hits the maximum in one direction. This would allow you to > >> > >give the appearance of the cursor moving more slowly. To do this, you > >> > >would have a loop that continuously checks the cursor position against > >> > >the limits that are set, and expand the limits in one direction as the > >> > >cursor hits that limit. This would require significant scripting and > >> > >could result in the cursor movement not being smooth." > > >> > >I took a look at the MouseDevice.SetCursorLimits and > >> > >MouseDevice.SetCursorPos help, and I understand how this would work in > >> > >theory. ?However, I am very new to programming, and I am afraid that > >> > >the scripting involved is a bit over my head. ?If anyone can offer any > >> > >advice or pointers, it 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 erin.siebert at gmail.com Fri May 13 00:40:20 2011 From: erin.siebert at gmail.com (Erin) Date: Thu, 12 May 2011 17:40:20 -0700 Subject: randomly alternating between two SlideStates Message-ID: Hello, I have a question about randomizing image placement, by randomly displaying one of two Slidestates in each trial of my experiment. Right now I have a slide in my experiment with 2 SlideImages, which are named [match] and [foil], at the right and left of the screen. I would like the match and foil image to randomly appear within either the right or left SlideImage, in a random fashion. I made two SlideState tabs in my slide, named MatchLeft and MatchRight, which reverse the location of [match] and [foil]. I would like to randomly use one of these two slide states for each trial. I looked at the "NestingRT" randomizing example program, and this is on the right track. However, I want to clearly define each trial, so that the same individual match and foil image always appear paired together within the same trial. The only thing I want to randomize is whether the match and foil appear on the right or left. Originally, I had the experiment set up with with the two slide images named [leftimage] and [rightimage], and randomized the right and left placement of the match and foil images in the triallist. However, this is very impractical, as we are planning to do very large numbers of trials, and need the right and left placement of sample and foil to be independently randomized for each subject and session. Any help or pointers would be very much 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 Michiel.Spape at nottingham.ac.uk Fri May 13 08:34:03 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Fri, 13 May 2011 09:34:03 +0100 Subject: Controlling cursor speed when using a joystick In-Reply-To: <4dcc3731.092c2b0a.6ca4.12b5SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hiya, Two points here: - For one, I'd suggest just going a bit higher into Windows and setting the mouse and/or joystick sensitivity. I remember this was quite common in Win98 or something like that, but it seems to be missing in Windows XP. Nevertheless, I very much doubt you won't be able to find a little programme that sets the cursor and/or mouse sensitivity to a lower resolution. All in all, that would be a lot easier for your purposes. - Second, it seems to me that the main issue with joystick vs mouse is the joystick being centred at a certain position. I think - but could be mistaken? - that in order to do this, you might want to change the script so that the X0, Y0 are not overwritten, but rather that you change the cursor position by the deviation with the beginning of the trial. So, if the cursor is at pixel 320,240 in the beginning (i.e. centre at 640x480 resolution), then at next polling the cursor is at 321,240 (1 pixel to the right), the cursor should (as it does currently) move one pixel to the right. However, at the polling after that, given that the subject didn't move the joystick (i.e. polling says it's the same as previous polling), then the difference of 1,0 related to the *startposition* should still cause it to move 1 more to the right (i.e. 322,240). I'm terrible at messing with someone else's code, but if you understand what I'm saying, this shouldn't be too hard to implement (just keep comparing to the start position, rather than the previous position). More hardcore, by the way, and likely better (given that most joysticks tend to be round, rather than square) would be to calculate the angle and amplitude of the joystick, then move the cursor with that information. Hope that helps, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of David McFarlane Sent: 12 May 2011 20:38 To: e-prime at googlegroups.com Subject: Re: Controlling cursor speed when using a joystick Just thinking through this a bit further, if we knew exactly what data the joystick sent to the PC, and where (e.g., what I/O port) that data appeared, then in principle we could write code to affect the cursor in whatever way we wish. But at the moment we lack that technical information. -- David McFarlane, Professional Faultfinder At 5/12/2011 03:34 PM Thursday, you wrote: >Erin, > >Thanks for testing that out, and posting back so quickly. I don't >have any joystick myself, so I don't think I can help any >further. I would not have expected your result, clearly the >joystick does not simply emulate the mouse otherwise it would just >work (and in that case you would not need a code solution in the >first place). Is there a separate Windows "control panel" for the >joystick that you can use to control its settings? Other than that, >if it were me I might try another joystick, or start Googling around >for more technical background on joysticks in general and then use >that knowledge to devise a solution. > >Good luck, >-- David McFarlane, Professional Faultfinder > > >>hi David, >>Matt was the one helping me. >> >>Thank you very much for the sample code! I tried it out, and it does >>change how the cursor moves. For the mouse, it slows it down quite >>perfectly. For the joystick, it also slows down, but there is an >>interesting effect. The mouse cursor is basically "stuck" to the >>joystick. Normally, when you move the joystick left, the cursor >>continues to move left, even when the joystick handle is held in a >>constant left position. With your modification, the mouse cursor >>moves only when you move the joystick. So, the cursor will move left >>as you move the joystick left, but when you stop the joystick, it >>stops. And, when you let the joystick go back to it's resting >>position, the cursor actually backtracks back to it's original >>position. This is an interesting feature, but not what will work for >>my particular application. (However, I'm sure it's exactly what >>someone else might need). It would be absolutely perfect if the >>cursor could be "unstuck" from the joystick, so that the joystick >>just directs the cursor to move forward in whatever direction the >>joystick is pointed. Any suggestions? Again, thank you so much! >> >>Erin >> >> >> >>On May 12, 1:58 pm, David McFarlane wrote: >> > Erin, >> > >> > Thanks for posting the full information from PST, that helped (can >> > you let us know which staff member helped you?). I might have come >> > up with the Mouse.SetCursorPos approach myself, but not the >> > Mouse.SetCursorLimits approach, that approach seems a little wacky to >> > me but what do I know?. >> > >> > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I >> > knocked out a quick demo, and here is the inline that I came up >> > with. (Just to have a mouse click to respond to, I preceded the >> > inline with a TextDisplay called StimText, set to Duration of 0 and >> > mouse with Time Limit of (infinite)): >> > >> > /----------------------------------------------------------------------\ >> > ' Code to modify the rate of mouse movement. >> > >> > Const LoopDelay as Long = 0 >> > Const CursorMoveFactor as Single = 0.5 >> > >> > Dim x0 as Long, y0 as Long >> > Dim x1 as Long, y1 as Long >> > >> > Mouse.GetCursorPos x0, y0 ' initialize >> > Do While (StimText.RT = 0) ' replace this with your exit condition >> > Mouse.GetCursorPos x1, y1 >> > x0 = x0 + (CursorMoveFactor * (x1 - x0)) >> > y0 = y0 + (CursorMoveFactor * (y1 - y0)) >> > Mouse.SetCursorPos x0, y0 >> > Sleep LoopDelay >> > Loop >> > \----------------------------------------------------------------------/ >> > >> > I expected to find some cursor movement artifacts, but it really >> > worked rather smoothly. As you can see, I didn't even really need >> > the LoopDelay, but I left it there just in case. >> > >> > -- David McFarlane, Professional Faultfinder >> > >> > At 5/12/2011 01:03 PM Thursday, you wrote: >> > >> > >I want to control the speed the cursor moves when controlling it with >> > >a joystick. I set the joystick to emulate the mouse in my experiment >> > >(inline Joystick.AttachToMouseCursor = True). The joystick is quite >> > >touchy, and causes the cursor to move very quickly across the screen. >> > >For my experiment, I need the cursor to only move slowly, no matter >> > >how much the joystick is moved. >> > >> > >I tried decreasing the mouse sensitivity settings on my computer. >> > >This slowed the cursor down when using the mouse within my experiment, >> > >but had no effect on the joystick. I also tried increasing the >> > >resolution display of my experiment (giving the cursor "further" to >> > >travel)- also no effect. I have also tried adjusting the sensitivity >> > >of my joystick, but the cursor is still too fast. >> > >> > >E-Prime support suggested the following: "E-Prime does have some >> > >limited options for positioning the mouse cursor and limiting its >> > >boundaries. We could try to use a combination of the two to make the >> > >mouse cursor move more slowly. However, this would require significant >> > >scripting and could result in the cursor movement not being smooth" >> > >> > >My main question: Is anyone aware of a simpler way of controlling the >> > >cursor speed in E-Prime? >> > >> > >If not, here is further information on this method: >> > >> > >E-Prime help suggested the following: >> > >"I would recommend taking a look at the MouseDevice.SetCursorLimits >> > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via >> > >the Help menu). The former will allow you to specify boundaries for >> > >the cursor, and the latter will allow you to position the mouse cursor >> > >in a specific area. You could use a combination of the two to first >> > >limit the movement of the cursor so that it does not immediately move >> > >to one edge of the screen, and then use SetCursorPos to move the >> > >cursor move slowly. You could also slowly expand the cursor limits as >> > >the cursor hits the maximum in one direction. This would allow you to >> > >give the appearance of the cursor moving more slowly. To do this, you >> > >would have a loop that continuously checks the cursor position against >> > >the limits that are set, and expand the limits in one direction as the >> > >cursor hits that limit. This would require significant scripting and >> > >could result in the cursor movement not being smooth." >> > >> > >I took a look at the MouseDevice.SetCursorLimits and >> > >MouseDevice.SetCursorPos help, and I understand how this would work in >> > >theory. However, I am very new to programming, and I am afraid that >> > >the scripting involved is a bit over my head. If anyone can offer any >> > >advice or pointers, it 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. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Fri May 13 09:14:24 2011 From: liwenna at gmail.com (liwenna) Date: Fri, 13 May 2011 02:14:24 -0700 Subject: randomly alternating between two SlideStates In-Reply-To: Message-ID: Hi Erin, So... how did you do this randomization within a triallist in the older set-up? Because I personally would rather use a list-based randomization than two slidestates. If you have a triallist in which both the attributes match and foil are defined than you'll have 'match and foil' pairs as the same match and foil will always be shown together. Now... if you into that triallist nest a second list called something like randompositions and in that list create two attributes called... xposmatch and xposfail you can enter the values of the x (i.e. 25% and 75% vs 75% and 25% on the second level) into these cells, set that list to random and you're set. Although you should manipulate the weights a bit as randomizing two values (two levels) doesn't give much variation. Giving both levels a weight of 2 or 3 solves that. Make it so that the total trials within each block or the entire experiment is a multitude of the total 'draws' from the randompositionslist, in order to have complete randomization. If you rather use the two slidestates, which is actually as fine a solution... then don't create a list called something like randompositions but rather nest a list called randomstate. In this list create one attribute called 'statename' (or something the like), and in the cells enter the values 'MatchLeft' and 'MatchRight'. Again, a randomization on 2 draws doesn't give much variation so manipulate the weights. Set this list to 'random' on the slide set the slidestate to [statename] and you're set. Best, liw On May 13, 2:40?am, Erin wrote: > Hello, > I have a question about randomizing image placement, by randomly > displaying one of two Slidestates in each trial of my experiment. > Right now I have a slide in my experiment with 2 SlideImages, which > are named [match] and [foil], ?at the right and left of the screen. I > would like the match and foil image to randomly appear within either > the right or left SlideImage, in a random fashion. I made two > SlideState tabs in my slide, named MatchLeft and MatchRight, which > reverse the location of [match] and [foil]. ?I would like to randomly > use one of these two slide states for each trial. > > I looked at the "NestingRT" randomizing example program, and this is > on the right track. However, I want to clearly define each trial, so > that the same individual match and foil image always appear paired > together within the same trial. The only thing I want to randomize is > whether the match and foil appear on the right or left. > > Originally, I had the experiment set up with with the two slide images > named [leftimage] and [rightimage], and randomized the right and left > placement of the match and foil images in the triallist. However, this > is very impractical, as we are planning to do very large numbers of > trials, and need the right and left placement of sample and foil to be > independently randomized for each subject and session. > > Any help or pointers would be very much 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 erin.siebert at gmail.com Fri May 13 20:06:56 2011 From: erin.siebert at gmail.com (Erin) Date: Fri, 13 May 2011 13:06:56 -0700 Subject: Controlling cursor speed when using a joystick In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92DE13D0674@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Thank you for the pointers. I had already tried slowing down the cursor speed in windows. This successfully slows down the mouse cursor speed within E-Prime, but has no effect on the joystick. There are not similar controls for joystick sensitivity in the game controller section of the Windows control panel. So, I did more testing of the joystick in E-Prime. Turns out, the cursor is "stuck" to the joystick even without David's code. His code just slowed down the cursor enough that the effect was much more noticeable. Before, the cursor was so sensitive that only very small joystick moments were needed to move the cursor and make an image selection, and the "backtracking" behavior was less apparent. (The experiment is set up to re-center the cursor on every trial, also making it less obvious). So, when the cursor speed is slowed, the range of the cursor is very diminished when using the joystick- you can't even reach the edge of the screen with the cursor (which is obviously a problem). Anyone have any ideas of how to make the joystick only "push" the cursor forward in E-Prime, and not "pull" it back when the joystick is moved back towards center? Erin On May 13, 4:34?am, Michiel Spape wrote: > Hiya, > Two points here: > - For one, I'd suggest just going a bit higher into Windows and setting the mouse and/or joystick sensitivity. I remember this was quite common in Win98 or something like that, but it seems to be missing in Windows XP. Nevertheless, I very much doubt you won't be able to find a little programme that sets the cursor and/or mouse sensitivity to a lower resolution. All in all, that would be a lot easier for your purposes. > - Second, it seems to me that the main issue with joystick vs mouse is the joystick being centred at a certain position. I think - but could be mistaken? - that in order to do this, you might want to change the script so that the X0, Y0 are not overwritten, but rather that you change the cursor position by the deviation with the beginning of the trial. So, if the cursor is at pixel 320,240 in the beginning (i.e. centre at 640x480 resolution), then at next polling the cursor is at 321,240 (1 pixel to the right), the cursor should (as it does currently) move one pixel to the right. However, at the polling after that, given that the subject didn't move the joystick (i.e. polling says it's the same as previous polling), then the difference of 1,0 related to the *startposition* should still cause it to move 1 more to the right (i.e. 322,240). I'm terrible at messing with someone else's code, but if you understand what I'm saying, this shouldn't be too hard to implement (just keep comparing to the start position, rather than the previous position). More hardcore, by the way, and likely better (given that most joysticks tend to be round, rather than square) would be to calculate the angle and amplitude of the joystick, then move the cursor with that information. > > Hope that helps, > Mich > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of David McFarlane > Sent: 12 May 2011 20:38 > To: e-prime at googlegroups.com > Subject: Re: Controlling cursor speed when using a joystick > > Just thinking through this a bit further, if we knew exactly what > data the joystick sent to the PC, and where (e.g., what I/O port) > that data appeared, then in principle we could write code to affect > the cursor in whatever way we wish. ?But at the moment we lack that > technical information. > > -- David McFarlane, Professional Faultfinder > > At 5/12/2011 03:34 PM Thursday, you wrote: > >Erin, > > >Thanks for testing that out, and posting back so quickly. ?I don't > >have any joystick myself, so I don't think I can help any > >further. ?I would not have expected your result, clearly the > >joystick does not simply emulate the mouse otherwise it would just > >work (and in that case you would not need a code solution in the > >first place). ?Is there a separate Windows "control panel" for the > >joystick that you can use to control its settings? ?Other than that, > >if it were me I might try another joystick, or start Googling around > >for more technical background on joysticks in general and then use > >that knowledge to devise a solution. > > >Good luck, > >-- David McFarlane, Professional Faultfinder > > >>hi David, > >>Matt was the one helping me. > > >>Thank you very much for the sample code! ?I tried it out, and it does > >>change how the cursor moves. ?For the mouse, it slows it down quite > >>perfectly. ?For the joystick, it also slows down, but there is an > >>interesting effect. The mouse cursor is basically "stuck" to the > >>joystick. ?Normally, when you move the joystick left, the cursor > >>continues to move left, even when the joystick handle is held in a > >>constant left position. ?With your modification, the mouse cursor > >>moves only when you move the joystick. ?So, the cursor will move left > >>as you move the joystick left, but when you stop the joystick, it > >>stops. ?And, when you let the joystick go back to it's resting > >>position, the cursor actually backtracks back to it's original > >>position. ?This is an interesting feature, but not what will work for > >>my particular application. (However, I'm sure it's exactly what > >>someone else might need). ?It would be absolutely perfect if the > >>cursor could be "unstuck" ?from the joystick, so that the joystick > >>just directs the cursor to move forward in whatever direction the > >>joystick is pointed. ?Any suggestions? ?Again, thank you so much! > > >>Erin > > >>On May 12, 1:58 pm, David McFarlane wrote: > >> > Erin, > > >> > Thanks for posting the full information from PST, that helped (can > >> > you let us know which staff member helped you?). ?I might have come > >> > up with the Mouse.SetCursorPos approach myself, but not the > >> > Mouse.SetCursorLimits approach, that approach seems a little wacky to > >> > me but what do I know?. > > >> > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I > >> > knocked out a quick demo, and here is the inline that I came up > >> > with. ?(Just to have a mouse click to respond to, I preceded the > >> > inline with a TextDisplay called StimText, set to Duration of 0 and > >> > mouse with Time Limit of (infinite)): > > >> > /----------------------------------------------------------------------\ > >> > ' Code to modify the rate of mouse movement. > > >> > Const ?LoopDelay as Long = 0 > >> > Const ?CursorMoveFactor as Single = 0.5 > > >> > Dim ?x0 as Long, y0 as Long > >> > Dim ?x1 as Long, y1 as Long > > >> > Mouse.GetCursorPos x0, y0 ?' initialize > >> > Do While (StimText.RT = 0) ?' replace this with your exit condition > >> > ? ? ?Mouse.GetCursorPos x1, y1 > >> > ? ? ?x0 = x0 + (CursorMoveFactor * (x1 - x0)) > >> > ? ? ?y0 = y0 + (CursorMoveFactor * (y1 - y0)) > >> > ? ? ?Mouse.SetCursorPos x0, y0 > >> > ? ? ?Sleep LoopDelay > >> > Loop > >> > \----------------------------------------------------------------------/ > > >> > I expected to find some cursor movement artifacts, but it really > >> > worked rather smoothly. ?As you can see, I didn't even really need > >> > the LoopDelay, but I left it there just in case. > > >> > -- David McFarlane, Professional Faultfinder > > >> > At 5/12/2011 01:03 PM Thursday, you wrote: > > >> > >I want to control the speed the cursor moves when controlling it with > >> > >a joystick. ?I set the joystick to emulate the mouse in my experiment > >> > >(inline Joystick.AttachToMouseCursor = True). ?The joystick is quite > >> > >touchy, and causes the cursor to move very quickly across the screen. > >> > >For my experiment, I need the cursor to only move slowly, no matter > >> > >how much the joystick is moved. > > >> > >I tried decreasing the mouse sensitivity settings on my computer. > >> > >This slowed the cursor down when using the mouse within my experiment, > >> > >but had no effect on the joystick. ?I also tried increasing the > >> > >resolution display of my experiment (giving the cursor "further" to > >> > >travel)- also no effect. ?I have also tried adjusting the sensitivity > >> > >of my joystick, but the cursor is still too fast. > > >> > >E-Prime support suggested the following: "E-Prime does have some > >> > >limited options for positioning the mouse cursor and limiting its > >> > >boundaries. We could try to use a combination of the two to make the > >> > >mouse cursor move more slowly. However, this would require significant > >> > >scripting and could result in the cursor movement not being smooth" > > >> > >My main question: Is anyone aware of a simpler way of controlling the > >> > >cursor speed in E-Prime? > > >> > >If not, here is further information on this method: > > >> > >E-Prime help suggested the following: > >> > >"I would recommend taking a look at the MouseDevice.SetCursorLimits > >> > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via > >> > >the Help menu). The former will allow you to specify boundaries for > >> > >the cursor, and the latter will allow you to position the mouse cursor > >> > >in a specific area. You could use a combination of the two to first > >> > >limit the movement of the cursor so that it does not immediately move > >> > >to one edge of the screen, and then use SetCursorPos to move the > >> > >cursor move slowly. You could also slowly expand the cursor limits as > >> > >the cursor hits the maximum in one direction. This would allow you to > >> > >give the appearance of the cursor moving more slowly. To do this, you > >> > >would have a loop that continuously checks the cursor position against > >> > >the limits that are set, and expand the limits in one direction as the > >> > >cursor hits that limit. This would require significant scripting and > >> > >could result in the cursor movement not being smooth." > > >> > >I took a look at the MouseDevice.SetCursorLimits and > >> > >MouseDevice.SetCursorPos help, and I understand how this would work in > >> > >theory. ?However, I am very new to programming, and I am afraid that > >> > >the scripting involved is a bit over my head. ?If anyone can offer any > >> > >advice or pointers, it 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. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. ? Please do not use, copy or disclose the information contained in this message or in any attachment. ?Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own > > ... > > read more ? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Mon May 16 18:35:30 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 16 May 2011 14:35:30 -0400 Subject: Controlling cursor speed when using a joystick In-Reply-To: <9d42923d-ac1b-4667-9df1-e11852cc36f1@32g2000vbe.googlegrou ps.com> Message-ID: Erin, Well, I was mighty puzzled when it seemed that my code made the joystick behave oddly, so I am glad that you took the trouble to test it further and report back that the joystick always behaves that way, thanks. But that doesn't help you solve your problem. It does seem odd to me that the joystick behaves that way, it seems to me that if that behavior were common then other E-Prime users would have made a note of it. So I hope we hear from other E-Prime users with joysticks about whether as a rule the screen cursor simply mirrors the current joystick position, or if instead the cursor continues moving as long as the joystick is pushed off-center. If joysticks for other users work in the "unstuck" way, then I would suspect the problem has something to do with your particular joystick and you might want to try another. To that end, you might ask PST support again what joysticks they recommend. BTW, just for kicks I started to make a second demo to follow Matt Lenhart's suggestion to use SetCursorLimits. But I don't see how that could possibly work. If cursor limits are set to the current cursor position, then any attempt to move the cursor any farther from center will result in no movement at all, so there will be no new cursor data with which to set new cursor limits. E.g., suppose the cursor is at (100, 100), so you set one corner of the cursor limit to (100, 100). The subject then moves such that the cursor should move to, say, (90,90). But that is beyond the current limit, so the cursor stays at (100, 100), and the system lacks any information regarding the subject's attempt to move the cursor and so the cursor just stays where it is. (Of course, it would still detect inward movements, but that hardly helps you.) So I gave up on that idea. So I am afraid that I am out of ideas. -- David McFarlane, Professional Faultfinder At 5/13/2011 04:06 PM Friday, Erin wrote: >Thank you for the pointers. > >I had already tried slowing down the cursor speed in windows. This >successfully slows down the mouse cursor speed within E-Prime, but has >no effect on the joystick. There are not similar controls for >joystick sensitivity in the game controller section of the Windows >control panel. > >So, I did more testing of the joystick in E-Prime. Turns out, the >cursor is "stuck" to the joystick even without David's code. His code >just slowed down the cursor enough that the effect was much more >noticeable. Before, the cursor was so sensitive that only very small >joystick moments were needed to move the cursor and make an image >selection, and the "backtracking" behavior was less apparent. (The >experiment is set up to re-center the cursor on every trial, also >making it less obvious). So, when the cursor speed is slowed, the >range of the cursor is very diminished when using the joystick- you >can't even reach the edge of the screen with the cursor (which is >obviously a problem). > >Anyone have any ideas of how to make the joystick only "push" the >cursor forward in E-Prime, and not "pull" it back when the joystick is >moved back towards center? > >Erin > > > > >On May 13, 4:34 am, Michiel Spape >wrote: > > Hiya, > > Two points here: > > - For one, I'd suggest just going a bit > higher into Windows and setting the mouse > and/or joystick sensitivity. I remember this > was quite common in Win98 or something like > that, but it seems to be missing in Windows XP. > Nevertheless, I very much doubt you won't be > able to find a little programme that sets the > cursor and/or mouse sensitivity to a lower > resolution. All in all, that would be a lot easier for your purposes. > > - Second, it seems to me that the main issue > with joystick vs mouse is the joystick being > centred at a certain position. I think - but > could be mistaken? - that in order to do this, > you might want to change the script so that the > X0, Y0 are not overwritten, but rather that you > change the cursor position by the deviation > with the beginning of the trial. So, if the > cursor is at pixel 320,240 in the beginning > (i.e. centre at 640x480 resolution), then at > next polling the cursor is at 321,240 (1 pixel > to the right), the cursor should (as it does > currently) move one pixel to the right. > However, at the polling after that, given that > the subject didn't move the joystick (i.e. > polling says it's the same as previous > polling), then the difference of 1,0 related to > the *startposition* should still cause it to > move 1 more to the right (i.e. 322,240). I'm > terrible at messing with someone else's code, > but if you understand what I'm saying, this > shouldn't be too hard to implement (just keep > comparing to the start position, rather than > the previous position). More hardcore, by the > way, and likely better (given that most > joysticks tend to be round, rather than square) > would be to calculate the angle and amplitude > of the joystick, then move the cursor with that information. > > > > Hope that helps, > > Mich > > > > Michiel Spap? > > Research Fellow > > Perception & Action group > > University of Nottingham > > School of Psychologywww.cognitology.eu > > > > -----Original Message----- > > From: e-prime at googlegroups.com > [mailto:e-prime at googlegroups.com] On Behalf Of David McFarlane > > Sent: 12 May 2011 20:38 > > To: e-prime at googlegroups.com > > Subject: Re: Controlling cursor speed when using a joystick > > > > Just thinking through this a bit further, if we knew exactly what > > data the joystick sent to the PC, and where (e.g., what I/O port) > > that data appeared, then in principle we could write code to affect > > the cursor in whatever way we wish. But at the moment we lack that > > technical information. > > > > -- David McFarlane, Professional Faultfinder > > > > At 5/12/2011 03:34 PM Thursday, you wrote: > > >Erin, > > > > >Thanks for testing that out, and posting back so quickly. I don't > > >have any joystick myself, so I don't think I can help any > > >further. I would not have expected your result, clearly the > > >joystick does not simply emulate the mouse otherwise it would just > > >work (and in that case you would not need a code solution in the > > >first place). Is there a separate Windows "control panel" for the > > >joystick that you can use to control its settings? Other than that, > > >if it were me I might try another joystick, or start Googling around > > >for more technical background on joysticks in general and then use > > >that knowledge to devise a solution. > > > > >Good luck, > > >-- David McFarlane, Professional Faultfinder > > > > >>hi David, > > >>Matt was the one helping me. > > > > >>Thank you very much for the sample code! I tried it out, and it does > > >>change how the cursor moves. For the mouse, it slows it down quite > > >>perfectly. For the joystick, it also slows down, but there is an > > >>interesting effect. The mouse cursor is basically "stuck" to the > > >>joystick. Normally, when you move the joystick left, the cursor > > >>continues to move left, even when the joystick handle is held in a > > >>constant left position. With your modification, the mouse cursor > > >>moves only when you move the joystick. So, the cursor will move left > > >>as you move the joystick left, but when you stop the joystick, it > > >>stops. And, when you let the joystick go back to it's resting > > >>position, the cursor actually backtracks back to it's original > > >>position. This is an interesting feature, but not what will work for > > >>my particular application. (However, I'm sure it's exactly what > > >>someone else might need). It would be absolutely perfect if the > > >>cursor could be "unstuck" from the joystick, so that the joystick > > >>just directs the cursor to move forward in whatever direction the > > >>joystick is pointed. Any suggestions? Again, thank you so much! > > > > >>Erin > > > > >>On May 12, 1:58 pm, David McFarlane wrote: > > >> > Erin, > > > > >> > Thanks for posting the full information from PST, that helped (can > > >> > you let us know which staff member helped you?). I might have come > > >> > up with the Mouse.SetCursorPos approach myself, but not the > > >> > Mouse.SetCursorLimits approach, that approach seems a little wacky to > > >> > me but what do I know?. > > > > >> > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I > > >> > knocked out a quick demo, and here is the inline that I came up > > >> > with. (Just to have a mouse click to respond to, I preceded the > > >> > inline with a TextDisplay called StimText, set to Duration of 0 and > > >> > mouse with Time Limit of (infinite)): > > > > >> > > /----------------------------------------------------------------------\ > > >> > ' Code to modify the rate of mouse movement. > > > > >> > Const LoopDelay as Long = 0 > > >> > Const CursorMoveFactor as Single = 0.5 > > > > >> > Dim x0 as Long, y0 as Long > > >> > Dim x1 as Long, y1 as Long > > > > >> > Mouse.GetCursorPos x0, y0 ' initialize > > >> > Do While (StimText.RT = 0) ' replace this with your exit condition > > >> > Mouse.GetCursorPos x1, y1 > > >> > x0 = x0 + (CursorMoveFactor * (x1 - x0)) > > >> > y0 = y0 + (CursorMoveFactor * (y1 - y0)) > > >> > Mouse.SetCursorPos x0, y0 > > >> > Sleep LoopDelay > > >> > Loop > > >> > > \----------------------------------------------------------------------/ > > > > >> > I expected to find some cursor movement artifacts, but it really > > >> > worked rather smoothly. As you can see, I didn't even really need > > >> > the LoopDelay, but I left it there just in case. > > > > >> > -- David McFarlane, Professional Faultfinder > > > > >> > At 5/12/2011 01:03 PM Thursday, you wrote: > > > > >> > >I want to control the speed the cursor moves when controlling it with > > >> > >a joystick. I set the joystick to emulate the mouse in my experiment > > >> > >(inline Joystick.AttachToMouseCursor = True). The joystick is quite > > >> > >touchy, and causes the cursor to move very quickly across the screen. > > >> > >For my experiment, I need the cursor to only move slowly, no matter > > >> > >how much the joystick is moved. > > > > >> > >I tried decreasing the mouse sensitivity settings on my computer. > > >> > >This slowed the cursor down when using > the mouse within my experiment, > > >> > >but had no effect on the joystick. I also tried increasing the > > >> > >resolution display of my experiment (giving the cursor "further" to > > >> > >travel)- also no effect. I have also tried adjusting the sensitivity > > >> > >of my joystick, but the cursor is still too fast. > > > > >> > >E-Prime support suggested the following: "E-Prime does have some > > >> > >limited options for positioning the mouse cursor and limiting its > > >> > >boundaries. We could try to use a combination of the two to make the > > >> > >mouse cursor move more slowly. However, > this would require significant > > >> > >scripting and could result in the cursor movement not being smooth" > > > > >> > >My main question: Is anyone aware of a simpler way of controlling the > > >> > >cursor speed in E-Prime? > > > > >> > >If not, here is further information on this method: > > > > >> > >E-Prime help suggested the following: > > >> > >"I would recommend taking a look at the MouseDevice.SetCursorLimits > > >> > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via > > >> > >the Help menu). The former will allow you to specify boundaries for > > >> > >the cursor, and the latter will allow > you to position the mouse cursor > > >> > >in a specific area. You could use a combination of the two to first > > >> > >limit the movement of the cursor so that it does not immediately move > > >> > >to one edge of the screen, and then use SetCursorPos to move the > > >> > >cursor move slowly. You could also slowly expand the cursor limits as > > >> > >the cursor hits the maximum in one direction. This would allow you to > > >> > >give the appearance of the cursor moving more slowly. To do this, you > > >> > >would have a loop that continuously > checks the cursor position against > > >> > >the limits that are set, and expand the > limits in one direction as the > > >> > >cursor hits that limit. This would require significant scripting and > > >> > >could result in the cursor movement not being smooth." > > > > >> > >I took a look at the MouseDevice.SetCursorLimits and > > >> > >MouseDevice.SetCursorPos help, and I > understand how this would work in > > >> > >theory. However, I am very new to programming, and I am afraid that > > >> > >the scripting involved is a bit over my > head. If anyone can offer any > > >> > >advice or pointers, it 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 mcfarla9 at msu.edu Mon May 16 19:07:20 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 16 May 2011 15:07:20 -0400 Subject: selecting stimuli without replacement from a list, but using the same stimuli consistently on trials within a block In-Reply-To: <89315221-5ce8-4f87-86f6-894efd28c6d1@h9g2000yqk.googlegrou ps.com> Message-ID: Katie, Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... I couldn't follow all the details of your intricate account, but I understand that you have already randomized some arrays as desired and now just want to use those somehow in your program. So here are a few general thoughts. 1) If you have a randomized array that indicates the order in which to present levels (rows) of a List, then you can use an ExplicitOrder object for the presentation order of the List -- see the ExplicitOrder topic in the E-Basic Help facility (thanks go to Alison Lauer at PST Web Support for showing me this). 2) If your randomized array contains actual stimulus information, then you could use it in inline code to explicitly set attributes that get used in your stimulus object. E.g., if ImageFiles contains a randomized array of image file names for each trial, and iTrial keeps track of the trial number, then you could use c.SetAttribute "ImageFile", ImageFiles( iTrial ) and then use [ImageFile] as an attribute reference for the file name in an ImageDisplay object. 3) Again, if your randomized array contains actual stimulus information, then you could populate a List directly from inline code and then run the List as an ordinary object in the program structure. The "NoRepeats" examples available from PST provide some example of how to do that (but beware, PST examples generally also exhibit poor programming practices), or better, just set any List to Load Method Script and then look at the generated E-Basic code to see how it's done (note that List.AddAttrib does not appear in the List topic of the E-Basic Help, but instead appears under FactorSpace.AddAttrib). One style note, I am loathe to use inline code to modify a "main" List (i.e., one that runs Procedures), because it leaves no clue to the reader that the List they see in the structure is not the List that will run at run-time. Instead, I prefer to modify a nested List, which, the way I do it, leaves a "?" in place of the List, thereby warning readers to look at the code to see what that List will do. Just one of many ways in which my programming practices depart from those of PST. -- David McFarlane, Professional Faultfinder At 5/10/2011 11:06 PM Tuesday, you wrote: >Hi all > >Here is my situation: > >I want to present shapes paired with sounds, first shape, then sound, >in three different blocks. > >In each block, there are 16 shape-sound trials: 12 common sounds and 4 >oddball sounds. > >In one block, the same shape always predicts the same sound, so there >are 12 common shapes, 4 oddball shapes. >In another block, there is an "error" 25% of the time. So there are 6 >oddball shapes (3 before the the oddball sounds, 3 before the common >sound) and 10 common shapes (1 before the oddball shape, 9 before the >common shapes) >In a third block, it is random which shape predicts which sound, so >there are 6 of one shape before common sounds and 2 before oddball >sounds, and the same is true of the other. > >I have some constraints I'd like to satisfy. I'd like the oddball >sounds to be dispersed so that one occurs in each quarter of the 16 >trials. I probably have some others but I don't think that's >important for my current question. > >I can write code just fine to generate two arrays that create a >constraint-satisfying pseudorandom order for my shapes and noises, >calling one arrShape and populating it with 1's and 2's, and the other >arrNoise and populating it with 1's and 2's. I more or less already >have. > >What I can't figure out: having specified that order, how do I assign >a shape to be 1, 2 and a noise to be 1,2, and where would I put the >order I generated to control the display of my shapes and noises? > >If what I needed to do was select a random shape with a particular >characteristic on each trial, I would know how to do that with nested >lists. But that's not what I need. I need to select a shape randomly >from a list somewhere, designate it shape 1 (the same for sound 1, >shape 2, sound 2) and have that identity be consistent on each trial >through the block. I also have some constraints about which two >shapes get paired together, so I need to be able to place some limits >on the selection of the second shape. I need to generate the order >for the presentation of shape 1, sound 1, etc. (I already know how to >generate a constraint-satisfying pseudorandom order) , and use that >order to govern their presentation through the 16 trials. Then, those >shapes/sounds having been selected, I need them not to be used again >in subsequent blocks. > >I am perfectly willing to code -- I just need some help with overall >approach, how to integrate code with the various E-Prime objects, >etc. I would understand how to do this if it were a programming task >in a regular language -- what I don't understand is how to integrate >it in with the prefab E-Prime objects. > >I would appreciate any help. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From bsmith.lap at gmail.com Mon May 16 21:05:44 2011 From: bsmith.lap at gmail.com (Benjamin) Date: Mon, 16 May 2011 14:05:44 -0700 Subject: Crashing when playing sound files in version 74 In-Reply-To: Message-ID: I forgot to run the codec config. But if anyone has any thoughts about version 90, I'd love to hear them. On May 9, 1:28?pm, Hank Jedema wrote: > Hi Brian, > > There was a known issue with the sound in version 79, which was > remedied in the current version (2.08.90) that is available for > download on the website. > > Hank > > On May 6, 12:38?pm, Benjamin wrote: > > > > > > > > > An experiment I wrote in version 22 crashes when run in version 74, > > when it tries to play sound files. ?There is no problem when run in > > version 22. ?Do other people have this problem? ?Were these kinds of > > sound issues fixed in version 90? ?Both computers are running XP. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From bsmith.lap at gmail.com Mon May 16 21:14:11 2011 From: bsmith.lap at gmail.com (Benjamin) Date: Mon, 16 May 2011 14:14:11 -0700 Subject: Floor function Message-ID: Is there an elegant way to perform Floor and Ceiling functions in script? I tried Floor( myDoubleNumber ) and Math.Floor( myDoubleNumber ) but got Unknown Function errors both times. The manuals and PST web site have nothing, as far as I can tell. I ended up hacking up a solution using the mod operator "\", but it seems like there should be a better way. The mod solution would be particularly annoying for a ceiling function. Did I forget to install or configure something again? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Tue May 17 10:38:10 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 17 May 2011 11:38:10 +0100 Subject: Controlling cursor speed when using a joystick In-Reply-To: <9d42923d-ac1b-4667-9df1-e11852cc36f1@32g2000vbe.googlegroups.com> Message-ID: Hi Erin and David, First thing: when I suggested looking around for a programme that could adjust the joystick sensitivity, I did not only mean windows settings in control pad. What kind of joystick are we talking about? A number of them come with native (but not necessarily required) applications that adjust sensitivity, and there are bound to be third-party programmes out there that do it for you, courtesy of the numerous coding gamers. I'd suggest not immediately giving up after having looked at the control panel. Second, I was wondering whether my suggestion of extracting angle and amplitude from joystick manoeuvres was understood. As joysticks tend to have a round interface, rather than (like a screen) a rectangular one, it is useful to remember that, in essence, a cursor position in joy-stick terms, of 0,0 (upper left corner) in one stroke, should not be possible. For this reason, as well as for the essential other differences with mice, I think it makes much less sense than one might first think to let the joystick have anything to do with a mouse. If memory serves, the new E-Prime (perhaps even the old one), comes with the possibility of extracting joystick data independent from mouse, and I think it makes a lot of sense to only /set/ the mouse cursor position (i.e. a mere graphic), rather than in any way /get/ it. One thus ought to move it by using angle and amplitude (this requires some basic trigonometry which I generally have to look up again and again), or merely angle, if you have a more classic one. So: "Anyone have any ideas of how to make the joystick only "push" the cursor forward in E-Prime, and not "pull" it back when the joystick is moved back towards center?" Well, if (previous amplitude > current amplitude) then move, otherwise don't. Sorry, I had a more articulate suggestion here, based on David's code below, but I'll leave that for another day, if you don't mind. Best, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Erin Sent: 13 May 2011 21:07 To: E-Prime Subject: Re: Controlling cursor speed when using a joystick Thank you for the pointers. I had already tried slowing down the cursor speed in windows. This successfully slows down the mouse cursor speed within E-Prime, but has no effect on the joystick. There are not similar controls for joystick sensitivity in the game controller section of the Windows control panel. So, I did more testing of the joystick in E-Prime. Turns out, the cursor is "stuck" to the joystick even without David's code. His code just slowed down the cursor enough that the effect was much more noticeable. Before, the cursor was so sensitive that only very small joystick moments were needed to move the cursor and make an image selection, and the "backtracking" behavior was less apparent. (The experiment is set up to re-center the cursor on every trial, also making it less obvious). So, when the cursor speed is slowed, the range of the cursor is very diminished when using the joystick- you can't even reach the edge of the screen with the cursor (which is obviously a problem). Anyone have any ideas of how to make the joystick only "push" the cursor forward in E-Prime, and not "pull" it back when the joystick is moved back towards center? Erin On May 13, 4:34?am, Michiel Spape wrote: > Hiya, > Two points here: > - For one, I'd suggest just going a bit higher into Windows and setting the mouse and/or joystick sensitivity. I remember this was quite common in Win98 or something like that, but it seems to be missing in Windows XP. Nevertheless, I very much doubt you won't be able to find a little programme that sets the cursor and/or mouse sensitivity to a lower resolution. All in all, that would be a lot easier for your purposes. > - Second, it seems to me that the main issue with joystick vs mouse is the joystick being centred at a certain position. I think - but could be mistaken? - that in order to do this, you might want to change the script so that the X0, Y0 are not overwritten, but rather that you change the cursor position by the deviation with the beginning of the trial. So, if the cursor is at pixel 320,240 in the beginning (i.e. centre at 640x480 resolution), then at next polling the cursor is at 321,240 (1 pixel to the right), the cursor should (as it does currently) move one pixel to the right. However, at the polling after that, given that the subject didn't move the joystick (i.e. polling says it's the same as previous polling), then the difference of 1,0 related to the *startposition* should still cause it to move 1 more to the right (i.e. 322,240). I'm terrible at messing with someone else's code, but if you understand what I'm saying, this shouldn't be too hard to implement (just keep comparing to the start position, rather than the previous position). More hardcore, by the way, and likely better (given that most joysticks tend to be round, rather than square) would be to calculate the angle and amplitude of the joystick, then move the cursor with that information. > > Hope that helps, > Mich > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of David McFarlane > Sent: 12 May 2011 20:38 > To: e-prime at googlegroups.com > Subject: Re: Controlling cursor speed when using a joystick > > Just thinking through this a bit further, if we knew exactly what > data the joystick sent to the PC, and where (e.g., what I/O port) > that data appeared, then in principle we could write code to affect > the cursor in whatever way we wish. ?But at the moment we lack that > technical information. > > -- David McFarlane, Professional Faultfinder > > At 5/12/2011 03:34 PM Thursday, you wrote: > >Erin, > > >Thanks for testing that out, and posting back so quickly. ?I don't > >have any joystick myself, so I don't think I can help any > >further. ?I would not have expected your result, clearly the > >joystick does not simply emulate the mouse otherwise it would just > >work (and in that case you would not need a code solution in the > >first place). ?Is there a separate Windows "control panel" for the > >joystick that you can use to control its settings? ?Other than that, > >if it were me I might try another joystick, or start Googling around > >for more technical background on joysticks in general and then use > >that knowledge to devise a solution. > > >Good luck, > >-- David McFarlane, Professional Faultfinder > > >>hi David, > >>Matt was the one helping me. > > >>Thank you very much for the sample code! ?I tried it out, and it does > >>change how the cursor moves. ?For the mouse, it slows it down quite > >>perfectly. ?For the joystick, it also slows down, but there is an > >>interesting effect. The mouse cursor is basically "stuck" to the > >>joystick. ?Normally, when you move the joystick left, the cursor > >>continues to move left, even when the joystick handle is held in a > >>constant left position. ?With your modification, the mouse cursor > >>moves only when you move the joystick. ?So, the cursor will move left > >>as you move the joystick left, but when you stop the joystick, it > >>stops. ?And, when you let the joystick go back to it's resting > >>position, the cursor actually backtracks back to it's original > >>position. ?This is an interesting feature, but not what will work for > >>my particular application. (However, I'm sure it's exactly what > >>someone else might need). ?It would be absolutely perfect if the > >>cursor could be "unstuck" ?from the joystick, so that the joystick > >>just directs the cursor to move forward in whatever direction the > >>joystick is pointed. ?Any suggestions? ?Again, thank you so much! > > >>Erin > > >>On May 12, 1:58 pm, David McFarlane wrote: > >> > Erin, > > >> > Thanks for posting the full information from PST, that helped (can > >> > you let us know which staff member helped you?). ?I might have come > >> > up with the Mouse.SetCursorPos approach myself, but not the > >> > Mouse.SetCursorLimits approach, that approach seems a little wacky to > >> > me but what do I know?. > > >> > As for Mouse.SetCursorPos, this posed a nice little puzzle, so I > >> > knocked out a quick demo, and here is the inline that I came up > >> > with. ?(Just to have a mouse click to respond to, I preceded the > >> > inline with a TextDisplay called StimText, set to Duration of 0 and > >> > mouse with Time Limit of (infinite)): > > >> > /----------------------------------------------------------------------\ > >> > ' Code to modify the rate of mouse movement. > > >> > Const ?LoopDelay as Long = 0 > >> > Const ?CursorMoveFactor as Single = 0.5 > > >> > Dim ?x0 as Long, y0 as Long > >> > Dim ?x1 as Long, y1 as Long > > >> > Mouse.GetCursorPos x0, y0 ?' initialize > >> > Do While (StimText.RT = 0) ?' replace this with your exit condition > >> > ? ? ?Mouse.GetCursorPos x1, y1 > >> > ? ? ?x0 = x0 + (CursorMoveFactor * (x1 - x0)) > >> > ? ? ?y0 = y0 + (CursorMoveFactor * (y1 - y0)) > >> > ? ? ?Mouse.SetCursorPos x0, y0 > >> > ? ? ?Sleep LoopDelay > >> > Loop > >> > \----------------------------------------------------------------------/ > > >> > I expected to find some cursor movement artifacts, but it really > >> > worked rather smoothly. ?As you can see, I didn't even really need > >> > the LoopDelay, but I left it there just in case. > > >> > -- David McFarlane, Professional Faultfinder > > >> > At 5/12/2011 01:03 PM Thursday, you wrote: > > >> > >I want to control the speed the cursor moves when controlling it with > >> > >a joystick. ?I set the joystick to emulate the mouse in my experiment > >> > >(inline Joystick.AttachToMouseCursor = True). ?The joystick is quite > >> > >touchy, and causes the cursor to move very quickly across the screen. > >> > >For my experiment, I need the cursor to only move slowly, no matter > >> > >how much the joystick is moved. > > >> > >I tried decreasing the mouse sensitivity settings on my computer. > >> > >This slowed the cursor down when using the mouse within my experiment, > >> > >but had no effect on the joystick. ?I also tried increasing the > >> > >resolution display of my experiment (giving the cursor "further" to > >> > >travel)- also no effect. ?I have also tried adjusting the sensitivity > >> > >of my joystick, but the cursor is still too fast. > > >> > >E-Prime support suggested the following: "E-Prime does have some > >> > >limited options for positioning the mouse cursor and limiting its > >> > >boundaries. We could try to use a combination of the two to make the > >> > >mouse cursor move more slowly. However, this would require significant > >> > >scripting and could result in the cursor movement not being smooth" > > >> > >My main question: Is anyone aware of a simpler way of controlling the > >> > >cursor speed in E-Prime? > > >> > >If not, here is further information on this method: > > >> > >E-Prime help suggested the following: > >> > >"I would recommend taking a look at the MouseDevice.SetCursorLimits > >> > >and MouseDevice.SetCursorPos topics in the E-Basic Help (accessed via > >> > >the Help menu). The former will allow you to specify boundaries for > >> > >the cursor, and the latter will allow you to position the mouse cursor > >> > >in a specific area. You could use a combination of the two to first > >> > >limit the movement of the cursor so that it does not immediately move > >> > >to one edge of the screen, and then use SetCursorPos to move the > >> > >cursor move slowly. You could also slowly expand the cursor limits as > >> > >the cursor hits the maximum in one direction. This would allow you to > >> > >give the appearance of the cursor moving more slowly. To do this, you > >> > >would have a loop that continuously checks the cursor position against > >> > >the limits that are set, and expand the limits in one direction as the > >> > >cursor hits that limit. This would require significant scripting and > >> > >could result in the cursor movement not being smooth." > > >> > >I took a look at the MouseDevice.SetCursorLimits and > >> > >MouseDevice.SetCursorPos help, and I understand how this would work in > >> > >theory. ?However, I am very new to programming, and I am afraid that > >> > >the scripting involved is a bit over my head. ?If anyone can offer any > >> > >advice or pointers, it 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. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. ? Please do not use, copy or disclose the information contained in this message or in any attachment. ?Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own > > ... > > read more ? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From bsmith.lap at gmail.com Tue May 17 15:22:37 2011 From: bsmith.lap at gmail.com (Benjamin) Date: Tue, 17 May 2011 08:22:37 -0700 Subject: Floor function In-Reply-To: <79c500cc-eff8-460a-bef0-c8c3974c0c5f@cu4g2000vbb.googlegroups.com> Message-ID: The correct floor function is Fix(), which fixes the number the way you might fix a dog. Note that if your dog is negative, Fix() will round him "up" towards zero. Note that there is no ceiling function built into Visual Basic. Note that Google does not understand the difference between Visual Basic and .NET. Note that Susan G. Campbell, PhD does. On May 16, 5:14?pm, Benjamin wrote: > Is there an elegant way to perform Floor and Ceiling functions in > script? ?I tried Floor( myDoubleNumber ) and > Math.Floor( myDoubleNumber ) but got Unknown Function errors both > times. ?The manuals and PST web site have nothing, as far as I can > tell. > > I ended up hacking up a solution using the mod operator "\", but it > seems like there should be a better way. ?The mod solution would be > particularly annoying for a ceiling function. > > Did I forget to install or configure something again? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 17 16:36:48 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 17 May 2011 12:36:48 -0400 Subject: Mastering E-Prime: Rounding, truncation, floor, ceil Message-ID: E-Prime (i.e., VBA) has no functions named "trunc()", "floor()", or "ceil()", but as a point of reference we recognize the following standard definitions: - trunc(x) = integer part of x, i.e., x rounded toward 0. Note that, e.g., trunc(2.1) = 2, and trunc(-2.1) = -2. - floor(x) = nearest integer less than or equal to x. Note that, e.g., floor(2.1) = 2, while floor(-2.1) = -3. - ceil(x) = nearest integer greater than or equal to x. Note that, e.g., ceil(2.1) = 3, while ceil(-2.1) = -2. Now, E-Prime does provide the following: - Fix(x) "returns the integer part of x", i.e., it simply truncates x (trunc(x)), i.e., it rounds toward 0. - Int(x) "returns the integer part of a given value by returning the first integer less than the number", i.e., does a floor(x). (Yes, PST's using "integer part" in both descriptions does confuse things.) - CInt(x) returns an integer for the round value of x (using "bankers'" or "scientific" rounding, where values ending in .5 get rounded to the the nearest even integer). - CLng(x) does the same as CInt(x) but returns a Long. - Format$(x) returns a String (or, Format(x) a String Variant) of x according to an optional format specifier string, and may round x (using "bankers'" or "scientific" rounding). - x\y does integer division after first rounding the arguments (using "bankers'" or "scientific" rounding), i.e., (x\y) = Fix( CInt(x) / CInt(y) ). Using these, we may implement ceil(x) with -Int(-x). -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue May 17 16:40:48 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 17 May 2011 12:40:48 -0400 Subject: Floor function In-Reply-To: <3207290d-959c-4c3a-9a91-77a2ef6c1ba7@k17g2000vbn.googlegro ups.com> Message-ID: You beat me to it. Still, I went ahead and posted a "Mastering E-Prime" article to more fully cover this (see http://groups.google.com/group/e-prime/browse_thread/thread/71182af63ddc1402 ), based on some notes I started last year and finished up today prodded by your question (you may also see someone else's earlier attempt at this at http://support.pstnet.com/forum/Topic4424-5-1.aspx?Highlight=floor ). Perhaps it will help someone else in the future. -- David McFarlane, Professional Faultfinder At 5/17/2011 11:22 AM Tuesday, Benjamin wrote: >The correct floor function is Fix(), which fixes the number the way >you might fix a dog. > >Note that if your dog is negative, Fix() will round him "up" towards >zero. >Note that there is no ceiling function built into Visual Basic. >Note that Google does not understand the difference between Visual >Basic and .NET. >Note that Susan G. Campbell, PhD does. > >On May 16, 5:14 pm, Benjamin wrote: > > Is there an elegant way to perform Floor and Ceiling functions in > > script? I tried Floor( myDoubleNumber ) and > > Math.Floor( myDoubleNumber ) but got Unknown Function errors both > > times. The manuals and PST web site have nothing, as far as I can > > tell. > > > > I ended up hacking up a solution using the mod operator "\", but it > > seems like there should be a better way. The mod solution would be > > particularly annoying for a ceiling function. > > > > Did I forget to install or configure something again? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 Wed May 18 14:48:43 2011 From: erin.siebert at gmail.com (Erin) Date: Wed, 18 May 2011 07:48:43 -0700 Subject: changing/customizing mouse cursor appearance Message-ID: Hi all, I am trying to figure out how to change the appearance of the mouse cursor in E-Prime. In the E-Basic help, the MouseDevice.Cursor topic lists the standard cursors available in E-Prime (you can change the cursor using inline "Mouse.Cursor = (1-13)"). However, the options are quite limited. I want to set my own image as the cursor (in my case, a small white circle). Does anyone know of a way to set a small .bmp or .jpg file to appear as the cursor? 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 tobias.fw at gmail.com Wed May 18 15:04:40 2011 From: tobias.fw at gmail.com (Tobias) Date: Wed, 18 May 2011 08:04:40 -0700 Subject: use input as a variable Message-ID: Hi there! I want to use the keyboard input from a slide as a variable. Usually, it is only available as an attribute. For example, if the slide is called "Respond", the input during that slide would be available as Respond.RESP. I can then use it in code like this: "if c.getattrib("Respond.RESP") = x then ...." and so on. It is however much handier to have it as a variable. Any idea how to realise that? Best, Tobias -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Wed May 18 15:46:40 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Wed, 18 May 2011 16:46:40 +0100 Subject: changing/customizing mouse cursor appearance In-Reply-To: <533c13d2-1666-4859-b2ea-41556e5886cf@r33g2000prh.googlegroups.com> Message-ID: Hiya, 1) You might just be able to change your cursor settings in windows (download and find), I'd be surprised if E-Prime actually copied these. 2) You can hide the cursor and insert a BMP over it. For example, if you have a procedure: 1. Label1 2. Slide with bmp of your face, positioned at X: [Xpos], Y: [Ypos], duration 10 ms with vsync on. 3. Inline: Dim x1 as integer, y1 as integer Mouse.GetCursorPos x1, y1 c.SetAttrib "Xpos", x1 c.SetAttrib "Ypos", y1 goto Label1 Should work. Best, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Erin Sent: 18 May 2011 15:49 To: E-Prime Subject: changing/customizing mouse cursor appearance Hi all, I am trying to figure out how to change the appearance of the mouse cursor in E-Prime. In the E-Basic help, the MouseDevice.Cursor topic lists the standard cursors available in E-Prime (you can change the cursor using inline "Mouse.Cursor = (1-13)"). However, the options are quite limited. I want to set my own image as the cursor (in my case, a small white circle). Does anyone know of a way to set a small .bmp or .jpg file to appear as the cursor? 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. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From pfc.groot at gmail.com Wed May 18 20:45:23 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Wed, 18 May 2011 22:45:23 +0200 Subject: use input as a variable In-Reply-To: Message-ID: Hi Tobias, EPrime will always offer the RESP value (and others) as build-in member variables of the corresponding e-object (such as a slide). In fact, the values of those variables are copied to attributes if you turn on the log setting. In that case eprime will add lines like this: c.SetAttrib "Respond.RESP", Respond.RESP cheers Paul 2011/5/18 Tobias : > Hi there! > > I want to use the keyboard input from a slide as a variable. Usually, > it is only available as an attribute. For example, if the slide is > called "Respond", the input during that slide would be available as > Respond.RESP. I can then use it in code like this: "if > c.getattrib("Respond.RESP") = x then ...." and so on. It is however > much handier to have it as a variable. Any idea how to realise that? > > Best, > Tobias > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. > > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From adeline.paignon at univ-savoie.fr Thu May 19 09:42:06 2011 From: adeline.paignon at univ-savoie.fr (Adeline) Date: Thu, 19 May 2011 02:42:06 -0700 Subject: select only one level in a list ? help Message-ID: Hi, (sorry for my english !!) I'm working on an experiment of artificial grammar. I use permutation to attribute 4 colors to 4 circles (having all possibles combinaisons) but I don't know how to select only one combinaison. I have my 24 combinaisons in List1 at the beggining of the experiment, and I want to select one line according to the number entered by the experimentateur. I want this number to be entered like subject , session etc .. Does anyone could help me ? Thanks Adeline -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 19 15:39:24 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 19 May 2011 11:39:24 -0400 Subject: select only one level in a list ? help In-Reply-To: <73f93b0e-f5aa-492f-a22c-1747df3c3a68@28g2000yqu.googlegrou ps.com> Message-ID: Adeline, Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... Indeed, this is the purpose of Counterbalance in the Order field of the Selection tab of any List. You might learn a bit more about this from either the User's Guide or the Reference Guide that came with E-Prime, or my own short write ups found at http://groups.google.com/group/e-prime/browse_thread/thread/26d2e1e83c6a09bb and http://groups.google.com/group/e-prime/browse_thread/thread/879ed88851b5267 . -- David McFarlane, Professional Faultfinder >Hi, (sorry for my english !!) >I'm working on an experiment of artificial grammar. I use permutation >to attribute 4 colors to 4 circles (having all possibles combinaisons) >but I don't know how to select only one combinaison. >I have my 24 combinaisons in List1 at the beggining of the experiment, >and I want to select one line according to the number entered by the >experimentateur. I want this number to be entered like subject , >session etc .. >Does anyone could help me ? >Thanks >Adeline -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 19 15:56:14 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 19 May 2011 11:56:14 -0400 Subject: use input as a variable In-Reply-To: Message-ID: Tobias, At 5/18/2011 11:04 AM Wednesday, you wrote: >I want to use the keyboard input from a slide as a variable. Usually, >it is only available as an attribute. Just to make sure this is clear, this statement is incorrect. In fact, it is just the other way around -- usually, response information is available only as a variable (or more properly speaking, as a property of an object variable). As Paul Groot has already explained, response information becomes available as attributes only when logging of that information has been set, or when you add inline to do so explicitly, e.g., c.SetAttrib "Respond.RESP", Respond.RESP. >For example, if the slide is >called "Respond", the input during that slide would be available as >Respond.RESP. I can then use it in code like this: "if >c.getattrib("Respond.RESP") = x then ...." and so on. It is however >much handier to have it as a variable. Any idea how to realise that? So, if you have a stimulus object called, say, StimSlide, and have attached an input mask to StimSlide, then response data will automatically be available as properties of the StimSlide object variable, e.g., StimSlide.RESP, StimSlide.RT, etc. You need do nothing more. And in that case, you could implement your example code simply with If (StimSlide.RESP = x) Then .... etc. -- i.e., same as before, just strip out the surrounding c.GetAttrib("..."). If you then also want those properties available as attributes, you need to enable logging for the desired properties or add inline code as indicated above. -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mpaffel at gmail.com Fri May 20 17:12:20 2011 From: mpaffel at gmail.com (Matt Paffel) Date: Fri, 20 May 2011 10:12:20 -0700 Subject: E-DataAid crashing Message-ID: Hi All E-DataAid has been crashing when opening files. However, it doesn?t happen with every file I try to open. When I try to open the files on XP, I get the error message: "E- DataAid has encountered a problem and needs to close." When I try to open the files on Win 7, I get the error message: "E- DataAid application has stopped working." Has anyone ever experienced this? If so, can the problem be remedied? E-Prime version: 2.0.8.79 -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 20 17:56:03 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Fri, 20 May 2011 13:56:03 -0400 Subject: E-DataAid crashing In-Reply-To: <97c537ae-ffa3-464c-b232-1b9c1ca02c33@x6g2000yqj.googlegrou ps.com> Message-ID: Matt, Have you asked PST Web Support (http://support.pstnet.com/e%2Dprime/support/login.asp )? I would try that first. Also, latest release of EP2 is 2.0.8.90, so you might also try updating. -- David McFarlane, Professional Faultfinder >E-DataAid has been crashing when opening files. However, it doesn't >happen with every file I try to open. > >When I try to open the files on XP, I get the error message: "E- >DataAid has encountered a problem and needs to close." > >When I try to open the files on Win 7, I get the error message: "E- >DataAid application has stopped working." > >Has anyone ever experienced this? If so, can the problem be remedied? > >E-Prime version: 2.0.8.79 -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mpaffel at gmail.com Fri May 20 18:12:08 2011 From: mpaffel at gmail.com (Matt Paffel) Date: Fri, 20 May 2011 11:12:08 -0700 Subject: E-DataAid crashing In-Reply-To: <4dd6ab3d.44ac2a0a.53a7.5b43SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hi David, I sent PST a support request but I was hoping one of you E-Prime gurus here had some insight so I don't have to wait two weeks for a reply (not meant as a dis to PST, just impatient). Also, thanks for the heads up concerning .90. On May 20, 12:56?pm, David McFarlane wrote: > Matt, > > Have you asked PST Web Support > (http://support.pstnet.com/e%2Dprime/support/login.asp)? ?I would > try that first. > > Also, latest release of EP2 is 2.0.8.90, so you might also try updating. > > -- David McFarlane, Professional Faultfinder > > > > >E-DataAid has been crashing when opening files. However, it doesn't > >happen with every file I try to open. > > >When I try to open the files on XP, I get the error message: "E- > >DataAid has encountered a problem and needs to close." > > >When I try to open the files on Win 7, I get the error message: "E- > >DataAid application has stopped working." > > >Has anyone ever experienced this? If so, can the problem be remedied? > > >E-Prime version: 2.0.8.79- Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From nusphd at gmail.com Sat May 21 08:52:19 2011 From: nusphd at gmail.com (Lidia Suarez) Date: Sat, 21 May 2011 16:52:19 +0800 Subject: Crashing when playing sound files in version 74 In-Reply-To: Message-ID: Hi, Below the response PST gave me regarding crashes. I posted it some time ago: Next, here is what you should know about running E-Prime 2.0 and 1.x on Vista and 7 machines. This article provides more details on running 1.x on Vista/7 machines: INFO: E-Prime 1.x Support for Windows Vista. Until formal timing tests can be performed on a number of Windows Vista machines running E-Prime, PST encourages the use of E-Prime and Windows Vista only for design and testing purposes. Subject stations that are collecting data should be directed to Windows XP and Windows 2000 machines. I suggest that you keep using E-Prime 2.0 because the only version of E-Prime that has been tested and verified on Vista/7 machines is version 2.0.8.90. While PST has not officially published timing results for Windows 7, E-Prime 2.0.8.90 and later versions have been approved for Windows 7 x86/x64, Windows Vista SP2 x86/x64, and Windows XP SP3 x86 with the exception of Windows 7 or Vista paradigms that require sound startup latency values of less than 30ms. We have delayed publishing the timing results while we continue to work on consistent audio timing. PST is currently verifying a variety of sound drivers and recommends the use of Windows XP for experiments with sound related timing until further notice. PST intends to provide a more formal statement about Windows 7 shortly. Please check this article for updates: INFO: Windows 7 support in E-Prime. All of this said, I was able to run your experiment without any crashing on a Windows 7 machine. This leads me to believe that you can make some changes to your computer that should stop the crashes. Here are some steps to try: 1) Ensure that you have the latest version of E-Prime, which is 2.0.8.90. You can verify this by opening E-Studio and going to Help - About E-Studio. If you want to download the latest version, you can access the download via the Download/E-Prime/E-Prime 2.0 Release Candidate links to the left. Make sure that you download and install the version that matches the license you purchased (i.e., E-Prime 2.0 Standard or E-Prime 2.0 Professional). 2) Please use CodecConfig to check the codecs on your computer. This article contains instructions on this as well as links to codecs you may want to download and install: FEATURE: CodecConfig provides ability to choose codecs used for Movie and Sound rendering . 3) Disable or shutdown any background applications that may be causing a conflict. Here is an article with more information on that: INFO: How to use MSCONFIG to troubleshoot machine configuration and reduce background applications . 4) If the crashing continues, please send me a Tech Support Report so I can gather more information on your computer. Here is how to do this: INFO: How to send a tech support report to PST representatives . -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send 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 May 23 08:55:22 2011 From: d.vinson at ucl.ac.uk (David Vinson) Date: Mon, 23 May 2011 09:55:22 +0100 Subject: E-DataAid crashing In-Reply-To: <97c537ae-ffa3-464c-b232-1b9c1ca02c33@x6g2000yqj.googlegroups.com> Message-ID: Hi Matt, Do you have any special characters in your problematic files (such as letters with umlauts, Japanese/Mandarin/Hebrew text, etc)? These seem to cause various problems for E-DataAid. In which case (if you can open the file in any way) you can export to text, replace the problematic characters & save, then import. If you cannot open the data file at all, you might try a handy trick that was posted to the group recently - change the file extension from .edat2 to .edat then try opening it with E-DataAid v1 (assuming you have access to version 1.x). cheers, David (the other one). On 20/05/2011 18:12, Matt Paffel wrote: > Hi All > > E-DataAid has been crashing when opening files. However, it doesn?t > happen with every file I try to open. > > When I try to open the files on XP, I get the error message: "E- > DataAid has encountered a problem and needs to close." > > When I try to open the files on Win 7, I get the error message: "E- > DataAid application has stopped working." > > Has anyone ever experienced this? If so, can the problem be remedied? > > E-Prime version: 2.0.8.79 > -- 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 Mon May 23 13:21:42 2011 From: d.vinson at ucl.ac.uk (David Vinson) Date: Mon, 23 May 2011 14:21:42 +0100 Subject: stopping video playback beyond Duration (response contingent)? Message-ID: Hello, I have been wrestling with a MovieDisplay problem and wonder if anyone on the list has any ideas. A simplified version of my trial sequence can be described like this: time 0: MovieDisplay begins time 600: ImageDisplay begins while movie continues time 2500: end of typical video (range 2000-3100). Keypress can occur at any time during or after this sequence. Feedback on accuracy occurs after the response has been made. My current design starts with a MovieDisplay: keypress response, duration/time limit = 600, stop after = no and end action = terminate. If MovieDisplay.RT > 0 the ImageDisplay is skipped, otherwise it's displayed with duration = infinite (waits forever for a keyboard response). I log variables for the ImageDisplay and use inline code to update the logged variables for MovieDisplay as well. Then feedback occurs based on MovieDisplay.ACC. The problem is that often feedback doesn't appear (it's actually being displayed behind the video which continues until it is finished - video always takes display priority). Is there any way to stop the video once a keypress to MovieDisplay or ImageDisplay is recorded? I've tried various ways to deal with this (eg setting Durations to 0 and using inline code to keep time) but have not figured out a way to pull the plug on a video. I have been able to make the feedback display visible, for example adding a long Wait object before the feedback, or increasing the duration of the feedback object, or displaying the feedback off center - but I'd prefer if participants didn't have to wait until the end of video clips if they have already made early responses. any ideas or suggestions would be very helpful! -- 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 Mon May 23 14:14:39 2011 From: d.vinson at ucl.ac.uk (David Vinson) Date: Mon, 23 May 2011 15:14:39 +0100 Subject: stopping video playback beyond Duration (response contingent)? In-Reply-To: <4DDA5F66.4030908@ucl.ac.uk> Message-ID: just a quick follow-up to note that some of my timing issues have been solved - I finally found some posts by David McFarlane that were very helpful with a design like mine. Using extended input to collect response data rather than piecing it together from multiple display objects: http://groups.google.com/group/e-prime/msg/e30fc88284d85e3c Using SetNextTargetOnsetTime to schedule upcoming events: http://groups.google.com/group/e-prime/msg/3f1b16b48a068f14 However i'm still looking for ideas about stopping a video in mid-play once its Duration has expired. cheers, David V > I have been wrestling with a MovieDisplay problem and wonder if anyone > on the list has any ideas. > > A simplified version of my trial sequence can be described like this: > > time 0: MovieDisplay begins > time 600: ImageDisplay begins while movie continues > time 2500: end of typical video (range 2000-3100). > Keypress can occur at any time during or after this sequence. > > Feedback on accuracy occurs after the response has been made. > > My current design starts with a MovieDisplay: keypress response, > duration/time limit = 600, stop after = no and end action = terminate. > > If MovieDisplay.RT > 0 the ImageDisplay is skipped, otherwise it's > displayed with duration = infinite (waits forever for a keyboard > response). I log variables for the ImageDisplay and use inline code to > update the logged variables for MovieDisplay as well. > > Then feedback occurs based on MovieDisplay.ACC. The problem is that > often feedback doesn't appear (it's actually being displayed behind the > video which continues until it is finished - video always takes display > priority). > > Is there any way to stop the video once a keypress to MovieDisplay or > ImageDisplay is recorded? I've tried various ways to deal with this (eg > setting Durations to 0 and using inline code to keep time) but have not > figured out a way to pull the plug on a video. > > I have been able to make the feedback display visible, for example > adding a long Wait object before the feedback, or increasing the > duration of the feedback object, or displaying the feedback off center - > but I'd prefer if participants didn't have to wait until the end of > video clips if they have already made early responses. > > any ideas or suggestions would be very helpful! -- 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 Michiel.Spape at nottingham.ac.uk Mon May 23 15:55:35 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Mon, 23 May 2011 16:55:35 +0100 Subject: E-DataAid crashing In-Reply-To: <152c3f40-d262-462a-9cff-71dfe523b24c@l18g2000yql.googlegroups.com> Message-ID: Hiya, I always found E-DataAid to be exceptionally stable. Also, I'd be amazed if updating to any other E-Prime version will do anything - as far as I can see, the only thing that's different between 2.0x and EP1 in terms of e-dataAid is that it saves the same files with an added 2. These can be interchangeably opened, so one wonders what the great use of the 2 in the name is, there. My immediate thought would be there's something either wrong with your e-dataAid install (so reinstall), or the data-files themselves. I think the first step the people over at PST will want to sort out is whether there's a problem with your E-DataAid (presumably with its install then, perhaps missing .net components or whatnot), or whether your data-files are somehow corrupted. Have you checked yet whether anyone else can open them? Have you tried re-making the .edat files with E-Recovery? When exactly does E-DataAid crash anyway (during opening of files, during some analysis, &c.)? As a side note, does anyone else think e-Prime should, in this i-Age, change the name? I'm personally of the opinion that Me-Prime sounds better (although perhaps a bit too late, as YouTube, MySpace and YouGov have all lost that glossiness... Gee-Prime and /i/-Prime will probably end up to be rather costly). Best, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Matt Paffel Sent: 20 May 2011 19:12 To: E-Prime Subject: Re: E-DataAid crashing Hi David, I sent PST a support request but I was hoping one of you E-Prime gurus here had some insight so I don't have to wait two weeks for a reply (not meant as a dis to PST, just impatient). Also, thanks for the heads up concerning .90. On May 20, 12:56?pm, David McFarlane wrote: > Matt, > > Have you asked PST Web Support > (http://support.pstnet.com/e%2Dprime/support/login.asp)? ?I would > try that first. > > Also, latest release of EP2 is 2.0.8.90, so you might also try updating. > > -- David McFarlane, Professional Faultfinder > > > > >E-DataAid has been crashing when opening files. However, it doesn't > >happen with every file I try to open. > > >When I try to open the files on XP, I get the error message: "E- > >DataAid has encountered a problem and needs to close." > > >When I try to open the files on Win 7, I get the error message: "E- > >DataAid application has stopped working." > > >Has anyone ever experienced this? If so, can the problem be remedied? > > >E-Prime version: 2.0.8.79- Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From adeline.paignon at univ-savoie.fr Mon May 23 16:47:46 2011 From: adeline.paignon at univ-savoie.fr (Adeline) Date: Mon, 23 May 2011 09:47:46 -0700 Subject: select only one level in a list ? help In-Reply-To: <4dd539b5.44ac2a0a.53a7.2d49SMTPIN_ADDED@gmr-mx.google.com> Message-ID: thanks, as you said I find a solution in using this code Dim nLevel As Integer For nLevel = 1 To List1.Size If nLevel = c.GetAttrib("mynumpermutation") then List1.SetWeight nLevel, 1 else List1.SetWeight nLevel, 0 Next 'nLevel List1.Reset Thanks On 19 mai, 17:39, David McFarlane wrote: > Adeline, > > Stock reminder: ?1) I do not work for PST. ?2) PST's trained staff > takes any and all questions athttp://support.pstnet.com/e%2Dprime/support/login.asp, and they > strive to respond to all requests in 24-48 hours -- this is pretty > much their substitute for proper documentation, so make full use of > it. ?3) If you do get an answer from PST Web Support, please extend > the courtesy of posting their reply back here for the sake of others. > > That said, here is my take... > > Indeed, this is the purpose of Counterbalance in the Order field of > the Selection tab of any List. ?You might learn a bit more about this > from either the User's Guide or the Reference Guide that came with > E-Prime, or my own short write ups found athttp://groups.google.com/group/e-prime/browse_thread/thread/26d2e1e83... > andhttp://groups.google.com/group/e-prime/browse_thread/thread/879ed8885.... > > -- David McFarlane, Professional Faultfinder > > > > > > > > >Hi, (sorry for my english !!) > >I'm working on an experiment of artificial grammar. I use permutation > >to attribute 4 colors to 4 circles (having all possibles combinaisons) > >but I don't know how to select only one combinaison. > >I have my 24 combinaisons in List1 at the beggining of the experiment, > >and I want to select one line according to the number entered by the > >experimentateur. I want this number to be entered like subject , > >session etc .. > >Does anyone could help me ? > >Thanks > >Adeline -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From adeline.paignon at univ-savoie.fr Mon May 23 17:04:09 2011 From: adeline.paignon at univ-savoie.fr (Adeline) Date: Mon, 23 May 2011 10:04:09 -0700 Subject: sequentially read attributes entered on a unique line of a list Message-ID: Hi, I'm designing an experiment consisting of presentation of 4 squares.The 4 Square have to appear successively on the screen. (squares are defined in a line because they have to change their color) first square1 appear in a first location during 500 ms and disappear , after 200 ms the second square appear in a second location and so on. I entered my 4 locations in a List where my 4 locations are presented on the same line (loc_1; loc_2..). (After I will play with the number of square presented and the location) is it possible with eprime to "read" the attributes cell by cell in a list and not row by row ? I search for a code that permit to read sequentially the item(loc_) presented on a unique line ? Does anyone havea idea ? thanks for your help -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Mon May 23 18:20:34 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 23 May 2011 14:20:34 -0400 Subject: E-DataAid crashing In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92F6E114919@EXCHANGE3.ad.no ttingham.ac.uk> Message-ID: At 5/23/2011 11:55 AM Monday, Michiel Spape wrote: >As a side note, does anyone else think e-Prime should, in this >i-Age, change the name? I'm personally of the opinion that Me-Prime >sounds better (although perhaps a bit too late, as YouTube, MySpace >and YouGov have all lost that glossiness... Gee-Prime and /i/-Prime >will probably end up to be rather costly). As I recall, the name "E-Prime" was meant to evoke "Experiment-Prime", i.e., "Experiment'", somewhat in the fashion of Isaac Newton's notation for derivatives; and so "E-Prime" was meant to evoke a system that advances experiments to the next level. But I don't know where I read that, and I can't find a citation now. I was never fond of this affectation (just like I was never fond of PST calling experiment programs "paradigms", or calling VBA/E-Basic source code "script", etc.). But I understand the name, and in that sense I suppose E-Prime makes more sense than -Prime. Just my US$.02, -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Mon May 23 18:56:20 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 23 May 2011 14:56:20 -0400 Subject: select only one level in a list ? help In-Reply-To: Message-ID: Not the solution I had in mind, as it requires more code than the Counterbalance approach -- i.e., in the List property pages set the List Order to Counterbalance and Order By to whatever (e.g., Subject), then use inline code any time before List1 to override the Order By, e.g., Set List1.Deletion = PickOne(c.GetAttrib("mynumpermutation")) Admittedly, this is not officially documented, and you can only learn this sort of thing by looking at the generated source code and hacking with it. So your solution does the job just as well and I am glad that it works for you. It also, I admit, opens the way for other possibilities. Thanks for posting back with your solution, -- David McFarlane, Professional Faultfinder At 5/23/2011 12:47 PM Monday, you wrote: >thanks, >as you said I find a solution in using this code > >Dim nLevel As Integer >For nLevel = 1 To List1.Size > If nLevel = c.GetAttrib("mynumpermutation") then > List1.SetWeight nLevel, 1 > else List1.SetWeight nLevel, 0 >Next 'nLevel >List1.Reset > >Thanks > > >On 19 mai, 17:39, David McFarlane wrote: > > Adeline, > > > > Stock reminder: 1) I do not work for PST. 2) PST's trained staff > > takes any and all questions at > http://support.pstnet.com/e%2Dprime/support/login.asp , and they > > strive to respond to all requests in 24-48 hours -- this is pretty > > much their substitute for proper documentation, so make full use of > > it. 3) If you do get an answer from PST Web Support, please extend > > the courtesy of posting their reply back here for the sake of others. > > > > That said, here is my take... > > > > Indeed, this is the purpose of Counterbalance in the Order field of > > the Selection tab of any List. You might learn a bit more about this > > from either the User's Guide or the Reference Guide that came with > > E-Prime, or my own short write ups found at > http://groups.google.com/group/e-prime/browse_thread/thread/26d2e1e83 ... > > and > http://groups.google.com/group/e-prime/browse_thread/thread/879ed8885 .... > > > > -- David McFarlane, Professional Faultfinder > > > > > > >Hi, (sorry for my english !!) > > >I'm working on an experiment of artificial grammar. I use permutation > > >to attribute 4 colors to 4 circles (having all possibles combinaisons) > > >but I don't know how to select only one combinaison. > > >I have my 24 combinaisons in List1 at the beggining of the experiment, > > >and I want to select one line according to the number entered by the > > >experimentateur. I want this number to be entered like subject , > > >session etc .. > > >Does anyone could help me ? > > >Thanks > > >Adeline -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Mon May 23 19:02:36 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 23 May 2011 15:02:36 -0400 Subject: sequentially read attributes entered on a unique line of a list In-Reply-To: Message-ID: >is it possible with eprime to "read" the attributes cell by cell in >a list and not row by row ? Well, you might do that with some inline code. E.g., suppose you have a List with attributes for Square1, Square2, Square3, and Square4, then the following code would successively assign the value of each attribute to the single attribute "Square": Const nAttrib as Integer = 4 Dim i as Integer For i = 1 to nAttrib c.SetAttrib "Square", c.GetAttrib( "Square" & i ) ' more code to make use of this here... Next i The key is that attribute names are nothing more than strings, and you may construct them using ordinary string concatentation and other operations, then use the resulting name in a call to GetAttrib(). Another way to get at attributes one-by-one in a single row of a List is to put those values in a nested List from your main List, and then access the individual rows of the nested List using colon syntax. Just look up "colon syntax" in the index of the User's Guide that came with E-Prime. I am just addressing the academic "is it possible" question here, I am not sure that this will have any practical benefit for programming your particular task, but there you go. -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Mon May 23 19:17:52 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Mon, 23 May 2011 15:17:52 -0400 Subject: stopping video playback beyond Duration (response contingent)? In-Reply-To: <4DDA6BCF.5090001@ucl.ac.uk> Message-ID: David, Hmm, glad I helped with some solutions. I don't have time to explore the movie stopping issue myself just now, so let me just toss out some ideas for you to try. I would look for a MovieDisplay equivalent to the the Stop method of the SoundOut class (SoundOut.Stop) (or more precisely, the SoundBuffer class, SoundBuffer.Stop). This will take some sleuthing, as PST has yet to grace us with any documentation for Movies in the E-Basic Help facility. To that end, I would also submit a request posthaste to PST Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp -- this is after all pretty much their substitute for the documentation that they should provide in the first place, so don't be shy, PST seems to prefer to be liberal with their tech support and to document their stuff only on a "need to know" basis. And then please post back here with whatever you find. Thanks, -- David McFarlane, Professional Faultfinder At 5/23/2011 10:14 AM Monday, you wrote: >just a quick follow-up to note that some of my timing issues have >been solved - I finally found some posts by David McFarlane that >were very helpful with a design like mine. > >Using extended input to collect response data rather than piecing it >together from multiple display objects: >http://groups.google.com/group/e-prime/msg/e30fc88284d85e3c > >Using SetNextTargetOnsetTime to schedule upcoming events: >http://groups.google.com/group/e-prime/msg/3f1b16b48a068f14 > >However i'm still looking for ideas about stopping a video in >mid-play once its Duration has expired. > >cheers, >David V > > >>I have been wrestling with a MovieDisplay problem and wonder if anyone >>on the list has any ideas. >> >>A simplified version of my trial sequence can be described like this: >> >>time 0: MovieDisplay begins >>time 600: ImageDisplay begins while movie continues >>time 2500: end of typical video (range 2000-3100). >>Keypress can occur at any time during or after this sequence. >> >>Feedback on accuracy occurs after the response has been made. >> >>My current design starts with a MovieDisplay: keypress response, >>duration/time limit = 600, stop after = no and end action = terminate. >> >>If MovieDisplay.RT > 0 the ImageDisplay is skipped, otherwise it's >>displayed with duration = infinite (waits forever for a keyboard >>response). I log variables for the ImageDisplay and use inline code to >>update the logged variables for MovieDisplay as well. >> >>Then feedback occurs based on MovieDisplay.ACC. The problem is that >>often feedback doesn't appear (it's actually being displayed behind the >>video which continues until it is finished - video always takes display >>priority). >> >>Is there any way to stop the video once a keypress to MovieDisplay or >>ImageDisplay is recorded? I've tried various ways to deal with this (eg >>setting Durations to 0 and using inline code to keep time) but have not >>figured out a way to pull the plug on a video. >> >>I have been able to make the feedback display visible, for example >>adding a long Wait object before the feedback, or increasing the >>duration of the feedback object, or displaying the feedback off center - >>but I'd prefer if participants didn't have to wait until the end of >>video clips if they have already made early responses. >> >>any ideas or suggestions would be very helpful! > > >-- >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 ashtyster at gmail.com Tue May 24 09:26:11 2011 From: ashtyster at gmail.com (Ashtyster) Date: Tue, 24 May 2011 02:26:11 -0700 Subject: trying to get a response box (RB-730) from www.cedrus.com to work with e-prime 2.0 Message-ID: Hi! We're trying to get a response box (RB-730) from www.cedrus.com to work with e-prime 2.0 on a Windows XP 32bit machine. We've tried to reinstall both the e-prime srbox driver and the driver for the RB-730 response box. We have also used the guide on Cedrus' site to update the firmware and make the box compatible with e-prime (http://cedrus.com/support/rb_series/tn1047_eprime.htm), but we're still getting the following error message: Device Name: SRBOX Error: 0x00004a49 Message: 'Unable to open the SRBOX: 0x00000005 The program used for updating the firmware is called 'xidon'. Xidon is able to autodetect the response box and, when it's not switch to 'e-prime mode', it will also register the response. We've checked and made sure that the COM port is the same and 'Bit per second' is set to '19200' in both e-prime and Device Manager. Has anybody ever run into a similar problem? We would appreciate all your comments or suggestions. Thank you. A. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 24 20:17:58 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Tue, 24 May 2011 22:17:58 +0200 Subject: trying to get a response box (RB-730) from www.cedrus.com to work with e-prime 2.0 In-Reply-To: Message-ID: Hi A, Sounds like a driver problem as described in: http://community.cedrus.com/showthread.php?t=1226 So, you might have to double check the question mark icons under 'other devices' in the device manager. Best 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 ashtyster at gmail.com Wed May 25 08:26:37 2011 From: ashtyster at gmail.com (Ashtyster) Date: Wed, 25 May 2011 01:26:37 -0700 Subject: trying to get a response box (RB-730) from www.cedrus.com to work with e-prime 2.0 In-Reply-To: Message-ID: Hi Paul, thank you for your suggestion. I've checked, and I am quite certain this not a driver problem. It seems like e-prime just can't communicate with the box. Cheers, Ashtyster On May 24, 10:17?pm, Paul Groot wrote: > Hi A, > > Sounds like a driver problem ?as described in:http://community.cedrus.com/showthread.php?t=1226 > So, you might have to double check the question mark icons under > 'other devices' in the device manager. > > Best > 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 brenna.mrosenberg at gmail.com Wed May 25 17:54:46 2011 From: brenna.mrosenberg at gmail.com (Brenna R) Date: Wed, 25 May 2011 10:54:46 -0700 Subject: Exporting Eprime to an Eprime Naive Computer Message-ID: Hi all- My research group would like see if we can compile all the EPrime code (in v1) and export it into an eprime naive computer.. i.e one that does not have any Eprime software sans code to read and implement this Eprime script on it. I understand that you can install Eprime 1 on a computer and, without a key, still collect data. But is there a legally sound way to ship out an install package, say over e-mail or via download, that has the background software AND your code (and that's it)? From my experience with other standard engineering software packages, primarily Matlab and Labview, I know this is frequently an option for GUIs, DAQs, etc . Any help would be greatly appreciated. -B -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From 0702claudia at gmail.com Wed May 25 19:21:10 2011 From: 0702claudia at gmail.com (Claudia) Date: Wed, 25 May 2011 12:21:10 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key Message-ID: Hi, I am very new to e-prime and, after having spent hours pouring on the manuals, I have yet to find the solution to a likely elementary (!) matter: How do I make the software accept 1) that the space key is an "Allowed response", and 2) that absence of response is also an "Allowed response". My experiment is a visual recognition task in which my participants are supposed to press 'space bar' only if the target flashed on screen (i.e. a triangle) has been preceded by some specific stimuli, but not to press anything at all if the rule is not met. Thank you in advance for your help, Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From a.assfalg at googlemail.com Thu May 26 06:36:19 2011 From: a.assfalg at googlemail.com (Alexander) Date: Wed, 25 May 2011 23:36:19 -0700 Subject: multiple mouse reactions in one trial Message-ID: Hi all, I have little experience with eprime. I want to do an experiment in which four digits are presented simultaneous on the screen. These should be selected in ascending order with the mouse. For every mouse click the reaction time and the clicked off digit should be recorded. The digit already been selected should be hidden. The next trial with new digits should start only when all four digits have been clicked. For notes on how I can solve this in an easily way, I would be more than grateful. Best regards Alexander -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu May 26 08:51:20 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 26 May 2011 01:51:20 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key In-Reply-To: <9d18df45-2280-43c9-b3e8-8fc29b357282@s41g2000prb.googlegroups.com> Message-ID: Hi Claudia, this is indeed very elementary... did you also check the 'manual' called 'an e-primer'? It can be downloaded here: step.psy.cmu.edu/ materials/EPrimer.pdf I don't know it by heart but I daresay it should contain your answers and otherwise be helpful for you. As for the allowed response: this simply defines which buttons are being 'read' by e-prime. If a certain button is not defined response, one can press it however much they like, e-prime will not respond to it. To make the spacebar the only allowed response (no response is not a response, so you don't need to "allow" it) enter {SPACE} into the allowed responses field. However, the remaining of your question pertains not to how to set an allowed response but to how to set a correct response. To achieve what you want to achieve, make an attribute in your list that contains the correct response, call it "correctresp" or something the like. For trials in which space is the correct response give it value {SPACE}, for trials in which no response is the correct response give it value "" (two times ", nothing inbetween). Tell your slide that this attribute contains the correctresponse by entering [correctresp] into the correct response field of the slide. In order to make it possible that no response is given ("allow" no response, if you like...) give the slide a set duration (1000 ms for instance, instead of infinite) so that it always disappears after a given time (even if no response is made). You can keep the end action at terminate if you want the slide to disappear after space is pressed or set it to none of you want it to remain for the set duration even after spacebar is pressed. Best, liw On May 25, 9:21?pm, Claudia <0702clau... at gmail.com> wrote: > Hi, > > I am very new to e-prime and, after having spent hours pouring on the > manuals, I have yet to find the solution to a likely elementary (!) > matter: How do I make the software accept 1) that the space key is an > "Allowed response", and 2) that absence of response is also an > "Allowed response". My experiment is a visual recognition task in > which my participants are supposed to press 'space bar' only if the > target flashed on screen (i.e. a triangle) has been preceded by some > specific stimuli, but not to press anything at all if the rule is not > met. > > Thank you in advance for your help, > Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Thu May 26 09:02:41 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Thu, 26 May 2011 10:02:41 +0100 Subject: multiple mouse reactions in one trial In-Reply-To: <73b82945-0a5d-453c-9848-22a97946897f@c1g2000yqe.googlegroups.com> Message-ID: Hiya, The easy way would be to pay someone to code it for you! But, for anyone to help: - What is "little experience"? Have you read the entire getting started guide and/or additional material (linked before)? - Where do you get stuck? Best, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Alexander Sent: 26 May 2011 07:36 To: E-Prime Subject: multiple mouse reactions in one trial Hi all, I have little experience with eprime. I want to do an experiment in which four digits are presented simultaneous on the screen. These should be selected in ascending order with the mouse. For every mouse click the reaction time and the clicked off digit should be recorded. The digit already been selected should be hidden. The next trial with new digits should start only when all four digits have been clicked. For notes on how I can solve this in an easily way, I would be more than grateful. Best regards Alexander -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From 0702claudia at gmail.com Thu May 26 10:21:25 2011 From: 0702claudia at gmail.com (Claudia) Date: Thu, 26 May 2011 03:21:25 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key In-Reply-To: Message-ID: Thank you very much, liw! This was really helpful: the value "" was the one I could not figure out, and because of it the experiment would just stop every time I tried to run it. I will now try it again and also follow your other advices re. lack of response as "correct response". Thank you also for the link to the manual. Best, Claudia On May 26, 10:51?am, liwenna wrote: > Hi Claudia, > > this is indeed very elementary... did you also check the 'manual' > called 'an e-primer'? It can be downloaded here: step.psy.cmu.edu/ > materials/EPrimer.pdf > I don't know it by heart but I daresay it should contain your answers > and otherwise be helpful for you. > > As for the allowed response: this simply defines which buttons are > being 'read' by e-prime. If a certain button is not defined response, > one can press it however much they like, e-prime will not respond to > it. To make the spacebar the only allowed response (no response is not > a response, so you don't need to "allow" it) enter {SPACE} into the > allowed responses field. > > However, the remaining of your question pertains not to how to set an > allowed response but to how to set a correct response. To achieve what > you want to achieve, make an attribute in your list that contains the > correct response, call it "correctresp" or something the like. For > trials in which space is the correct response give it value {SPACE}, > for trials in which no response is the correct response give it value > "" (two times ", nothing inbetween). Tell your slide that this > attribute contains the correctresponse by entering [correctresp] into > the correct response field of the slide. In order to make it possible > that no response is given ("allow" no response, if you like...) give > the slide a set duration (1000 ms for instance, instead of infinite) > so that it always disappears after a given time (even if no response > is made). You can keep the end action at terminate if you want the > slide to disappear after space is pressed or set it to ?none of you > want it to remain for the set duration even after spacebar is pressed. > > Best, > > liw > > On May 25, 9:21?pm, Claudia <0702clau... at gmail.com> wrote: > > > Hi, > > > I am very new to e-prime and, after having spent hours pouring on the > > manuals, I have yet to find the solution to a likely elementary (!) > > matter: How do I make the software accept 1) that the space key is an > > "Allowed response", and 2) that absence of response is also an > > "Allowed response". My experiment is a visual recognition task in > > which my participants are supposed to press 'space bar' only if the > > target flashed on screen (i.e. a triangle) has been preceded by some > > specific stimuli, but not to press anything at all if the rule is not > > met. > > > Thank you in advance for your help, > > Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu May 26 10:21:41 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 26 May 2011 03:21:41 -0700 Subject: multiple mouse reactions in one trial In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92F6E114A75@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: hmmmz despite Michiels more educationally responsible answer I tried to conjure something up for you. I believe it's possible to record multiple responses during one show of a slide... but you can't alter the slide while it's being shown. You do want to change it (i.e. you want the clicked number to disappear) so therefore you'll have to change the slide after each response is given and then show it again. One could use different slidestates to show 'the same slide' with different appearances (i.e. a different number of text boxes) but.. you'd need 24 slidestates (4*3*2*1) while if I remember correctly, only 12 are allowed, so that's not really an option. What is? Use a slide with four textboxes... each textbox will contain one number, store the numbers in four attributes in a list (n1, n2, n3 or whatever you like) and tell the four textboxes to find their 'text' from these attributes by entering [n1], [n2], etc in the text fields. By default the textboxes will be named text1, text2, text3 etc, which is fine, you could change their names, doesn't really matter. Enable the mouse on the slide and set the end action to terminate, log the response time. On your trial procedure, directly after the slide place an inline containing this code: ******* If responsecount = 0 then c.setattrib "slidestarttime", SLIDENAME.OnsetTime 'tell the program which slide we are talking about Set theState = SLIDENAME.States("Default") 'Was there a response? If SLIDENAME.InputMasks.Responses.Count > 0 Then 'Get the mouse response Set theMouseResponseData = CMouseResponseData(SLIDENAME.InputMasks.Responses(1)) 'Determine string name of SlideImage or SlideText object at 'mouse click coordinates. Assign that value to strHit strHit = theState.HitTest(theMouseResponseData.CursorX, theMouseResponseData.CursorY) 'if strHit remains empty, i.e. the mouseclick was not made on one of the textboxes, then go back and show the slide again if strHit = "" then goto backlabel 'keep a count of the number of responses given so far Responsecount = responsecount +1 'log the name of the textbox that was clicked under response1, response2, response3 etc, dependent on the value of responsecount 'log the responsetime for this response under response1.rt, response2.rt, etc, also dependent on the value of responsecount. Calculate the responsetime by subtracting the 'onsettime of the first showing of the slide (stored under slidestarttime) from the timestamp of the new response (SLIDENAME.RTTime). c.SetAttrib "response"& responsecount, strHit c.SetAttrib ?response?& responsecount &?.rt?, SLIDENAME.RTTime - c.getattrib ("slidestarttime") 'change the text of the textbox was clicked to nothing: "" CSlideText(SLIDENAME.States(Slide1.ActiveState).Objects(strHit)).text=?? 'if less than 4 response have been given, go back to show the slide again if responsecount <4 then goto backlabel End If 'reset the response counter for the next trial Responsecount = 0 ************ replace every instance of SLIDENAME with the actual name of your slide. The variable responsecount should be created by writing the line "dim responsecount as integer" (no "'s) on the user tab of the script window. Place a label on the procedure right before your slide, call it backlabel. This is a kind of 'marker', at the end of the code the program will return to that 'place in the procedure' when it encounter the line containing 'goto backlabel'. So basically what it does is the following: it determines the name of the textsubobject that was clicked on and stored this name under 'strHit'. If there is no value stored in strHit then the click was made outside of the textbox areas and the program goes back to show the slide again in it's current state. If that is not the case then strHit is stored as the given response and so is the response time. After that it replaces the text of the subjectobject with the name that is stored under strHit (i.e. the box that was clicked on) with "" which is... nothing. This way the clicked number will (hopefully :p) disappear. It then goes back to backlabel and shows the slide again, rinse and repeat until 4 responses have been given. I haven't tested this code, it might be full of minor and/or major errors.. but something like this should, generally speaking, work... you could just give it a try ;) especially this line might be problematic: c.SetAttrib ?response?& responsecount &?.rt?, SLIDENAME.RTTime - c.getattrib ("slidestarttime") . If so then break it down into one line for the calulations (create variable called erm... responsetime, then use a line: responsetime = SLIDENAME.RTTime - c.getattrib ("slidestarttime") followed by a separate line to log this value: c.SetAttrib "reponse"& responsecount &".rt", responsetime . Please le me know whether that works :) Best, liw On May 26, 11:02?am, Michiel Spape wrote: > Hiya, > The easy way would be to pay someone to code it for you! > > But, for anyone to help: > - What is "little experience"? Have you read the entire getting started guide and/or additional material (linked before)? > - Where do you get stuck? > Best, > Mich > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Alexander > Sent: 26 May 2011 07:36 > To: E-Prime > Subject: multiple mouse reactions in one trial > > Hi all, > > I have little experience with eprime. > I want to do an experiment in which four digits are presented > simultaneous on the screen. These should be selected in ascending > order with the mouse. For every mouse click the reaction time and the > clicked off digit should be recorded. The digit already been selected > should be hidden. The next trial with new digits should start only > when all four digits have been clicked. > For notes on how I can solve this in an easily way, I would be more > than grateful. > > Best regards > Alexander > > -- > You received this message because you are subscribed to the Google Groups "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. ? Please do not use, copy or disclose the information contained in this message or in any attachment. ?Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From 0702claudia at gmail.com Thu May 26 13:13:01 2011 From: 0702claudia at gmail.com (Claudia) Date: Thu, 26 May 2011 06:13:01 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key In-Reply-To: Message-ID: Hi again, I am clearly doing something wrong since, although I believe I followed your (and the manual) instructions, I keep getting the same error window. Could you please look at it and let me know if it tells you something? I am copy-pasting below the section containing the 'bug' - The last line seems to be the critical one. Thank you very much, Claudia Sub PracticeProc_Run(c as Context) Fixation.Run Blank.Run PrimePractice.Text = c.GetAttrib("PrimePractice") PrimePractice.Run Blank1.Run Stimulus.ActiveState = c.GetAttrib("Stimulus") Stimulus.Run ResponseTrial.InputMasks.Reset If Keyboard.GetState() = ebStateOpen Then ResponseTrialEchoClients.RemoveAll ResponseTrial.InputMasks.Add Keyboard.CreateInputMask("{SPACE}", c.GetAttrib("CorrectAnswer"), CLng(ResponseTrial.Duration), CLng("1"), ebEndResponseActionNone, CLogical("Yes"), "", "", "ResponseMode:All ProcessBackspace:Yes") On May 26, 10:51?am, liwenna wrote: > Hi Claudia, > > this is indeed very elementary... did you also check the 'manual' > called 'an e-primer'? It can be downloaded here: step.psy.cmu.edu/ > materials/EPrimer.pdf > I don't know it by heart but I daresay it should contain your answers > and otherwise be helpful for you. > > As for the allowed response: this simply defines which buttons are > being 'read' by e-prime. If a certain button is not defined response, > one can press it however much they like, e-prime will not respond to > it. To make the spacebar the only allowed response (no response is not > a response, so you don't need to "allow" it) enter {SPACE} into the > allowed responses field. > > However, the remaining of your question pertains not to how to set an > allowed response but to how to set a correct response. To achieve what > you want to achieve, make an attribute in your list that contains the > correct response, call it "correctresp" or something the like. For > trials in which space is the correct response give it value {SPACE}, > for trials in which no response is the correct response give it value > "" (two times ", nothing inbetween). Tell your slide that this > attribute contains the correctresponse by entering [correctresp] into > the correct response field of the slide. In order to make it possible > that no response is given ("allow" no response, if you like...) give > the slide a set duration (1000 ms for instance, instead of infinite) > so that it always disappears after a given time (even if no response > is made). You can keep the end action at terminate if you want the > slide to disappear after space is pressed or set it to ?none of you > want it to remain for the set duration even after spacebar is pressed. > > Best, > > liw > > On May 25, 9:21?pm, Claudia <0702clau... at gmail.com> wrote: > > > Hi, > > > I am very new to e-prime and, after having spent hours pouring on the > > manuals, I have yet to find the solution to a likely elementary (!) > > matter: How do I make the software accept 1) that the space key is an > > "Allowed response", and 2) that absence of response is also an > > "Allowed response". My experiment is a visual recognition task in > > which my participants are supposed to press 'space bar' only if the > > target flashed on screen (i.e. a triangle) has been preceded by some > > specific stimuli, but not to press anything at all if the rule is not > > met. > > > Thank you in advance for your help, > > Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Thu May 26 13:36:00 2011 From: liwenna at gmail.com (liwenna) Date: Thu, 26 May 2011 06:36:00 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key In-Reply-To: Message-ID: What is the text of the error message you get? Also: with the error you should receive a referral to a specific line in the code... does this refer to the last line of the code you posted? quite frankly, I can't read much into it :s On May 26, 3:13?pm, Claudia <0702clau... at gmail.com> wrote: > Hi again, > > I am clearly doing something wrong since, although I believe I > followed your (and the manual) instructions, I keep getting the same > error window. Could you please look at it and let me know if it tells > you something? I am copy-pasting below the section containing the > 'bug' - The last line seems to be the critical one. > Thank you very much, > Claudia > > Sub PracticeProc_Run(c as Context) > > ? ? ? ? Fixation.Run > > ? ? ? ? Blank.Run > > ? ? ? ? PrimePractice.Text = c.GetAttrib("PrimePractice") > ? ? ? ? PrimePractice.Run > > ? ? ? ? Blank1.Run > > ? ? ? ? Stimulus.ActiveState = c.GetAttrib("Stimulus") > ? ? ? ? Stimulus.Run > > ? ? ? ? ResponseTrial.InputMasks.Reset > > ? ? ? ? If Keyboard.GetState() = ebStateOpen Then > ? ? ? ? ? ? ? ? ResponseTrialEchoClients.RemoveAll > ? ? ? ? ? ? ? ? ResponseTrial.InputMasks.Add Keyboard.CreateInputMask("{SPACE}", > c.GetAttrib("CorrectAnswer"), CLng(ResponseTrial.Duration), CLng("1"), > ebEndResponseActionNone, CLogical("Yes"), "", "", "ResponseMode:All > ProcessBackspace:Yes") > > On May 26, 10:51?am, liwenna wrote: > > > Hi Claudia, > > > this is indeed very elementary... did you also check the 'manual' > > called 'an e-primer'? It can be downloaded here: step.psy.cmu.edu/ > > materials/EPrimer.pdf > > I don't know it by heart but I daresay it should contain your answers > > and otherwise be helpful for you. > > > As for the allowed response: this simply defines which buttons are > > being 'read' by e-prime. If a certain button is not defined response, > > one can press it however much they like, e-prime will not respond to > > it. To make the spacebar the only allowed response (no response is not > > a response, so you don't need to "allow" it) enter {SPACE} into the > > allowed responses field. > > > However, the remaining of your question pertains not to how to set an > > allowed response but to how to set a correct response. To achieve what > > you want to achieve, make an attribute in your list that contains the > > correct response, call it "correctresp" or something the like. For > > trials in which space is the correct response give it value {SPACE}, > > for trials in which no response is the correct response give it value > > "" (two times ", nothing inbetween). Tell your slide that this > > attribute contains the correctresponse by entering [correctresp] into > > the correct response field of the slide. In order to make it possible > > that no response is given ("allow" no response, if you like...) give > > the slide a set duration (1000 ms for instance, instead of infinite) > > so that it always disappears after a given time (even if no response > > is made). You can keep the end action at terminate if you want the > > slide to disappear after space is pressed or set it to ?none of you > > want it to remain for the set duration even after spacebar is pressed. > > > Best, > > > liw > > > On May 25, 9:21?pm, Claudia <0702clau... at gmail.com> wrote: > > > > Hi, > > > > I am very new to e-prime and, after having spent hours pouring on the > > > manuals, I have yet to find the solution to a likely elementary (!) > > > matter: How do I make the software accept 1) that the space key is an > > > "Allowed response", and 2) that absence of response is also an > > > "Allowed response". My experiment is a visual recognition task in > > > which my participants are supposed to press 'space bar' only if the > > > target flashed on screen (i.e. a triangle) has been preceded by some > > > specific stimuli, but not to press anything at all if the rule is not > > > met. > > > > Thank you in advance for your help, > > > Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 26 15:14:59 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 26 May 2011 11:14:59 -0400 Subject: Why is is called "E-Prime"? Message-ID: Curious minds want to know. So, I went ahead and posted this question to PST Web Support (as I keep saying, they really do generously take any and all questions there, and they did reply within 2 days). Laura McCarthy replied, "E-Prime refers to the Experimenter's Prime (best) development studio for the implementation of computerized behavioral research such as reaction time, detection, and learning type paradigms." She does not have a source citation for this, and neither do I -- I might have seen this explained in one of the early published papers introducing E-Prime, or in some of the early documentation for the beta versions that we started using back in 1998 or 1999. I might go back sometime and look further, but this should do for now. -- David McFarlane, Professional Faultfinder At 5/23/2011 02:20 PM Monday, in the thread "E-DataAid crashing" (http://groups.google.com/group/e-prime/browse_thread/thread/2351146132d184ea ), David McFarlane wrote: >At 5/23/2011 11:55 AM Monday, Michiel Spape wrote: >>As a side note, does anyone else think e-Prime should, in this >>i-Age, change the name? I'm personally of the opinion that Me-Prime >>sounds better (although perhaps a bit too late, as YouTube, MySpace >>and YouGov have all lost that glossiness... Gee-Prime and /i/-Prime >>will probably end up to be rather costly). > >As I recall, the name "E-Prime" was meant to evoke >"Experiment-Prime", i.e., "Experiment'", somewhat in the fashion of >Isaac Newton's notation for derivatives; and so "E-Prime" was meant >to evoke a system that advances experiments to the next level. But >I don't know where I read that, and I can't find a citation now. > >I was never fond of this affectation (just like I was never fond of >PST calling experiment programs "paradigms", or calling VBA/E-Basic >source code "script", etc.). But I understand the name, and in that >sense I suppose E-Prime makes more sense than -Prime. > >Just my US$.02, >-- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu May 26 15:34:21 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 26 May 2011 11:34:21 -0400 Subject: Participants=?iso-8859-1?Q?=B4_?=response via space key In-Reply-To: <9d18df45-2280-43c9-b3e8-8fc29b357282@s41g2000prb.googlegro ups.com> Message-ID: Claudia, You and liw are already working this out. I just wanted to add that you can get more information about using special characters for Allowable and Correct by looking at the "(key} nomenclature" topic in the E-Basic Help facility. Also to reiterate that to accept "no response" as a "response" you logically need to set a Duration for the stimulus to expire, and a Time Limit for the input mask that gets the response (typically leave that at (same as duration), unless you want to use "Extended Input" -- work through Appendix C of the User's Guide that came with E-Prime). -- David McFarlane, Professional Faultfinder At 5/25/2011 03:21 PM Wednesday, you wrote: >Hi, > >I am very new to e-prime and, after having spent hours pouring on the >manuals, I have yet to find the solution to a likely elementary (!) >matter: How do I make the software accept 1) that the space key is an >"Allowed response", and 2) that absence of response is also an >"Allowed response". My experiment is a visual recognition task in >which my participants are supposed to press 'space bar' only if the >target flashed on screen (i.e. a triangle) has been preceded by some >specific stimuli, but not to press anything at all if the rule is not >met. > >Thank you in advance for your help, >Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 26 16:21:50 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 26 May 2011 12:21:50 -0400 Subject: Exporting Eprime to an Eprime Naive Computer In-Reply-To: Message-ID: Good question, and a feature that many of us would like to have in E-Prime. But E-Prime is not like "other standard engineering software packages" -- to be sure, E-Prime is not even an "engineering" package meant for serious programmers, it is a "psychology" package meant primarily for casual use by amateurs (although it has enough features so that serious programmers can still make use of it). So, AFAIK E-Prime, *by design*, has no facility to allow distribution of run-time code to run without installing E-Prime. In fact, just think about the license terms -- you are allowed to install E-Prime to run experiments on up to some number (25?) of machines *within your lab*. How could they enforce those terms if you could export EP code to run willy-nilly on any old machine? (Mind you, I am not defending the terms of the license, only reflecting on what those terms imply with regard to your question.) But please, do not take my word for this. You really should take this up directly with PST -- try Web Support at http://support.pstnet.com/e%2Dprime/support/login.asp . And then please post back here with the result. -- David McFarlane, Professional Faultfinder At 5/25/2011 01:54 PM Wednesday, you wrote: >Hi all- > >My research group would like see if we can compile all the EPrime code >(in v1) and export it into an eprime naive computer.. i.e one that >does not have any Eprime software sans code to read and implement this >Eprime script on it. I understand that you can install Eprime 1 on a >computer and, without a key, still collect data. But is there a >legally sound way to ship out an install package, say over e-mail or >via download, that has the background software AND your code (and >that's it)? From my experience with other standard engineering >software packages, primarily Matlab and Labview, I know this is >frequently an option for GUIs, DAQs, etc >. >Any help would be greatly appreciated. >-B -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 May 26 16:06:40 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 26 May 2011 12:06:40 -0400 Subject: multiple mouse reactions in one trial In-Reply-To: <01abd5bb-8354-479d-a2cd-b36c7747be94@n10g2000yqf.googlegro ups.com> Message-ID: Alexander, Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. (And to Mich, hat's off for saying what I so often say.) That said, here is my take... As liw hinted, you could collect multiple mouse clicks for a single stimulus & input mask by making use of the InputMask.Responses property in inline code -- see that topic in the E-Basic Help facility, and the MultipleResponseCollection.es example in the PST Web Downloads area. But to get the stimulus to change upon each response would take more work. I think liw's approach using multiple objects may be easier to for a begginner, but if you don't mind diving in to a bunch of code then an alternative (and not necessarily better) approach would be to use the InputMask.Responses property along with the .Draw method of each of the various sub-objects on your stimulus Slide. The VAS example from PST shows how to do something like this (note that their VAS example is *not* a VAS, it is a Likert scale!). (And if you do resort to the PST examples, take them as only a starting point for coding ideas -- they have the virtue of providing actual working code, but beyond that the code is not a good model of good programming practices.) -- David McFarlane, Professional Faultfinder "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." (Richard Feynman, Nobel prize-winning physicist) At 5/26/2011 06:21 AM Thursday, liwenna wrote: >hmmmz despite Michiels more educationally responsible answer I tried >to conjure something up for you. > >I believe it's possible to record multiple responses during one show >of a slide... but you can't alter the slide while it's being shown. >You do want to change it (i.e. you want the clicked number to >disappear) so therefore you'll have to change the slide after each >response is given and then show it again. > >One could use different slidestates to show 'the same slide' with >different appearances (i.e. a different number of text boxes) but.. >you'd need 24 slidestates (4*3*2*1) while if I remember correctly, >only 12 are allowed, so that's not really an option. > >What is? > >Use a slide with four textboxes... each textbox will contain one >number, store the numbers in four attributes in a list (n1, n2, n3 or >whatever you like) and tell the four textboxes to find their 'text' >from these attributes by entering [n1], [n2], etc in the text fields. >By default the textboxes will be named text1, text2, text3 etc, which >is fine, you could change their names, doesn't really matter. Enable >the mouse on the slide and set the end action to terminate, log the >response time. > >On your trial procedure, directly after the slide place an inline >containing this code: > >******* >If responsecount = 0 then c.setattrib "slidestarttime", >SLIDENAME.OnsetTime > >'tell the program which slide we are talking about > Set theState = SLIDENAME.States("Default") > >'Was there a response? > If SLIDENAME.InputMasks.Responses.Count > 0 Then > >'Get the mouse response > Set theMouseResponseData = >CMouseResponseData(SLIDENAME.InputMasks.Responses(1)) > >'Determine string name of SlideImage or SlideText object at >'mouse click coordinates. Assign that value to strHit > strHit = >theState.HitTest(theMouseResponseData.CursorX, >theMouseResponseData.CursorY) > >'if strHit remains empty, i.e. the mouseclick was not made on one of >the textboxes, then go back and show the slide again > if strHit = "" then goto backlabel > >'keep a count of the number of responses given so far > Responsecount = responsecount +1 > >'log the name of the textbox that was clicked under response1, >response2, response3 etc, dependent on the value of responsecount >'log the responsetime for this response under response1.rt, >response2.rt, etc, also dependent on the value of responsecount. >Calculate the responsetime by subtracting the >'onsettime of the first showing of the slide (stored under >slidestarttime) from the timestamp of the new response >(SLIDENAME.RTTime). > c.SetAttrib "response"& responsecount, strHit > c.SetAttrib ?response?& responsecount &?.rt?, SLIDENAME.RTTime >- c.getattrib ("slidestarttime") > >'change the text of the textbox was clicked to nothing: "" > >CSlideText(SLIDENAME.States(Slide1.ActiveState).Objects(strHit)).text=?? > >'if less than 4 response have been given, go back to show the slide >again > if responsecount <4 then goto backlabel > > End If > >'reset the response counter for the next trial >Responsecount = 0 >************ > >replace every instance of SLIDENAME with the actual name of your >slide. The variable responsecount should be created by writing the >line "dim responsecount as integer" (no "'s) on the user tab of the >script window. Place a label on the procedure right before your slide, >call it backlabel. This is a kind of 'marker', at the end of the code >the program will return to that 'place in the procedure' when it >encounter the line containing 'goto backlabel'. > >So basically what it does is the following: it determines the name of >the textsubobject that was clicked on and stored this name under >'strHit'. If there is no value stored in strHit then the click was >made outside of the textbox areas and the program goes back to show >the slide again in it's current state. If that is not the case then >strHit is stored as the given response and so is the response time. >After that it replaces the text of the subjectobject with the name >that is stored under strHit (i.e. the box that was clicked on) with "" >which is... nothing. This way the clicked number will (hopefully :p) >disappear. It then goes back to backlabel and shows the slide again, >rinse and repeat until 4 responses have been given. > >I haven't tested this code, it might be full of minor and/or major >errors.. but something like this should, generally speaking, work... >you could just give it a try ;) > >especially this line might be problematic: c.SetAttrib ?response?& >responsecount &?.rt?, SLIDENAME.RTTime - c.getattrib >("slidestarttime") . If so then break it down into one line for the >calulations (create variable called erm... responsetime, then use a >line: responsetime = SLIDENAME.RTTime - c.getattrib ("slidestarttime") >followed by a separate line to log this value: c.SetAttrib "reponse"& >responsecount &".rt", responsetime . > >Please le me know whether that works :) > >Best, > >liw > > > > >On May 26, 11:02 am, Michiel Spape >wrote: > > Hiya, > > The easy way would be to pay someone to code it for you! > > > > But, for anyone to help: > > - What is "little experience"? Have you read > the entire getting started guide and/or additional material (linked before)? > > - Where do you get stuck? > > Best, > > Mich > > > > Michiel Spap? > > Research Fellow > > Perception & Action group > > University of Nottingham > > School of Psychologywww.cognitology.eu > > > > -----Original Message----- > > From: e-prime at googlegroups.com > [mailto:e-prime at googlegroups.com] On Behalf Of Alexander > > Sent: 26 May 2011 07:36 > > To: E-Prime > > Subject: multiple mouse reactions in one trial > > > > Hi all, > > > > I have little experience with eprime. > > I want to do an experiment in which four digits are presented > > simultaneous on the screen. These should be selected in ascending > > order with the mouse. For every mouse click the reaction time and the > > clicked off digit should be recorded. The digit already been selected > > should be hidden. The next trial with new digits should start only > > when all four digits have been clicked. > > For notes on how I can solve this in an easily way, I would be more > > than grateful. > > > > Best regards > > Alexander -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mahonlab at gmail.com Thu May 26 17:29:04 2011 From: mahonlab at gmail.com (frank) Date: Thu, 26 May 2011 10:29:04 -0700 Subject: go/no go task Message-ID: hello all.. I have a quick question. I am creating a go/no go task, however it is a little backwards. I want participants to always hold down button 1 on the sr response box. When they see an image of a face, I want them to let go, hence 'go' trials. When they see an image of an animal I want them to keep holding down button 1 on the sr response box. This is naturally a little backwards; I could have a participant hit 1 every time they see a face, 'go', or hit nothing when they do not see a face, or when an animal is being presented, 'no go'. Ive tried holding down button 1 and then letting go when a face is presented, but no response logs. Is there a specific code anyone has or a strategy that is specific to this design? Thanks, frank -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From neuropsych76 at gmail.com Thu May 26 18:06:16 2011 From: neuropsych76 at gmail.com (cogneuro) Date: Thu, 26 May 2011 14:06:16 -0400 Subject: Why is is called "E-Prime"? In-Reply-To: <4dde6e85.83ad2a0a.1613.66e7SMTPIN_ADDED@gmr-mx.google.com> Message-ID: I actually just met the creator of e-prime (!!!) a couple weeks ago and should have asked him this! Dr. Schneider just told me that he just wanted to create a software program that made making experiments easier and it just happened from there :) (he used to be an engineer). On Thu, May 26, 2011 at 11:14 AM, David McFarlane wrote: > Curious minds want to know. So, I went ahead and posted this question to > PST Web Support (as I keep saying, they really do generously take any and > all questions there, and they did reply within 2 days). Laura McCarthy > replied, "E-Prime refers to the Experimenter's Prime (best) development > studio for the implementation of computerized behavioral research such as > reaction time, detection, and learning type paradigms." She does not have a > source citation for this, and neither do I -- I might have seen this > explained in one of the early published papers introducing E-Prime, or in > some of the early documentation for the beta versions that we started using > back in 1998 or 1999. I might go back sometime and look further, but this > should do for now. > > -- David McFarlane, Professional Faultfinder > > > At 5/23/2011 02:20 PM Monday, in the thread "E-DataAid crashing" ( > http://groups.google.com/group/e-prime/browse_thread/thread/2351146132d184ea), David McFarlane wrote: > >> At 5/23/2011 11:55 AM Monday, Michiel Spape wrote: >> >>> As a side note, does anyone else think e-Prime should, in this i-Age, >>> change the name? I'm personally of the opinion that Me-Prime sounds better >>> (although perhaps a bit too late, as YouTube, MySpace and YouGov have all >>> lost that glossiness... Gee-Prime and /i/-Prime will probably end up to be >>> rather costly). >>> >> >> As I recall, the name "E-Prime" was meant to evoke "Experiment-Prime", >> i.e., "Experiment'", somewhat in the fashion of Isaac Newton's notation for >> derivatives; and so "E-Prime" was meant to evoke a system that advances >> experiments to the next level. But I don't know where I read that, and I >> can't find a citation now. >> >> I was never fond of this affectation (just like I was never fond of PST >> calling experiment programs "paradigms", or calling VBA/E-Basic source code >> "script", etc.). But I understand the name, and in that sense I suppose >> E-Prime makes more sense than -Prime. >> >> Just my US$.02, >> -- David McFarlane, Professional Faultfinder >> > > -- > You received this message because you are subscribed to the Google Groups > "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to > e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/e-prime?hl=en. > > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcfarla9 at msu.edu Thu May 26 18:12:48 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 26 May 2011 14:12:48 -0400 Subject: go/no go task In-Reply-To: <38ec5122-0b3e-4b12-a9ad-18c769b1ea76@hg8g2000vbb.googlegro ups.com> Message-ID: Frank, Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... See the "{key} nomenclature" topic in the E-Basic Help facility, and the "KeyRelease.es" example downloadbable from PST (requires registration and login). -- David McFarlane, Professional Faultfinder >I am creating a go/no go task, however it is a little backwards. I >want participants to always hold down button 1 on the sr response >box. When they see an image of a face, I want them to let go, hence >'go' trials. When they see an image of an animal I want them to keep >holding down button 1 on the sr response box. This is naturally a >little backwards; I could have a participant hit 1 every time they see >a face, 'go', or hit nothing when they do not see a face, or when an >animal is being presented, 'no go'. > >Ive tried holding down button 1 and then letting go when a face is >presented, but no response logs. Is there a specific code anyone has >or a strategy that is specific to this design? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mahonlab at gmail.com Thu May 26 18:21:07 2011 From: mahonlab at gmail.com (frank) Date: Thu, 26 May 2011 11:21:07 -0700 Subject: go/no go task In-Reply-To: <4dde9824.07b12a0a.135e.1352SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thank you for your support, David. cheers, --frank On May 26, 2:12?pm, David McFarlane wrote: > Frank, > > Stock reminder: ?1) I do not work for PST. ?2) PST's trained staff > takes any and all questions athttp://support.pstnet.com/e%2Dprime/support/login.asp, and they > strive to respond to all requests in 24-48 hours -- this is pretty > much their substitute for proper documentation, so make full use of > it. ?3) If you do get an answer from PST Web Support, please extend > the courtesy of posting their reply back here for the sake of others. > > That said, here is my take... > > See the "{key} nomenclature" topic in the E-Basic Help facility, and > the "KeyRelease.es" example downloadbable from PST (requires > registration and login). > > -- David McFarlane, Professional Faultfinder > > > > > > > > >I am creating a go/no go task, however it is a little backwards. I > >want participants to always hold down button 1 on the sr response > >box. ?When they see an image of a face, I want them to let go, hence > >'go' trials. ?When they see an image of an animal I want them to keep > >holding down button 1 on the sr response box. ?This is naturally a > >little backwards; I could have a participant hit 1 every time they see > >a face, 'go', or hit nothing when they do not see a face, or when an > >animal is being presented, 'no go'. > > >Ive tried holding down button 1 and then letting go when a face is > >presented, but no response logs. ?Is there a specific code anyone has > >or a strategy that is specific to this design? -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Thu May 26 18:20:56 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Thu, 26 May 2011 14:20:56 -0400 Subject: Why is is called "E-Prime"? In-Reply-To: Message-ID: Interesting. Did Dr. Schneider also explain that before E-Prime he produced MEL (Microcomputer Experiment Laboratory), a rather successful product that ran under DOS? Or that E-Prime started as a joint venture with Brian MacWhinney (head of this very discussion board, and STEP) at Carnegie Mellon University to bring some of the ideas from MacWhinney's PsyScope on the Macintosh over to the Windows platform? There's some interesting history behind E-Prime, as for most things. -- David McFarlane, Professional Faultfinder At 5/26/2011 02:06 PM Thursday, you wrote: >I actually just met the creator of e-prime (!!!) a couple weeks ago >and should have asked him this! > >Dr. Schneider just told me that he just wanted to create a software >program that made making experiments easier and it just happened >from there :) (he used to be an engineer). > >On Thu, May 26, 2011 at 11:14 AM, David McFarlane ><mcfarla9 at msu.edu> wrote: >Curious minds want to know. So, I went ahead and posted this >question to PST Web Support (as I keep saying, they really do >generously take any and all questions there, and they did reply >within 2 days). Laura McCarthy replied, "E-Prime refers to the >Experimenter's Prime (best) development studio for the >implementation of computerized behavioral research such as reaction >time, detection, and learning type paradigms." She does not have a >source citation for this, and neither do I -- I might have seen this >explained in one of the early published papers introducing E-Prime, >or in some of the early documentation for the beta versions that we >started using back in 1998 or 1999. I might go back sometime and >look further, but this should do for now. > >-- David McFarlane, Professional Faultfinder > > >At 5/23/2011 02:20 PM Monday, in the thread "E-DataAid crashing" >(http://groups.google.com/group/e-prime/browse_thread/thread/2351146132d184ea >), David McFarlane wrote: >At 5/23/2011 11:55 AM Monday, Michiel Spape wrote: >As a side note, does anyone else think e-Prime should, in this >i-Age, change the name? I'm personally of the opinion that Me-Prime >sounds better (although perhaps a bit too late, as YouTube, MySpace >and YouGov have all lost that glossiness... Gee-Prime and /i/-Prime >will probably end up to be rather costly). > > >As I recall, the name "E-Prime" was meant to evoke >"Experiment-Prime", i.e., "Experiment'", somewhat in the fashion of >Isaac Newton's notation for derivatives; and so "E-Prime" was meant >to evoke a system that advances experiments to the next level. But >I don't know where I read that, and I can't find a citation now. > >I was never fond of this affectation (just like I was never fond of >PST calling experiment programs "paradigms", or calling VBA/E-Basic >source code "script", etc.). But I understand the name, and in that >sense I suppose E-Prime makes more sense than -Prime. > >Just my US$.02, >-- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From adeline.paignon at univ-savoie.fr Thu May 26 19:30:00 2011 From: adeline.paignon at univ-savoie.fr (Adeline) Date: Thu, 26 May 2011 12:30:00 -0700 Subject: sequentially read attributes entered on a unique line of a list In-Reply-To: <4ddaaf4d.cf472a0a.3fde.ffff8768SMTPIN_ADDED@gmr-mx.google.com> Message-ID: Nice !!! thank you for your help, the code works well ! thanks adeline On May 23, 9:02?pm, David McFarlane wrote: > >is it possible with eprime to "read" the attributes cell by cell in > >a list and not row by row ? > > Well, you might do that with some inline code. E.g., suppose you have > a List with attributes for Square1, Square2, Square3, and Square4, > then the following code would successively assign the value of each > attribute to the single attribute "Square": > > Const nAttrib as Integer = 4 > Dim ?i as Integer > For i = 1 to nAttrib > ? ? ?c.SetAttrib "Square", c.GetAttrib( "Square" & i ) > ? ? ?' more code to make use of this here... > Next i > > The key is that attribute names are nothing more than strings, and > you may construct them using ordinary string concatentation and other > operations, then use the resulting name in a call to GetAttrib(). > > Another way to get at attributes one-by-one in a single row of a List > is to put those values in a nested List from your main List, and then > access the individual rows of the nested List using colon > syntax. ?Just look up "colon syntax" in the index of the User's Guide > that came with E-Prime. > > I am just addressing the academic "is it possible" question here, I > am not sure that this will have any practical benefit for programming > your particular task, but there you go. > > -- David McFarlane, Professional Faultfinder -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From 0702claudia at gmail.com Thu May 26 19:39:25 2011 From: 0702claudia at gmail.com (Claudia) Date: Thu, 26 May 2011 12:39:25 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key In-Reply-To: <4dde7300.42a62a0a.58f0.66f9SMTPIN_ADDED@gmr-mx.google.com> Message-ID: The error message says "Run-time Error (Line 438) 10018: Correct Response is not part of Allowable" which - according to the cursor on my screen, is the last line in the script-segment I sent earlier. I have set the Time limit, and checked carefully that {SPACE} is correctly written both in the appropriate attribute column and in the "Allowed response" box. I am not sure if you could get a better idea of the possible problem if I send you a longer segment of script,.....or would you have any other suggestion? Thank you very much for your help, Claudia On May 26, 5:34?pm, David McFarlane wrote: > Claudia, > > You and liw are already working this out. ?I just wanted to add that > you can get more information about using special characters for > Allowable and Correct by looking at the "(key} nomenclature" topic in > the E-Basic Help facility. ?Also to reiterate that to accept "no > response" as a "response" you logically need to set a Duration for > the stimulus to expire, and a Time Limit for the input mask that gets > the response (typically leave that at (same as duration), unless you > want to use "Extended Input" -- work through Appendix C of the User's > Guide that came with E-Prime). > > -- David McFarlane, Professional Faultfinder > > At 5/25/2011 03:21 PM Wednesday, you wrote: > > >Hi, > > >I am very new to e-prime and, after having spent hours pouring on the > >manuals, I have yet to find the solution to a likely elementary (!) > >matter: How do I make the software accept 1) that the space key is an > >"Allowed response", and 2) that absence of response is also an > >"Allowed response". My experiment is a visual recognition task in > >which my participants are supposed to press 'space bar' only if the > >target flashed on screen (i.e. a triangle) has been preceded by some > >specific stimuli, but not to press anything at all if the rule is not > >met. > > >Thank you in advance for your help, > >Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Fri May 27 08:36:17 2011 From: liwenna at gmail.com (liwenna) Date: Fri, 27 May 2011 01:36:17 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key In-Reply-To: Message-ID: Hi Claudia, My bad... There was this little nagging voice in my head yesterday saying that something wouldn't work about what I wrote... and this is probably it :p Maybe I was mistaken by advicing you to use "". Brandon's post in this thread on the PST forums (http://www.pstnet.com/forum/ Topic1311-5-1.aspx#bm1824) makes me thinkt that, while "" is used for a 'no-response' when writing inline code, it is not needed to place the brackets around the 'nothing' when the cresp is defined in a list. So... first try removing the "" and run the task with {SPACE} in the go trials and nothing in the nogo trials, if that doesn't work then try expanding the collection of allowed responses to {ANY}. In the current set-up the program checks to see if "" (cresp) is part of {SPACE} (allowed responses) which it obviously isn't. By allowing any key Pp can also press other buttons than spacebar but chances of them doing that aren't that big... Best, liw On May 26, 9:39?pm, Claudia <0702clau... at gmail.com> wrote: > The error message says "Run-time Error (Line 438) 10018: Correct > Response is not part of Allowable" which - according to the cursor on > my screen, is the last line in the script-segment I sent earlier. I > have set the Time limit, and checked carefully that {SPACE} is > correctly written both in the appropriate attribute column and in the > "Allowed response" box. I am not sure if you could get a better idea > of the possible problem if I send you a longer segment of > script,.....or would you have any other suggestion? > > Thank you very much for your help, > Claudia > > On May 26, 5:34?pm, David McFarlane wrote: > > > Claudia, > > > You and liw are already working this out. ?I just wanted to add that > > you can get more information about using special characters for > > Allowable and Correct by looking at the "(key} nomenclature" topic in > > the E-Basic Help facility. ?Also to reiterate that to accept "no > > response" as a "response" you logically need to set a Duration for > > the stimulus to expire, and a Time Limit for the input mask that gets > > the response (typically leave that at (same as duration), unless you > > want to use "Extended Input" -- work through Appendix C of the User's > > Guide that came with E-Prime). > > > -- David McFarlane, Professional Faultfinder > > > At 5/25/2011 03:21 PM Wednesday, you wrote: > > > >Hi, > > > >I am very new to e-prime and, after having spent hours pouring on the > > >manuals, I have yet to find the solution to a likely elementary (!) > > >matter: How do I make the software accept 1) that the space key is an > > >"Allowed response", and 2) that absence of response is also an > > >"Allowed response". My experiment is a visual recognition task in > > >which my participants are supposed to press 'space bar' only if the > > >target flashed on screen (i.e. a triangle) has been preceded by some > > >specific stimuli, but not to press anything at all if the rule is not > > >met. > > > >Thank you in advance for your help, > > >Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From 0702claudia at gmail.com Fri May 27 14:05:03 2011 From: 0702claudia at gmail.com (Claudia) Date: Fri, 27 May 2011 07:05:03 -0700 Subject: Participants=?ISO-8859-1?Q?=B4_?=response via space key In-Reply-To: Message-ID: Thanks liw! I?ll follow your advice....hoping for the best :-) Claudia On May 27, 10:36?am, liwenna wrote: > Hi Claudia, > > My bad... There was this little nagging voice in my head yesterday > saying that something wouldn't work about what I wrote... and this is > probably it :p > > Maybe I was mistaken by advicing you to use "". Brandon's post in this > thread on the PST forums (http://www.pstnet.com/forum/ > Topic1311-5-1.aspx#bm1824) makes me thinkt that, while "" is used for > a 'no-response' when writing inline code, it is not needed to place > the brackets around the 'nothing' when the cresp is defined in a > list. > > So... first try removing the "" and run the task with {SPACE} in the > go trials and nothing in the nogo trials, if that doesn't work then > try expanding the collection of allowed responses to {ANY}. In the > current set-up the program checks to see if "" (cresp) is part of > {SPACE} (allowed responses) which it obviously isn't. By allowing any > key Pp can also press other buttons than spacebar but chances of them > doing that aren't that big... > > Best, > > liw > > On May 26, 9:39?pm, Claudia <0702clau... at gmail.com> wrote: > > > The error message says "Run-time Error (Line 438) 10018: Correct > > Response is not part of Allowable" which - according to the cursor on > > my screen, is the last line in the script-segment I sent earlier. I > > have set the Time limit, and checked carefully that {SPACE} is > > correctly written both in the appropriate attribute column and in the > > "Allowed response" box. I am not sure if you could get a better idea > > of the possible problem if I send you a longer segment of > > script,.....or would you have any other suggestion? > > > Thank you very much for your help, > > Claudia > > > On May 26, 5:34?pm, David McFarlane wrote: > > > > Claudia, > > > > You and liw are already working this out. ?I just wanted to add that > > > you can get more information about using special characters for > > > Allowable and Correct by looking at the "(key} nomenclature" topic in > > > the E-Basic Help facility. ?Also to reiterate that to accept "no > > > response" as a "response" you logically need to set a Duration for > > > the stimulus to expire, and a Time Limit for the input mask that gets > > > the response (typically leave that at (same as duration), unless you > > > want to use "Extended Input" -- work through Appendix C of the User's > > > Guide that came with E-Prime). > > > > -- David McFarlane, Professional Faultfinder > > > > At 5/25/2011 03:21 PM Wednesday, you wrote: > > > > >Hi, > > > > >I am very new to e-prime and, after having spent hours pouring on the > > > >manuals, I have yet to find the solution to a likely elementary (!) > > > >matter: How do I make the software accept 1) that the space key is an > > > >"Allowed response", and 2) that absence of response is also an > > > >"Allowed response". My experiment is a visual recognition task in > > > >which my participants are supposed to press 'space bar' only if the > > > >target flashed on screen (i.e. a triangle) has been preceded by some > > > >specific stimuli, but not to press anything at all if the rule is not > > > >met. > > > > >Thank you in advance for your help, > > > >Claudia -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 Fri May 27 15:49:12 2011 From: d.vinson at ucl.ac.uk (David Vinson) Date: Fri, 27 May 2011 16:49:12 +0100 Subject: stopping video playback beyond Duration (response contingent)? In-Reply-To: <4ddab2e1.cf472a0a.3fde.ffff87fdSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Here's a follow up to my previous posting as I got a response back from E-Prime Support. Perpahs it may prove useful to someone else trying to do complicated things with videos. Here's a summarized version of the support reply. No surprise that David M's suggestion was right on track. A MovieDisplay object does indeed have a Stop method. If "Stop after" property of the MovieDisplay object is set to "Yes", the Stop method is automatically called at the end of the object's Duration. If "Stop after" is set to "No", the movie plays until its end (or the end time specified in the object properties) or until manually stopped. To manually stop the movie display, InLine code like Movie1.Stop will suffice to stop playback of MovieDisplay object named "Movie1". A small amount of information about MovieDisplay objects can be found here: http://www.pstnet.com/support/kb.asp?TopicID=2720 But this is still very under-documented; I was also advised to take advantage of the fact that many characteristics of MovieDisplay objects are comparable to those of ImageDisplay or SoundOut (and thus can be figured out by using E-Basic help on these objects). Ultimately a quick request to E-Prime's online support team may well be the best way to solve a Movie problem. cheers, David V > Hmm, glad I helped with some solutions. I don't have time to explore the > movie stopping issue myself just now, so let me just toss out some ideas > for you to try. I would look for a MovieDisplay equivalent to the the > Stop method of the SoundOut class (SoundOut.Stop) (or more precisely, > the SoundBuffer class, SoundBuffer.Stop). This will take some sleuthing, > as PST has yet to grace us with any documentation for Movies in the > E-Basic Help facility. To that end, I would also submit a request > posthaste to PST Web Support at > http://support.pstnet.com/e%2Dprime/support/login.asp -- this is after > all pretty much their substitute for the documentation that they should > provide in the first place, so don't be shy, PST seems to prefer to be > liberal with their tech support and to document their stuff only on a > "need to know" basis. And then please post back here with whatever you > find. > > Thanks, > -- David McFarlane, Professional Faultfinder > > > At 5/23/2011 10:14 AM Monday, you wrote: >> just a quick follow-up to note that some of my timing issues have been >> solved - I finally found some posts by David McFarlane that were very >> helpful with a design like mine. >> >> Using extended input to collect response data rather than piecing it >> together from multiple display objects: >> http://groups.google.com/group/e-prime/msg/e30fc88284d85e3c >> >> Using SetNextTargetOnsetTime to schedule upcoming events: >> http://groups.google.com/group/e-prime/msg/3f1b16b48a068f14 >> >> However i'm still looking for ideas about stopping a video in mid-play >> once its Duration has expired. >> >> cheers, >> David V >> >> >>> I have been wrestling with a MovieDisplay problem and wonder if anyone >>> on the list has any ideas. >>> >>> A simplified version of my trial sequence can be described like this: >>> >>> time 0: MovieDisplay begins >>> time 600: ImageDisplay begins while movie continues >>> time 2500: end of typical video (range 2000-3100). >>> Keypress can occur at any time during or after this sequence. >>> >>> Feedback on accuracy occurs after the response has been made. >>> >>> My current design starts with a MovieDisplay: keypress response, >>> duration/time limit = 600, stop after = no and end action = terminate. >>> >>> If MovieDisplay.RT > 0 the ImageDisplay is skipped, otherwise it's >>> displayed with duration = infinite (waits forever for a keyboard >>> response). I log variables for the ImageDisplay and use inline code to >>> update the logged variables for MovieDisplay as well. >>> >>> Then feedback occurs based on MovieDisplay.ACC. The problem is that >>> often feedback doesn't appear (it's actually being displayed behind the >>> video which continues until it is finished - video always takes display >>> priority). >>> >>> Is there any way to stop the video once a keypress to MovieDisplay or >>> ImageDisplay is recorded? I've tried various ways to deal with this (eg >>> setting Durations to 0 and using inline code to keep time) but have not >>> figured out a way to pull the plug on a video. >>> >>> I have been able to make the feedback display visible, for example >>> adding a long Wait object before the feedback, or increasing the >>> duration of the feedback object, or displaying the feedback off center - >>> but I'd prefer if participants didn't have to wait until the end of >>> video clips if they have already made early responses. >>> >>> any ideas or suggestions would be very helpful! >> >> >> -- >> 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) > -- 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 sanne.scharf at googlemail.com Sat May 28 18:30:09 2011 From: sanne.scharf at googlemail.com (Susanne) Date: Sat, 28 May 2011 11:30:09 -0700 Subject: Blank SoundIn recordings & Problem with Win7 and SR-Box Message-ID: Hi, I've got two problems that I need help with: In my experiment I'd like students to name pictures. I want to get the RT and record their responses. I work with a SR Box from PST (Model 200a) with a dynamic microphone. I get the RT of each picture but the problem is that even though e- prime creates soundfiles their is no sound played (they are blank). I tested if the loudspeakers are the problem, but normally the sound works perfectly. I also tested a simple headphone which in plugged into the normal microphone slot in my computer. Now e-prime creates soundfiles with sound, but the RT is not collected. (Even when changing the sensitivity). Still I'd like to use the SR-Box with mic to collect the data. Does anybody now why there is no sound in the soundfiles created with e-prime and the SR-box? Another problem is that I also want to use the SR-Box with my laptop. Thus I bought a Serial-USB converter. The problem is that my laptop is equipped witg Windows7 64bit Version. When I want to install the normal SR-Box driver an error occurs: The installation FAILED with the follwing information: Error: -3 Extended: -536870347 I changed the settings in e-prime and the converter so that they use the same "COM1"-settings. Thus I think the problem is Win7. I now that some people use e-prime with Win7. How do they do it? Is there a new driver that works with Win7? Thanks for your help, Best wishes from Germany Susanne -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From neuropsych76 at gmail.com Sun May 29 14:32:48 2011 From: neuropsych76 at gmail.com (cogneuro) Date: Sun, 29 May 2011 10:32:48 -0400 Subject: Why is is called "E-Prime"? In-Reply-To: <4dde9a1d.07b12a0a.135e.1377SMTPIN_ADDED@gmr-mx.google.com> Message-ID: He did mention MEL briefly but that was pretty much it. I was mostly asking questions about his neuroscience research :) On Thu, May 26, 2011 at 2:20 PM, David McFarlane wrote: > Interesting. Did Dr. Schneider also explain that before E-Prime he > produced MEL (Microcomputer Experiment Laboratory), a rather successful > product that ran under DOS? Or that E-Prime started as a joint venture with > Brian MacWhinney (head of this very discussion board, and STEP) at Carnegie > Mellon University to bring some of the ideas from MacWhinney's PsyScope on > the Macintosh over to the Windows platform? There's some interesting > history behind E-Prime, as for most things. > > -- David McFarlane, Professional Faultfinder > > > > At 5/26/2011 02:06 PM Thursday, you wrote: > >> I actually just met the creator of e-prime (!!!) a couple weeks ago and >> should have asked him this! >> >> Dr. Schneider just told me that he just wanted to create a software >> program that made making experiments easier and it just happened from there >> :) (he used to be an engineer). >> >> On Thu, May 26, 2011 at 11:14 AM, David McFarlane <> mcfarla9 at msu.edu>mcfarla9 at msu.edu> wrote: >> Curious minds want to know. So, I went ahead and posted this question to >> PST Web Support (as I keep saying, they really do generously take any and >> all questions there, and they did reply within 2 days). Laura McCarthy >> replied, "E-Prime refers to the Experimenter's Prime (best) development >> studio for the implementation of computerized behavioral research such as >> reaction time, detection, and learning type paradigms." She does not have a >> source citation for this, and neither do I -- I might have seen this >> explained in one of the early published papers introducing E-Prime, or in >> some of the early documentation for the beta versions that we started using >> back in 1998 or 1999. I might go back sometime and look further, but this >> should do for now. >> >> -- David McFarlane, Professional Faultfinder >> >> >> At 5/23/2011 02:20 PM Monday, in the thread "E-DataAid crashing" (< >> http://groups.google.com/group/e-prime/browse_thread/thread/2351146132d184ea >> > >> http://groups.google.com/group/e-prime/browse_thread/thread/2351146132d184ea), David McFarlane wrote: >> At 5/23/2011 11:55 AM Monday, Michiel Spape wrote: >> As a side note, does anyone else think e-Prime should, in this i-Age, >> change the name? I'm personally of the opinion that Me-Prime sounds better >> (although perhaps a bit too late, as YouTube, MySpace and YouGov have all >> lost that glossiness... Gee-Prime and /i/-Prime will probably end up to be >> rather costly). >> >> >> As I recall, the name "E-Prime" was meant to evoke "Experiment-Prime", >> i.e., "Experiment'", somewhat in the fashion of Isaac Newton's notation for >> derivatives; and so "E-Prime" was meant to evoke a system that advances >> experiments to the next level. But I don't know where I read that, and I >> can't find a citation now. >> >> I was never fond of this affectation (just like I was never fond of PST >> calling experiment programs "paradigms", or calling VBA/E-Basic source code >> "script", etc.). But I understand the name, and in that sense I suppose >> E-Prime makes more sense than -Prime. >> >> Just my US$.02, >> -- David McFarlane, Professional Faultfinder >> > > -- > You received this message because you are subscribed to the Google Groups > "E-Prime" group. > To post to this group, send email to e-prime at googlegroups.com. > To unsubscribe from this group, send email to > e-prime+unsubscribe at googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/e-prime?hl=en. > > -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send 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 suzanne.e.mol at gmail.com Mon May 30 13:04:39 2011 From: suzanne.e.mol at gmail.com (SEM) Date: Mon, 30 May 2011 06:04:39 -0700 Subject: visual dot probe experiment: position of words & pictures Message-ID: Hi! I already read the posts on dot probe tasks and scrolled through the e- prime manual by Michiel Spap? and Rinus Verdonschot (2009), but I didn't quite find the answer to my question, so I hope to succeed here? I am currently creating a visual dot probe experiment in E-prime (v 2.0), in which I'd like to present: A) fixation cross at the center of the screen B) pair of words C) arrow at the top of the screen or at the lower position, exactly corresponding the position of the word I especially have problems with getting the 2 words at the right POSITION in the screen so the arrow is presented at the exact same position as the word the arrow should "replace". How could I do that? Some background info: I am going to present each word pair (either negative-neutral or neutral-neutral) 4 times for 500 ms and 4 times for 1500 ms, in which the negative word is presented at the "top" twice + at the lower position of the screen twice for each duration time. Within those trials, the arrow will be in the same position of the "negative word" (= congruent; once pointing to the right, once pointing to the left for 500 ms and vice versa for 1500 ms so all words are presented with all 8 possibilites with regards to word-arrow congruency and arrows pointing left/right) and twice in the neutral position (= incongruent). (NB: The neutral-neutral fillers also are presented 4 times for 500 ms and 4 times for 1500 ms but there will be no "congruent" or "incongruent" for the arrows in these trials.) I wonder... - how many nested lists do I have to create? (e.g., would "congruent, incongruent, filler" do the trick?) - within the nested list, what attributes should I add (now, I added 5 attributes: word1, word2, arrow, CorrectAnswer, ItemNr. However, I don't get how I'd adjust the position of the words in the "textdisplay" screen except for just centering them, so I guess I am not doing everything right here?!) - as procedures, I created "wordarrowbelowlong=fixation cross, text displaylong, arrow-below"; "wordarrowbelow=fixation cross, textdisplayshort, arrow-below"; "wordarrowtoplong=fixation cross, textdisplaylong, arrow-top"; "wordarrowtop=fixation cross, textdisplayshort, arrow-top" (in which long = 1500 ms and short = 500 ms). Also within these properties screens, I don't manage adjusting the "position" of both of the words correctly. Or are these procedures wrong and can I already manage to get the right positions within the lists itself? - I think that the percentages I should fill in at "arrow-top" may be height=75% and "arrow-below"=25% (and frame should be set at center for all 4 options)? If that also fits/matches the position of the words? Furthermore, I'd like to run the same experiment for pictures (12 negative - neutral pairs; 4 neutral - neutral picture pairs) as well, presented above each other. I guess the creation of the lists and procedures will be the same (except I'd replace "word" by "pic"). However, positioning both pictures may differ from the "textdisplay"- positioning-procedure? Pictures should have like 3-8 cm distance between each other (dimensions for each picture in .jpg: 326x244). I'm sorry for my extended post, but I hope I have clearly explained what I am trying to get at eventually? Thank you in advance for your advice! Suzanne Leiden 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 pfc.groot at gmail.com Mon May 30 22:17:39 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Tue, 31 May 2011 00:17:39 +0200 Subject: visual dot probe experiment: position of words & pictures In-Reply-To: Message-ID: Hi Suzanne, I'm not sure if I completely understand the layout you are aiming for, but I think most of the problems could be solved if you start using a single Slide object with placeholders for the text and picture objects. Use the []-syntax to 'autofill' the words and pictures in those objects. This way the slide object act as a kind of template for your screen layout. I guess you would like to use transparent text objects on top of the arrow images. Defining en empty text string will make sure the arrow below the text object will be visible. You probably also have to define an empty dummy picture in case you would like to draw text without an arrow in the background. However, things might be a bit more complicated if the different objects have different onset times or durations, but this mechanism should also be usable in more complicated cases. And regarding to the nested lists: perhaps you could start with a minimalistic setup without nested list. Then, when everything works fine, you could move some of the attributes to separate lists when required. best Paul PS. I'm not sure if reaction time is critical in you study, but keep in mind that most displays draw the image from top to bottom. This can take upto 10-20ms, so be careful when comparing RT's between top-bottom conditions. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Tue May 31 09:58:17 2011 From: liwenna at gmail.com (liwenna) Date: Tue, 31 May 2011 02:58:17 -0700 Subject: visual dot probe experiment: position of words & pictures In-Reply-To: Message-ID: That's an excellent point you raise regarding top-bottom comparisons, Paul! On the other hand and to expand: literature on dot probes using word stimuli has it, that the reading effect is influencing rt's too much when a horizontal arrangement is used and that for this reason word dot probes ought to always use a vertical arrangement. Moreover: counterbalancing the positions of the negative and neutral words over the top and bottom position should cancel out possible effects from top-to-bottom display drawing. Still a good point that you raised, I nearly always use horizontal arrangements but I had never thought of this before. I am also at Leiden university and I'll see Suzanne this afternoon for some 'real life' trouble shooting. Your name is Dutch, are we having an all Dutch thread here? best, AW On 31 mei, 00:17, Paul Groot wrote: > Hi Suzanne, > > I'm not sure if I completely understand the layout you are aiming for, > but I think most of the problems could be solved if you start using a > single Slide object with placeholders for the text and picture > objects. Use the []-syntax to 'autofill' the words and pictures in > those objects. This way the slide object act as a kind of template for > your screen layout. I guess you would like to use transparent text > objects on top of the arrow images. Defining en empty text string will > make sure the arrow below the text object will be visible. You > probably also have to define an empty dummy picture in case you would > like to draw text without an arrow in the background. > > However, things might be a bit more complicated if the different > objects have different onset times or durations, but this mechanism > should also be usable in more complicated cases. > > And regarding to the nested lists: perhaps you could start with a > minimalistic setup without nested list. Then, when everything works > fine, you could move some of the attributes to separate lists when > required. > > best > Paul > > PS. I'm not sure if reaction time is critical in you study, but keep > in mind that most displays draw the image from top to bottom. This can > take upto 10-20ms, so be careful when comparing RT's between > top-bottom conditions. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 Tue May 31 13:33:34 2011 From: krupa.d.sheth at gmail.com (Krupa Sheth) Date: Tue, 31 May 2011 06:33:34 -0700 Subject: Randomising the Fixation duration Message-ID: Hi! I been totally baffled by this and I am sure there is a way where to over come this. Is there any function in E-Prime that allows the fixation point ("+") to appear for a random duration between 1500ms to 3500ms. I am sure it is possible but am so clueless how to do it. 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 Michiel.Spape at nottingham.ac.uk Tue May 31 14:26:34 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 31 May 2011 15:26:34 +0100 Subject: Randomising the Fixation duration In-Reply-To: <46da393d-562c-4ab7-96f2-80c424bb35ff@w21g2000yqm.googlegroups.com> Message-ID: It's actually somewhere in the E-Primer: http://www.cognitology.eu/pubs/AnE-Primer2009.pdf as an example of what to do with line-in stuff... I suggest going through the last 2 chapters, or earlier. But, then again, if you have a textdisplay showing just a +, called FixationDisplay, and a short inline before that: FixationDisplay.Duration = Random(1500,3500) - you're done. Best, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Krupa Sheth Sent: 31 May 2011 14:34 To: E-Prime Subject: Randomising the Fixation duration Hi! I been totally baffled by this and I am sure there is a way where to over come this. Is there any function in E-Prime that allows the fixation point ("+") to appear for a random duration between 1500ms to 3500ms. I am sure it is possible but am so clueless how to do it. 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. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From mcfarla9 at msu.edu Tue May 31 14:56:58 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 31 May 2011 10:56:58 -0400 Subject: Randomising the Fixation duration In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92F78811A64@EXCHANGE3.ad.no ttingham.ac.uk> Message-ID: Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... First, I agree that you would do well to work through Mich's E-Primer, as well as the Getting Started and User's Guides that came with E-Prime. Now, the inline code method allows you to easily randomize down to the ms, and without using attribute references. OTOH, the lack of an attribute reference means that the data log contains no record of the randomized fixation duration. So I would modify Mich's example as follows: c.SetAttrib "FixDur", Random(1500,3500) Then, in my fixation object, I would set Duration to "[FixDur]". Done. But if you don't mind (or even prefer) a coarser grain (say, 1500 - 3500 ms in steps of 100 ms) then you can accomplish this without any inline code. Just use a List, or perhaps a nested List, to hold all the possible fixation durations, and set the List Selection to Random. Suppose we call that attribute (i.e., column) "FixDur". Then, as before, in your fixation object set Duration to "[FixDur]". Done. (For more on nested Lists in particular, see Appendix C of the User's Guide that came with E-Prime.) -- David McFarlane, Professional Faultfinder At 5/31/2011 10:26 AM Tuesday, Michiel Spape wrote: >It's actually somewhere in the E-Primer: >http://www.cognitology.eu/pubs/AnE-Primer2009.pdf > as an example of what to do with line-in >stuff... I suggest going through the last 2 chapters, or earlier. >But, then again, if you have a textdisplay >showing just a +, called FixationDisplay, and a >short inline before that: >FixationDisplay.Duration = Random(1500,3500) - you're done. >Best, >Mich > >Michiel Spap? >Research Fellow >Perception & Action group >University of Nottingham >School of Psychology >www.cognitology.eu > >-----Original Message----- >From: e-prime at googlegroups.com >[mailto:e-prime at googlegroups.com] On Behalf Of Krupa Sheth >Sent: 31 May 2011 14:34 >To: E-Prime >Subject: Randomising the Fixation duration > >Hi! I been totally baffled by this and I am sure there is a way where >to over come this. > >Is there any function in E-Prime that allows the fixation point ("+") >to appear for a random duration between 1500ms to 3500ms. I am sure it >is possible but am so clueless how to do it. > >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 mcfarla9 at msu.edu Tue May 31 15:16:20 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 31 May 2011 11:16:20 -0400 Subject: Blank SoundIn recordings & Problem with Win7 and SR-Box In-Reply-To: <222115eb-61b4-43e5-b420-e7fd673d6032@m10g2000yqd.googlegro ups.com> Message-ID: Susanne, Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... Taking the second problem first... You didn't say what version of EP you use. If EP1, then you need to know that the EP1 SRBox driver does not work with anything beyond 32-bit XP. However, if you install the driver from EP2 then it should work with EP1 (at least, it does for me on 32-bit Vista). For more on this, see the PST Knowledge Base, e.g., http://www.pstnet.com/support/kb.asp?TopicID=1987 , http://www.pstnet.com/support/kb.asp?TopicID=3108 , http://www.pstnet.com/support/kb.asp?TopicID=3108 , http://www.pstnet.com/support/kb.asp?TopicID=4026 . BTW, I still would not use anything beyond 32-bit XP for running subjects for time-critical experiments (I use Vista only during development). Now, as I understand it you want to simultaneously record a voice response and get the RT for the onset of the voice response. For that, at a minimum you will need either two microphones, or one microphone with the cable split to go simultaneously to both the voicekey input of the SRBox *and* the sound input of your PC. As you have already discovered & noted, the SRBox microphone/voicekey input does *not* pass on sound to the PC, it acts only as the voicekey (just think about it, and the fact that the SRBox is attached to the PC only via a serial cable); and the sound input of the PC does *not* act as a voicekey, it only receives raw sound from the microphone. So you need to do both. I hope that clarifies things a bit. -- David McFarlane, Yankee Faultfinder "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." (Richard Feynman, Nobel prize-winning physicist) At 5/28/2011 02:30 PM Saturday, Susanne wrote: >Hi, > >I've got two problems that I need help with: > >In my experiment I'd like students to name pictures. I want to get the >RT and record their responses. >I work with a SR Box from PST (Model 200a) with a dynamic microphone. >I get the RT of each picture but the problem is that even though e- >prime creates soundfiles their is no sound played (they are blank). I >tested if the loudspeakers are the problem, but normally the sound >works perfectly. > >I also tested a simple headphone which in plugged into the normal >microphone slot in my computer. Now e-prime creates soundfiles with >sound, but the RT is not collected. (Even when changing the >sensitivity). > >Still I'd like to use the SR-Box with mic to collect the data. >Does anybody now why there is no sound in the soundfiles created with >e-prime and the SR-box? > > >Another problem is that I also want to use the SR-Box with my laptop. >Thus I bought a Serial-USB converter. The problem is that my laptop is >equipped witg Windows7 64bit Version. When I want to install the >normal SR-Box driver an error occurs: > >The installation FAILED with the follwing information: >Error: -3 >Extended: -536870347 > >I changed the settings in e-prime and the converter so that they use >the same "COM1"-settings. Thus I think the problem is Win7. I now that >some people use e-prime with Win7. How do they do it? Is there a new >driver that works with Win7? > >Thanks for your help, >Best wishes from Germany >Susanne -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email 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 Tue May 31 15:23:07 2011 From: krupa.d.sheth at gmail.com (Krupa Sheth) Date: Tue, 31 May 2011 08:23:07 -0700 Subject: Randomising the Fixation duration In-Reply-To: <4de501c0.01a32a0a.69c1.02daSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Thanks all for the very useful advice. I tried to follow Michiel's inline line of thought using her code suffix but it was coming to an E-Prime error. After having tried that provided by David; it worked.. i even checked it out on the E-DataAid file and all fixation durations were randomised... HALLELUJAH!! Thanks so much. I really appreciate it :) Best wishes, Krupa Research Associate Cerebra Centre of Neurodevelopmental Disorders University of Birmingham Edgbaston B15 2TT On May 31, 3:56?pm, David McFarlane wrote: > Stock reminder: ?1) I do not work for PST. ?2) > PST's trained staff takes any and all questions > athttp://support.pstnet.com/e%2Dprime/support/login.asp > , and they strive to respond to all requests in > 24-48 hours -- this is pretty much their > substitute for proper documentation, so make full > use of it. ?3) If you do get an answer from PST > Web Support, please extend the courtesy of > posting their reply back here for the sake of others. > > That said, here is my take... > > First, I agree that you would do well to work > through Mich's E-Primer, as well as the Getting > Started and User's Guides that came with E-Prime. > > Now, the inline code method allows you to easily > randomize down to the ms, and without using > attribute references. ?OTOH, the lack of an > attribute reference means that the data log > contains no record of the randomized fixation > duration. ?So I would modify Mich's example as follows: > > c.SetAttrib "FixDur", Random(1500,3500) > > Then, in my fixation object, I would set Duration to "[FixDur]". ?Done. > > But if you don't mind (or even prefer) a coarser > grain (say, 1500 - 3500 ms in steps of 100 ms) > then you can accomplish this without any inline > code. ?Just use a List, or perhaps a nested List, > to hold all the possible fixation durations, and > set the List Selection to Random. ?Suppose we > call that attribute (i.e., column) > "FixDur". ?Then, as before, in your fixation > object set Duration to "[FixDur]". ?Done. ?(For > more on nested Lists in particular, see Appendix > C of the User's Guide that came with E-Prime.) > > -- David McFarlane, Professional Faultfinder > > At 5/31/2011 10:26 AM Tuesday, Michiel Spape wrote: > > > > > > > > >It's actually somewhere in the E-Primer: > >http://www.cognitology.eu/pubs/AnE-Primer2009.pdf > > ?as an example of what to do with line-in > >stuff... I suggest going through the last 2 chapters, or earlier. > >But, then again, if you have a textdisplay > >showing just a +, called FixationDisplay, and a > >short inline before that: > >FixationDisplay.Duration = Random(1500,3500) - you're done. > >Best, > >Mich > > >Michiel Spap? > >Research Fellow > >Perception & Action group > >University of Nottingham > >School of Psychology > >www.cognitology.eu > > >-----Original Message----- > >From: e-prime at googlegroups.com > >[mailto:e-prime at googlegroups.com] On Behalf Of Krupa Sheth > >Sent: 31 May 2011 14:34 > >To: E-Prime > >Subject: Randomising the Fixation duration > > >Hi! I been totally baffled by this and I am sure there is a way where > >to over come this. > > >Is there any function in E-Prime that allows the fixation point ("+") > >to appear for a random duration between 1500ms to 3500ms. I am sure it > >is possible but am so clueless how to do it. > > >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 mcfarla9 at msu.edu Tue May 31 15:37:22 2011 From: mcfarla9 at msu.edu (David McFarlane) Date: Tue, 31 May 2011 11:37:22 -0400 Subject: Randomising the Fixation duration In-Reply-To: Message-ID: Krupa, Glad it worked for you. But it bugged me that Mich's code did not work, so I looked into it myself. Indeed, when I hurriedly tried it, I got the compile-time error, 'Left of "." must be an object, structure, or dialog.' That seemed odd, I looked more closely and saw that I had misnamed my TextDisplay as "FixtationDisplay" instead of "FixationDisplay". Fixed that, and for the record, Mich's code worked just fine. So I expect something like that happened to you, very easy to do. Glad you got it to work in any case, and posted back with your success. -- David McFarlane, Professional Faultfinder >Thanks all for the very useful advice. > >I tried to follow Michiel's inline line of thought using her code >suffix but it was coming to an E-Prime error. After having tried that >provided by David; it worked.. i even checked it out on the E-DataAid >file and all fixation durations were randomised... HALLELUJAH!! > >Thanks so much. I really appreciate it :) > >Best wishes, > >Krupa >Research Associate >Cerebra Centre of Neurodevelopmental Disorders >University of Birmingham >Edgbaston >B15 2TT > >On May 31, 3:56 pm, David McFarlane wrote: > > Stock reminder: 1) I do not work for PST. 2) > > PST's trained staff takes any and all questions > > athttp://support.pstnet.com/e%2Dprime/support/login.asp > > , and they strive to respond to all requests in > > 24-48 hours -- this is pretty much their > > substitute for proper documentation, so make full > > use of it. 3) If you do get an answer from PST > > Web Support, please extend the courtesy of > > posting their reply back here for the sake of others. > > > > That said, here is my take... > > > > First, I agree that you would do well to work > > through Mich's E-Primer, as well as the Getting > > Started and User's Guides that came with E-Prime. > > > > Now, the inline code method allows you to easily > > randomize down to the ms, and without using > > attribute references. OTOH, the lack of an > > attribute reference means that the data log > > contains no record of the randomized fixation > > duration. So I would modify Mich's example as follows: > > > > c.SetAttrib "FixDur", Random(1500,3500) > > > > Then, in my fixation object, I would set Duration to "[FixDur]". Done. > > > > But if you don't mind (or even prefer) a coarser > > grain (say, 1500 - 3500 ms in steps of 100 ms) > > then you can accomplish this without any inline > > code. Just use a List, or perhaps a nested List, > > to hold all the possible fixation durations, and > > set the List Selection to Random. Suppose we > > call that attribute (i.e., column) > > "FixDur". Then, as before, in your fixation > > object set Duration to "[FixDur]". Done. (For > > more on nested Lists in particular, see Appendix > > C of the User's Guide that came with E-Prime.) > > > > -- David McFarlane, Professional Faultfinder > > > > At 5/31/2011 10:26 AM Tuesday, Michiel Spape wrote: > > > > > > > > > > > > > > > > >It's actually somewhere in the E-Primer: > > >http://www.cognitology.eu/pubs/AnE-Primer2009.pdf > > > as an example of what to do with line-in > > >stuff... I suggest going through the last 2 chapters, or earlier. > > >But, then again, if you have a textdisplay > > >showing just a +, called FixationDisplay, and a > > >short inline before that: > > >FixationDisplay.Duration = Random(1500,3500) - you're done. > > >Best, > > >Mich > > > > >Michiel Spap? > > >Research Fellow > > >Perception & Action group > > >University of Nottingham > > >School of Psychology > > >www.cognitology.eu > > > > >-----Original Message----- > > >From: e-prime at googlegroups.com > > >[mailto:e-prime at googlegroups.com] On Behalf Of Krupa Sheth > > >Sent: 31 May 2011 14:34 > > >To: E-Prime > > >Subject: Randomising the Fixation duration > > > > >Hi! I been totally baffled by this and I am sure there is a way where > > >to over come this. > > > > >Is there any function in E-Prime that allows the fixation point ("+") > > >to appear for a random duration between 1500ms to 3500ms. I am sure it > > >is possible but am so clueless how to do it. > > > > >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 Michiel.Spape at nottingham.ac.uk Tue May 31 16:18:28 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 31 May 2011 17:18:28 +0100 Subject: Randomising the Fixation duration In-Reply-To: <4de501c0.01a32a0a.69c1.02daSMTPIN_ADDED@gmr-mx.google.com> Message-ID: Hiya, There's indeed nothing wrong with the code, but yes, it's more elegant to do David's suggestion, because you're at least sure it's also logged. There is also good reason to do the nested list with Duration, because you're never quite sure whether "random" isn't too random for your purposes. Suppose, for instance, that you constantly show each and every subject really short fixations? That will make an utter mess of your jittering purposes! It's unlikely, but still possible nonetheless - the joy of randomising with replacement. So, indeed, if you have a nice nested list with every random value (you can safely skip a few, because of screen refresh rates), you can be safe in the knowledge that at least you're sure no value is used twice (depending on the length of the list and the number of trials, of course). Best, Mich Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of David McFarlane Sent: 31 May 2011 15:57 To: e-prime at googlegroups.com Subject: RE: Randomising the Fixation duration Stock reminder: 1) I do not work for PST. 2) PST's trained staff takes any and all questions at http://support.pstnet.com/e%2Dprime/support/login.asp , and they strive to respond to all requests in 24-48 hours -- this is pretty much their substitute for proper documentation, so make full use of it. 3) If you do get an answer from PST Web Support, please extend the courtesy of posting their reply back here for the sake of others. That said, here is my take... First, I agree that you would do well to work through Mich's E-Primer, as well as the Getting Started and User's Guides that came with E-Prime. Now, the inline code method allows you to easily randomize down to the ms, and without using attribute references. OTOH, the lack of an attribute reference means that the data log contains no record of the randomized fixation duration. So I would modify Mich's example as follows: c.SetAttrib "FixDur", Random(1500,3500) Then, in my fixation object, I would set Duration to "[FixDur]". Done. But if you don't mind (or even prefer) a coarser grain (say, 1500 - 3500 ms in steps of 100 ms) then you can accomplish this without any inline code. Just use a List, or perhaps a nested List, to hold all the possible fixation durations, and set the List Selection to Random. Suppose we call that attribute (i.e., column) "FixDur". Then, as before, in your fixation object set Duration to "[FixDur]". Done. (For more on nested Lists in particular, see Appendix C of the User's Guide that came with E-Prime.) -- David McFarlane, Professional Faultfinder At 5/31/2011 10:26 AM Tuesday, Michiel Spape wrote: >It's actually somewhere in the E-Primer: >http://www.cognitology.eu/pubs/AnE-Primer2009.pdf > as an example of what to do with line-in >stuff... I suggest going through the last 2 chapters, or earlier. >But, then again, if you have a textdisplay >showing just a +, called FixationDisplay, and a >short inline before that: >FixationDisplay.Duration = Random(1500,3500) - you're done. >Best, >Mich > >Michiel Spap? >Research Fellow >Perception & Action group >University of Nottingham >School of Psychology >www.cognitology.eu > >-----Original Message----- >From: e-prime at googlegroups.com >[mailto:e-prime at googlegroups.com] On Behalf Of Krupa Sheth >Sent: 31 May 2011 14:34 >To: E-Prime >Subject: Randomising the Fixation duration > >Hi! I been totally baffled by this and I am sure there is a way where >to over come this. > >Is there any function in E-Prime that allows the fixation point ("+") >to appear for a random duration between 1500ms to 3500ms. I am sure it >is possible but am so clueless how to do it. > >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. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From liwenna at gmail.com Tue May 31 16:46:08 2011 From: liwenna at gmail.com (liwenna) Date: Tue, 31 May 2011 09:46:08 -0700 Subject: Randomising the Fixation duration In-Reply-To: <09DAEA8BC192C94EB62C8E71FC35A5D92F78811A96@EXCHANGE3.ad.nottingham.ac.uk> Message-ID: Glad you got it to work, but if you don't mind me asking: why would you want your fixation cross to have a random duration? I've seen people ask for this before, but as far as I can see it makes no sense at all. The fixation cross serves the purpose of fixating the gaze and warning that the new trial is too start. It exerts it's attention capturing 'quality' only at it's onset and should therefore appear always about 500 ms prior to the start of the trial, instead of having a random duration. Especially with a fixation cross as long as 3500 changes are pretty high that your participant's gaze has wandered elsewhere after 3500 ms when the trial starts, in which case the fixation cross achieved the exact opposite from what it is intended to do. The cross intends to indicate the start of the trial to the pp and therefore it should be predictable in it's duration. You do want to have a random duration inter trial interval in order to avoid automation of the timing of the motor response over trials, but rather use a separate blank slide (inter trial interval slide) with it's duration set to random in between the response slide and the next fixation cross (i,e, either at the total end or right at the start of the trial procedure), instead of randomizing the duration of the cross. best, liw On May 31, 6:18?pm, Michiel Spape wrote: > Hiya, > There's indeed nothing wrong with the code, but yes, it's more elegant to do David's suggestion, because you're at least sure it's also logged. There is also good reason to do the nested list with Duration, because you're never quite sure whether "random" isn't too random for your purposes. Suppose, for instance, that you constantly show each and every subject really short fixations? That will make an utter mess of your jittering purposes! It's unlikely, but still possible nonetheless - the joy of randomising with replacement. So, indeed, if you have a nice nested list with every random value (you can safely skip a few, because of screen refresh rates), you can be safe in the knowledge that at least you're sure no value is used twice (depending on the length of the list and the number of trials, of course). > > Best, > Mich > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of David McFarlane > Sent: 31 May 2011 15:57 > To: e-prime at googlegroups.com > Subject: RE: Randomising the Fixation duration > > Stock reminder: ?1) I do not work for PST. ?2) > PST's trained staff takes any and all questions > athttp://support.pstnet.com/e%2Dprime/support/login.asp > , and they strive to respond to all requests in > 24-48 hours -- this is pretty much their > substitute for proper documentation, so make full > use of it. ?3) If you do get an answer from PST > Web Support, please extend the courtesy of > posting their reply back here for the sake of others. > > That said, here is my take... > > First, I agree that you would do well to work > through Mich's E-Primer, as well as the Getting > Started and User's Guides that came with E-Prime. > > Now, the inline code method allows you to easily > randomize down to the ms, and without using > attribute references. ?OTOH, the lack of an > attribute reference means that the data log > contains no record of the randomized fixation > duration. ?So I would modify Mich's example as follows: > > c.SetAttrib "FixDur", Random(1500,3500) > > Then, in my fixation object, I would set Duration to "[FixDur]". ?Done. > > But if you don't mind (or even prefer) a coarser > grain (say, 1500 - 3500 ms in steps of 100 ms) > then you can accomplish this without any inline > code. ?Just use a List, or perhaps a nested List, > to hold all the possible fixation durations, and > set the List Selection to Random. ?Suppose we > call that attribute (i.e., column) > "FixDur". ?Then, as before, in your fixation > object set Duration to "[FixDur]". ?Done. ?(For > more on nested Lists in particular, see Appendix > C of the User's Guide that came with E-Prime.) > > -- David McFarlane, Professional Faultfinder > > At 5/31/2011 10:26 AM Tuesday, Michiel Spape wrote: > >It's actually somewhere in the E-Primer: > >http://www.cognitology.eu/pubs/AnE-Primer2009.pdf > > ?as an example of what to do with line-in > >stuff... I suggest going through the last 2 chapters, or earlier. > >But, then again, if you have a textdisplay > >showing just a +, called FixationDisplay, and a > >short inline before that: > >FixationDisplay.Duration = Random(1500,3500) - you're done. > >Best, > >Mich > > >Michiel Spap? > >Research Fellow > >Perception & Action group > >University of Nottingham > >School of Psychology > >www.cognitology.eu > > >-----Original Message----- > >From: e-prime at googlegroups.com > >[mailto:e-prime at googlegroups.com] On Behalf Of Krupa Sheth > >Sent: 31 May 2011 14:34 > >To: E-Prime > >Subject: Randomising the Fixation duration > > >Hi! I been totally baffled by this and I am sure there is a way where > >to over come this. > > >Is there any function in E-Prime that allows the fixation point ("+") > >to appear for a random duration between 1500ms to 3500ms. I am sure it > >is possible but am so clueless how to do it. > > >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 athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. ? Please do not use, copy or disclose the information contained in this message or in any attachment. ?Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From Michiel.Spape at nottingham.ac.uk Tue May 31 17:03:31 2011 From: Michiel.Spape at nottingham.ac.uk (Michiel Spape) Date: Tue, 31 May 2011 18:03:31 +0100 Subject: Randomising the Fixation duration In-Reply-To: Message-ID: Hiya, I can see loads of reasons, but my favourite is the jittering one. That is, if you have a paradigm like fixation(500 ms)-->stimulus(500ms)-->response(500 ms) (I guess this accounts for a lot of them), and you do EEG, then chances are that whatever you measure as peaks after stimulus (say, an N1), are actually not in the 100 ms after stimulus, but 600 ms after the onset of your fixation. By blurring the duration of your fixation, you'd blur the peak, which can - if adequately done - result in a flat-line. Other reasons I'll leave for others (e.g. I get a lot of anticipation responses if I do not randomise the fixation at least somewhat) - nice question anyway, it's good to sometimes discuss more theoretical issues here! Best, Michiel Michiel Spap? Research Fellow Perception & Action group University of Nottingham School of Psychology www.cognitology.eu -----Original Message----- From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of liwenna Sent: 31 May 2011 17:46 To: E-Prime Subject: Re: Randomising the Fixation duration Glad you got it to work, but if you don't mind me asking: why would you want your fixation cross to have a random duration? I've seen people ask for this before, but as far as I can see it makes no sense at all. The fixation cross serves the purpose of fixating the gaze and warning that the new trial is too start. It exerts it's attention capturing 'quality' only at it's onset and should therefore appear always about 500 ms prior to the start of the trial, instead of having a random duration. Especially with a fixation cross as long as 3500 changes are pretty high that your participant's gaze has wandered elsewhere after 3500 ms when the trial starts, in which case the fixation cross achieved the exact opposite from what it is intended to do. The cross intends to indicate the start of the trial to the pp and therefore it should be predictable in it's duration. You do want to have a random duration inter trial interval in order to avoid automation of the timing of the motor response over trials, but rather use a separate blank slide (inter trial interval slide) with it's duration set to random in between the response slide and the next fixation cross (i,e, either at the total end or right at the start of the trial procedure), instead of randomizing the duration of the cross. best, liw On May 31, 6:18?pm, Michiel Spape wrote: > Hiya, > There's indeed nothing wrong with the code, but yes, it's more elegant to do David's suggestion, because you're at least sure it's also logged. There is also good reason to do the nested list with Duration, because you're never quite sure whether "random" isn't too random for your purposes. Suppose, for instance, that you constantly show each and every subject really short fixations? That will make an utter mess of your jittering purposes! It's unlikely, but still possible nonetheless - the joy of randomising with replacement. So, indeed, if you have a nice nested list with every random value (you can safely skip a few, because of screen refresh rates), you can be safe in the knowledge that at least you're sure no value is used twice (depending on the length of the list and the number of trials, of course). > > Best, > Mich > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > Michiel Spap? > Research Fellow > Perception & Action group > University of Nottingham > School of Psychologywww.cognitology.eu > > -----Original Message----- > From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of David McFarlane > Sent: 31 May 2011 15:57 > To: e-prime at googlegroups.com > Subject: RE: Randomising the Fixation duration > > Stock reminder: ?1) I do not work for PST. ?2) > PST's trained staff takes any and all questions > athttp://support.pstnet.com/e%2Dprime/support/login.asp > , and they strive to respond to all requests in > 24-48 hours -- this is pretty much their > substitute for proper documentation, so make full > use of it. ?3) If you do get an answer from PST > Web Support, please extend the courtesy of > posting their reply back here for the sake of others. > > That said, here is my take... > > First, I agree that you would do well to work > through Mich's E-Primer, as well as the Getting > Started and User's Guides that came with E-Prime. > > Now, the inline code method allows you to easily > randomize down to the ms, and without using > attribute references. ?OTOH, the lack of an > attribute reference means that the data log > contains no record of the randomized fixation > duration. ?So I would modify Mich's example as follows: > > c.SetAttrib "FixDur", Random(1500,3500) > > Then, in my fixation object, I would set Duration to "[FixDur]". ?Done. > > But if you don't mind (or even prefer) a coarser > grain (say, 1500 - 3500 ms in steps of 100 ms) > then you can accomplish this without any inline > code. ?Just use a List, or perhaps a nested List, > to hold all the possible fixation durations, and > set the List Selection to Random. ?Suppose we > call that attribute (i.e., column) > "FixDur". ?Then, as before, in your fixation > object set Duration to "[FixDur]". ?Done. ?(For > more on nested Lists in particular, see Appendix > C of the User's Guide that came with E-Prime.) > > -- David McFarlane, Professional Faultfinder > > At 5/31/2011 10:26 AM Tuesday, Michiel Spape wrote: > >It's actually somewhere in the E-Primer: > >http://www.cognitology.eu/pubs/AnE-Primer2009.pdf > > ?as an example of what to do with line-in > >stuff... I suggest going through the last 2 chapters, or earlier. > >But, then again, if you have a textdisplay > >showing just a +, called FixationDisplay, and a > >short inline before that: > >FixationDisplay.Duration = Random(1500,3500) - you're done. > >Best, > >Mich > > >Michiel Spap? > >Research Fellow > >Perception & Action group > >University of Nottingham > >School of Psychology > >www.cognitology.eu > > >-----Original Message----- > >From: e-prime at googlegroups.com > >[mailto:e-prime at googlegroups.com] On Behalf Of Krupa Sheth > >Sent: 31 May 2011 14:34 > >To: E-Prime > >Subject: Randomising the Fixation duration > > >Hi! I been totally baffled by this and I am sure there is a way where > >to over come this. > > >Is there any function in E-Prime that allows the fixation point ("+") > >to appear for a random duration between 1500ms to 3500ms. I am sure it > >is possible but am so clueless how to do it. > > >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 athttp://groups.google.com/group/e-prime?hl=en. > > This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. ? Please do not use, copy or disclose the information contained in this message or in any attachment. ?Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. > > This message has been checked for viruses but the contents of an attachment > may still contain software viruses which could damage your computer system: > you are advised to perform your own checks. Email communications with the > University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -- You received this message because you are subscribed to the Google Groups "E-Prime" group. To post to this group, send email to e-prime at googlegroups.com. To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/e-prime?hl=en. From pfc.groot at gmail.com Tue May 31 20:31:39 2011 From: pfc.groot at gmail.com (Paul Groot) Date: Tue, 31 May 2011 22:31:39 +0200 Subject: visual dot probe experiment: position of words & pictures In-Reply-To: <2ec18e3d-b1c0-4ddc-ab35-abb74b77359e@n10g2000yqf.googlegroups.com> Message-ID: Counterbalancing should indeed cancel out this issue, but I know it's often overlooked. If you use relatively narrow stimuli at top and botton, then you could rotate the display 90 degrees and reduce this kind of interference and gain some accuracy. off topic: je hebt inderdaad een directe lijn met het AMC in Amsterdam 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.