Skip to content

Latest commit

 

History

History
276 lines (227 loc) · 9.57 KB

File metadata and controls

276 lines (227 loc) · 9.57 KB

ScriptPlayer+ icon

ScriptPlayer+

A modern desktop player for local funscript playback, with a cleaner playback UI, The Handy sync, Intiface / Buttplug multi-axis routing, FunOSR serial support, in-app EroScripts browsing, and a media library that is actually pleasant to use.

Latest Release Downloads Platforms License

Download Latest Release · Watch Overview Demo · 한국어 · 日本語 · 中文


ScriptPlayer+ overview demo

Click the hero image or the demo cards below to open the short product videos.

Why ScriptPlayer+

ScriptPlayer+ is for people who already have local media and scripts and want a player that feels current. The focus is straightforward: clean playback, clean device control, and an efficient library workflow that does not waste time.

Playback-first UI
Fullscreen playback, timeline and heatmap overlays, subtitle support, audio artwork mode, and quick stroke controls without burying everything in menus.
Device support that scales
Use The Handy, Intiface / Buttplug devices, or direct FunOSR serial output from the same app, with per-device routing and multi-axis support.
Library workflow that wastes less time
Folder browsing, script and subtitle detection, hover video preview, sorting, EroScripts search, and manual override tools are all built in.

Product Tour

Overview demo Video preview demo Random stroke demo
Overview Demo
Open the main player walkthrough and see the current playback surface, layout, and device flow.
Video Preview Demo
See how file-list hover preview works without leaving the browser or opening the file first.
Random Stroke Demo
Check the fallback stroke generation workflow for media that does not ship with a script.

Feature Preview

Script variants panel Pattern preset demo
Script Variants Panel
When a title has multiple matching script bundles, switch between the default script and alternates like Soft directly from the sidebar.
Pattern Preset Demo
The refreshed random fallback presets now separate the base tease motion from the stronger tease preset, and the new short clip shows that flow.

Inside The App

Device settings Keyboard shortcuts
Device routing and mapping
Configure Handy, Buttplug, and serial behavior in one place instead of splitting setup across multiple tools.
Keyboard-first control
Playback, seeking, fullscreen, and navigation are all available from configurable shortcuts.

Highlights

Playback And Library

  • Plays local video files: MP4, MKV, AVI, WebM, MOV, WMV
  • Plays local audio files: MP3, WAV, FLAC, M4A, AAC, OGG, OPUS, WMA
  • Detects matching bundled funscripts, supports separate script folders, and can auto-pick unique fallback matches
  • Shows a quick script variant panel when multiple matching script bundles are available
  • Detects matching external subtitle files and lets you load subtitles manually
  • Shows hover video preview inside the file list
  • Sorts the library by path, file name, or last modified time
  • Separates repeat-current-media, Auto Next Play, shuffle playback, and adjustable playback rate
  • Supports drag and drop for opening media directly
  • Automatically picks matching cover art for audio playback when available

Script Visualization And Control

  • Real-time scrolling timeline with configurable window size and height
  • Full-media heatmap with speed-based color visualization
  • Quick STR stroke controls in the playback bar
  • Stroke range min / max controls and inverse stroke toggle
  • Optional random fallback stroke generation for media without scripts
  • Automatic skipping for long empty script gaps in sparse scripts
  • Multi-axis funscript bundle loading and routing

Devices And Script Sources

  • The Handy sync with upload, setup, and time offset handling
  • Intiface / Buttplug multi-axis mapping for linear, rotate, and scalar features
  • FunOSR serial / COM output with adjustable update rate
  • In-app EroScripts login, browsing, searching, and downloading
  • Session persistence for EroScripts login on the local machine

What's New In v0.2.0

  • Added stronger script matching with recursive script-folder scanning, script variants, drag-and-drop script matching, and a manual match dialog
  • Added per-script / per-media offset controls with configurable keyboard shortcuts
  • Added device output smoothing through Motion Speed Limit presets
  • Added script debug tools, including current script path, source, axes, offset, copy path, reveal in Explorer, and reload actions
  • Added script-folder rescan, Always on Top, folder collapse persistence, and improved same-media script variant handling

Download

Platform Package Notes
Windows x64 Latest release Portable build, extract and run ScriptPlayerPlus.exe
macOS x64 / arm64 Latest release ZIP package, move ScriptPlayerPlus.app to Applications
Linux x64 Latest release AppImage build is published with each tagged release

Supported Files

Type Formats
Media mp4, mkv, avi, webm, mov, wmv, mp3, wav, flac, m4a, aac, ogg, opus, wma
Scripts .funscript, .json, .csv
External subtitles .srt, .vtt, .txt

Current Notes

  • Embedded subtitle tracks inside video containers are not parsed yet. Use external subtitle files for now.
  • Linux release output currently targets x64 AppImage.
  • The Japanese and Chinese READMEs under docs/ have not been refreshed to the same level as this main README yet.

Build From Source

Use Node.js 20.x. The project pins 20.20.2 in .nvmrc.

git clone https://github.com/sioaeko/scriptplayer-plus.git
cd scriptplayer-plus
npm install

Run the app in development:

npm run electron:dev

Build for Windows:

npm run build:win

Build for macOS:

npm run build:mac

Build for Linux:

npm run build:linux

Keyboard Shortcuts

Key Action
Space / K Play / Pause
Left / Right Seek -5s / +5s
Shift + Left / Right Seek -10s / +10s
Up / Down Volume +5% / -5%
F Toggle fullscreen
M Toggle mute
Ctrl + , Open settings

Tech Stack

  • Electron
  • React
  • TypeScript
  • Tailwind CSS
  • Vite

License

ScriptPlayer+ End User License Agreement

ScriptPlayer+ is proprietary software distributed under the terms in LICENSE. Commercial use, redistribution, modification, and reuse of project media require separate written permission from the copyright holder.