Changed GREEN SCREEN FIX and LOOP DEBUG logging from ERROR to DEBUG level

parent 91f5dece
......@@ -377,7 +377,7 @@ class OverlayWebView(QWebEngineView):
# CRITICAL FIX: Force visibility recovery after template load
if was_visible and not self.isVisible():
logger.error(f"GREEN SCREEN FIX: Recovering overlay visibility after template load")
logger.debug(f"GREEN SCREEN FIX: Recovering overlay visibility after template load")
self.show()
self.raise_()
......@@ -401,18 +401,18 @@ class OverlayWebView(QWebEngineView):
"""Ensure overlay maintains proper visibility after template load"""
try:
if should_be_visible and not self.isVisible():
logger.error(f"GREEN SCREEN FIX: Overlay lost visibility after template load, forcing recovery")
logger.debug(f"GREEN SCREEN FIX: Overlay lost visibility after template load, forcing recovery")
self.show()
self.raise_()
logger.error(f"GREEN SCREEN FIX: Overlay visibility recovered")
logger.debug(f"GREEN SCREEN FIX: Overlay visibility recovered")
# Check parent overlay window visibility as well
parent = self.parent()
if parent and should_be_visible and not parent.isVisible():
logger.error(f"GREEN SCREEN FIX: Parent overlay window lost visibility, forcing recovery")
logger.debug(f"GREEN SCREEN FIX: Parent overlay window lost visibility, forcing recovery")
parent.show()
parent.raise_()
logger.error(f"GREEN SCREEN FIX: Parent overlay window visibility recovered")
logger.debug(f"GREEN SCREEN FIX: Parent overlay window visibility recovered")
# CRITICAL FIX: Protect video rendering context during template operations
self._protect_video_context_during_template_load()
......@@ -426,13 +426,13 @@ class OverlayWebView(QWebEngineView):
if hasattr(self, 'parent') and self.parent():
parent_window = self.parent()
if hasattr(parent_window, 'media_player') and parent_window.media_player:
logger.error(f"GREEN SCREEN FIX: Protecting video context during template load")
logger.debug(f"GREEN SCREEN FIX: Protecting video context during template load")
media_player = parent_window.media_player
# Store current video output
current_output = media_player.videoOutput()
if current_output:
logger.error(f"GREEN SCREEN FIX: Video output preserved during template load")
logger.debug(f"GREEN SCREEN FIX: Video output preserved during template load")
# Force repaint of video widget
if hasattr(parent_window, 'video_widget') and parent_window.video_widget:
......@@ -440,9 +440,9 @@ class OverlayWebView(QWebEngineView):
if video_widget:
video_widget.repaint()
video_widget.update()
logger.error(f"GREEN SCREEN FIX: Video widget repainted during template load")
logger.debug(f"GREEN SCREEN FIX: Video widget repainted during template load")
except Exception as e:
logger.error(f"GREEN SCREEN FIX: Failed to protect video context: {e}")
logger.debug(f"GREEN SCREEN FIX: Failed to protect video context: {e}")
def reload_current_template(self):
"""Reload the current template"""
......@@ -1306,7 +1306,7 @@ class PlayerWindow(QMainWindow):
logger.info(f"Media player source set to: {url.toString()}")
# CRITICAL FIX: Protect video rendering context during template operations
logger.error(f"GREEN SCREEN FIX: Protecting video rendering context during template load")
logger.debug(f"GREEN SCREEN FIX: Protecting video rendering context during template load")
# Store video widget state before template operations
video_widget = None
......@@ -1314,25 +1314,25 @@ class PlayerWindow(QMainWindow):
video_widget = self.video_widget.get_video_widget()
if video_widget:
logger.error(f"GREEN SCREEN FIX: Video widget state before template load - visible: {video_widget.isVisible()}")
logger.debug(f"GREEN SCREEN FIX: Video widget state before template load - visible: {video_widget.isVisible()}")
# Load specified template or reload current template when playing a video
if hasattr(self, 'window_overlay') and isinstance(self.window_overlay, OverlayWebView):
if template_name:
logger.error(f"GREEN SCREEN FIX: Loading template while protecting video context: {template_name}")
logger.debug(f"GREEN SCREEN FIX: Loading template while protecting video context: {template_name}")
self.window_overlay.load_template(template_name)
logger.info(f"Loaded template '{template_name}' for video playback")
else:
logger.error(f"GREEN SCREEN FIX: Reloading template while protecting video context")
logger.debug(f"GREEN SCREEN FIX: Reloading template while protecting video context")
self.window_overlay.reload_current_template()
logger.info("Reloaded current overlay template for video playback")
# CRITICAL FIX: Force video widget refresh after template operations
if video_widget:
logger.error(f"GREEN SCREEN FIX: Forcing video widget refresh after template load")
logger.debug(f"GREEN SCREEN FIX: Forcing video widget refresh after template load")
video_widget.repaint()
video_widget.update()
logger.error(f"GREEN SCREEN FIX: Video widget state after template load - visible: {video_widget.isVisible()}")
logger.debug(f"GREEN SCREEN FIX: Video widget state after template load - visible: {video_widget.isVisible()}")
# Update overlay with video info using safe method
overlay_data = template_data or {}
......@@ -1472,7 +1472,7 @@ class PlayerWindow(QMainWindow):
def on_media_status_changed(self, status):
"""Handle media status changes and loop control"""
logger.error(f"LOOP DEBUG: Media status changed to: {status} ({status.name if hasattr(status, 'name') else 'unknown'})")
logger.debug(f"LOOP DEBUG: Media status changed to: {status} ({status.name if hasattr(status, 'name') else 'unknown'})")
if status == QMediaPlayer.MediaStatus.LoadedMedia:
# Media loaded successfully - use safe update
......@@ -1484,48 +1484,48 @@ class PlayerWindow(QMainWindow):
elif status == QMediaPlayer.MediaStatus.EndOfMedia:
# Handle end of media for loop functionality
logger.error(f"LOOP DEBUG: END OF MEDIA DETECTED!")
logger.error(f"LOOP DEBUG: Loop enabled: {self.loop_enabled}")
logger.error(f"LOOP DEBUG: Infinite loop: {self.infinite_loop}")
logger.error(f"LOOP DEBUG: Current iteration: {self.current_loop_iteration}")
logger.error(f"LOOP DEBUG: Loop count: {self.loop_count}")
logger.debug(f"LOOP DEBUG: END OF MEDIA DETECTED!")
logger.debug(f"LOOP DEBUG: Loop enabled: {self.loop_enabled}")
logger.debug(f"LOOP DEBUG: Infinite loop: {self.infinite_loop}")
logger.debug(f"LOOP DEBUG: Current iteration: {self.current_loop_iteration}")
logger.debug(f"LOOP DEBUG: Loop count: {self.loop_count}")
if self.loop_enabled:
logger.error(f"LOOP DEBUG: Processing loop restart logic...")
logger.debug(f"LOOP DEBUG: Processing loop restart logic...")
if self.infinite_loop:
# Infinite loop - restart immediately
self.current_loop_iteration += 1
logger.error(f"LOOP DEBUG: INFINITE LOOP - Starting iteration {self.current_loop_iteration}")
logger.debug(f"LOOP DEBUG: INFINITE LOOP - Starting iteration {self.current_loop_iteration}")
self._restart_video()
elif self.loop_count > 0 and self.current_loop_iteration < self.loop_count:
# Finite loop - check if we should continue
self.current_loop_iteration += 1
logger.error(f"LOOP DEBUG: FINITE LOOP - Starting iteration {self.current_loop_iteration}/{self.loop_count}")
logger.debug(f"LOOP DEBUG: FINITE LOOP - Starting iteration {self.current_loop_iteration}/{self.loop_count}")
self._restart_video()
else:
logger.error(f"LOOP DEBUG: Loop completed after {self.current_loop_iteration} iterations - stopping playback")
logger.debug(f"LOOP DEBUG: Loop completed after {self.current_loop_iteration} iterations - stopping playback")
self.loop_enabled = False
else:
logger.error(f"LOOP DEBUG: No loop enabled - playback finished")
logger.debug(f"LOOP DEBUG: No loop enabled - playback finished")
def _restart_video(self):
"""Restart video playback for looping"""
try:
logger.error(f"LOOP DEBUG: _restart_video called")
logger.error(f"LOOP DEBUG: Current file path: {self.current_file_path}")
logger.error(f"LOOP DEBUG: Media player state: {self.media_player.playbackState()}")
logger.debug(f"LOOP DEBUG: _restart_video called")
logger.debug(f"LOOP DEBUG: Current file path: {self.current_file_path}")
logger.debug(f"LOOP DEBUG: Media player state: {self.media_player.playbackState()}")
if self.current_file_path:
logger.error(f"LOOP DEBUG: Restarting video for loop: {self.current_file_path}")
logger.debug(f"LOOP DEBUG: Restarting video for loop: {self.current_file_path}")
url = QUrl.fromLocalFile(self.current_file_path)
logger.error(f"LOOP DEBUG: Created QUrl: {url.toString()}")
logger.debug(f"LOOP DEBUG: Created QUrl: {url.toString()}")
self.media_player.setSource(url)
logger.error(f"LOOP DEBUG: Set media player source")
logger.debug(f"LOOP DEBUG: Set media player source")
self.media_player.play()
logger.error(f"LOOP DEBUG: Called media player play()")
logger.error(f"LOOP DEBUG: Media player state after play(): {self.media_player.playbackState()}")
logger.debug(f"LOOP DEBUG: Called media player play()")
logger.debug(f"LOOP DEBUG: Media player state after play(): {self.media_player.playbackState()}")
# Update overlay to show loop status
if hasattr(self, 'window_overlay'):
......@@ -1538,11 +1538,11 @@ class PlayerWindow(QMainWindow):
status_data = {'subtitle': f'Playing - {loop_info}'}
self._update_overlay_safe(overlay_view, status_data)
logger.error(f"LOOP DEBUG: Updated overlay with loop info: {loop_info}")
logger.debug(f"LOOP DEBUG: Updated overlay with loop info: {loop_info}")
else:
logger.error("LOOP DEBUG: No current file path available for restart")
except Exception as e:
logger.error(f"LOOP DEBUG: Failed to restart video for loop: {e}")
logger.debug(f"LOOP DEBUG: Failed to restart video for loop: {e}")
def update_overlay_periodically(self):
"""Periodic overlay updates with WebEngine safety checks"""
......@@ -1735,17 +1735,17 @@ class PlayerWindow(QMainWindow):
# CRITICAL FIX: Ensure WebEngine overlay visibility before update
if not overlay_view.isVisible():
logger.error(f"GREEN SCREEN FIX: WebEngine overlay not visible, forcing visibility recovery")
logger.debug(f"GREEN SCREEN FIX: WebEngine overlay not visible, forcing visibility recovery")
overlay_view.show()
overlay_view.raise_()
logger.error(f"GREEN SCREEN FIX: WebEngine overlay visibility forced during update")
logger.debug(f"GREEN SCREEN FIX: WebEngine overlay visibility forced during update")
# Also ensure parent overlay window is visible
if hasattr(self, 'overlay_window') and self.overlay_window and not self.overlay_window.isVisible():
logger.error(f"GREEN SCREEN FIX: Parent overlay window not visible, forcing visibility")
logger.debug(f"GREEN SCREEN FIX: Parent overlay window not visible, forcing visibility")
self.overlay_window.show()
self.overlay_window.raise_()
logger.error(f"GREEN SCREEN FIX: Parent overlay window visibility forced")
logger.debug(f"GREEN SCREEN FIX: Parent overlay window visibility forced")
if self._is_webengine_ready(overlay_view):
logger.debug(f"GREEN SCREEN DEBUG: WebEngine ready, updating overlay")
......@@ -1770,7 +1770,7 @@ class PlayerWindow(QMainWindow):
def _protect_video_context_after_template_load(self):
"""Protect video rendering context after template loading operations"""
try:
logger.error(f"GREEN SCREEN FIX: Protecting video context after template load")
logger.debug(f"GREEN SCREEN FIX: Protecting video context after template load")
# Force repaint of video widget
if hasattr(self, 'video_widget') and hasattr(self.video_widget, 'get_video_widget'):
......@@ -1778,19 +1778,19 @@ class PlayerWindow(QMainWindow):
if video_widget:
video_widget.repaint()
video_widget.update()
logger.error(f"GREEN SCREEN FIX: Video widget repainted after template load")
logger.debug(f"GREEN SCREEN FIX: Video widget repainted after template load")
# Force media player to refresh video output
if hasattr(self, 'media_player'):
logger.error(f"GREEN SCREEN FIX: Refreshing media player video output after template load")
logger.debug(f"GREEN SCREEN FIX: Refreshing media player video output after template load")
current_output = self.media_player.videoOutput()
if current_output:
# Force video output refresh by briefly setting to None and back
self.media_player.setVideoOutput(None)
self.media_player.setVideoOutput(current_output)
logger.error(f"GREEN SCREEN FIX: Media player video output refreshed after template load")
logger.debug(f"GREEN SCREEN FIX: Media player video output refreshed after template load")
except Exception as e:
logger.error(f"GREEN SCREEN FIX: Failed to protect video context after template load: {e}")
logger.debug(f"GREEN SCREEN FIX: Failed to protect video context after template load: {e}")
def _send_safe_overlay_update(self, overlay_view, data):
"""Send overlay update with additional safety checks"""
......@@ -2404,12 +2404,12 @@ class QtVideoPlayer(QObject):
if field in message.data:
loop_data[field] = message.data[field]
logger.error(f"LOOP DEBUG: VIDEO_PLAY message received from {message.sender}")
logger.error(f"LOOP DEBUG: File path: {file_path}")
logger.error(f"LOOP DEBUG: Template name: {template_name}")
logger.error(f"LOOP DEBUG: Overlay data: {template_data}")
logger.error(f"LOOP DEBUG: Loop control data extracted: {loop_data}")
logger.error(f"LOOP DEBUG: Raw message data: {message.data}")
logger.debug(f"LOOP DEBUG: VIDEO_PLAY message received from {message.sender}")
logger.debug(f"LOOP DEBUG: File path: {file_path}")
logger.debug(f"LOOP DEBUG: Template name: {template_name}")
logger.debug(f"LOOP DEBUG: Overlay data: {template_data}")
logger.debug(f"LOOP DEBUG: Loop control data extracted: {loop_data}")
logger.debug(f"LOOP DEBUG: Raw message data: {message.data}")
if not file_path:
logger.error("No file path provided for video play")
......@@ -2530,7 +2530,7 @@ class QtVideoPlayer(QObject):
video_widget = None
if hasattr(self.window, 'video_widget') and hasattr(self.window.video_widget, 'get_video_widget'):
video_widget = self.window.video_widget.get_video_widget()
logger.error(f"GREEN SCREEN FIX: Video widget state before template change - visible: {video_widget.isVisible() if video_widget else 'N/A'}")
logger.debug(f"GREEN SCREEN FIX: Video widget state before template change - visible: {video_widget.isVisible() if video_widget else 'N/A'}")
# Load specific template if requested and using WebEngine overlay
if load_specific_template and isinstance(overlay_view, OverlayWebView):
......@@ -2547,21 +2547,21 @@ class QtVideoPlayer(QObject):
# CRITICAL FIX: Force video widget refresh after template change
if video_widget:
logger.error(f"GREEN SCREEN FIX: Forcing video widget refresh after template change")
logger.debug(f"GREEN SCREEN FIX: Forcing video widget refresh after template change")
video_widget.repaint()
video_widget.update()
# Force media player to refresh video output
if hasattr(self.window, 'media_player'):
logger.error(f"GREEN SCREEN FIX: Refreshing media player video output")
logger.debug(f"GREEN SCREEN FIX: Refreshing media player video output")
current_output = self.window.media_player.videoOutput()
if current_output:
# Force video output refresh by briefly setting to None and back
self.window.media_player.setVideoOutput(None)
self.window.media_player.setVideoOutput(current_output)
logger.error(f"GREEN SCREEN FIX: Media player video output refreshed")
logger.debug(f"GREEN SCREEN FIX: Media player video output refreshed")
logger.error(f"GREEN SCREEN FIX: Video widget state after template change - visible: {video_widget.isVisible()}")
logger.debug(f"GREEN SCREEN FIX: Video widget state after template change - visible: {video_widget.isVisible()}")
# Update overlay data if provided (excluding template control flags)
if template_data:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment