Welcome Guest, you are in: Login

EventIDE Wiki



Search the wiki


Event Icon Event
Category: Design object
Role: Procedure design


NameDescription                              ConstraintsTypeOn
Title        Defines the event title, as it appears in GUI          String         
Duration        Defines the minimal duration of the event in ms. The duration is a period between event's onset and offset. The actual duration may depend on the conditional flow logic and monitor's refresh rate for visual events. The predicted actual duration is shown to the right of the value.                clTime         
Show Mouse Cursor        Defines whether the system mouse cursor is shown, while the event is active. Note that the property can be overridden by a subevent. The mouse cursor can not be shown, if the Exclusive Input in HQ is on.                Boolean         
Screen Cloning        Defines whether a replica of event's surface is sent for monitoring on the Status Screen (via the Clone Screen property in the Experiment ribbon tab). Screen cloning, albeit accelerated, may decrease timing accuracy and, therefore, is not recommended for the time-critical events.                Boolean         
Rendering Snippet        Defines when the event's rendering snippet is invoked during the course of the rendering pipeline. Note that the rendering snippet in never invoked for non-visual events, even if the snippet contains code.                Int32         
Live Rendering        Defines whether any change on the event surface causes an immediate visual update, given that the event is on-screen. If false, the update will be done off-screen only, such that the new visual content will be presented only on the next event onset.                Boolean         
Control Loop Pace        Defines the minimal time interval (ms) between two consequent calls of the control loop snippet of this event. The default value, 0, means that the snippet is called as frequently, as possible. The property does not affects the pace of the inner control loop for the elements.                Double         
Is Time Critical        Defines whether the timing in this event is critical. Note if sub-events exists in this event, each of them overrides this property                Boolean         
Visual Appearance
Background Color        Defines the background color of the event surface. The default background is transparent, which allows to compose visual items of the current event with the visual surface of the parent event.                stColor         
Rotation        Defines the angle of a global rotational transform, which is applied to the event surface and all visual items. The value is set in degrees, in 0..360 range, and goes anti-clock wise starting from the right tail of a horizontal axis that crosses the screen center.                Double         
Positional Shift        Defines a global positional transform, which applied to to the event surface and all visual items, separately for the X and Y axis. The default value is (0,0) which means no shift applied.                clPoint         
Scale        Defines a global scaling transform, which applied to to the event surface and all visual items, separately for the X and Y axis, relatively to the screen center. The default value is (1,1) which means no transformation. The values less than 1 produce the downscaling, and values greater than 1 results in the upscaling. The negative values, e.g. -1, flip the surface over the corresponding axis.                clScale         
Positional Input
Tracking Device        Defines which of the radar providers is used for positional input in this event. In each experiment, the radar providers includes the system mouse and all tracker elements. The selected radar provider controls the Radar Point property and input to the AOI elements in this event. When 'Auto' is chosen, the first tracker element is picked up. If there are no tracker elements, the system mouse is used by default.                String         
Radar Point        Returns the newest screen position obtained via the selected Radar provider, e.g. the mouse or eye-tracker. The property value is updated every Control Loop cycle in the event. When the position is provided by the system mouse, you can write the property in order to move the mouse cursor. Otherwise, the Radar property is read-only and writings are ignored.                clPoint         
Radar Buffer        Returns an array of screen coordinates representing the most recent current positional input arrived in the last Control Loop interval. The last valid screen point in the array is the same as a value of the Radar point property.                clPoin..         
Runtime Status
Elapsed Time        The time passed since the onset of the given event (ms). This property can be used as a timer for code-controlled actions within the given event.                clTime         
Frame Duration        Returns the actual frame duration in live rendering. The live rendering is performed, when the on-screen event redraws its surface in response a visual change. For example, the live rendering occurs, when video is presented or visual animation is programmed in snippets. The duration is refreshed on every screen update.                clTime         
Preceding Event        Returns a name of the immediately preceding event on the same layer during a run.                String         
Subevent Index        Returns an index of the currently active event on event's sublayer. The property can be used for monitoring the subevent flow. The property also allows to control the subevent flow manually, bypassing the flow routes: when a new event index is assigned to the property in snippets, the corresponding event will be immediately activated on the sublayer.                Int32         
Timing Statistics
Measured Duration        Returns the actual duration of the event measured after the event offset. You can check or record this property in order to validate the expected timing accuracy of the experiment.                clTime         
Onset Time        Returns the actual time of the last onset of this event in ms. passed since the start of the experiment.                clTime         
Composition Time        Returns the time (ms) that the given event spends for composing its visual surface in the off-screen buffer. The composition is the first part of the event rendering pipeline and the time depend on a number of the visual elements.                clTime         
Rendering Time        Returns the time (ms) that the given event spends for rendering its off-screen buffer onto the screen. The rendering is the last part of the event rendering pipeline and the time does not depend on a number of the visual elements.                clTime         
Control Loop Delta        Returns continuously re-measured time delta (ms) between two consecutive step of the event's control loop. If there are no going computational load or snippet calls in the experiment the interval is below 1ms.                clTime         
Snippet Call Times        Returns the statistics of executions times (in ms) for the code snippets in a scope of the given event. Statistics of a single snippet can be accessed by snippet's name, e.g.: 'clTime Time=(clTime) SnippetTimes'After Onset';' The snippet mush contain code to be included into the list.                Dictio..         


