About OFS
Before that though I must clarify I’m not going to come back to OFS.
Sorry for going AWOL on that project. Long story short: I got really burned out on the project and needed a break (an indefinite break). So please respect that.
If I had the time and the motivation I would start from scratch on a new scripting tool but I don’t.
Story time
Anyway moving on to what this post is actually about.
Syncopathy. I’m adding another scriptplayer to the pile.
Basically I’ve recently gotten back into funscripts mainly because of the second coming “The Handy 2”.
None of the existing scriptplayers fit my use case, which is why I made this player.
I wanted to do an offline Bluetooth implementation which to my knowledge hasn’t been done yet apart from the old legacy Bluetooth stuff.
So naturally I ignored all the disclaimers on the docs BT FW4 / handy-public-rpc about Bluetooth not being ready and subject to change and started implementing.
Technicals
I made this application using Flutter, for video playback I use mpv as an external window.
Under the hood syncopathy uses the HSP (Handy Streaming Protocol) API via Bluetooth which was honestly a pain in my ass to implement but I got it to work eventually.
The device communication is all done by hand but for the GUI I made liberal use of Gemini which is very good at Flutter
Gemini is also very familiar with funscript
How to use
The project is available open source on github.
Just download the zip unpack and run the syncopathy.exe.
You should be greeted by two windows one for syncopathy and one for mpv.
First you should go to the settings and configure atleast one media path in the settings.
After that you can hit refresh in the media tab top right.
Syncopathy will recursively search the directory for funscripts with matching videos.
It will also generate thumbnails using ffmpeg all app data is stored in %appdata%\com.example\syncopathy
Next you can connect the handy
YOU NEED FIRMWARE 4 THIS WON’T WORK IN LEGACY BLUETOOTH MODE
I recommend putting the handy into the exclusive Bluetooth mode (blue light only) not the hybrid (wifi+bluetooth) mode as that way more resources are available for use
When the blue led is pulsing you can hit the Bluetooth “Disconnected” button in the top right of syncopathy.
If everything is alright it should connect in a few seconds the button will be green and say “Connected”
Now you can play videos.
While playing videos the visualizer tab is available
There’s a couple opinionated settings which you may want to tweak or turn off under settings mainly “Funscript Simplification” and “Slew Rate Limit” it’s some processing that’s applied to the scripts.
This seems like a useful tool. I downloaded the zip file and tried to open the exe but got this error. Am I doing something wrong? Also, will this program allow for scripts to be randomly played from a library? Thanks in advance.
Well it’s a null pointer reference. Can’t really tell you why I need more info.
There is this surprise me button at the top of the library which picks a random video yes.
I’ve attached a SyncopathyV1_no-hwdec.zip to the github release which you can try.
I attempted the new file you uploaded but still had the same problem. Not sure what is preventing it from running, but I am sure it is on my end. Thank you for trying though.
It’s kinda impossible to debug because it’s a native crash. I imagine it’s video player not properly initializing but it could be anything.
What I’d like to know if anybody else got this to run or if it only runs on my computer…
i also tried this and even tho i didnt get it to work, i see the potential! the connect button was visible first time i started for a little while, but “vanished”, now its locked on disconnect. where are the settings store, so i can delete and start fresh. Ps. i think i would prefer it not using Bluetooth but Wi-Fi instead
added “skip to action” setting to the settings (skips to the first action in the funscript where there is movement)
added remap to full range setting which remaps scripts that do not use the full 0-100 range to use the full range
added a wheel of fortnune to the “surprise me button” (because why not)
In the future categories may act as playlists but for now they are just for categorization.
You create a category by clicking on category in the media library and adding it via the dialog that pops up. After which you can assign that category to a video by right clicking it.
Edit: I have also attached a linux and macos build. I have only tested the linux build on WSL you need to install “libmpv-dev”. I assume you have to do something similar on macos.
For some reason I keep getting this error when trying to connect my handy. Tried in wifi/bluetooth mode and got it to connect once..but the same error everytime after. Not sure could be causing it, rebooted the handy plenty of times, restarted the windows bluetooth service and re-installed the driver. My handy could just be borked, It’s survived 5 years now
No I get this too (maybe once every ten times) but usually it just works the second time. it could a bug in my code maybe a race condition of some sort