Skip to content

Tutorial 5. Use the config file to structure your LSL experiments

Chadwick Boulay edited this page Oct 18, 2019 · 1 revision

The LabRecorder supports you in structuring your recording session using a config file. In the config file you can define streams that need to be present before the data acquisition can start. This is useful to assure that all streams you want to record are active at the beginning of the recording. If one of the streams is missing, the LabRecorder will warn you about this.

By default, the dile defaul_config.cfg is loaded upon start. Under File>Load configuration... you can select a different config file. You can also directly open LabRecorder with a specific configuration file. You this you can generate a shortcut for the lab recorder an add -c name_of_your_config_file.cfg.

In the config file you can specify:

Storage location

The default file name can be something like C:\Recordings\untitled.xdf, but can also contain a placeholder for a running number (incremented per experiment session) called %n, and a placeholder for a "block" label %b (if the config script provides a list of block names that consitute a session.

The syntax is as in:

StorageLocation = "C:\\Recordings\\subject%n\\block_%b.xdf"

Required streams

This is optionally a list of streams that are required for the recording; a warning is issued if one of the streams is not present when the record button is pressed

The syntax is as in:

RequiredStreams = ["BioSemi (MyHostname)","PhaseSpace (MyHostname)","Eyelink (AnotherHostname)"]

where the format is identical to what the LabRecorder displays in the "Record from streams" list.

Block Name

This is optionally a list of blocks that make up a recording session. The blocks are displayed in a list box where the experiment can select a block before pressing record. If used, the blocks may serve as a reminder of where they are in the experiment, but more practically, can be used to determine the file name of the recording. Power users can define scriptable actions associated with selecting a block or pressing Start/Stop for a given block (e.g., for remote control).

The syntax is as in:

SessionBlocks = [Training,PreBaseline,MainSection,PostBaseline]