Version 1.4.0🔗
Fix handling of warnings through the logger (#243 by Mathieu Scheltienne)
Fix handling of CLI arguments through
PlayerLSL
entry-point (#246, #267 by Mathieu Scheltienne)Change default download directory for the datasets from
~/mne_data/MNE-LSL
to~/mne_data/MNE-LSL-data
to match other MNE datasets (#256 by Mathieu Scheltienne)Add example for a simple QRS R-peak detector (#256 by Mathieu Scheltienne)
Add example for real-time rolling windows bandpower estimation (#279 by Mathieu Scheltienne)
Fix push operation by a
PlayerLSL
with achunk_size
set to 1 to usemne_lsl.lsl.StreamOutlet.push_sample()
instead ofmne_lsl.lsl.StreamOutlet.push_chunk()
(#257 by Mathieu Scheltienne)Add example of
PlayerLSL
run in a child process (#267 by Mathieu Scheltienne)Fix error in pushing the last chunk of a non infinite
PlayerLSL
stream withchunk_size=1
(#268 by Mathieu Scheltienne)Add method
acquire()
to manually acquire new samples in the buffer (#282 by Mathieu Scheltienne)
API changes🔗
The
PlayerLSL
defaultchunk_size
is now set to 10 instead of 64 samples (#264 by Mathieu Scheltienne)The
Player
andStream
objects now use aconcurrent.futures.ThreadPoolExecutor
instead of single-use threads (#264 by Mathieu Scheltienne)Improve the y-scaling on the legacy
Viewer
by (1) adding newy_scale
values in the dropdown list in power of 10s and (2) adding mouse wheel scrolling base zoom in/out on the main plot window (#264275 by Mathieu Scheltienne)In
PlayerLSL
andStreamLSL
, instantiation now uses keyword-only arguments for arguments specific to LSL (#282 by Mathieu Scheltienne)
Infrastructure🔗
Improve unit tests by (1) using a
chunk_size
of 200 samples in players, (2) running players in a separate process, (3) ensuring concurrent threads are not limited by one thread hogging the limited CI resources (#264 by Mathieu Scheltienne)