Vapoursynth Editor 2

R6: [2021-09-09]
- Implemented VSAPI 4, program now requires Vapoursynth R55+ to run
- libP2P Vapoursynth plugin will be required for previewing frame
- refactored the preview filter in the filter chain into separate functions
- cosmetic on frame properties matrix display
- bug fixed: color picker producing wrong color that was introduced in commit
- Bug fixed: manual entering frame number in the navigation box will not trigger on every key press
- The script processor request only preview frame during playback instead of both output and preview frame.
  This should give a little speed up on playback
- Rewrote the preview filters chain implementation, now preview filters runs programatically on
  processed video node instead of being part of the script. Resulting in faster loading time when
  switching between preview filters and less memory consumption
- Moved the matrix coefficient setting from the "Preview Advanced Settings" to the preview filter dialog.
- Removed Preview Advanced Settings dialog as it was replaced by Preview Filters dialog
- Bug fixed: log window not showing indentation correctly
- Bug fixed: defined an absolute path for the theme_presets file so that opening the program through
  vpy would not generate a new one on the current directory
- Single instance implementation using the KDSingleApplication library
- File association for vpy file option on Windows platform, openning vpy will load as new tab in the program

R5: [2021-02-10]
- Bug fixed: switching from tab A with a larger frame number than the max frame number of tab B will cause an out of range frame request error
- Bug fixed: switching to tabs that are not in the same group during playback would keep on playing
- Bug fixed: in group playback, switching to the same tab using hotkey would break the playback
- Fixed missing connect for preview advance setting dialog, but its usage is still unknown to me
- Config file now saved as vsedit2.config to avoid conflicting with the original version
- Updated to VSAPI 3.6 calls, now requires Vapoursynth R47 or higher
- Updated deprecated QProcess calls for encode and job server watcher
- Autocompleter list shows only function names instead of the entire definition
- Autocompletion for Python script functions, but only limited to non alias calls
- Autocompletion popup now triggers on zero character type after "." on known filter/script names, normal words will not be affected
- Added "about Vapoursynth", "open plugins folder" and "open scripts folder" options to menu

R4: [2021-01-31]
- Add option to release memory on tab
- Remember tabs on close
- Opening script that was already opened will change to its tab
- Fixed a save file dialog pop up when loading from the recent script list while the active script is labeled as modified
- Fixed script template loading with tabs
- Fixed log window visibility. The wIndow will show up from hidden when there's an error
- Removed the ugly white margin around log window
- Capping frame cache and frame ticket queue sizes, greatly reducing memory usage
- Added "copy to new tab" option to right click tab context menu
- Updated more deprecated type cast

R3: [2020-08-28]
- Fixed a bug where frame cache didn't get released when tab was closed
- Added a button in settings to open the config file folder
- Fixed missing includes in repo so the project can be rebuild by others
- A new selection tool to make area selection on a single frame. The selected rectangle can be returned with its control points (coordinates)
- Finished transferring the frame discarded rollback function
- Cosmetic adjustment for timeline and bookmark manager
- Refactored codes and cleaned up some obsolete codes

R2: [2020-08-12]
- Disabled mouse scroll to scroll a zommed preview because it doesn't make sense to be only able to scroll one axis
- Preview zoom in scroll bar position are remembered for similar clips in a group
- Fixed preview zoom raito not having immediate effect when change tabs
- Script window can be hidden and restore now
- Added close tab action when right click on tab
- Added shortcuts to switch tab by number keys, available keys are 1-9
- Fixed all editor shortcut keys
- Arrow key navigation from time line and preview area works now
- A new preview filters feature leveraging vs script to assist preview
- Preview filters can be chained
- Per frame properties can be display in frame info dialog now
- Added menu options to toggle the Tools widget and its dialogs
- Added a copy script to new tab function
- Added right click and middle click signal to the tabwidget
- Added middle click close tab function
- Added the basic editor copy/paste actions to the menu options
- A find and replace function for the editor
- PreviewArea now uses QPainter for frame drawing instead of QPixmap, which greatly improves performance for zooming
- Zoom ratio cap increases to 25x

R1: [2020-07-30]
- Fixed webp saving in wrong image quality. Image formats now save with their own quality parameters instead of sharing one single parameter
- All remaining menu and context menu functions of the original have been transferred
- Proper closing handler and default auto tab naming for multi tab
- Fixed wrong zoom ratio step when controlled by arrow keys
- Encoding preset selection now auto saved
- Removed bilinear scale mode on preview
- Crop editor temporary removed for new implementation
- Similar clips comparison feature added. Clips are assign to group automatically on first load. Clips in same group will be sharing the same timeline
- Multiple groups navigation between clips. Frame position and timeline zoom level of groups are remembered
- Continuous playback when switching between clips in the same group
- A new theme preset system for the editor. Themes are stored in a separate file "theme_presets.txt" under the app folder
- Themes can now be copied, removed, exported and imported
- Rewrite of the theme saving mechanism, including a temperary string to hold changes in theme setting before the changed was saved
- New detachable multi tab UI
- Script window can be detached from preview window
- Bookmark manager intergrated with multi tab support
- Timeline navigation integrated with multi tab support
- A tab widget subclass with a hook in between tab change
- A collapsable widget for log window
- Transferred most menu functions to new UI
- Chapter title is now editable in bookmark manager and can be saved. (no XML)
- Added logoic to detect file format when loading chapter/bookmark file
- Some refactoring and clean up
- Mouse click and drag in timeline works now
- Fix: added a check for negative frame request(drag to beginning) from breaking the timeline
- Image saving (png) now uses better compression for smaller file size (quality 50 instead of no compression)
- New bookmark manager to interact with timeline
- bookmark can now be save as chapter file or bookmark with delimiter
- bookmark settings are saved
- Fixed wrong eyedropper position on zoom
- Zooming from preview area now uses new zoom ratio
- Fixed bug that the time line stop drawing ruler at the end
- playback will now keep playing when jumping to other frames
- Fixed video playback looping when end reached
- Removed the triangle icon at the bottom right of the statusbar
- Removing some annoying deprecated type casting
- Finishing zoom raito spinbox, now it works with mouse scroll, mouse click and keyboard control.
- A new extended class for handling text selecting in spinbox on single click. The default one requires triple click.
- Added mouse position over prevew display in the script status bar widget
- A new zoomable timeline

