Skip to content

Commit af61935

Browse files
committed
Properly handle LSL object lifetimes with using / Dispose in examples
1 parent fcb084c commit af61935

7 files changed

Lines changed: 17 additions & 14 deletions

File tree

examples/HandleMetaData/HandleMetaData.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ static void Main(string[] args)
1212
Console.Out.WriteLine("Test");
1313
}
1414
// create a new StreamInfo and declare some meta-data (in accordance with XDF format)
15-
using liblsl.StreamInfo info = new liblsl.StreamInfo("MetaTester","EEG",8,100,liblsl.channel_format_t.cf_float32,"myuid323457");
15+
using liblsl.StreamInfo info = new liblsl.StreamInfo("MetaTester", "EEG", 8, 100, liblsl.channel_format_t.cf_float32, "myuid323457");
1616
liblsl.XMLElement chns = info.desc().append_child("channels");
17-
String[] labels = {"C3","C4","Cz","FPz","POz","CPz","O1","O2"};
18-
for (int k=0;k<labels.Length;k++)
17+
String[] labels = { "C3", "C4", "Cz", "FPz", "POz", "CPz", "O1", "O2" };
18+
for (int k = 0; k < labels.Length; k++)
1919
chns.append_child("channel")
2020
.append_child_value("label", labels[k])
2121
.append_child_value("unit", "microvolts")
@@ -32,9 +32,9 @@ static void Main(string[] args)
3232
// === the following could run on another computer ===
3333

3434
// resolve the stream and open an inlet
35-
liblsl.StreamInfo[] results = liblsl.resolve_stream("name","MetaTester");
35+
liblsl.StreamInfo[] results = liblsl.resolve_stream("name", "MetaTester");
3636
using liblsl.StreamInlet inlet = new liblsl.StreamInlet(results[0]);
37-
foreach (liblsl.StreamInfo si in results) si.Dispose();
37+
results.DisposeArray();
3838

3939
// get the full stream info (including custom meta-data) and dissect it
4040
using liblsl.StreamInfo inf = inlet.info();

examples/ReceiveData/ReceiveData.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ static void Main(string[] args)
1010
liblsl.StreamInfo[] results = liblsl.resolve_stream("type", "EEG");
1111

1212
// open an inlet and print some interesting info about the stream (meta-data, etc.)
13-
liblsl.StreamInlet inlet = new liblsl.StreamInlet(results[0]);
13+
using liblsl.StreamInlet inlet = new liblsl.StreamInlet(results[0]);
14+
results.DisposeArray();
1415
System.Console.Write(inlet.info().as_xml());
1516

1617
// read samples

examples/ReceiveDataInChunks/ReceiveDataInChunks.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ static void Main(string[] args)
1414
// Note: The use of post-processing makes it impossible to recover
1515
// the original timestamps and is not recommended for applications
1616
// that store data to disk.
17-
liblsl.StreamInlet inlet = new liblsl.StreamInlet(results[0],
17+
using liblsl.StreamInlet inlet = new liblsl.StreamInlet(results[0],
1818
postproc_flags: liblsl.processing_options_t.proc_ALL);
19+
results.DisposeArray();
1920
System.Console.Write(inlet.info().as_xml());
2021

2122
// read samples

examples/ReceiveStringMarkers/ReceiveStringMarkers.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ static void Main(string[] args)
1111
liblsl.StreamInfo[] results = liblsl.resolve_stream("type", "Markers");
1212

1313
// open an inlet and print meta-data
14-
liblsl.StreamInlet inlet = new liblsl.StreamInlet(results[0]);
14+
using liblsl.StreamInlet inlet = new liblsl.StreamInlet(results[0]);
15+
results.DisposeArray();
1516
Console.Write(inlet.info().as_xml());
1617

1718
// read samples

examples/SendData/SendData.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ static void Main(string[] args)
1111
Random rnd = new Random();
1212

1313
// create stream info and outlet
14-
liblsl.StreamInfo info = new liblsl.StreamInfo("TestCSharp", "EEG", 8, 100, liblsl.channel_format_t.cf_float32, "sddsfsdf");
15-
liblsl.StreamOutlet outlet = new liblsl.StreamOutlet(info);
14+
using liblsl.StreamInfo info = new liblsl.StreamInfo("TestCSharp", "EEG", 8, 100, liblsl.channel_format_t.cf_float32, "sddsfsdf");
15+
using liblsl.StreamOutlet outlet = new liblsl.StreamOutlet(info);
1616
float[] data = new float[8];
1717
while (!Console.KeyAvailable)
1818
{

examples/SendDataInChunks/SendDataInChunks.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ static void Main(string[] args)
1010
{
1111
Random rnd = new Random();
1212
// create stream info and outlet
13-
liblsl.StreamInfo info = new liblsl.StreamInfo("TestCSharp", "EEG", 8, 100, liblsl.channel_format_t.cf_float32, "sddsfsdf");
14-
liblsl.StreamOutlet outlet = new liblsl.StreamOutlet(info);
13+
using liblsl.StreamInfo info = new liblsl.StreamInfo("TestCSharp", "EEG", 8, 100, liblsl.channel_format_t.cf_float32, "sddsfsdf");
14+
using liblsl.StreamOutlet outlet = new liblsl.StreamOutlet(info);
1515

1616
// send data in chunks of 10 samples and 8 channels
1717
float[,] data = new float[10, 8];

examples/SendStringMarkers/SendStringMarkers.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ class Program
99
static void Main(string[] args)
1010
{
1111
// create stream info and outlet
12-
liblsl.StreamInfo inf = new liblsl.StreamInfo("Test1", "Markers", 1, 0, liblsl.channel_format_t.cf_string, "giu4569");
13-
liblsl.StreamOutlet outl = new liblsl.StreamOutlet(inf);
12+
using liblsl.StreamInfo inf = new liblsl.StreamInfo("Test1", "Markers", 1, 0, liblsl.channel_format_t.cf_string, "giu4569");
13+
using liblsl.StreamOutlet outl = new liblsl.StreamOutlet(inf);
1414

1515
Random rnd = new Random();
1616
string[] strings = new string[] { "Test", "ABC", "123" };

0 commit comments

Comments
 (0)