MultiFunPlayer v1.32.0 - Multi axis funscript player - Now with SLR script streaming

Probably a PEBCAK issue, but… in DeoVR I’ve set “Edging Mode” to be Button A on the controller (left the “[HOLD} Edging Mode” empty), gone into MFP, Settings, Shortcut, set a Shortcut for Button Press, then play a scene, press the arrow button on Gesture then press the A button on the controller but MFP doesn’t seem to be registering it. After a few seconds the capture button returns to black from being grey. Am I missing something?

Attaching a log of the last attempt - I don’t even see MFP showing it’s listening for the capture events (although that might not be logged). Everything else works fine but it’s the first time I’ve tried this.
log.txt (23.2 KB)

Yeah, almost certain a user issue because if I do a capture and use the keyboard, that is captured. Is it possible to capture a button press on the Quest controller?

Also, which action correlates to Edging mode?

Input events are not logged because they would spam the logs, you can open the config file and edit LogBlacklist if you want to see them anyway.

Tho the issue is that DeoVR buttons are only in the patron builds, cant exactly tell from the logs which version are you using, but I think its the non patreon version since DeoVR button events are not blacklisted and should show up in the logs.

I’m on 1.31.2.54f0a5a

I was using Patreon builds but I haven’t updated for a while.

Oh, yes sorry, dunno how I missed it:

MultiFunPlayer.Input.DeoVR.DeoVRInputProcessor|Waiting for incoming TCP connection [Endpoint: 0.0.0.0:38882]

Since you have DeoVR on your quest it needs to be able to connect to MFP, so your firewall might blocking incoming connections.

Also I think you have to enter your SLR account so that MFP can login. When I added support for those buttons I assumed it only works when you login but it seems like it should be possible to implement without requiring login. So this is something I have to test and implement for next version.

There aren’t any firewalls in place. How do I tell DeoVR where MFP is?

Also, I use DeoVR for accessing XBVR - I don’t have an active SLR subscription any longer, so if you are able to implement a process that doesn’t require a SLR login, that would be awesome :slight_smile:

There is the windows firewall.

I checked some more and login is required because via login the local IP address of your PC is sent which DeoVR then uses to connect to MFP to send button events.

But it seems like you dont need to have a valid SLR subscription for that part to work. So try just logging in with your “free” account and it should work assuming firewall does not block it.

I’ll check on that SLR, thanks.

But there is no firewall - I have all firewalls on my LAN disabled. Only firewall is on my router for inbound external traffic. Inside, everything is open.

So I’m trying the SLR login. Using my credentials I am signed in to the SLR site. Adding the credentials to MFP then connecting to DeoVR I get this:

2024-11-12 22:52:54.1861|ERROR|MultiFunPlayer.MediaSource.ViewModels.DeoVRMediaSource|DeoVR failed with exception|System.Exception: SLR Interactive login failed! [Code: -2, Status: wrong password]

Obviously I can understand that message but I know for a fact it is not the wrong password. I’ve pasted it into the SLR site and it worked, I pasted it into MFP and it did not. I’ve also typed it out by hand. The password is correct but for some reason MFP does not agree.

Its the SLR api that does not agree for some reason, I wonder if you have to have a subscription to use the api at all.
Can you try logging in inside DeoVR? IIRC you go to SLR website and there will be login at the bottom.

I will try that later tonight and report back, thanks for the help!

Thanks for the fix! Sorry for not getting back to you with more details and a log from intiface/buttplug to help track the issue down; Moved house and have been without internet access for a while. Lovely surprise to return to the web and find a new version of MFP with a fix for the issue I was experiencing. :heart_hands:

1 Like

So I did some testing on my own and something is up with the api. The subscription does not seem to matter, I get “wrong password” 99% of the time, I managed to somehow login maybe 2 times but the password did not change.
I have yet to test logging in to DeoVR, it uses the same api so maybe im doing something wrong in MFP.

Ok cool… I haven’t had chance to test it myself yet but glad you’re able to reproduce it. Let me know if you want me to test anything or need logs. I’ll work on it tonight when I’m by myself.

thanks for the help!

Hello.
I have a question rather concerning interpolation methods for multi-axis scripts. What methods do you put in the code to send to SR6, which methods are more semi-popular, can you tell me the formulas? I know your github, but I think I’ll ask it this way :wink:

There is nothing special about interpolation of multiaxis scripts, MFP just interpolates each axis independently.
MFP has pchip and makima interpolation which are basically cubic hermite splines and pchip is the default because it does not overshoot.
I also thought about adding higher order spilnes but did not do much research.

I mostly implemented them based on boost, matlab and general googling.

1 Like

That’s the thing, if you see on the graphs - you can get the minimum and maximum values for the script which when interpolated, in your case will not be played by the device, but if I interpolate on my device offline - will make it unpleasant for the user or let the dick pop out.
I’m leaning towards cosine interpolation for testing for now.
https://paulbourke.net/miscellaneous/interpolation/
P.S. Although… pchip looks good :wink:

Its only a problem with makima, thats why I said that MFP uses pchip by default because it will not overshoot the device limits (its monotonic).
Makima can give you softer direction changes but it will overshoot the device limits.
Now I wonder if you could combine makima with script scaling so that the overshoot is scaled down to device limits.

Cosine is not good, it only looks good when you always have up/down strokes, if you add points in between you introduce steps:

1 Like

Yes I was thinking about the cosine not being exactly what is needed - but it is easy to implement between two points (it doesn’t need a minimum of 4).
Besides, I need interpolation of 3-dimensional vectors and quaternions, I don’t know how to approach it in a complex way yet - I don’t want to dive into dual quaternions…