Git Product home page Git Product logo

multifunplayer's Introduction

MultiFunPlayer



About

MultiFunPlayer is a simple app to synchronize your devices (e.g. OSR or buttplug.io supported devices) with any video using funscripts. Supported video players are DeoVR, MPV, MPC-HC/BE, HereSphere and Whirligig. The player's main feature is the ability to play multiple funscripts at the same time, allowing for greater movement fidelity.

Patreon only features

  • Support for DeoVR SLR Interactive script streaming (requires SLR subscription)

Main features

  • Supports DeoVR, MPV, MPC-HC/BE, HereSphere, OpenFunscripter, Whirligig, Plex, Emby and Jellyfin video players
  • Internal player to play scripts without video files
  • Supports buttplug.io, TCP, UDP, websockets, namedpipes, serial, file and The Handy (experimental) outputs
  • C# plugin system for custom behaviours and integrations
  • Supports multiple concurrent outputs of the same type
  • Supports TCode v0.2 and TCode v0.3 devices with advanced customization
  • Auto detection and connection to any supported video player and output
  • Bind keyboard/mouse/gamepad input to almost any customizable action (150+ available actions)
  • Seek, open and play/pause video from MultiFunPlayer
  • Real time script smoothing using pchip or makima interpolation
  • Per axis speed limit
  • Configurable auto-home when axis is idle for specified time
  • Smart limit to limit axis output range or speed based on position of another axis with fully customizable curve
  • Soft start sync feature to prevent unwanted motion
  • Script libraries to organize funscripts in different folders and load funscripts not located next to the video file
  • Ability to link unscripted axes to scripted axes
  • Ability to generate additional motion or fill script gaps using random, script, pattern or custom curve motion providers
  • Customizable color theme
  • Multi funscript heatmap with stroke length visualization
  • Supports funscript bookmarks and chapters
  • True portable app, no files are created/edited outside of the executable folder

How To

To synchronize with videos:

  • Add desired video player via the top-right "plus" button
  • Configure if needed by expanding settings with the "arrow" button on the right side
  • Click connect (NOTE: DeoVR, Whirligig and HereSphere require you to enable remote server/control support in their settings)
  • Add desired output via the bottom-right "plus" button
  • Configure by expanding settings with the "arrow" button on the right side
  • Click connect

Once your video player and output are connected, the funscripts can be loaded in several ways:

  • Manually, by dragging a funscript file from windows explorer and dropping it on the desired axis File text box.
  • Manually, by using the Script->Load menu in the axis settings toolbar.
  • Automatically, based on the currently played video file name if the funscripts are named correctly:
Common
Axis Description Valid file names
L0 Up/Down <video name>.funscript
L1 Forward/Backward <video name>.surge.funscript
L2 Left/Right <video name>.sway.funscript
R0 Twist <video name>.twist.funscript
R1 Roll <video name>.roll.funscript
R2 Pitch <video name>.pitch.funscript
TCode v0.2
Axis Description Valid file names
V0 Vibrate <video name>.vib.funscript
V1 Pump <video name>.lube.funscript
L3 Suction <video name>.suck.funscript
TCode v0.3
Axis Description Valid file names
V0 Vibrate <video name>.vib.funscript
A0 Valve <video name>.valve.funscript
A1 Suction <video name>.suck.funscript
A2 Lube <video name>.lube.funscript

The above file names are standard and recommended, other supported funscript names can be seen and configured in "Device" settings.

The above file names are matched in all script libraries and in the currently playing video directory.

Prerequisites

multifunplayer's People

Contributors

yoooi0 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.