From 119e7bcc0ec7bf100d6e50457b2586481ac0c19b Mon Sep 17 00:00:00 2001 From: Joey Hafner Date: Thu, 18 Jul 2024 12:57:31 -0700 Subject: [PATCH] Clear out existing TODO.md file in prep for adding to .gitignore --- archive/PyClipIt/TODO.md | 38 -------------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 archive/PyClipIt/TODO.md diff --git a/archive/PyClipIt/TODO.md b/archive/PyClipIt/TODO.md deleted file mode 100644 index bee5865c..00000000 --- a/archive/PyClipIt/TODO.md +++ /dev/null @@ -1,38 +0,0 @@ -# UI -- Allow clip end to ignore keyframes. (Ignore step size too?) -- Create popup message for long loading times (getting keyframes, extracting clip) -- Create some notification for clip complete. -- Handle video resizing -- Input box for clip start and end times. -- Timeline zoom for better handling of long vods. -- Move clip start label to left of timeline. Clip end label to right. -- Add tab for console output. -- Replace `H:MM:SS.ms` time string format with `H:MM:SS (n)`, where `n` is the frame since last keyframe. Clip start will always have an `n` of `0`, so it can be omitted. - -# FFMPEG -- ~~Ensure extraction does not lose audio or video streams.~~ Fixed via `-map 0` in extract function. -- ~~PREVIEW. Figure out how to play the video segment in the preview panel.~~ -- ~~Currently only supports AV1 mkv video.~~ Now supports whatever the locally installed `ffplay` can handle. -- Figure out how to print video info to info tab. -- Figure out how to overlay keyboard interface info onto video. -- Diagnose 'TRANSCODED.mp4' appears to have only one keyframe. -- Test seek performance with `-ss` pre-`-i` vs. post `-i`. [ffmpeg - seeking](https://trac.ffmpeg.org/wiki/Seeking). - -# Design -- Job queue. -- Run from file explorer context menu. (Right click file, open with: Clip) -- Create and populate a video info tab. Codecs, duration, resolution and framerate, bitrate, etc. -- Handle case where video file has bad keyframes (e.g. only keyframe at start.) -- Implement logging. -- ~~Handle file overwrite with prompt.~~ - -# Long-Term -- Implement testing; unit, perf. -- Implement build pipeline. -- Re-implement the range slider to more precisely target our use case. - - Start adheres to steps, end ignores steps. - - Implement use of the `.bind()` method from [Tkinter Scale](https://tkdocs.com/pyref/scale.html) to trigger callback only when slider is released (reduce computational load). [StackOverflow](https://stackoverflow.com/questions/3966303/tkinter-slider-how-to-trigger-the-event-only-when-the-iteraction-is-complete). -- Re-implement the preview player without ffmpeg, or integrate ffmpeg window into preview pane. - -# Resources -- [Tkinter Tabs](https://www.geeksforgeeks.org/creating-tabbed-widget-with-python-tkinter/)