Commit Graph

152 Commits

Author SHA1 Message Date
2979dca40a Refine VideoEditor point transformation and crop handling with enhanced logging
This commit improves the point transformation methods in the VideoEditor class by incorporating interpolated positions for cropping and refining the handling of coordinates during transformations. It adds detailed logging to track the adjustments made to crop centers and the verification of transformed points, ensuring better debugging and visibility into the state of the video editing process. Additionally, it enhances bounds checking for transformed points, maintaining consistency with the original frame dimensions.
2025-09-16 20:38:16 +02:00
cb097c55f1 Enhance VideoEditor with improved point transformation, bounds checking, and debugging features
This commit refines the point transformation methods in the VideoEditor class, ensuring coordinates are validated against frame dimensions and crop areas. It adds detailed logging for point transformations and mouse interactions, improving visibility into the state of tracking points. Additionally, it introduces debug features for visualizing crop rectangles and point indices, enhancing the debugging experience during video editing.
2025-09-16 20:32:33 +02:00
70364d0458 Update .gitignore and enhance VideoEditor with improved crop handling and logging
This commit adds a new entry to the .gitignore file to exclude log files. In the VideoEditor class, it refines the crop position adjustment logic to calculate the center of the crop rectangle before applying offsets, ensuring more accurate positioning. Additionally, it enhances logging throughout the point transformation and tracking processes, providing better insights into the state of tracking points and their visibility relative to the crop area.
2025-09-16 20:24:20 +02:00
c88c2cc354 Enhance VideoEditor and MotionTracker with improved logging and crop handling
This commit adds detailed logging to the VideoEditor and MotionTracker classes, providing insights into the transformations and adjustments made during point processing and cropping. It refines the crop position adjustment logic to ensure offsets are only applied when necessary and enhances the visibility of tracking points based on their position relative to the crop area. Additionally, it improves the handling of motion tracking toggling, ensuring a default crop rect is created when needed, thus enhancing the overall user experience during video editing.
2025-09-16 20:17:54 +02:00
9085a82bdd Enhance VideoEditor with improved point transformation and tracking logic
This commit refines the point transformation process in the VideoEditor class by ensuring coordinates are converted to floats and validating their positions relative to the crop area. It also updates the right-click event handling to accurately convert display coordinates to original frame coordinates, allowing for better interaction with tracking points. Additionally, the MotionTracker class is modified to set a default zoom center based on the crop rect if none is provided, improving the tracking functionality.
2025-09-16 20:04:34 +02:00
85891a5f99 Add motion tracking functionality to VideoEditor
This commit introduces a new MotionTracker class for handling motion tracking during video editing. The VideoEditor class has been updated to integrate motion tracking features, including adding and removing tracking points, interpolating positions, and applying tracking offsets during cropping. The user can toggle motion tracking and clear tracking points via keyboard shortcuts. Additionally, the state management has been enhanced to save and load motion tracking data, improving the overall editing experience.
2025-09-16 19:56:58 +02:00
66b23834fd Add spec file 2025-09-16 19:46:16 +02:00
5baa2572ea Add Cv2BufferedCap class for efficient video frame handling in VideoEditor
This commit introduces the Cv2BufferedCap class, which provides a buffered wrapper around cv2.VideoCapture. It implements frame caching with LRU eviction to optimize frame retrieval and reduce latency during video playback. The VideoEditor class has been updated to utilize this new class, enhancing performance and simplifying frame management. Unused frame cache methods have been removed to streamline the codebase.
2025-09-16 13:35:55 +02:00
c7c092d3f3 Implement frame caching in VideoEditor: add methods for managing frame cache with LRU eviction, improving playback performance by reducing frame retrieval time. Clear cache when switching videos to optimize memory usage. 2025-09-16 13:29:09 +02:00
f0d540be27 Add refresh_progress_data method in ProjectView and update VideoEditor to call it on state save. This ensures progress data is up-to-date when the editor state changes, enhancing user experience and project management. 2025-09-16 10:06:44 +02:00
c8dfcca954 Refactor thumbnail caching in ProjectView: store original thumbnails by video path instead of size, allowing for on-demand resizing. This change optimizes thumbnail generation and improves performance by reducing redundant processing. 2025-09-16 10:05:09 +02:00
b9cf9f0125 Update keyboard shortcuts in ProjectView: correct functionality for adjusting items per row, swapping the actions for 'Q' and 'Y' to improve user navigation and experience. Revise instructions to reflect these changes. 2025-09-16 10:04:00 +02:00
b8899004f3 Refactor ProjectView to improve thumbnail layout and item display: set default items per row to 2, implement dynamic thumbnail size calculation, and update keyboard shortcuts for adjusting items per row. Enhance thumbnail caching mechanism to optimize performance and maintain aspect ratio during resizing. 2025-09-16 10:02:53 +02:00
8c4663c4ef Remove unnecessary mouse interaction handling in VideoEditor when in project view mode, streamlining the mouse callback functionality. 2025-09-16 09:56:50 +02:00
9dd0c837b4 Update keyboard shortcuts in ProjectView: add 'q' for quitting and refine instructions for user navigation. Enhance VideoEditor to handle quit action, improving overall user experience. 2025-09-16 09:54:16 +02:00
c56b012246 Enhance ProjectView responsiveness: dynamically adjust canvas size and layout based on actual window dimensions, improving thumbnail placement and visibility. Update calculations for text positioning and item display to ensure consistent user experience across varying window sizes. 2025-09-16 09:48:11 +02:00
46f4441357 Improve thumbnail handling in ProjectView: add bounds checking for thumbnail placement on canvas and adjust resizing logic to prevent exceeding canvas dimensions. Update thumbnail size constraints for resizing operations to ensure minimum size limits. 2025-09-16 09:46:14 +02:00
d60828d787 Refactor thumbnail layout and navigation in ProjectView: dynamically calculate items per row based on window width and thumbnail size, and add keyboard shortcuts for resizing thumbnails. Update instructions to reflect new functionality. 2025-09-16 09:43:01 +02:00
cfd919a377 Enhance VideoEditor functionality: implement loading of saved state when opening videos, ensuring continuity in user experience across sessions. 2025-09-16 09:37:30 +02:00
d235fa693e Update filename display logic and improve video editor behavior: increase filename length limit and adjust text rendering properties. Maintain project view when switching to video editor, enhancing user interface fluidity. 2025-09-16 09:36:49 +02:00
97e4a140eb Add project view functionality to VideoEditor: implement video browsing with thumbnails, progress tracking, and keyboard navigation. Toggle between project and editor modes, enhancing user experience. 2025-09-16 09:35:32 +02:00
ae2b156b87 Refactor VideoEditor initialization: load first video and state after attribute setup, validate cut markers, and streamline default value assignments 2025-09-15 18:38:38 +02:00
01aaa36eb0 Add caching for video transformations to improve performance during auto-repeat seeking
???
2025-09-15 18:34:04 +02:00
83b40af001 Fix rendering....... 2025-09-08 20:47:55 +02:00
1a086f9362 Decringe 2025-09-08 20:43:07 +02:00
8f77960183 Fix rendering again........ 2025-09-08 20:39:26 +02:00
d6af05b6db Fix rendering AGAIN 2025-09-08 20:36:15 +02:00
76245b3adc Fix loading variables quote on quote....... 2025-09-08 20:26:15 +02:00
6559310adc Fix rendering again 2025-09-08 20:24:59 +02:00
01ea25168a refactor(main.py): simplify memory usage calculation and streamline video safety checks 2025-09-08 18:57:50 +02:00
fc0aa1317b Fix up segmented mode to loop their video segment 2025-09-08 17:54:56 +02:00
a6886a8ab8 Save when navigate 2025-09-08 17:36:00 +02:00
4d4cba9876 Implement fullscreen 2025-09-08 17:34:50 +02:00
0847ea1abd Remove some garbage code 2025-09-08 17:14:09 +02:00
37e9e99f64 Fix the rendering errors 2025-09-08 17:03:01 +02:00
15382b8fe7 Some fucking bullshit 2025-09-08 17:02:23 +02:00
9763597af8 feat(main.py): track display updates and optimize video rendering process 2025-09-08 16:27:55 +02:00
4d60526952 refactor(main.py): optimize video processing by seeking once and reading sequentially to improve performance 2025-09-08 16:23:37 +02:00
87ead9189f fix(main.py): replace 'n' with 'b' for save and render commands to avoid confusion 2025-09-08 10:23:42 +02:00
1e1a886766 fix(main.py): correct key binding and add debug check for render video 2025-09-08 09:31:41 +02:00
34179e5922 refactor(main.py): simplify render video logic and improve filename handling 2025-09-08 08:40:38 +02:00
f9272e76eb feat(cleaner): add directory for video name cleaning with CLI tool and registry entry 2025-09-08 08:40:13 +02:00
1a05963c31 fix(main.py): reset zoom factor to 1.0 and save state when crop is cleared 2025-09-08 00:49:21 +02:00
3a8f8d26d3 feat(main.py): add file overwrite handling for video editor 2025-09-08 00:42:00 +02:00
56d6e04b48 refactor(main.py): simplify video rendering process by reusing existing method and reducing redundant code 2025-09-08 00:40:00 +02:00
6efbfa0c11 refactor(main.py): update video rendering to handle asynchronous rendering and improve debug logging 2025-09-08 00:37:04 +02:00
d1b26fe8b4 refactor(main.py): add debug prints and validate cut markers against video length 2025-09-08 00:36:37 +02:00
1da8efc528 feat(main.py): add synchronous video rendering method for overwrite operations 2025-09-08 00:32:48 +02:00
0dbf82f76b refactor(main.py): add state saving on crop and marker changes to ensure consistent state management 2025-09-08 00:30:21 +02:00
4651ba51f1 refactor(main.py): simplify filename generation logic and update user instructions 2025-09-08 00:28:32 +02:00