/-----------------------------------------------------------------/

Vapoursynth Editor

r20:

r19:
-BUGFIX: Rapid settings updating on windows geometry change.
-BUGFIX: Theme settings corruption when using job server.
-Color picker update with a still mouse cursor in play mode.
-Benchmark dialog remembers first and last frame for current script.

r18:
-BUGFIX: Crash on encode dialog initialization error.
-BUGFIX: No error in log on encode dialog initialization error.
-Import chapter files as preview bookmarks (by brainvlad@gmail.com).

r17:
-BUGFIX: Blank preview on variable size video with fixed zoom ratio.
-BUGFIX: Saving new script.
-BUGFIX: Invalid context menu for editor.
-BUGFIX: Context menu behavior in preview.
-New multi-app architecture: editor, job server, server watcher.

r16:
-BUGFIX: Default hotkey forced when trying to save an empty hotkey.
-BUGFIX: Inactive actions in the log context menu.
-Jobs queue with dependencies tracking.
-Adjustable jobs table.
-Pausable CLI encoding jobs.
-Pausable process run jobs.
-Shell command execute jobs.
-Removed framebuffer monitoring.
-Move text block up action.
-Move text block down action.
-Toggle comment action.
-Fixed VS API version requested for internal plugins polling.
-Larger settings dialog to remove the warning.

r15:
-BUGFIX: crash on colour picking while refreshing preview.
-BUGFIX: random junk instead of black frame on preview refresh.
-BUGFIX: wrong hours displayed in estimated finish time for benchmark and encoding.
-Buildable with Qt version lower than 5.4.
-Float formats support in yuv4mpeg video header for encoding.

r14:
-BUGFIX: Encoding logic.
-Core buffer usage display.
-Relative paths are resolved from the application directory, not CWD.
-Benchmark and encoding progress in window title.
-MS Windows: taskbar button progress for benchmark and encoding.
-Script dialogs status bar reorganized.
-WebP snapshots support.

r13:
-yuv4mpeg header for video encoding.

r12:
-Improved log.
-Crash log is saved as HTML from the main log.

r11:
-BUGFIX: Default file drop template.
-BUGFIX: Preview non-YUV clips.
-An option to keep the currently previewed frame number on previewing different script.

r10:
-BUGFIX: Colour picking.
-BUGFIX: VapourSynth messages handling.
-BUGFIX: Frame processing errors handling in different modes.
-BUGFIX: Pasting crop snippet into the last script line.
-BUGFIX: Benchmark and encode dialogs forward initialization error to main window log and hide on error if open.
-Crashlog on VapourSynth fatal errors.
-Keep preview scrolling and frame number on refreshing the same script.
Reset on previewing new script. Unsaved script preview is always reset.
-Editor: selected text/current line duplication action.
-Editor: comment/uncomment selected lines actions.
-Editor: multiline tab and backtab.
-Options to use spaces as Tab and set Tab size.
-Editor: Replace Tab characters with spaces action.
-Editor: smart Home key behaviour.
-An option to remember and restore the last previewed frame between sessions.
-New script template setting.
-Code snippets.
-File drop templates.
-Option to highlight selection matches in script editor.
-Timeline bookmarks with auto-saving/loading bookmarks file along the script file.
-Remember timeline panel visibility.
-Most timeline colours are bound to OS theme.
-Changes in default standard hotkeys. Many default hotkeys are now OS-dependent. CTRL + arrows in preview window now move between bookmarks and CTRL + SHIFT + arrows jump time intervals.
-Frames number and subsampling string tokens in encoder.
-Estimated finish time output in benchmark and encoder.
-Encoder argument tokens format changed into more readable one.
-Colour picker moved into status bar.
-Paste shown frame number into script action.

r⑨:
-Asynchronous frames processing. More responsive GUI.
-Preview video playback.
-Script processing benchmarking.
-Encoding video with CLI tools.

r8:
-BUGFIX: Preview stride.

r7:
-BUGFIX: Bt.601 YUV to RGB conversion matrix. Not sure if it works correctly, but it works.
-BUGFIX: Massive memory leak.
-Late linking to vsscript library. Can start with no VapourSynth installed.
-Better detection of VapourSynth installation on Windows.
-Experimental colour picker. Shows values under cursor in preview window. Not thoroughly tested.

r6:
-Added some theme settings.
-Switched preview to use the internal resizer instead of zimg. Requires VapourSynth R29+.
-Support for building under MacOS X (not tested).

r5:
Fix release.
-Fixed compatibility with VapourSynth r27. Patch by Myrsloik.
-Fixed "Copy frame to clipboard" action.

r4:
-Custom font is embedded.
-Internal format conversion for preview. All VapourSynth video formats are now supported.

r3:
-Fixed zoom ratio changed to real number.
-New line autoindentation.

r2:
-File paths are changed to canonical before adding to recent files list to eliminate doubling records.
-Change window title when script path changes.
-Always create new script on start before trying to open any.
