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

Should be fixed in this build: nightly.link | Repository Yoooi0/MultiFunPlayer | Run #1906873807
I hope I didnt break more stuff.

how do i start the nightly build? just happend nothing when i start the exe

Install Download .NET 6.0 Desktop Runtime (v6.0.2) - Windows x64 Installer

Any chance you would be able to add support for logging into SLR to use slr scripts like JoyFunPlayer?

Yes, I have had a working proof of concept for a long time. The issue is that I dont have SLR premium anymore so I cant fully integrate and test it in MFP.
The other issue is I dont know how SLR will react, I mean they wouldnt be able to do much, considering that it would not circumvent their subscription, but I would want to keep the “SLR builds” a patreon only thing and they might not like that.

So basically its a yes/maybe/someday.

MultiFunPlayer v1.19.0:

Download: Release MultiFunPlayer v1.19.0 · Yoooi0/MultiFunPlayer · GitHub

Changelog:

  • Add MPC-HC/BE video player support
  • Fix micro stutters caused by position updates from video players
  • Fix rare large stutters when using motion providers blended with a script
  • Use device ID instead of com port to when selecting serial devices (#51), devices will now be auto selected based on ID no matter which com port they are assigned to, MFP will try to migrate old settings on first run after update if previously selected device is connected
    2022-03-01_18-35-23
  • Add per axis speed limit settings, units are in seconds per one full stroke (0% to 100% move)
    2022-03-01_18-35-50
  • Add ability to update motion providers only when other axis is moving, this will for example stop random movement on pitch/roll when there is no stroke movement
    2022-03-01_18-36-33
  • Add interpolation preview
    2022-03-01_18_35_05
  • Add “Script::SkipGap” action to skip a script gap at current position
  • Add “Step” interpolation type, used mainly for vibes
  • Add simple config migration system
  • Add ability to change log level from UI
  • Improve auto-skip to script start behaviour
  • Fix DeoVR not connecting when using SLR executable
  • Fix Whirligig not connecting when using whirligig demo executable
  • Fix global offset value not saving (#46)
  • Fix script link not updating when manually loading scripts
  • Fix inverted keyframes heatmap and add a toggle to right click menu (#52)
  • Fix log blacklist by migrating settings to new namespaces
  • Fix incorrect makima interpolation
  • UI tweaks

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

7 Likes

This thing just gets better and better. Love the device ID changes and the ability to cease updates when there is no movement which made it feel unnnatural. Continue to be amazed by the work you do.

2 Likes

Well for what it’s worth I’d definitely be willing to pay for that feature.

big fan of the speed limit function

im getting this error whenever I try to connect MPC-HC. Im very sure im missing something but I’m not sure what. Can I get some help?

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.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, 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.VideoSource.ViewModels.MpcVideoSourceViewModel.UnwrapTimeout(Func1 action)
at MultiFunPlayer.VideoSource.ViewModels.MpcVideoSourceViewModel.RunAsync(CancellationToken token)

Make sure this is enabled:
Options → Player → Web Interface → Listen on port

yep its enabled still getting the same error

nvm i guess i just had to reinstall MFP it works now

You probably changed the endpoint from the default 127.0.0.1:13579, and a fresh one had the settings reset.

I think so too it kept giving me a weird number before

MultiFunPlayer v1.20.0:

Download: Release MultiFunPlayer v1.20.0 · Yoooi0/MultiFunPlayer · GitHub
Patreon build: https://www.patreon.com/posts/multifunplayer-0-63803960

Additional patreon only changelog:

  • Add SLR script streaming support
    2022-03-14_23-15-25

Changelog:

  • Add dynamic outputs (#50), you can now add multiple outputs of the same type and/or remove the outputs you dont use. Allows for example one network output to OSR with another network output to BusDriver VaM plugin, or output to multiple serial/network OSR devices at the same time. MFP will migrate old static outputs to the new system when loading previous configuration.
    2022-03-14_23-16-47
  • Add WebSocket output target
  • Add overview of enabled and script overriding features under axis name
    2022-03-14_23-20-11
    • L: Axis Link, green when enabled, red when enabled with priority
    • M: Motion Provider, green when enabled, red when enabled and provider blend is 50% or more
    • S: Speed Limit, green when enabled, red when motion is being limited
  • Reset DeoVR and HereSphere state when not watching video
  • Improve auto skip to script start behaviour for streamed videos
  • Fix video file not refreshing when adding/removing/editing path modifiers
  • Fix high motion provider time drift
  • Fix link axis not updating under certain conditions
  • UI tweaks

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

3 Likes

Uhh… Why don’t you try talking to Yoooi directly like a normal human via DM rather than threatening legal action publicly on a hobbyist forum.

It doesnt bypass anything, it requires the SLR account to have the full script+video streaming subscription, and it hooks into DeoVR “SLR interactive” feature. It also doesn’t export anything outside of application memory. It works exactly how you designed that feature without bypassing any of your systems.

Basically works exactly the same as JoyFunPlayer but with multi axis support. JFP was publicly available here for a long time.

1 Like

Great to see you find a way to make things work :+1:

Messaged you personally to figure out the rest.