Skip to content

Releases: edger477/funscript-tools

v2.0.5

03 Jan 21:13
9e24719

Choose a tag to compare

2.0.5 - external config loading improvement:
1. Fixed event definitions loading to check exe directory first before bundled resources
2. Users can now edit config.event_definitions.yml next to the exe to add custom events without rebuilding
3. Added get_resource_path() helper function for proper PyInstaller resource resolution

What This Enables

For End Users:

  • Place config.event_definitions.yml next to the .exe file
  • Edit to add custom events
  • Restart app → custom events available immediately ✅
  • No rebuilding required!

Next Steps:

  • Next build will include this fix
  • The bundled config serves as a fallback if external file is missing

v2.0.4

22 Dec 11:46
6e01dd8

Choose a tag to compare

2.0.4 - code cleanup:
1. Removed legacy funscript_1d_to_2d.py file that was causing import confusion
2. Fixed prostate_2d.py to use correct function parameters (removed invalid speed_at_edge_hz parameter)

v2.0.3

20 Dec 16:31
6e01dd8

Choose a tag to compare

2.0.3 - custom events system improvements and bugfixes:
1. Auto-create empty .events.yml template next to source .funscript files during processing
2. Auto-load .events.yml file when opening Custom Event Builder after processing
3. Fixed Custom Event Builder saving modified files to wrong directory in central folder mode
4. Fixed .events.yml files to always stay in local/source directory (not moved to central folder)
5. Fixed critical overwrite mode ramp bug: ramps now blend from/to current values instead of dropping to 0
6. Added dirty flag tracking with "Save and Apply Effects" button text when changes are unsaved

v2.0.2

17 Dec 21:30
9716cea

Choose a tag to compare

What's Changed

2.0.2 - improvements and bugfixes:
1. Added comprehensive metadata to all generated funscript files (generator, version, algorithms, parameters)
2. Added rest level ramp-up feature with centered transition window for smooth volume recovery
3. Fixed file overwrite issue in central folder mode (files now properly updated when backups disabled)
4. Replaced automatic linked axes with explicit comma-separated axis targeting (e.g., "volume,volume-prostate")
5. Removed volume-stereostim file generation and related parameters
6. Added validation warning for modulation frequencies >30 Hz (potential undersampling)

Full Changelog: v2.0.1...v2.0.2

v2.0.1

16 Dec 09:09
e44dda2

Choose a tag to compare

What's Changed

  • Bugfixes by @edger477 in #2
    2.0.1 - bugfixes:
    1. Direction change probability saved/loaded correctly
    2. Convert to 2D button working in Motion Axis tab
    3. Auto-generate option replaced with overwrite option
    4. Smart overwrite behavior implemented
    5. Prostate generation checkbox working correctly

Full Changelog: v2.0.0...v2.0.1

v2.0.0

14 Dec 11:26
24416ae

Choose a tag to compare

What's Changed

Full Changelog: v1.0.8...v2.0.0

The new dialog for editing multiple funscripts via yaml file using predefined events - the library with some of them is already available in config.event_definitions.yml - it is possible to edit this file and introduce new custom events. Use Fundamental operations document to get idea of how to do that.

image

Restim Funscript Processor v1.0.8

09 Dec 14:44

Choose a tag to compare

feat: Add restim original (0-360) algorithm with dynamic parameter control

  • Add original restim algorithm from diglet48's repository
  • New Direction Change Probability slider (0.0-1.0) with value display
  • Dynamic UI disables irrelevant parameters per algorithm selection
  • Implements stroke-relative circular motion with random direction changes

v1.0.7

03 Dec 13:55

Choose a tag to compare

minor update:

  • fixed ramp generator - 0 to ramp start value happens in first 10 seconds now (it was 0.1 sec)
  • change allowed range for volume ratio (combine of speed and ramp) - it is now 6 to 20

v1.0.6

20 Nov 08:19

Choose a tag to compare

Redesign alpha/beta generation with global center algorithm and percentage-based speed threshold

  • Change speed threshold from Hz to percentage (0-100%, default 50%)
  • Redesign circular and oscillating algorithms to use global center (0.5, 0.5)
  • Enable alpha/beta to reach full 0-100 range at maximum speed
  • Use speed.funscript values for radius scaling instead of calculating on-the-fly
  • Generate speed.funscript before alpha/beta in processing pipeline
  • Add config.json to release package
  • Update UI: Hz slider → percentage slider with IntVar

Full Changelog: v1.0.5...v1.0.6

v1.0.5

08 Nov 14:11

Choose a tag to compare

Add batch processing and zip packaging features

Features:

  • Batch processing: Select and process multiple .funscript files in sequence

    • File dialog now supports multi-select (Ctrl/Shift)
    • Display shows "X files selected" for multiple files
    • Sequential processing with per-file progress tracking
    • Batch completion summary shows successful/failed/total counts
    • Works for both "Process All Files" and "Process Motion Files"
  • Zip packaging: Optional archive creation for output files

    • New checkbox in Advanced tab: "Pack Output Files to Zip Archive"
    • Creates {sourceFile}.zip containing all output .funscript files
    • Includes motion axis files (e1-e4) when present
    • Uses ZIP_DEFLATED compression
    • Config parameter: advanced.pack_output_to_zip (default: false)

Implementation:

  • ui/main_window.py: Batch file selection and processing loops
  • ui/parameter_tabs.py: Zip packaging checkbox in Advanced tab
  • processor.py: Zip creation method with output file collection
  • config.json: Added pack_output_to_zip parameter

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude noreply@anthropic.com

Full Changelog: v1.0.4...v1.0.5