MultiFunPlayer v1.29.4 - Multi axis funscript player - Now with SLR Interactive support

Yes you can run multiple devices at the same time.
For Serial/TCP/UDP/Websocket/Pipe outputs MFP sends all axes as TCode. So you would have to parse it on your pump device.
With buttplug output you can map specific axes to specific devices.

I was wondering how well the lovense gravity plays with funscripts… and if it was a thumbs up or down to get it… thank you for making it possible with MFP Yoooi!!

1 Like

Does the gravity work well with MFP? Like no stutters etc?
Given that I wrote the V6 buttplug library from scratch, I wonder if all the bluetooth stroke devices that had trouble before are now working fine. Like Launch/The Handy/Vorze A10 etc.

Unfortunately, handy via intiface still has stutters on mfp

Dear, what does it mean to support SLR multi-axis scripts. I can’t find their format anywhere - is there a link or is this information under a non-disclosure agreement?

SLR extended funscript format to support more axes, tho I think none are released as of now.

1 Like

Tried to set it up to work using a SMB share on HereSphere with the Handy. Got everything connected fine, I see the script playing in the app perfectly, but the handy is playing it all jittery, not smooth at all. Is it a known issue or is it fixable on my side? I’m using HereSphere demo if that matters, I wanted to see if the whole thing was working before buying.

It is a known issue as in The Handy wants you to send all communications thru their servers, which is terrible for real time motion. Their “fix” for that is to upload the whole script to the device which MFP doesnt do.
The Handy support in MFP is added as “experimantal” feature. You could maybe try lowering the update rate. Or you could try using MFP with buttplug.io as it communicates via bluetooth.
Otherwise you have to use some other player that uploads the whole script to the device, and loose like 95% of MFP features.

I set it up with buttplug.io and it’s still jittery, a little but better, but still pretty bad. I also lowered the update rate to the minimum (5hz). Is there something else to try?

Yeah… I dunno. At 200ms between commands it should not jitter at all, so no idea.
The problem is I dont have the handy to test, so there is a chance its an issue with MFP but I dont think so.
If you know programming/C# you could debug it.

What’s strange is that The Handy connected via buttplug.io on ScriptPlayer doesn’t jitter for me. I’ve tried to take a look at the source code of both SP and MFP, but I’m not too familiar with C# nor the buttplug API, and the API was implemented very differently between both, so it’s hard for me to say what causes the different behaviour.

Also i’ve figured out a bit of a jank work around. I have both MFP and SP connect to MPC-HC and connect my Handy directly to SP, and my vibrators connected to MFP via buttplug.io

Hey @Yoooi - first thanks so much for all the work here. This is amazing. Was struggling to get DeoVR to work through SLR credentials. I have DeoVR running on my Quest 2 and I am logged in, but MFP is telling me that it cant find a running DeoVR process. Is this not supported in this way?

In MFP you need to expand DeoVR settings and set the endpoint ip to your quest ip.

Hi, I’m working on this project (EDI). Do you think there would be any possibility of implementing multi axis OSR device over buttplug?
could you give me a hand?

I don’t work directly on buttplug but I think you need to:

  1. Handle rotation (R0, R1, R2) in handle_linear_cmd implementation:
    buttplug/tcode_v03.rs at f1f99d93dd41b3542b31465d3a9402a25c23a51f · buttplugio/buttplug · GitHub

  2. Add missing messages to:
    buttplug/buttplug-device-config.json at f1f99d93dd41b3542b31465d3a9402a25c23a51f · buttplugio/buttplug · GitHub
    2x LinearCmd with Position actuator type (L1, L2)
    3x LinearCmd with Rotate actuator type (R0, R1,R2)
    2x ScalarCmd with Vibrate actuator type (V0, V1) messages to

  3. As bonus you can also add L0, L1, L2, R0, R1, R2 to ScalarCmd with Position/Rotate actuator type and handle that in handle_scalar_position_cmd/handle_scalar_rotate_cmd and send TCode without I modifier (move duration)

But best to ask on buttplug discord if that is the correct approach.

1 Like

cool,best funscript player.I saw u can support plex。Any plans to add emby of jellyfly support ?

1 Like

Yea I could consider adding them, depends on how difficult the api is.
Plex api is terrible but it is the most popular one.

Added emby for now but with minimal testing since their apps are paid:
https://nightly.link/Yoooi0/MultiFunPlayer/actions/runs/5211528515

Please let me know of any problems.

Added jellyfin too, was pretty much 1:1 copy but it doesnt support playback speed:
https://nightly.link/Yoooi0/MultiFunPlayer/actions/runs/5225836457

Again let me know of any problems.

1 Like

thanks for your work!i will test it on sunday~^.^