static void Main(string[] args) { // create stream info and outlet liblsl.StreamInfo inf = new liblsl.StreamInfo("Test1", "Markers", 1, 0, liblsl.channel_format_t.cf_string, "giu4569"); liblsl.StreamOutlet outl = new liblsl.StreamOutlet(inf); Random rnd = new Random(); string[] strings = new string[] { "Test", "ABC", "123" }; string[] sample = new string[1]; for (int k = 0; ; k++) { // send a marker and wait for a random interval sample[0] = strings[k % 3]; outl.push_sample(sample); System.Threading.Thread.Sleep(rnd.Next(1000)); } }
static void Main(string[] args) { Random rnd = new Random(); // create stream info and outlet liblsl.StreamInfo info = new liblsl.StreamInfo("BioSemi", "EEG", 8, 100, liblsl.channel_format_t.cf_float32, "sddsfsdf"); liblsl.StreamOutlet outlet = new liblsl.StreamOutlet(info); // send data in chunks of 10 samples and 8 channels float[,] data = new float[10, 8]; while (true) { for (int s = 0; s < 10; s++) for (int c = 0; c < 8; c++) data[s, c] = rnd.Next(-100, 100); outlet.push_chunk(data); System.Threading.Thread.Sleep(100); } }
static void Main(string[] args) { Random rnd = new Random(); // create stream info and outlet liblsl.StreamInfo info = new liblsl.StreamInfo("BioSemi", "EEG", 8, 100, liblsl.channel_format_t.cf_float32, "sddsfsdf"); liblsl.StreamOutlet outlet = new liblsl.StreamOutlet(info); float[] data = new float[8]; while (true) { // generate random data and send it for (int k = 0; k < data.Length; k++) data[k] = rnd.Next(-100, 100); outlet.push_sample(data); System.Threading.Thread.Sleep(10); } System.Console.ReadKey(); }
static void Main(string[] args) { // create a new StreamInfo and declare some meta-data (in accordance with XDF format) liblsl.StreamInfo info = new liblsl.StreamInfo("MetaTester","EEG",8,100,liblsl.channel_format_t.cf_float32,"myuid323457"); liblsl.XMLElement chns = info.desc().append_child("channels"); String[] labels = {"C3","C4","Cz","FPz","POz","CPz","O1","O2"}; for (int k=0;k<labels.Length;k++) chns.append_child("channel") .append_child_value("label", labels[k]) .append_child_value("unit", "microvolts") .append_child_value("type","EEG"); info.desc().append_child_value("manufacturer","SCCN"); info.desc().append_child("cap") .append_child_value("name","EasyCap") .append_child_value("size","54") .append_child_value("labelscheme","10-20"); // create outlet for the stream liblsl.StreamOutlet outlet = new liblsl.StreamOutlet(info); // === the following could run on another computer === // resolve the stream and open an inlet liblsl.StreamInfo[] results = liblsl.resolve_stream("name","MetaTester"); liblsl.StreamInlet inlet = new liblsl.StreamInlet(results[0]); // get the full stream info (including custom meta-data) and dissect it liblsl.StreamInfo inf = inlet.info(); Console.WriteLine("The stream's XML meta-data is: "); Console.WriteLine(inf.as_xml()); Console.WriteLine("The manufacturer is: " + inf.desc().child_value("manufacturer")); Console.WriteLine("The cap circumference is: " + inf.desc().child("cap").child_value("size")); Console.WriteLine("The channel labels are as follows:"); liblsl.XMLElement ch = inf.desc().child("channels").child("channel"); for (int k=0;k<info.channel_count();k++) { Console.WriteLine(" " + ch.child_value("label")); ch = ch.next_sibling(); } Console.ReadKey(); }
private void start_Click(object sender, EventArgs e) { string user; string pw; if (captureStatus == true) MessageBox.Show("Capturer is already running!"); else { try { usernameString = username.Text; user=usernameString; pw=textBoxPassword.Text; if (!User.login(usernameString,pw)) MessageBox.Show("Invalid username or password!"); else { file = new System.IO.StreamWriter(filePath + "\\" + getCurrentTimeMillis() + "_" + usernameString + ".txt"); file.WriteLine("# user: "******" #"); captureStatus = true; mouseHook.Start(); keyboardHook.Start(); this.winEventProc = new WinEventDelegate(WinEventProc); m_hhook = SetWinEventHook(EVENT_SYSTEM_FOREGROUND, EVENT_SYSTEM_FOREGROUND, IntPtr.Zero, this.winEventProc, 0, 0, WINEVENT_OUTOFCONTEXT); start.Enabled = false; stop.Enabled = true; User.recordLogin(usernameString); this.Hide(); inf = new liblsl.StreamInfo(streamNameBox.Text, chanelTBox.Text, Convert.ToInt32(chanelCountBox.Text), Convert.ToInt32(nstrateBox.Text), liblsl.channel_format_t.cf_string, sourceIDBox.Text); outl = new liblsl.StreamOutlet(inf); } } catch (Exception ex) { MessageBox.Show(ex.Message); captureStatus = false; } } }