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

In mpc-hc can you click “launch in web browser” and then go to “variables page”?

Ok and now?

how to fill linear L0 gap?

Assuming you can access that without errors in your browser then MFP should work too. What is your MPC-HC version? Can you try disabling windows firewall? Try localhost:13579 in MFP? Dunno really, seems like a networking issue, MFP just cant access the http://127.0.0.1:13579/variables.html page.

Under L0 go to click on “Motion” button, select “Random” motion provider, expand “Common settings” and enable “Gap fill”

1 Like

After testing 1.29.2 i dont see the option for fixedupdate for the handy.

And as a result the playback is that unreliable that for the handy this tool isnt usable then.


Also, for vibrations you could actualy have multiple channels as for example the lovense edge has 2 seperately controllable vibrators. Just like you have L0, L1 etc for linear motion, the V list would be better as vibrators only. A pump doesnt realy make sense in that.

While its not entirely required, it makes loading it a bit easier.


Also, with many devices its possible the window isnt high enough to display all menus. Could be just an issue i discovered while trying to set up things, but its just feedback to at least be aware of it.


And last, Handycontrol allows you to zoom in on the script, it would be a nice feature if you could select a certain position more accurately. The video player often isnt well capable of showing chapter start and ends, while script movement is just a very easy method to see where the action starts/stops.

Again, a nice to have


And yes, in case you wonder i was trying to set up the handy in combination with the edge (3 channels). The handy obviously didnt work as it should be, but the edge worked fine even though i loaded in the scripts in other channels and just mapped them diffirently at the butplug.io part. That part worked fine.

I did eventualy just try to sync up handycontrol with the vibrations of MFP, and got it accurate enough to about 0.2s (its notable, but not disturbing as it was just the vibrations being somewhat off), and at least i can tell it is worthy as a setup to have. It just needs better handy playback for me.

I’m getting this exception… the clip is under 20mins

VLC failed with exception:

System.OverflowException: TimeSpan overflowed because the duration is too long.
   at System.TimeSpan.IntervalFromDoubleTicks(Double ticks)
   at MultiFunPlayer.MediaSource.ViewModels.VlcMediaSource.ReadAsync(HttpClient client, CancellationToken token)
   at MultiFunPlayer.Common.ExceptionExtensions.Throw(Exception e)
   at MultiFunPlayer.Common.TaskExtensions.ThrowIfFaulted(Task task)
   at MultiFunPlayer.MediaSource.ViewModels.VlcMediaSource.RunAsync(CancellationToken token)

The Handy output always uses polled update. But each command goes thru their servers so even with polled update its not really usable.

You should connect The Handy to buttplug.io via bluetooth, then map it in buttplug.io output in MFP and set it to polled update. It should behave normally then.

The default devices are made to TCode specifications.
You can create your own device via application settings at the top of the window with more vibe axes.

You can try setting the app to horizontal mode via application settings.

Eh, maybe, I’ll add it to todo to consider.

Never had that happen, what VLC version are you using?

3.0.20 Vetinari

Well then it should work fine.
Can you go to application settings at the top of the window, change log level to trace, connect to vlc and try playing the video, after the crash send me the latest log file.

seems there’s no PM here and I can’t attach it here

Ill have to test this later (cant atm). But on that same note, it said it was experimental, so i cant blame you if it doesnt work through MFP directly.

The horizontal layout is an improvement to me. And i already made a TCode copy and added the 2nd vib channel. I just mentioned it since i dont know who made the standard for that (and maybe you can signal for an improvement on that part?).

Hi, i have the same problem with VLC. VLC connects, when no video is open. After opening a video i get the error message. This is an extract of the log file:

" from “VLC”
2024-02-26 10:59:17.7832|ERROR|MultiFunPlayer.MediaSource.ViewModels.VlcMediaSource|VLC failed with exception|System.OverflowException: TimeSpan overflowed because the duration is too long.
at System.TimeSpan.IntervalFromDoubleTicks(Double ticks)
at MultiFunPlayer.MediaSource.ViewModels.VlcMediaSource.ReadAsync(HttpClient client, CancellationToken token)
at MultiFunPlayer.Common.ExceptionExtensions.Throw(Exception e)
at MultiFunPlayer.Common.TaskExtensions.ThrowIfFaulted(Task task)
at MultiFunPlayer.MediaSource.ViewModels.VlcMediaSource.RunAsync(CancellationToken token)
2024-02-26 10:59:17.7832|INFO|MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel|Received MediaPathChangedMessage [Source: “” Name: “”]
2024-02-26 10:59:17.7832|DEBUG|MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel|Resetting sync [Axes: L0, L1]
2024-02-26 10:59:17.7832|DEBUG|MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel|Resetting axes [Axes: L0, L1]
2024-02-26 10:59:17.7832|DEBUG|MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel|Resetting sync [Axes: L0, L1]
2024-02-26 10:59:17.7832|DEBUG|MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel|Reloading axes [Axes: L0, L1]
2024-02-26 10:59:17.7832|DEBUG|MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel|Invalidating axes [Axes: L0, L1]
2024-02-26 10:59:17.7832|INFO|MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel|Received MediaPlayingChangedMessage [IsPlaying: False]
2024-02-26 10:59:17.7832|DEBUG|MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel|Resetting sync [Axes: L0, L1]
2024-02-26 10:59:17.7832|DEBUG|MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel|Trying to link axes [Axes: L0, L1]
2024-02-26 10:59:17.7832|DEBUG|MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel|Resetting axes [Axes: L0]
2024-02-26 10:59:17.7832|DEBUG|MultiFunPlayer.UI.Controls.ViewModels.ScriptViewModel|Resetting axes [Axes: L1]

That will be fixed in 1.29.3, for now you can use this build: nightly.link | Repository Yoooi0/MultiFunPlayer | Run #7995671513

Wonderful piece of software. Thanks a lot Yoooi.

2 Likes

Thanks! VLC now works.

I’ve noticed that whenever a roll axis section ends like this, the device will lean towards one end (0% or 100%) even if there’s no apparent command.


As a result I sometimes had to insert a few points after it to keep it at 50%, and this sees to keep the device in place.

I wonder if this intentional or is there some other settings I’m missing.

Running T-code Esp32 FW.

Not intentional, it might be caused by one of the features depending on your settings, like interpolation or sync.
Is it only roll? Does not happen on other axes? Is the axis value bar also not centered?
I’ll see whats causing that if you can make a minimal funscript that can reproduce the issue.

I think it has something to do with Makima interpolation.
Here’s the script. The issue only happens if Makima is selected as interpolation method.

Dingus spinning 1 hour.funscript (614 Bytes)
Dingus spinning 1 hour.roll.funscript (654 Bytes)
Dingus spinning 1 hour.sway.funscript (583 Bytes)

Oh, yea makima will overshoot, with large gaps like that it will just be clamped to 0% or 100%, thats why pchip is the default.

You can see it when you hover over the heatmap:
MultiFunPlayer_18TNFuMOLA

Don’t think there is a fix other than using pchip or implementing some new/other interpolation method.

1 Like

Thanks. By the way, here’s a (rather old) question: Since MFP already does interpolation, is it really necessary to manually make a sine wave by adding additional points inside a script?

I’ve stopped doing this for a while but still seeing this technique being brought up. Some does it for the pursuit of circular motion. And there is people like @codeScripter who goes absolute overkill at it.