Stash organises your porn collection and makes a server on the localhost that allows playback from browsers. At present there is no funscript support but I (someone with 0 knowledge on coding) think there are a few ways support could be added relatively simply.
I don’t know how much work this would be but assuming its not a herculean task I’d be happy to provide a few days worth of beer/pizza money for anyone willing to give it a shot.
I considered asking in their discord but figured that it was unlikely to take priority as none of the developers appear to have interactive toys so wouldn’t have any use for the feature.
I also think it might be easier to implement by having a script player recognise it as a source the way handy control does with deovr.
Xbvr works with funscripts because deovr has funscript integration built in, it worked before funscripts were even mentioned on the xbvr discord.
Stash uses JWPlayer which has no funscript support by default. From my (uneducated) perspective it’d be much easier to alter one of the existing pieces of software used for funscript playback, that people here have already created, to work with stash as just a video player than it would to natively build it into stash starting from the ground up.
That said I didn’t know about bounties for feature requests on GitHub and will set one up.
I don’t know what the easiest path is, but if it was implemented directly in Stash or as a plug-in, it would mean support for phones and iPads. Right now it’s not easy to play script from phones or iPads, but with Stash you could just access it on the network and play videos.
I hate that I have to use my PC Handy support in Stash would be a really elegant solution.
For JWPlayer, I’d use the hooks to call the Handy APIs rather than forking the player itself.
The other half of this would be serving the funscripts, which should be a relatively straightforward change to the server around scene files. I’m assuming that people will use the same method of naming the scripts with the same name, but a new extension, making the check for script support an os.Stat call. (It’d be nice to calculate this on scan, making it a sortable field, exposing it in the UI, etc. Or having it implicitly tag with “interactive” if present.)
I’m most familiar with the backend language here, but I’ve done small amounts of UI work. I’ll see what I can get working.
Assumes .funscript files are next to the .mp4 files, if so, the scene is considered interactive.
Interactive scenes can be filtered and sorted for.
Set the Handy connection key in the interface settings and any interactive scene will automatically try to sync playback.
It uses @defucilis 's thehandy library to do the Handy API calls, or I would have punted on the serverTimeOffset stuff.
I’ll poke around on the Discord and see if they’re open to a PR going upstream. Don’t worry about the bounty, or donate to the main project via their OpenCollective.
Its running on docker and stash is functioning normally. I’ve entered my handy connection key, done a full rescan and filtered by interactive but my handy doesnt react. IstheHandy library compatible with the latest fw3 beta?
I still need to implement a few features like script delay, but I think adding support for Bluetooth stuff via Buttplug.io is next on my list.
However, I don’t think OSRx support is easy. It can’t be browser based, like the others. There’s probably a few things that can make it work (browser plugins? VirtualHere?) , but I don’t have a device to mess around with.
Anybody try this out on the Quest? Not a fan of DeoVR (Skybox or SLR for me) but either way when I tried, I had trouble getting the url to access the nonstandard port.