I wrote a simple Rust library for controlling T-Code devices. Support for other types of devices could be added in the future.
I wrote this because I wanted to write an MPV plugin for playing funscripted videos
directly to my OSR2+, which I’m also ‘introducing’ today.
strokers_for_mpv
This is now in a state where it’s minimally useful, but still not slapping a
version number on it just yet.
Features:
Linux support. Maybe the other platforms work, I don’t know — very happy to hear if anyone else tries. (I suspect Windows should work, but I am hesitant to promise!)
Multi-axis (of course!)
Configurable speed limits for safety
Min/Max axis limits
Simple text-based (TOML) config file for setting the serial port information and default limits
You can add MPV keybindings to change the axis min/max limits on the fly
Known Limitations:
If you have funscript variants, there’s no way to choose those in the MPV plugin currently — it will only open video.funscript for video.mp4, not video_hardmode.funscript (& equivalent for other axes). I want to address this in the future, just not sure of the best way.
If you install the plugin, it will always (try to) connect to your stroker when you open MPV, even if you’re watching an innocent video without any funscript. However I will address this in the future and it’s also probably harmless.
At this point I wrote this ‘just’ for me, I don’t know if anyone else will have any interest in it, so if it is interesting to you but there’s something missing, let me know!
I think your problem is that the plugin is being autoloaded by being in your scripts folder, plus you are loading it again by passing the --script= argument. This is causing the plugin library to be loaded once, but the plugin is being initialised twice?
Remove either the --script= argument, or move the .so somewhere else so it’s not autoloaded by default.
Illegal instruction is a weird one. What platform (particularly CPU) are you on?