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

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