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

@ZeroSixGamme is correct - there’s no indication you need to set a password, but you do have to. Something as simple as 1234 will work. Sadly, there’s no better alternative to VLC - at it’s core it’s 10+ years old with only minimal updates and VLC 4 doesn’t look like it’s going to appear any time soon. But if you want to use playlists (and aren’t using a headset) it is the best option to use.

I figured out what the issue is with SLR wrong password, proper fix will be in next release but for now it seems that opening DeoVR and relogging there seems to fix it, don’t know for how long.

There seems to be some dumb IP check on SLR server side where if you did not make a request from your IP yet, you can’t login. You have to make a request to the api first, then you can login. Dunno what this check helps with tbh.

You can download VLC4 builds and they seem to work fine for me when I was implementing it in MFP.

Thanks for that.

My comment about VLC4 is that it seems to be stuck in developement hell - yes you can download nightlies but there’s no official release nor any details of when there might be. I did look at VLC 4 but I don’t see the http stuff that VLC 3 has for connecting MFP, where might that be located?

Yes I did reset VLC after checking web interface, and I’m not sure what you mean by allow connections as there was no windows prompt, but I see that there’s a problem as I’m unable to go to those two sites with VLC running
I have also set a simple password under Lua HTTP

Actually, I have found the solution, by changing the endpoint IP to localhost:8080 instead of 127.0.0.1, it allowed me to connect to VLC properly
MFP now works fine with VLC, there’s a small issue where if you try to connect MFP while VLC is closed once, it prevents any future connections even after VLC is launched. but that can be fixed by re-opening MFP

The settings look pretty much the same so its in the same spot.

Isn’t the default 127.0.0.1?

You mean that VLC is stuck in connecting state? I think the default timeout if you manually connect is 100 seconds, I guess thats a bit long.

edit: I checked and VLC has timeout of 5 seconds, so not sure what you mean it prevents connections

First of all, many thanks for the development of MFP and the ongoing further development.

However, there is one feature that I would be very happy to see included in one of the next versions, and that would be the following button function:

  • Go back to the last settings before pressing the button.

I have created shortcuts for axes of different lengths and their activation and deactivation. While pressing another button (Edging Button) I would like to go to defined settings (which is already possible in the program), but after releasing it I would not go back to predefined settings, but to the last settings before the button was pressed. So a kind of Memory Function to go back after button release as new function.

I don’t know how much effort this would take, but it would be very cool, if you would consider about implementing this function in one of the next versions :slight_smile:

Yea I knew storing values would be useful but it pretty much requires another big redesign in actions/properties. I added this as todo on github but not sure if/when this would be added.

1 Like

Not the connecting state, but after attempting to connect, failing, and going back to the disconnected state. once it tries to connect once and returns to disconnected, opening VLC after this doesn’t allow for MFP to connect to VLC anymore until MFP is relaunched
so: MFP open, VLC closed, press the connect button and wait until connection fails, returning to “Disconnected”
launch VLC, press the play button again
MFP doesn’t connect regardless of how many attempts made
Close MFP, Open MFP again, and now the connect button works

I just tested and I could not reproduce this. What error did you get when it was not connecting?

Upon first attempt at connecting to VLC with VLC closed, this is the error

Error when connecting to VLC:

System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 0.5 seconds elapsing.
 ---> System.TimeoutException: A task was canceled.
 ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.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 ---
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at MultiFunPlayer.MediaSource.ViewModels.VlcMediaSource.RunAsync(ConnectionType connectionType, CancellationToken token)

upon trying to connect to VLC after launching VLC and getting the first error, this pops up instead

Error when connecting to VLC:

System.Net.Http.HttpRequestException: Response status code does not indicate success: 404 (Not Found).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at MultiFunPlayer.MediaSource.ViewModels.VlcMediaSource.RunAsync(ConnectionType connectionType, CancellationToken token)

Need some help… details about my setup below:

Headset: Quest 2
Videos & Scripts stored on: my PC
My vr media player: Heresphere
My toy: OSR2

What I’m trying to do:
Basically, I’m trying to stream videos from my PC HDD to my Quest 2 which is connected to my home wifi network. I’ve gotten it configured to the point where I have created SMB shares on my PC, and able to play them through my Quest 2 headset without issue.

My problem is:
When I open a video in Heresphere, it does not load up the corresponding script in MFP.

Is there some extra configuration that I need to do to have this work?

You have to either setup a find/replace path modifier that maps your SMB path to your local PC path, or you can add a script library to local repository and point it to where you have all scripts/videos.

Any guide or info on how to set up the modifier?

You have to know regex for the modifier, it will be easier to add the library, there is a “script repositories” button in the upper left.

I do know regex =)
I just wanted to leave things how they are (but I guess the script repository method would work just as well)

Thanks Yoooi!

Oh, well then modifiers are in the next button to script repositories.
In MFP you can check what video path HereSphere is reporting, and you have to modify it with regex so that it points to the actual video file on your PC.

Of course… I’m on Gentoo, I’d built VLC without the “lua” flag. Added that, recompiled, bingo, there we go. Thanks!

1 Like

getting this error all of a sudden with my sr1 2.0

Serial/0 failed with exception:

System.TimeoutException: The write timed out.
at System.IO.Ports.SerialPort.Write(String text)
at MultiFunPlayer.OutputTarget.ViewModels.SerialOutputTarget.<>c__DisplayClass98_2.b__9(TCodeThreadFixedUpdateContext context, Double elapsed)
at MultiFunPlayer.OutputTarget.ThreadAbstractOutputTarget.FixedUpdate[T](Func1 condition, Action2 body)
at MultiFunPlayer.OutputTarget.ViewModels.SerialOutputTarget.Run(ConnectionType connectionType, CancellationToken token)

SR1 1.0 and 2.0 use esp32 board with CH340 chip, it does not require a driver to use but it seems it has very limited bandwidth. Try installing the driver from here: CH340 Drivers for Windows, Mac and Linux it should help.
If it doesnt try disabling all axes except L0 and R0 with the buttons to the left of each axis range slider in the serial output, and you can also try lowering the update rate if you have it set at 333hz, I think it started to work around 200hz for me (but I did not try the driver yet).