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
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
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
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
2961fe088d
refactor(main.py): update shift+n functionality to handle both image and video editing consistently
2025-09-08 00:26:53 +02:00
0fb591d0b3
feat(main.py): add overwrite and new file options for enter and shift+enter keys in video editor
2025-09-08 00:24:18 +02:00
709e637e88
feat(main.py): increase seek multiplier increment and add debug prints for state management
2025-09-08 00:21:30 +02:00
252cda9ad3
refactor(main.py): add debug prints for state file handling and seeking logic improvements
2025-09-08 00:06:20 +02:00
d29d45d4fd
feat(main.py): enhance video editor with rendering state checks and logging
2025-09-08 00:00:26 +02:00
b7e4fac9e7
feat(main.py): add threaded video rendering with progress updates and cancellation support
2025-09-07 23:56:15 +02:00
a815679a38
refactor(main.py): initialize last_display_update to prevent immediate auto-repeat in VideoEditor class
2025-09-07 23:52:36 +02:00