-
Notifications
You must be signed in to change notification settings - Fork 19
135 playback lsl - Fix for errors when not looping or when sleep time is shorter than sample interval #136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
LGTM! I assume you have tested this and the changes fix the issues. Would it be possible to add test cases which fail on |
Do we want to add pylsl as a |
I would prefer to add it as an extra, because users would also need pylsl in order to use the playback CLI. |
373c01b
to
beab455
Compare
beab455
to
a9dec9e
Compare
Why can you not just use pylsl? |
I added a test that simply attempts to playback one of the files already in the example-files folder. This test fails without the change to the loop argument in this PR. (FYI: Adding this test also prompted me to add a However, I do not wish to test the other problem this PR fixes which was the early termination when the time between samples was larger than the sleep time. This is rather difficult to test because it requires a new contrived test xdf file with long time intervals and a separate thread to read the stream and verify the entire contents were passed through. |
pylsl does not come with the liblsl binaries on Linux and Mac because it assumes you'll have liblsl installed at the system level. |
Is there a reason why these packages do not bundle the binary libs? |
Yes. Is this going to be a problem for this PR? |
Thanks for clarifying. I think this is problematic, because I am hesitant to add a dependency (even if optional) which requires manual tinkering. Therefore, I'd rather not include the test and the pylsl dependency (and return to the status quo). I'm happy to discuss pylsl packaging in a separate issue. I do have some limited experience with cibuildwheel, which I use to create binary wheels for SleepECG (which contains a C extension). Ideally, pylsl should provide self-contained binary wheels for all three platforms, since this has been the standard way to ship such things for quite some time (and this is also what users will expect). Maybe this is worth another look (tools might have matured since you last tried)? |
There’s non-Debian, arch Linux, Android, all the different flavours of arm (pi), etc. These are all platforms where users complained that pylsl wasn’t working for them. Anyway, I’ll edit the PR to remove the tests when I have a moment. |
Yeah, but this should not be a problem nowadays. Even ARM64 builds work out of the box for me. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You forgot to remove these two things, otherwise LGTM!
090d867
to
a8c58f1
Compare
Thanks @cboulay! |
This PR fixes the issues described in #135