Skip to content

Releases: sioaeko/scriptplayer-plus

v0.1.9

15 Apr 12:13

Choose a tag to compare

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 Sync so media can start automatically once Handy upload and sync finish.
  • Added a Multi-Axis Only sidebar 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

11 Apr 17:23

Choose a tag to compare

ScriptPlayer+ v0.1.8

  • Added a quick script variant panel for media that has multiple matching funscript variants, including parenthesized variants such as (...) labels like Soft.
  • Restored the Repeat button to loop the current media only, and split next-file playback into a separate Auto Next Play setting.
  • 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

09 Apr 07:08

Choose a tag to compare

v0.1.7-exp.3 Pre-release
Pre-release

Full Changelog: v0.1.7...v0.1.7-exp.3

ScriptPlayer+ v0.1.7

08 Apr 12:28

Choose a tag to compare

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.7 package 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 inverted metadata together with the user-facing Inverse Stroke setting.
  • This refresh specifically replaces the Windows zip asset; the existing macOS and Linux artifacts remain the original v0.1.7 builds.

Highlights

Random fallback strokes for media without a script

  • Added automatic random L0 fallback generation when the current media has no matching script.
  • Added ready-made stroke presets: Natural, Gentle, Intense, Edging, and Custom.
  • 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 About screen now shows live runtime version values for Electron, Chrome, and Node instead of leaving those fields blank.

High-DPI readability improvements

  • Added an app-wide UI Scale setting with 100%, 115%, 125%, 140%, and 150% 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 / modified sorting 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/react 18.3.12 -> 18.3.28
    • @types/react-dom 18.3.1 -> 18.3.7
    • @vitejs/plugin-react 4.3.4 -> 4.7.0
    • autoprefixer 10.4.20 -> 10.4.27
    • concurrently 9.1.0 -> 9.2.1
    • electron 33.2.0 -> 33.4.11
    • electron-builder 25.1.8 -> 26.8.2
    • postcss 8.4.49 -> 8.5.8
    • tailwindcss 3.4.15 -> 3.4.19
    • typescript 5.6.3 -> 5.9.3
    • vite 6.0.3 -> 6.4.1
    • wait-on 8.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

08 Apr 10:23

Choose a tag to compare

Pre-release

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, and Modified sort modes plus localized ascending / descending labels.
  • Added Previous Video / Next Video navigation in the player, tied to the active media order.
  • Added customizable keyboard shortcuts for previous / next video, with Arch/X11 Prior / Next alias fixes.
  • Added sidebar hover video preview for video items.
  • Added no-script L0 presets and pattern selection for generated fallback strokes.
  • Added media modifiedAt scanning support for sort order and navigation.
  • Fixed global Name / Modified ordering so folder grouping no longer produces incorrect navigation order.
  • Fixed no-script preset generation so user min / max speed limits 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

02 Apr 16:15

Choose a tag to compare

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 STR control directly to the playback bar.
  • You can adjust Stroke Range Min, Stroke Range Max, and Inverse Stroke without leaving the player.
  • The popup also includes a shortcut into Settings > Device for 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 Length
    • Jump 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 AppImage and linux-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

Quick STR controls

Empty-script gap skip settings

Empty-script gap skip settings

v0.1.5

25 Mar 12:49

Choose a tag to compare

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

23 Mar 17:57

Choose a tag to compare

Pre-release

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

23 Mar 10:13

Choose a tag to compare

Pre-release

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

22 Mar 07:43

Choose a tag to compare

Pre-release

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