Events are timeline blocks that build up an experiment scenario in EventIDE. A simple scenario is composed of a sequence of events, which are activated one by one, in the order defined by a custom flow logic. The events are often associated with displays containing some graphics content, like slides in PowerPoint. However, the events can carry non-visual logic as well- for example, an event can be created that sends data via a computer port, while keeping the visual display unchanged.

Event Layers

Events are organized in the event layers, which can contain any number of events. Only one event can be active on the event layer at runtime. The order of the events in the event layer is controlled either by timing or/and logical conditions, defined by flow routes. Multiple event layers can be presented in an experiment, arranged in a hierarchical fashion.

Order of events

Presentation of events always starts with the first event on the event layer. Then, the presentation order is defined by flow routes that you create in accordance with the experiment logic. When there are no outgoing flow routes defined, the current event stays active. A single event can be reactivated many times, if a flow logic demands it.

Event as a container and working scope

What happens within the event is defined either by attached code, or by elements that can be added to event's element list. Each event is a container, in which you can put elements with different functions. For example, if you add the Text Element into an event and run the experiment, you will see a text on the onset of the event. The text will disappear on the event offset. If you add the Button Element, it will register button presses, while the event is active. Thus, the event also represents a working scope for its elements.

In certain scenarios, you may want to be able to detect a button press during several consecutive events that, for example, provide a transformation of the visual stimulus. To solve it, you can create several button elements for each of the visual events but there is an easier solution: any Event can be expanded with its own layer of children events (event sublayer). For the discussed button scenario you should simply: 1) select a single parent event, 2) add an event sublayer on it, 3) create on the sublayer several children events that are responsible for stimulus transformation and, 4) add a Button element into the Parent event. After doing it, a button press will be detected anytime while a stimulus transformation is performed. The hierarchy of events and events layers in EventIDE offers a very powerful and flexible tool for creating custom experiment scenarios. Events represent main building blocks for any experiment scenario in EventIDE. A typical scenario consists of a sequence of events which are activated one by one, according to a logic predefined by the event flow. In the simplest case, events can be associated with visual scenes containing their own graphics content, like slides in Microsoft PowerPoint. Then, the whole experiment will appear as a sequence of visual scenes. However, events can be tied to the non-visual actions as well- for example, with initiation a serial port communication at the certain time, while keeping visual output on the screen unchanged.

Practical Use

Creating a new event

Once you create a new experiment, it contains one event layer with a single event. You can add new events via the button left to the event panel:
Adding events via the event panel

Adding events via the event panel

New event will appear in the Event panel, in the last position. Then you can reorder the event by dragging. If you want to manage the event layers or flow routes, press the large button to the right of the event panel.

Removing the events

If you want to remove one or more event, select them in the element panel (keep Shift or Ctrl pressed for multi-selection) and press Del button. You can also open a context menu with all comands by the right mouse click.

Editing the event title and duration

Using the event panel, you can edit the event title and duration. Move the mouse over the title or duration in the event box (see below) and make a double click to activate the editing mode. Then, type a new value.
Editing the event title in the event panel

Editing the event title in the event panel

  Name Size
- Event-Icon.png 1.47 KB
- EventIcon.png 4.30 KB
- EventPanel-sm.png 50.63 KB
- EventPanel.png 125.64 KB
- EventTitle.png 15.29 KB

ScrewTurn Wiki version Some of the icons created by FamFamFam.