49 Commits

Author SHA1 Message Date
bae760837c Refactor display logic in MediaGrader to maintain aspect ratio and improve frame rendering
This commit enhances the display functionality by calculating the available height for video timelines, resizing frames while preserving their aspect ratio, and centering them on a canvas. The window resizing logic has been updated to ensure the entire monitor space is utilized effectively, improving the visual presentation of media files.
2025-09-26 10:59:15 +02:00
4a1649a568 Implement Cv2BufferedCap for improved video frame handling
This commit introduces the Cv2BufferedCap class, which optimizes video frame loading, seeking, and caching. The MediaGrader class has been updated to utilize this new class, enhancing frame accuracy and playback performance. Additionally, configuration constants have been adjusted for better playback speed control, and redundant backend handling has been removed to streamline video loading. Overall, these changes improve the efficiency and reliability of video playback in the application.
2025-09-19 18:23:15 +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
ed0e8b3d6d refactor(main.py): remove unused variables and improve mouse_callback method signature 2025-09-07 23:23:28 +02:00
30cdd9d0e5 refactor(main.py): update memory estimation for video preloading based on frame dimensions 2025-09-04 21:52:48 +02:00
fa89b41355 feat(main.py): add safety checks for large videos to prevent excessive memory usage 2025-09-04 21:51:25 +02:00
24c8021bd3 refactor(main.py): update video preloading comment to reflect new approach and improve readability 2025-09-04 21:47:56 +02:00
25811834ea refactor(main.py): preload video frames using threaded I/O to improve performance and simplify code 2025-09-04 21:45:05 +02:00
cf0d53223e Fucking clean shit up 2025-09-04 21:43:42 +02:00
b55d3ddcd9 refactor(main.py): update segment setup and preloading to improve video handling and performance 2025-09-04 21:38:57 +02:00
199af9ee0d refactor(main.py): update segment setup to use cached frames for performance improvement 2025-09-04 21:37:15 +02:00
f50118b699 refactor(main.py): implement safer frame positioning and handling for video segments to improve robustness 2025-09-04 21:32:34 +02:00
1e0c42c36b refactor(main.py): optimize multi-segment mode setup and parallelize segment creation for better performance 2025-09-04 21:30:37 +02:00
887f735a27 feat(main.py): optimize video capture initialization and add backend fallback for improved performance and reliability 2025-09-04 21:22:40 +02:00
31240dabf9 Remove a bunch of cringe from grader 2025-09-04 15:32:07 +02:00
c6cc249ab2 feat(main.py): enhance video display to maximize screen usage and center window 2025-08-21 19:05:48 +02:00
f5b5800802 feat(main.py): implement aspect ratio preservation for video display 2025-08-21 19:01:59 +02:00
d2c9fb6fb0 feat(main.py): implement parallel segment processing and optimize frame loading 2025-08-20 12:58:43 +02:00
ce0232846e feat(main.py): implement frame caching to improve playback performance 2025-08-20 12:34:56 +02:00
e0dd1a8db8 feat(main.py): add timeline visibility toggle functionality 2025-08-20 12:19:57 +02:00
dca565e6e9 refactor(main.py): use class constants for segment_count and segment_overlap_percent 2025-08-20 12:18:51 +02:00
ab54fb2da7 feat(main.py): add functionality to reposition segments in multi-segment mode 2025-08-20 12:15:09 +02:00
03d4d26335 feat(main.py): refactor video sampling and navigation logic to improve usability and consistency 2025-08-20 11:48:34 +02:00
9a8424feb3 feat(main.py): introduce multi-segment video mode for enhanced analysis 2025-08-20 11:44:00 +02:00
a951ad21a3 feat(main.py): add seek modifiers for A/D keys with Shift and Ctrl 2025-08-20 10:57:53 +02:00
74c5b48a83 fix(main.py): include keys '1' through '5' in the condition to prevent unintended navigation 2025-08-19 09:26:19 +02:00
6b0cc279d7 fix(main.py): allow 'u' key to skip frames in media grader 2025-08-19 08:56:02 +02:00
0826b8a8b7 fix(main.py): add print statements to track navigation changes for debugging 2025-08-19 08:42:30 +02:00
7464efbd95 feat(main.py): add undo jump functionality with H key 2025-08-19 08:38:27 +02:00
21408779ab feat(main.py): implement bisection navigation for videos 2025-08-19 08:34:56 +02:00
20b5739dbe feat(main.py): implement video sampling and watch tracking features 2025-08-19 08:30:00 +02:00
554b4ffc26 fix(main.py): restart video on reaching end instead of breaking loop 2025-08-19 08:17:28 +02:00
c08719be70 fix(main.py): release video capture before moving files to prevent errors 2025-08-19 08:13:55 +02:00
47b190bbf0 fix(main.py): conditionally display info overlay and timeline for video files only 2025-08-19 08:11:19 +02:00
adc468bbc2 refactor(main.py): improve error handling and logging for file operations 2025-08-19 08:10:09 +02:00
0b08869483 feat(main.py): implement undo functionality for grading actions 2025-08-19 08:05:38 +02:00
8ba99a2053 refactor(main.py): move grade directory creation to the point of use 2025-08-18 17:21:04 +02:00
5fc6456db9 feat(main.py): add timeline UI for video seeking and introduce mouse event handling 2025-08-18 16:58:00 +02:00
2ba1b36a1b Update 2025-08-18 16:52:11 +02:00
2840ed14bc refactor(main.py): remove unused constants and simplify video seeking logic 2025-08-18 16:50:31 +02:00
85768f6323 refactor(main.py): simplify seeking logic and improve key repeat handling 2025-08-18 16:48:13 +02:00
e43865a7c8 feat(main.py): implement I-frame seeking for improved performance and add display interval for seeking 2025-08-18 16:41:54 +02:00
3900d1cb11 refactor(main.py): introduce frame caching and separate frame loading/advancing logic 2025-08-18 16:36:18 +02:00
e2758b5390 feat(main.py): enhance seeking and playback controls for improved user experience 2025-08-18 16:33:50 +02:00
0a048d3078 feat(main.py): refactor media grading logic with constants and improved controls 2025-08-18 16:25:56 +02:00
2b9988b592 feat(main.py): implement advanced seeking controls and auto-window resizing 2025-08-18 16:17:35 +02:00
1b2fa03ab6 Hallucinate everything 2025-08-18 16:10:02 +02:00
8adaeaa656 feat(grader): add python grader with pyproject.toml and main script 2025-08-18 16:01:02 +02:00