fix(main.py): conditionally display info overlay and timeline for video files only
This commit is contained in:
33
main.py
33
main.py
@@ -167,20 +167,21 @@ class MediaGrader:
|
|||||||
|
|
||||||
# Add info overlay
|
# Add info overlay
|
||||||
current_file = self.media_files[self.current_index]
|
current_file = self.media_files[self.current_index]
|
||||||
info_text = f"Speed: {self.playback_speed:.1f}x | Frame: {self.current_frame}/{self.total_frames} | File: {self.current_index + 1}/{len(self.media_files)} | {'Playing' if self.is_playing else 'PAUSED'}"
|
if self.is_video(self.media_files[self.current_index]):
|
||||||
|
info_text = f"Speed: {self.playback_speed:.1f}x | Frame: {self.current_frame}/{self.total_frames} | File: {self.current_index + 1}/{len(self.media_files)} | {'Playing' if self.is_playing else 'PAUSED'}"
|
||||||
|
|
||||||
cv2.putText(
|
cv2.putText(
|
||||||
frame,
|
frame,
|
||||||
info_text,
|
info_text,
|
||||||
(10, 30),
|
(10, 30),
|
||||||
cv2.FONT_HERSHEY_SIMPLEX,
|
cv2.FONT_HERSHEY_SIMPLEX,
|
||||||
0.7,
|
0.7,
|
||||||
(255, 255, 255),
|
(255, 255, 255),
|
||||||
2,
|
2,
|
||||||
)
|
)
|
||||||
cv2.putText(
|
cv2.putText(
|
||||||
frame, info_text, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 0), 1
|
frame, info_text, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 0), 1
|
||||||
)
|
)
|
||||||
|
|
||||||
# Draw timeline
|
# Draw timeline
|
||||||
self.draw_timeline(frame)
|
self.draw_timeline(frame)
|
||||||
@@ -189,6 +190,10 @@ class MediaGrader:
|
|||||||
|
|
||||||
def draw_timeline(self, frame):
|
def draw_timeline(self, frame):
|
||||||
"""Draw timeline at the bottom of the frame"""
|
"""Draw timeline at the bottom of the frame"""
|
||||||
|
# Only draw timeline for video files
|
||||||
|
if not self.is_video(self.media_files[self.current_index]):
|
||||||
|
return
|
||||||
|
|
||||||
height, width = frame.shape[:2]
|
height, width = frame.shape[:2]
|
||||||
self.window_height = height
|
self.window_height = height
|
||||||
self.window_width = width
|
self.window_width = width
|
||||||
@@ -210,7 +215,7 @@ class MediaGrader:
|
|||||||
cv2.rectangle(frame, (bar_x_start, bar_y), (bar_x_end, bar_y + self.TIMELINE_BAR_HEIGHT), self.TIMELINE_COLOR_BORDER, 1)
|
cv2.rectangle(frame, (bar_x_start, bar_y), (bar_x_end, bar_y + self.TIMELINE_BAR_HEIGHT), self.TIMELINE_COLOR_BORDER, 1)
|
||||||
|
|
||||||
# Draw progress for videos
|
# Draw progress for videos
|
||||||
if self.is_video(self.media_files[self.current_index]) and self.total_frames > 0:
|
if self.total_frames > 0:
|
||||||
progress = self.current_frame / max(1, self.total_frames - 1)
|
progress = self.current_frame / max(1, self.total_frames - 1)
|
||||||
progress_width = int(bar_width * progress)
|
progress_width = int(bar_width * progress)
|
||||||
if progress_width > 0:
|
if progress_width > 0:
|
||||||
|
Reference in New Issue
Block a user