Random Video Player v1.50 (Can sync with MFP and ScriptPlayer)

Btw, I have some feature requests of my own, though no worries if it’s too difficult to implement.

I’m quite an organized collector of furry animations, so on my storage drive i’ve got separate folders for every animator and such. I also have scripts for some of the videos, but i don’t like keeping the scripts in the same location as the video files. Is it possible to give the player a custom root location from where it can tree search for script files?

Example of file structure where I’d want to set the funscript search root to the Funscripts/ folder:

Furry/
├── Animations/
│   ├── Artist_name_1/
│   │   ├── Animation_title_1.mp4
│   │   ├── Animation_title_2.webm
│   │   └── ...
│   └── ...
└── Funscripts/
    ├── Artist_name_1/
    │   ├── Animation_title_1.funscript
    │   ├── Animation_title_2.funscript
    │   ├── Animation_title_2_Hismith.funscript
    │   └── ...
    └── ...

And the other request, since i’m making scripts for my Hismith fuck machine, some of my projects have a default script (master script as i call it, just a pure action-based frame-perfect script that has the same name as the animation file), and a script for my fuck machine (using my own developed converter tool) which converts the original into power level fluctuations (to replicate the same action by adjusting the machine power level). I usually add a _Hismith" to the name to tell it apart.

So the super nice thing would be to, in addition to giving it a custom path to search into for scripts, to have a filename filter option where it only picks out the scripts with a specific string in them, say “_Hismith” like in the example above. So it would have to contain both the video title and the custom string.

Other than that, this is a great project so far, and you deserve more support for reacting so quickly to all the previous feature requests on this thread! Kudos for making it happen!

1 Like

I second this request and would also like to see this feature.
Maybe specifying additional search paths for funscripts (like it is implemented in Scriptplayer and MFP) would be great.

1 Like

Hey, thanks a lot for the feedback. Depending on the Image effects, yeah I’m a bit limited in my options, as I have to use what mpv provides and build the logic around it, though I’ve implemented the fade in fade out effect currently and I think it looks pretty good, so I’ll see.

I see that a dedicated script folder would make sense, but RVP doesn’t handle the scripts at all. It only sends information about what video is currently playing, it’s playbackstate, position etc. the actual script loading and handling happens 100% in the respective software such as MFP or ScriptPlayer.

I will look up if those can handle a dedicated folder. If anything, RVP could do something like temporarily create a copy of the script from a dedicated directory right next to the file playing (and delete it afterwards) which would result in a similar behavior while mainting a different file structure. Though no matter what, I’d have to rewrite the script filter code to work with sich structure. Overall it sounds like a great idea.

Filtering for specific filenames is easy, but I’m not sure if I get what you mean. Do you mean like RVPs filter for script files should have the option to only play videos with scripts named in a specific way? Or/And automatically loading those specific scripts? The latter comes back to the previous stuff, which is that script loading is handled by the sync software. Anyways if you could give me more details, I can think more about that :slight_smile:

Yeah tbh my case is quite specific and also probably unnecessary, I could instead ensure that the script i want to be played with a video is always named the same as the video and have any other script named with different identifiers instead. I guess maybe the better question would be, how does/should the player handle when a video has multiple scripts that could be played with it?

In that situation it would be nice to give the user an option to select which one they want assuming there are multiple that contain the name of the video in their filename, but realistically that’s probably quite difficult/bothersome to handle graciously in a video player application. So no worries if that’s out of scope for this. Honestly just having the first feature request would already be great. With the caveat that (i’m guessing) there shouldn’t be two funscript files named identically but in different folders, because then the player would probably pick the first one it finds and it may not always be the one the user wants to play.

1 Like

Yeah it’s specific, but from the top of my head, I’d think of something like

  • Add script folders to a list
  • priority is local Script next to file => first folder => next folder etc.
  • select script from a drop down similar to the subtitle/audio track menu I’ve implemented

The logic could be the same for all

  • when script is selected from a different folder, create local copy with video filename so the sync software grabs it

This should work, but as it is with anything, problems arise during the actual process of coding that logic :smiley:

But I still think the idea is great so I will try some things out!

Yeah i think that should be quite a good solution! Only thing i’d say given you’re making temp copies is to make sure you’re always handling their deletion before exiting the control loop.

1 Like

RVP does already have that option? with when you set your Favorite folder

1 Like

The favorite function only creates a list which can be loaded.

But this was about a dedicated script folder. Usually you have the .funscripts right next to their corresponding video file which MFP/ScriptPlayer automatically load by default.

The question was, whether a dedicated/external folder can be used, that contains the scripts only, while the videofiles are somewhere else to keep things tidy.

I’ve already created the logic for it and am currently testing it. So far my approach works pretty good :slight_smile:

Some preview:

ScriptDirectoriesScreenshot

So basically you can add any directory. “local” stands for “right next to the file” which is the default behavior. You can delete the local value though and/or rearrange the directories to change their priority.

This means, that when say you have 3 different scripts in different locations for a single file, the topmost found script will be enabled by default.

I achieved this by creating a temporary copy of the script right next to the video, handling conflicts like an already existing file by doing a backup of that file first and replace it etc. The file is also named correctly, so when you have selected the script “Animation_title_2_Hismith.funscript” for the video “Animation_title_2.webm”, it will automatically copy the funscript next to the video and rename it to “Animation_title_2.funscript”.
Otherwise neither ScriptPlayer nor MFP could detect it correctly. The latter is what ultimately made me code this, as both sync tools support dedicated script directories but neither can handle filenames that aren’t an exact match.

With my approach you can name the files however you want, the important part is, that both start the same, for example if “Animation_Title_3.mp4” is your video, the script needs to be named like “Animation_Title_3Whatever_You.Want-ToBeHere_.funscript” and it will still match it correctly.

The new selection menu looks like this then:

ScriptContextMenuScreenshot2

What’s left to do for now is multi-axis script handling

1 Like

Wow that already looks perfect for my use case! Great job <3

1

Sorry i meant “default path”
I use the “default path” as Script folder for PORN.
When i want to use HENTAI i just switch pack one Folder