Skip to content

0.5.0

Latest
Compare
Choose a tag to compare
@thisismy-github thisismy-github released this 18 Jun 21:34
· 214 commits to master since this release

NOTE: 0.6.0 is coming (August 9th or 10th 16th 2023 eventually lol) with many, MANY improvements (over 200 commits since 0.5.0!!!)

3/29/24 - I'm taking a break from this for a couple weeks. I'll likely pick work back up in May, maybe June. PyPlayer will notify you about the update when it's ready and let you auto-update.

If you'd like to try 0.6.0 right now, compiling is very easy (you might need Python 3.9):

  1. Download/clone the source code (click the green "Code" button in the top-right corner on the main GitHub page)
  2. Install Python (make sure it gets added to your PATH system variable)
  3. Run pip install -r requirements.txt in the source code's folder
  4. Double-click build.py in the "executable" folder

It's a bit unstable and some features are currently unfinished, but it is overall 1000x better than 0.5.0.
Note: This compiled version will not auto-update unless you change constants.VERSION to something lower than 0.6.0.


0.5.0 Changelog:

(Smooth) Zooming and panning support

The biggest focus in this update was adding zooming/panning support for images and GIFs (not cover art, and videos will come in the future). An optional smoothing effect (enabled by default) is included, along with a multitude of settings controlling many aspects of zooming, such as the zooming factor, the speed of smooth zooms, the minimum zoom, etc. Zoomed images (not GIFs, yet) can be panned by dragging them. Clicking (double-clicking if its a GIF) will reset the zoom and position. GIFs reset to their first frame while zooming, so that the cached frames can be cleared, and GIFs may lag when zooming too far in (max zoom is limited to 20x native size, 100x for regular images). Holding Ctrl or Shift while zooming will zoom at different rates (changeable in the settings), and by default, Ctrl will zoom 2x faster, Shift will zoom 4x slower.

FFmpeg update (again)

The lgpl version broke a number of edits, so the included FFmpeg files have been updated to ffmpeg-n5.0-latest-win64-gpl-shared-5.0. This is unfortunately another ~31mb being added, but this version is especially up to date, which will be useful for an upcoming release (I may still downgrade FFmpeg in the future if necessary).

Snapshot changes & expanded support

  • Snapshot actions (including the ones previously exclusive to the context menu) are now contained within their own submenu, which itself has been moved to the Edit menu
  • The last snapshot path can now be copied to the clipboard
  • Snapshots now support ?frame and ?framecount variables
    • The ?video variable has been renamed to ?name
      • This will be automatically corrected for anyone auto-updating
  • Images, GIFs, and cover art now support snapshots
    • Images that aren't in crop-mode automatically open the resize snapshot dialog
    • GIF snapshots use FFmpeg to extract the current frame
    • Cover art can be cropped
    • A checkbox for preferring PNG format over your default format when snapshotting GIFs and images has been added (checked by default)
    • GIFs and cover art now have their own snapshot name formats
      • If their formats are blank, they fallback to the default snapshot name format
      • GIFs default to ?name_frame?frame_?framecount
      • Cover art defaults to ?name_art
  • Resize dialog improvements
    • The native resolution is now plainly shown
    • JPEG quality can now be tweaked from this dialog (the default value is whatever your actual JPEG quality setting is set to)

Other major changes

  • Bilinear filtering can be toggled on/off (defaults to on)
    • This toggle also appears in the context menu whenever you have an image/GIF/cover art open
  • Auto-resize improvements
    • Auto-resize only triggers once left-click is released
    • Auto-resize modifiers (Shift to shrink, Ctrl to invert behavior) now only apply if they're being held down at the moment the auto-resize occurs
    • Several properties have been added to avoid unwanted behavior with maximizing, fullscreening, and aero-snapping
      • Aero-snap currently still triggers auto-resize (rarely)
    • Manual triggers for the auto-resize settings have been added to the Window menu
  • Recent files changes
    • The number of recent files to track is now a setting (0-1000, defaults to 25)
      • Tracking more than 25 recent files will no longer validate the files on launch (checking for duplicates, invalid files, etc.) to optimize startup
        • This also moves the clear button to the top of the recent files' submenu, for easier access
    • A checkbox for whether or not to update the order of your recent files when playing one has been added (unchecked by default)
  • Number keys now have dedicated behavior
    • You can choose between YouTube-style progress jumping (5 jumps to 50% through the media) or playing recent files
      • Behavior is split between primary (no hotkeys) and secondary (Ctrl being held down) behavior
      • Defaults to progress-jumping as primary behavior, and playing recent files as secondary behavior
    • Several settings specifically for playing recent files with the number keys have been added as well
      • By default, pressing a number key immediately after launch plays that number recent file
  • Precise-trimming is now used by default in the following situations:
    a. Trims on media under 10 seconds
    b. Trims under 5 seconds on media under 30 seconds
    • This helps against corrupted edits, which are more common on shorter videos/trims
    • These values may be tweaked in the future
  • Significant reorganization of settings dialog
    • Several settings have been moved or reordered
    • Hotkey-related settings are now in the Hotkeys tab
    • Group boxes are now spaced much further apart
  • Added forward/backward hotkeys (defaults to Alt + ←/→, similar to most browsers)
  • Lowered VLC volume gain from 6.0 to 2.0
  • For contributors: If needed, review the recent commits for a lot of refactoring. Lots of things have been renamed, self.parent calls in widgets.py have been removed, aliases have been turned into global variables, simplified interfaces for qthelpers.py methods have been added, qthelpers file dialogs now accept a lineEdit parameter, FFmpeg usage has been revamped significantly, etc.

Minor changes

  • Saving an edit now displays a "busy" cursor
  • Cover art can be disabled
  • EXIF orientation data is now supported for JPEGs
  • Alt presses are now ignored if other keys are being pressed, avoiding accidental menubar toggling
  • Added ability to pass arguments directly to VLC
    • -v or --vlc followed by arguments surrounded by quotes will pass those arguments to the VLC instance that is created on startup (including --gain)
  • Default marquee offset has been changed from 1.6% to 2.9%
  • Fixed several instances of keyboard focus being lost after performing certain actions
  • Window clamping now properly works with multiple monitors
  • Improved the way the minute spin-box behaves on media > 1 hour
  • Fixed "hiccup" while manually updating the hour/minute/second spin-boxes in certain scenarios
  • Fixed white background that appears behind transparent images while crop mode is enabled persisting after crop mode is disabled
  • Fixed crash on close if the window was never moved or resized
  • Update checks no longer log error messages if you have no internet connection
  • Other logging improvements
  • Optimized startup, delayed the actual showing of the window until after config is loaded to fix visual oddity
  • General, more mild optimizations to media opening/parsing
  • Lots of other crashes and general bug fixes