This article applies to:
E-Prime Extensions for Brain Products 3.0
This bug was introduced in E-Prime Extensions for Brain Products (EEBP) 220.127.116.11.
This bug was fixed in E-Prime Extensions for Brain Products (EEBP) 18.104.22.168.
Unintended, additional and/or duplicate markers appear in BrainVision Recorder when calling BrainProducts_SetMarkerPulse or BrainProducts_SetMarkerValue PackageCall routines.
Due to a design flaw, the Task Events created by the BrainProducts_SetMarkerPulse and BrainProducts_SetMarkerValue PackageCall routines may not be cleared from the queue of Task Events associated with the routines’ Procedure. As a result, additional markers which are not intended or expected may be sent to BrainVision Recorder.
Upgrade to E-Prime Extensions for Brain Products (EEBP) 22.214.171.124.
This workaround is intended only for those who are unable to update to the version of E-Prime that contains the bug fix:
Insert an InLine object with the following script into the Procedure that includes the BrainProducts_SetMarkerPulse or BrainProducts_SetMarkerValue routine:
The above script assumes there is an E-Object on the same Procedure called "Stimulus" which is associated with at least one BrainProducts "SetMarker" routine. The .Reset method clears all Task Events that have been added to the collection of Task Events associated with the Stimulus Object. Ideally, the InLine should be the first E-Object on the Procedure, since it must be called prior to adding Task Events for the current trial to the queue. The .Reset method must be called once for each object on the Procedure which has a non-Input Mask Task Event.
NOTE: This bug does not occur with the Sample and Tutorial experiments that are provided with EEBP. These experiments include a second PackageCall routine which creates a Task Event on an Input Mask for the same object that serves as the Event for the first Task Event. The existence of the Input Mask Task Event results in the removal of any non-Input Mask Task Events for the same object.
Consider the BPBasicRT.es3 sample. This example shows two SetMarkerPulse routines:
The two SetPulseMarker routines present in the TrialProc of BPBasicRT.
BPSetMarkerPulseStimulus is associated with Stimulus.OnsetTime Event, and BPSetMarkerPulseResp is associated with the Stimulus.Keyboard(1).Press Event. If BPSetMarkerPulseResp were removed from TrialProc, then unintended, additional and/or duplicate markers would be sent to BrainVision Recorder.
For a more complete description of the BrainProducts_SetMarkerPulse and BrainProducts_SetMarkerValue routines, see the E-Prime Extensions for Brain Products 3.0 User Manual Tutorial, Section 4.3, Task 11.