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

Feature suggestion: is there any way to make the buttplug devices editable after they’re created? Because often I’ll want to change the channel driving a particular device, and to do that I have to delete it and enter it again.

Can you be more specific in what situation do you reconfigure a device mapping? I dont see why would you want to do that.

I also have a feature request: Stash and XBVR as media sources (not just only script repositoriea)

Not possible, there is no way to get the currently playing video file and its current position from Stash or XBVR.

I haven’t run into any issues over the last week of use.
Everything works as expected.

1 Like

MultiFunPlayer v1.29.0:

Download: Release MultiFunPlayer v1.29.0 · Yoooi0/MultiFunPlayer · GitHub
Patreon build:

  • Add polled update option to all output targets (#92)
    • Polled update only sends script actions to the device ignoring all other MultiFunPlayer features, used mostly for BLE devices like The Handy to improves smoothness
      MultiFunPlayer_JZlaW8Xt5m
  • Add configurable shortcuts (#28)
    • Supports multiple shortcuts for the same gesture
      iw0QbXnzmK
  • Add ability to change between secured/unsecured schema for endpoints (#150)
  • Add ability to change axis used for heatmap range and tooltip with scroll wheel (#148)
  • Add update check to information dialog (#34)
  • Add ability to toggle force seek option in OFS source
  • Improve keyframes heatmap range display
  • Change default UDP output endpoint to tcode.local:8000 to match WiFi firmware
  • Fix gamepad axis gestures not working
  • Fix invalid VLC source media path causing scripts to not load automatically
  • Fix XBVR and Stash script repository returning no results with UseFirstMatchOnly
  • Fix script link not updating for axes without priority
  • Fix heatmap enable preview setting not getting loaded
  • Fix possible min/max exception when using Axis::Range actions
  • Fix delay when disposing media source or output target
  • Fix buttplug output creating invalid device map when loading settings
  • Fix endpoint settings not loading when using hostname
  • Remove Uri To Local media path modifier

If you like what I’m doing, please consider supporting me on Patreon

3 Likes

Hi,I’m not sure if this has already been answered. I’m pretty new to MFP and have been using scriptplayer until now. I’m not happy with MPV and would like to use VLC Player instead. . But i don’t understand how to connect MultiFunPlayer to VLC. Is there someone who can give me a step-by-step guide how to do it? Or should I use XTPlayer instead. I really miss the Playlist where you can easily switch around what comes next. So maybe XTPlayer is the better option for me.

There is actually a page in the community wiki about this since VLC has a lot of steps to get working: Play funscripts using ... | OSR Wiki

2 Likes

Why is v1.29.0 available here, but your patreon only offers v1.28.4? Am I missing something obvious?

I usually release patreon versions few days later in case there are any bugs found.
But with the insane amount of feedback here lately I might switch it around and release patreon versions earlier then do public.

1 Like

MultiFunPlayer v1.29.2:

Download: Release MultiFunPlayer v1.29.2 · Yoooi0/MultiFunPlayer · GitHub
Patreon build: https://www.patreon.com/posts/97781216

1.29.2:

  • Fix polled update TCode commands duration getting sent as seconds instead of milliseconds
  • Fix url encoding of media resource name when parsing from url causing script repositories fail to match scripts (#155)
  • Fix incorrect host comparison in Stash/XBVR repository causing no matched scripts
  • Fix Stash/XBVR repository not using full path and query when parsing for scene id causing no matched scripts
  • Fix invalid scene id regex in XBVR repository causing no matched scripts

1.29.1:

  • Fix unable to capture mouse wheel gestures
  • Fix gamepad axis gestures not displaying user index
  • Fix commit sha in window title version in release builds

1.29.0:

  • Add polled update option to all output targets (#92)
    • Polled update only sends script actions to the device ignoring all other MultiFunPlayer features, used mostly for BLE devices like The Handy to improves smoothness
      MultiFunPlayer_JZlaW8Xt5m
  • Add configurable shortcuts (#28)
    • Supports multiple shortcuts for the same gesture
      iw0QbXnzmK
  • Add ability to change between secured/unsecured schema for endpoints (#150)
  • Add ability to change axis used for heatmap range and tooltip with scroll wheel (#148)
  • Add update check to information dialog (#34)
  • Add ability to toggle force seek option in OFS source
  • Improve keyframes heatmap range display
  • Change default UDP output endpoint to tcode.local:8000 to match WiFi firmware
  • Fix gamepad axis gestures not working
  • Fix invalid VLC source media path causing scripts to not load automatically
  • Fix XBVR and Stash script repository returning no results with UseFirstMatchOnly
  • Fix script link not updating for axes without priority
  • Fix heatmap enable preview setting not getting loaded
  • Fix possible min/max exception when using Axis::Range actions
  • Fix delay when disposing media source or output target
  • Fix buttplug output creating invalid device map when loading settings
  • Fix endpoint settings not loading when using hostname
  • Remove Uri To Local media path modifier

If you like what I’m doing, please consider supporting me on Patreon

5 Likes

Hello @Yoooi

Im getting this Error when trying to connect MPC-HC:

MPC-HC failed with exception:

System.TimeoutException: A task was canceled.
—> System.Threading.Tasks.TaskCanceledException: A task was canceled.
at System.Threading.Tasks.TaskCompletionSourceWithCancellation1.WaitWithCancellationAsync(CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) --- End of inner exception stack trace --- at MultiFunPlayer.Common.ExceptionExtensions.Throw(Exception e) at MultiFunPlayer.MediaSource.ViewModels.MpcMediaSource.UnwrapTimeout(Func1 action)
at MultiFunPlayer.MediaSource.ViewModels.MpcMediaSource.RunAsync(CancellationToken token)

I started MultiFunPlayer v1.29.2 for the first time today.

I enabled it and the default is set to 127.0.0.1:13579 of MPC-HC in MultiFunPlayer.

Still getting this Error sadly.

Im trying to play Funscripts with my DG-LAB Coyote with the

You cant specify the ip in mpc-hc so what do you mean the default is 127.0.0.1?
In mpc-hc can you click “launch in web browser” and then go to “variables page”?

I mean i use the Default settings of 127.0.0.1:13579 of MPC-HC in MultiFunPlayer.
And still getting this Error.

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.