From 88a81f00492f243dc9f46587ad84a34deeeb8c0f Mon Sep 17 00:00:00 2001 From: Thibaut <thibaut.monseigne@inria.fr> Date: Thu, 16 Apr 2020 11:08:02 +0200 Subject: [PATCH] :sparkles: Finish First Step send with LSL --- Assets/Scripts/Controller.cs | 4 +- Documentation/resources/scenario-example.xml | 209 ++++++------------- 2 files changed, 67 insertions(+), 146 deletions(-) diff --git a/Assets/Scripts/Controller.cs b/Assets/Scripts/Controller.cs index 6e7bbc9..3cc429c 100644 --- a/Assets/Scripts/Controller.cs +++ b/Assets/Scripts/Controller.cs @@ -43,11 +43,11 @@ namespace OVGames.HelloSender { float t = Time.time; for (int i = 0; i < channelCount; ++i) { samples[i] = (float) Math.Sin(t + i); } - outletSignal.PushSample(samples); + outletSignal.PushSample(samples, liblsl.LocalClock()); if (t - lastTime > 1) { lastTime = t; - outletMarker.PushSample(new[] { STIMULATION }); + outletMarker.PushSample(new[] { STIMULATION }, liblsl.LocalClock()); } } } diff --git a/Documentation/resources/scenario-example.xml b/Documentation/resources/scenario-example.xml index 1815ce9..79ecefe 100644 --- a/Documentation/resources/scenario-example.xml +++ b/Documentation/resources/scenario-example.xml @@ -7,185 +7,132 @@ <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x00001d83, 0x00005bb9)</Identifier> - <Name>Clock stimulator</Name> - <AlgorithmClassIdentifier>(0x4f756d3f, 0x29ff0b96)</AlgorithmClassIdentifier> + <Identifier>(0x00000050, 0x00007f60)</Identifier> + <Name>Hello Sender Game</Name> + <AlgorithmClassIdentifier>(0x4cbf4237, 0x24f54a7c)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Output matrix</Name> + </Output> <Output> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Generated stimulations</Name> + <Name>Output stimulations</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Interstimulation interval (in sec)</Name> - <DefaultValue>1.0</DefaultValue> - <Value>5.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Label_00</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>720</Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27b3ee3c, 0xc50527e6)</Value> + <Value>(0xcdc02a11, 0x9a816677)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x000029cc, 0x00007eba)</Identifier> - <Name>Hello World Game</Name> - <AlgorithmClassIdentifier>(0x46705bc3, 0x3058a939)</AlgorithmClassIdentifier> + <Identifier>(0x00002498, 0x000035c7)</Identifier> + <Name>Matrix Display</Name> + <AlgorithmClassIdentifier>(0x54f0796d, 0x3ede2cc0)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Matrix</Name> </Input> </Inputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xcb293370, 0xee8027f2)</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x00003552, 0x000054ad)</Identifier> - <Name>Time signal</Name> - <AlgorithmClassIdentifier>(0x28a5e7ff, 0x530095de)</AlgorithmClassIdentifier> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Generated signal</Name> - </Output> - </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Sampling frequency</Name> - <DefaultValue>512</DefaultValue> - <Value>256</Value> + <TypeIdentifier>(0x3d3c7c7f, 0xef0e7129)</TypeIdentifier> + <Name>Color gradient</Name> + <DefaultValue>0:2,36,58; 50:100,100,100; 100:83,17,20</DefaultValue> + <Value>0:2,36,58; 50:100,100,100; 100:83,17,20</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Generated epoch sample count</Name> - <DefaultValue>32</DefaultValue> - <Value>1</Value> + <Name>Steps</Name> + <DefaultValue>100</DefaultValue> + <Value>100</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Symetric min/max</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Real time min/max</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x9e5ca01e, 0x30a4d8c3)</Value> + <Value>(0x4ff49bdb, 0x9dcf6788)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0000629e, 0x000034f6)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x000066c9, 0x00005cd9)</Identifier> + <Name>Stimulation listener</Name> + <AlgorithmClassIdentifier>(0x65731e1d, 0x47de5276)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulation stream 1</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>sin(x)</Value> + <TypeIdentifier>(0xa88b3667, 0x0871638c)</TypeIdentifier> + <Name>Log level to use</Name> + <DefaultValue>Information</DefaultValue> + <Value>Information</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>(0xf451ad91, 0x14c75f86)</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> @@ -204,60 +151,34 @@ </Boxes> <Links> <Link> - <Identifier>(0x000003dc, 0x000048bc)</Identifier> + <Identifier>(0x000070d3, 0x000045e2)</Identifier> <Source> - <BoxIdentifier>(0x00003552, 0x000054ad)</BoxIdentifier> + <BoxIdentifier>(0x00000050, 0x00007f60)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000629e, 0x000034f6)</BoxIdentifier> + <BoxIdentifier>(0x00002498, 0x000035c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00000e9b, 0x00001c1a)</Identifier> + <Identifier>(0x00007ec0, 0x000065a9)</Identifier> <Source> - <BoxIdentifier>(0x0000629e, 0x000034f6)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00000050, 0x00007f60)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000029cc, 0x00007eba)</BoxIdentifier> + <BoxIdentifier>(0x000066c9, 0x00005cd9)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x000031d4, 0x00003e9b)</Identifier> - <Source> - <BoxIdentifier>(0x00001d83, 0x00005bb9)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x000029cc, 0x00007eba)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> </Links> - <Comments> - <Comment> - <Identifier>(0x00006a65, 0x00005977)</Identifier> - <Text>Signal = Sin(time)</Text> - <Attributes> - <Attribute> - <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>624</Value> - </Attribute> - <Attribute> - <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>176</Value> - </Attribute> - </Attributes> - </Comment> - </Comments> + <Comments></Comments> <Metadata> <Entry> <Identifier>(0x00003414, 0x00007f3b)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00000cf5, 0x00000b02)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00003657, 0x00003658)","index":0,"name":"Default tab","parentIdentifier":"(0x00000cf5, 0x00000b02)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000018fe, 0x00004f01)","index":0,"name":"Empty","parentIdentifier":"(0x00003657, 0x00003658)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00000cf5, 0x00000b02)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0x00002498, 0x000035c7)","childCount":0,"identifier":"(0x00005d08, 0x00001914)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00003657, 0x00003658)","index":0,"name":"Default tab","parentIdentifier":"(0x00000cf5, 0x00000b02)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000018fe, 0x00004f01)","index":0,"name":"Empty","parentIdentifier":"(0x00003657, 0x00003658)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file -- GitLab