37 const std::string& type,
38 const std::string& source_id)
44 mInfo = lsl_create_streaminfo(
54 const char* err = lsl_last_error();
55 std::cerr <<
"ERROR: Failed to create LSL stream info"
56 << (err ? std::string(
": ") + err :
"") <<
"\n";
57 std::cerr <<
" name=[" << name <<
"] type=[" << type
58 <<
"] source_id=[" << source_id <<
"]\n";
63 mOutlet = lsl_create_outlet(mInfo, 0, 360);
66 std::cerr <<
"ERROR: Failed to create LSL outlet\n";
67 lsl_destroy_streaminfo(mInfo);
72 std::cerr <<
"LSL outlet created: [" << name <<
"] type=[" << type <<
"] source=["
73 << (source_id.empty() ?
"auto" : source_id) <<
"]\n";
79 lsl_destroy_outlet(mOutlet);
81 std::cerr <<
"LSL outlet closed\n";
84 lsl_destroy_streaminfo(mInfo);
93 const char* data = marker.c_str();
94 lsl_push_sample_str(mOutlet, &data);
102 std::string str_marker = std::to_string(marker);
103 const char* data = str_marker.c_str();
104 lsl_push_sample_str(mOutlet, &data);
113 const char* data = marker.c_str();
114 lsl_push_sample_strtp(mOutlet, &data, timestamp, 1);
120 return mOutlet ? (lsl_have_consumers(mOutlet) != 0) : false;
125 return mOutlet ? (lsl_wait_for_consumers(mOutlet, timeout) != 0) : false;
134 const std::string& type,
135 const std::string& source_id)
bool WaitForConsumers(double timeout)
void SendMarker(const std::string &marker)
void SendMarkerTimed(const std::string &marker, double timestamp)
PLSL(const std::string &name, const std::string &type, const std::string &source_id)