Releases: edger477/funscript-tools
v2.0.7
2.0.7 - phase-shifted funscript generation and pulse frequency workflow refactor:
1. Added phase-shifted output generation (*-2.funscript files) with variable delay based on local stroke cycle
2. New phase shift controls in Motion Axis tab (enable checkbox and delay percentage, default 10%)
3. Phase shift supports both legacy (alpha/beta) and motion axis (e1-e4) modes
4. Refactored pulse frequency generation to use alpha funscript instead of main funscript
5. Moved pulse frequency min/max mapping to final output step for proper bounds guarantee
6. Removed intermediate pulse_frequency-mainbased.funscript file
v2.0.6
- Main window now defaults to 850x760 (better for smaller screens)
- Custom Events Builder defaults to 1200x900
- Dynamic scrollbars automatically appear when Custom Events Builder is resized below 1000px × 880px
- Fixed scrollbar positioning to properly cover the full content area
v2.0.5
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
v2.0.3
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
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
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
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.

Restim Funscript Processor v1.0.8
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