I want to reduce the amount of work I must do in order to use a new funscript. I present here a Python script that can be ran against a funscript and:
Delete all actions points when the interval between points is under a specified time
Attempts to detect and replace vibration patterns
Reduces all movements to under a specified speed
My use case is that I use the Handy in Bluetooth mode and many great funscripts appear to lose sync on my device due to hardware and software limitations. My aim is to take some of the experience I now have at manually converting funscripts to make them a more compatible experience with the Handy and automate some/all of that work. I believe I have succeeded at creating converter of sorts that others might also find useful. It can be used either as-is to convert funscripts which were designed for more powerful hardware or, maybe someone would find it useful as a starting point to modify funscripts manually (similar to how Iāve used https://funscript.io).
Iāve put thought into preserving sync and only changing things which are incompatible. Further improvements can be made and if I do that, Iāll post them here.
Or: python handy_BT_limiter.py howgood.funscript which defaults tp a speed of 500
$ python handy_BT_limiter.py 'Sunfanart - Dress up Darling - Marin riding Gojo.funscript'
Usage: 'python handy_BT_limiter.py <file>.funscript <speed_threshold>' (defaults to 500)
Example usage: python handy_BT_limiter.py myScript.funscript
Example output:
==================
No speed indicated, so defaulting to 500
664 action points removed
423 action points modified to vibrate
0 action points modified to reduce speed
Creating backup: Sunfanart - Dress up Darling - Marin riding Gojo.funscript.bak
Writing modification to: Sunfanart - Dress up Darling - Marin riding Gojo.funscript
Done
Iāve tested a number of scripts with the Handy in BT mode and Iām pretty happy with the results. I now have this script running with my video player frontend (Kodi) so all scripts are checked before video playback. From reading other posts, Iād guess that other devices like the Keon might also benefit (some of the numbers in the script would likely need to be tweaked).
Thanks for this! Was trying to muddle my way through to make a script mod like this, but since I have zero real programming experience, it was going poorly.
I think vibrations add a lot for slower scenes. Iāve had my Handy for three years and the performance hasnāt changed as far as I can tell (not that I always seek tons of vibration). Not sure how long the hardware is expected to last.
To me, one could also say that using the Handy less often will also save wear-and-tear, but it seems like more of a personal preference.
Also, to be clear, Iāve written the script to only replace vibrations which were already there. Itās pretty easy to disable the replace_vibe function part of the script is you want its other features. Youāll get a smoothed movement average instead.
Itās not quite as horrible on the Syncbot but itās pretty bad when the strokes are already fast. It reduces the smoothness feeling of the script.
Still, certain scripters refuse to remove it so Iām interested in cleaning up some automatically with this tool.
I feel like low movement high speed vibrations donāt even make any functional sense though, and the handy is so jerky with handling it to begin with. When itās a bottoming out motion and it goes from 0% to 30% in a loop at around 200 speed,
itās pretty decent and I like to add it to scripting. [quote=ābigcheater2, post:4, topic:221539, full:trueā]
You mean any vibration? I donāt know what people get out of it other than a feeling that the lifespan of their handy is decreasing.
[/quote]
If anyone has tried the py script, please let me know if it worked and what you thought of it, especially if you happened to compare the result to the original script which had a lot of vibration in it.
Maybe, but it doesnāt seem to work that way for me in Windows (I just tried it).
If not, you could try:
Download the stable Python release for Windows here
Install Python
Reboot
Put python handy_BT_limiter.py in the same directory as your script
Open a Windows command prompt (cmd.exe)
Make sure your in the directory where the script is (Downloads folder in the example below) cd %homepath%\downloads
Process the script python handy_BT_limiter.py myscript.funscript
I previously looked at converting a Python script to a standalone executable, but there seem to be drawbacks (file size, distribution and security challenges).
need to test more, I understand
min_interval = 60 # Action points closer than this (in ms) are removed. Values higher than 134 will disable vibration mods
so the higher I do that number, the more vibrations will be removed, but what this one do?
vibe_amount = 10 # Vibration starting amplitude (1-100)
My handy has easily lasted over 2 years, while i used quite a bit of vibration scripts with it. As long as you make sure to lubricate the device often enough, it can manage it for quite a long time.
The handy has a speed limiter built in. What is being scripted rarely gets played as is and this does protect your handy quite well.
Also, for some people its not a problem if they need to replace their ā¬200 device once every 2 years, or even just every year. ā¬100 per year for good orgasms almost daily is far cheaper than any hooker can ever provide.
Just because you think its a waste doesnt mean others think the same. Some people spend $1000 on a sex doll, and replace it every year. Its just whatever people want.
Sure, its not good for global waste, but plenty of people dont care about it anyway since rich people are generaly far worse (their private boats pollute more than what most people will do in their lifetime).
So if people like vibrations, let them. You might care about your device and save money there, but you cant realy tell others how to use the device. Sex is a very personal thing, so what you like, they might not, and vice versa.
And having made a vibrations plugin myself, i wouldnt have minded making a script trying the inverse, but as i see its already being attempted, im just going to wait this one out. Although in my case it would have been limited to OFS.
Also, as my plugin has a fade in/out portion of code that effectively also smooths vibrations, maybe the algorithm i used there could help. I have no problems if that code gets reused for this (no need to credit it), and it could potentialy help.
for me itās not about the lifespan, I just donāt like vibrations, donāt like how they feel, donāt like how they sound and I think it removes the grease faster than running normal
From the example command output you showed, it looks like it worked, to me. I opened the scripts that you provided in OpenFunscripter, and they have valid data points. What do you mean there are are āno instructions for the handyā?
Iām liking a lot having this control over the funscripts, I wish this was implemented on some script player so I can configure the values real time,
whatās the speed threshold value for? the one that defaults to 500
could you please also add it as a variable? I guess I could edit " speed_threshold = 500.0 # 500 is āHandyā limit"
itās because Iāll keep using the drag and drop method
could you please show examples of what vibe_amount does? I still donāt understand, maybe Iāll understand better after I test more