Releases: sioaeko/scriptplayer-plus
v0.1.9
ScriptPlayer+ v0.1.9
- Improved Handy HSSP playback start reliability by switching back to HSSP mode before play, using ping-aware lead time, retrying after server resync on
400, and cancelling stale upload/play requests. - Added
Auto Play After Handy Syncso media can start automatically once Handy upload and sync finish. - Added a
Multi-Axis Onlysidebar filter so titles with more than one detected script axis are easier to find. - Added stroke range shortcut bindings and a compact playback speed stepper / preset popover in the player controls.
- Hardened autoplay and media readiness handling when opening, dropping, or switching media with Handy connected.
v0.1.8
ScriptPlayer+ v0.1.8
- Added a quick script variant panel for media that has multiple matching funscript variants, including parenthesized variants such as
(...)labels likeSoft. - Restored the Repeat button to loop the current media only, and split next-file playback into a separate
Auto Next Playsetting. - Fixed late end-of-track duration expansion in the player time display.
- Reduced folder-open freezes by making folder scans lighter, invalidating stale scan caches, and ignoring late folder-load results.
- Clarified random stroke naming so the stronger preset and the base tease pattern are no longer labeled the same.
v0.1.7-exp.3
Full Changelog: v0.1.7...v0.1.7-exp.3
ScriptPlayer+ v0.1.7
ScriptPlayer+ v0.1.7
v0.1.7 expands playback fallback behavior, keyboard customization, and large-library browsing, while also cleaning up video navigation UI for daily use.
Windows Package Refresh
- Replaced the Windows
v0.1.7package with a refreshed build after release. - Fullscreen playback now supports a more reliable fill mode for videos that previously left visible side borders.
- Fullscreen transport UI now uses a unified black control bar so the seek bar and playback controls stay readable together.
- Fullscreen script timeline / heatmap remains separate from the auto-hidden transport controls instead of disappearing with them.
- Fixed Intiface / Buttplug stroke direction handling by honoring script
invertedmetadata together with the user-facingInverse Strokesetting. - This refresh specifically replaces the Windows zip asset; the existing macOS and Linux artifacts remain the original
v0.1.7builds.
Highlights
Random fallback strokes for media without a script
- Added automatic random
L0fallback generation when the current media has no matching script. - Added ready-made stroke presets:
Natural,Gentle,Intense,Edging, andCustom. - Added direct controls for:
- preset selection
- base motion pattern
- minimum speed
- maximum speed
- Custom presets now let you choose the underlying motion pattern directly.
Expanded keyboard shortcut settings
- Added a dedicated shortcut settings screen in
Settings. - Added bindings for:
- play / pause
- seek backward / forward
- previous / next video
- mute
- fullscreen
- open folder
- open settings
- Updated shortcut handling to cover the new actions more consistently across playback flows.
Better browsing for larger media libraries
- Added media sorting by:
- path
- name
- modified date
- Added ascending / descending sort direction controls.
- Added previous / next video navigation support.
- Added hover video previews in the sidebar file list.
- Added media ordering helpers so sequential navigation follows the active sort order.
Player control polish
- Separated main transport controls from video-to-video navigation.
- Previous / next video now lives in a dedicated top hover navigation bar instead of mixing with the main seek controls.
- This keeps the bottom playback controls closer to standard video-player behavior.
- The
Aboutscreen now shows live runtime version values forElectron,Chrome, andNodeinstead of leaving those fields blank.
High-DPI readability improvements
- Added an app-wide
UI Scalesetting with100%,115%,125%,140%, and150%options for 4K and high-resolution displays. - Applying the scale updates the full interface immediately instead of requiring a restart.
- Raised muted-text contrast slightly so secondary information reads more clearly on dense displays.
Localization and wording updates
- Added translation coverage for the new playback, sorting, preview, and shortcut UI across English, Korean, Japanese, and Chinese.
- Refined Korean preset naming so the preset labels read more naturally in the localized UI.
Fixes and maintenance
- Refined no-script preset handling and fallback pattern generation.
- Fixed
name/modifiedsorting so both modes are truly global across folders instead of falling back to folder-block ordering. - Fixed flat sidebar rendering so non-grouped views use the ordered visible list consistently.
- Prevented hover previews from appearing over the main player when hovering the currently selected file.
- Included sorting correctness fixes and playback-side cleanup needed for the new media ordering flow.
- Included key alias and shortcut handling fixes used by the new shortcut settings.
- Refreshed safe dependency ranges across the React / Vite / Electron toolchain.
- Updated development and packaging versions including:
@types/react18.3.12 -> 18.3.28@types/react-dom18.3.1 -> 18.3.7@vitejs/plugin-react4.3.4 -> 4.7.0autoprefixer10.4.20 -> 10.4.27concurrently9.1.0 -> 9.2.1electron33.2.0 -> 33.4.11electron-builder25.1.8 -> 26.8.2postcss8.4.49 -> 8.5.8tailwindcss3.4.15 -> 3.4.19typescript5.6.3 -> 5.9.3vite6.0.3 -> 6.4.1wait-on8.0.1 -> 8.0.5
Verification
- Verified with
./node_modules/.bin/tsc --noEmit - Verified with
npx vite build - Verified with
npm run build:win - Verified with
npm run build:linux - Launched the packaged app and performed direct runtime interaction checks with X11 automation.
- Rebuilt the Windows package again after the fullscreen / Intiface fixes and verified the updated packaged app locally.
ScriptPlayer+ v0.1.7-exp.1
ScriptPlayer+ v0.1.7-exp.1
v0.1.7-exp.1 is a prerelease for Windows-side validation before promoting the same work to a full release.
Highlights
- Added shared media ordering with
Path,Name, andModifiedsort modes plus localized ascending / descending labels. - Added
Previous Video/Next Videonavigation in the player, tied to the active media order. - Added customizable keyboard shortcuts for previous / next video, with Arch/X11
Prior/Nextalias fixes. - Added sidebar hover video preview for video items.
- Added no-script
L0presets and pattern selection for generated fallback strokes. - Added media
modifiedAtscanning support for sort order and navigation. - Fixed global
Name/Modifiedordering so folder grouping no longer produces incorrect navigation order. - Fixed no-script preset generation so user
min / max speedlimits are still enforced. - Fixed Settings app-info version display for Electron / Chrome / Node.
Validation
- Passed
./node_modules/.bin/tsc --noEmit - Passed
./node_modules/.bin/vite build - Passed
npm run build:linux - Validated with
[email protected]
Notes
- This prerelease is intended as a source/tag checkpoint for additional Windows testing before converting to a full release.
ScriptPlayer+ v0.1.6
ScriptPlayer+ v0.1.6
v0.1.6 focuses on playback-side usability, sparse audio-script handling, and stability around media loading, seeking, and large-library browsing.
Highlights
Quick STR controls in the player
- Added a new
STRcontrol directly to the playback bar. - You can adjust
Stroke Range Min,Stroke Range Max, andInverse Strokewithout leaving the player. - The popup also includes a shortcut into
Settings > Devicefor full device-side adjustments.
Automatic skipping for empty script gaps
- Added
Settings > Playback > Skip Empty Script Gaps. - This is designed for sparse audio / ASMR scripts with long inactive sections.
- You can configure:
Minimum Gap LengthJump Lead-In
- The player suppresses repeated jumps after manual seeking and uses a cooldown to avoid re-trigger loops.
Smoother seek and scrub behavior
- Progress-bar scrubbing now previews while dragging and commits the actual seek on release.
- This reduces repeated device resyncs during drag and makes timeline navigation feel much more responsive.
- Timeline / heatmap playback updates were also cleaned up to reduce unnecessary redraw cost.
Stability fixes
- Fixed duration display regressions where the total length could fall back to
0:00. - Fixed same-file reselect and repeated-click cases that could reset player duration incorrectly.
- Added request-order protection so stale async file loads do not overwrite a more recent media selection.
Large-folder scanning improvements
- Reduced subtitle detection overhead during folder scanning.
- Added safer directory traversal so symbolic-link / junction-like paths do not create recursive scan traps.
- Cached same-folder funscript existence checks to improve browsing in large libraries.
Included platform/build updates
- Includes the Linux source-build target work already merged into
master. - Linux x64 source builds now target
AppImageandlinux-unpacked.
Notes
- Handy, Intiface / Buttplug, and FunOSR direct serial flows remain supported.
- Handy can still feel slightly slower than direct serial / Buttplug when stroke-range changes require re-sync behavior.
Screenshots
Quick STR controls in playback
Empty-script gap skip settings
v0.1.5
ScriptPlayer+ v0.1.5 stable release.
Highlights:
- official FunOSR (Direct Serial / COM) support
- Intiface / Buttplug multi-axis support with raw TCode transport
- smoother timeline and heatmap playback updates
- improved Handy re-sync after timeline seeks
Fixes and stabilization:
- fixed Windows file URL handling
- fixed natural media sorting issues
- improved direct serial connection error handling
- fixed packaged serialport loading in Windows builds
- fixed the direct serial disconnect race from the exp.7/exp.8 test cycle
ScriptPlayer+ v0.1.5-exp.8
Direct Serial (COM) follow-up fix for the exp.7 test build.
This fixes a cleanup/disconnect race where the app could immediately disconnect the COM port right after the connection state changed, causing the UI to briefly flash connected/disconnected or show 'Serial port is not connected.' even though the device was available.
Windows x64 build: ScriptPlayerPlus-0.1.5-exp.8-Windows-x64.zip
ScriptPlayer+ v0.1.5-exp.7
Experimental Windows build for the packaged Direct Serial fix.
Changes:
- fixed packaged @serialport/bindings-cpp loading so JS dependencies resolve correctly in app.asar
- keeps the native serialport addon loading from the unpacked package
- bumps the experimental build version to 0.1.5-exp.7
Please retest issue #1 with this build.
ScriptPlayer+ v0.1.5-exp.6
Experimental Windows prerelease for v0.1.5-exp.6.
Included in this build:
- Windows file URL handling fix for paths containing reserved characters such as #
- Natural numeric sorting for media lists
- Improved direct serial connection error handling and unexpected close reporting

