further to check : showing of the meniu on player ui and player ui to run in fullscreen

This commit is contained in:
2025-08-24 00:07:53 +03:00
parent da91677f5b
commit 8f64de240b
5 changed files with 223 additions and 5 deletions

View File

@@ -5265,3 +5265,196 @@
[INFO] [SignageApp] python_functions: Starting load_config function. [INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully. [INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Application exit requested [INFO] [SignageApp] Application exit requested
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] python_functions: Configuration loaded: server=digi-signage.moto-adv.com, host=tv-terasa, quick=8887779, port=8880
[INFO] [SignageApp] python_functions: Starting load_local_playlist function.
[INFO] [SignageApp] [MAIN] About to show splash screen: /home/pi/Desktop/tkinter_player/tkinter_app/resources/intro1.mp4
[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': 'Cindrel_1.jpg', 'url': 'static/resurse/Cindrel_1.jpg', 'duration': 10}, {'file_name': 'trans_cindrel_4.jpg', 'url': 'static/resurse/trans_cindrel_4.jpg', 'duration': 10}], 'version': 29}
[INFO] [SignageApp] [SplashScreen] Running splash as standalone VLC subprocess: /home/pi/Desktop/tkinter_player/tkinter_app/resources/intro1.mp4
[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully.
[INFO] [SignageApp] [SplashScreen] Launching: cvlc --fullscreen --no-osd --no-video-title-show --play-and-exit --quiet /home/pi/Desktop/tkinter_player/tkinter_app/resources/intro1.mp4
[INFO] [SignageApp] Found fallback playlist with 2 items
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Initializing with settings: server=digi-signage.moto-adv.com, host=tv-terasa, port=8880
[INFO] [SignageApp] Attempting to connect to server...
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com/api/playlists with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
[INFO] [SignageApp] Server response: {'hashed_quickconnect': '$2b$12$UQzlEHNWudAB4P08Le3YJeWHrZHJkWL44kRQpZ53kt.fDLTcrPzGm', 'playlist': [{'duration': 10, 'file_name': 'Cindrel_1.jpg', 'url': 'http://digi-signage.moto-adv.com/media/Cindrel_1.jpg'}, {'duration': 10, 'file_name': 'trans_cindrel_4.jpg', 'url': 'http://digi-signage.moto-adv.com/media/trans_cindrel_4.jpg'}], 'playlist_version': 29}
[INFO] [SignageApp] Fetched updated playlist from server.
[INFO] [SignageApp] python_functions: Updated playlist version in app_config.txt to 29.
[INFO] [SignageApp] Server playlist found with 2 items, version 29
[INFO] [SignageApp] python_functions: Starting media file download...
[INFO] [SignageApp] python_functions: File Cindrel_1.jpg already exists. Skipping download.
[INFO] [SignageApp] python_functions: File trans_cindrel_4.jpg already exists. Skipping download.
[INFO] [SignageApp] python_functions: Starting save_local_playlist function.
[INFO] [SignageApp] python_functions: Updated local playlist with server data.
[INFO] [SignageApp] python_functions: Finished save_local_playlist function.
[INFO] [SignageApp] python_functions: Finished media file download and updated local playlist.
[INFO] [SignageApp] python_functions: Updated playlist version in app_config.txt to 29.
[INFO] [SignageApp] python_functions: Starting load_local_playlist function.
[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': 'Cindrel_1.jpg', 'url': 'static/resurse/Cindrel_1.jpg', 'duration': 10}, {'file_name': 'trans_cindrel_4.jpg', 'url': 'static/resurse/trans_cindrel_4.jpg', 'duration': 10}], 'version': 29}
[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully.
[INFO] [SignageApp] Successfully loaded 2 items from server
[INFO] [SignageApp] [SplashScreen] VLC splash finished.
[INFO] [SignageApp] [MAIN] splash.show() called, entering mainloop...
[INFO] [SignageApp] [MAIN] Splash finished, waiting for playlist...
[INFO] [SignageApp] [MAIN] Playlist loaded: [{'file_name': 'Cindrel_1.jpg', 'url': 'static/resurse/Cindrel_1.jpg', 'duration': 10}, {'file_name': 'trans_cindrel_4.jpg', 'url': 'static/resurse/trans_cindrel_4.jpg', 'duration': 10}]
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] python_functions: Starting load_local_playlist function.
[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': 'Cindrel_1.jpg', 'url': 'static/resurse/Cindrel_1.jpg', 'duration': 10}, {'file_name': 'trans_cindrel_4.jpg', 'url': 'static/resurse/trans_cindrel_4.jpg', 'duration': 10}], 'version': 29}
[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully.
[INFO] [SignageApp] Found fallback playlist with 2 items
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Initializing with settings: server=digi-signage.moto-adv.com, host=tv-terasa, port=8880
[INFO] [SignageApp] Attempting to connect to server...
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com/api/playlists with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
[INFO] [SignageApp] Server response: {'hashed_quickconnect': '$2b$12$UQzlEHNWudAB4P08Le3YJeWHrZHJkWL44kRQpZ53kt.fDLTcrPzGm', 'playlist': [{'duration': 10, 'file_name': 'Cindrel_1.jpg', 'url': 'http://digi-signage.moto-adv.com/media/Cindrel_1.jpg'}, {'duration': 10, 'file_name': 'trans_cindrel_4.jpg', 'url': 'http://digi-signage.moto-adv.com/media/trans_cindrel_4.jpg'}], 'playlist_version': 29}
[INFO] [SignageApp] Fetched updated playlist from server.
[INFO] [SignageApp] python_functions: Updated playlist version in app_config.txt to 29.
[INFO] [SignageApp] Server playlist found with 2 items, version 29
[INFO] [SignageApp] python_functions: Starting media file download...
[INFO] [SignageApp] python_functions: File Cindrel_1.jpg already exists. Skipping download.
[INFO] [SignageApp] python_functions: File trans_cindrel_4.jpg already exists. Skipping download.
[INFO] [SignageApp] python_functions: Starting save_local_playlist function.
[INFO] [SignageApp] python_functions: Updated local playlist with server data.
[INFO] [SignageApp] python_functions: Finished save_local_playlist function.
[INFO] [SignageApp] python_functions: Finished media file download and updated local playlist.
[INFO] [SignageApp] python_functions: Updated playlist version in app_config.txt to 29.
[INFO] [SignageApp] python_functions: Starting load_local_playlist function.
[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': 'Cindrel_1.jpg', 'url': 'static/resurse/Cindrel_1.jpg', 'duration': 10}, {'file_name': 'trans_cindrel_4.jpg', 'url': 'static/resurse/trans_cindrel_4.jpg', 'duration': 10}], 'version': 29}
[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully.
[INFO] [SignageApp] Successfully loaded 2 items from server
[INFO] [SignageApp] Loaded playlist with 2 items
[INFO] [SignageApp] Starting Simple Tkinter Media Player
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Application exit requested
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] python_functions: Configuration loaded: server=digi-signage.moto-adv.com, host=tv-terasa, quick=8887779, port=8880
[INFO] [SignageApp] python_functions: Starting load_local_playlist function.
[INFO] [SignageApp] [MAIN] About to show splash screen: /home/pi/Desktop/tkinter_player/tkinter_app/resources/intro1.mp4
[INFO] [SignageApp] [SplashScreen] Running splash as standalone VLC subprocess: /home/pi/Desktop/tkinter_player/tkinter_app/resources/intro1.mp4
[INFO] [SignageApp] [SplashScreen] Launching: cvlc --fullscreen --no-osd --no-video-title-show --play-and-exit --quiet /home/pi/Desktop/tkinter_player/tkinter_app/resources/intro1.mp4
[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': 'Cindrel_1.jpg', 'url': 'static/resurse/Cindrel_1.jpg', 'duration': 10}, {'file_name': 'trans_cindrel_4.jpg', 'url': 'static/resurse/trans_cindrel_4.jpg', 'duration': 10}], 'version': 29}
[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully.
[INFO] [SignageApp] Found fallback playlist with 2 items
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Initializing with settings: server=digi-signage.moto-adv.com, host=tv-terasa, port=8880
[INFO] [SignageApp] Attempting to connect to server...
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com/api/playlists with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
[INFO] [SignageApp] Server response: {'hashed_quickconnect': '$2b$12$UQzlEHNWudAB4P08Le3YJeWHrZHJkWL44kRQpZ53kt.fDLTcrPzGm', 'playlist': [{'duration': 10, 'file_name': 'Cindrel_1.jpg', 'url': 'http://digi-signage.moto-adv.com/media/Cindrel_1.jpg'}, {'duration': 10, 'file_name': 'trans_cindrel_4.jpg', 'url': 'http://digi-signage.moto-adv.com/media/trans_cindrel_4.jpg'}], 'playlist_version': 29}
[INFO] [SignageApp] Fetched updated playlist from server.
[INFO] [SignageApp] python_functions: Updated playlist version in app_config.txt to 29.
[INFO] [SignageApp] Server playlist found with 2 items, version 29
[INFO] [SignageApp] python_functions: Starting media file download...
[INFO] [SignageApp] python_functions: File Cindrel_1.jpg already exists. Skipping download.
[INFO] [SignageApp] python_functions: File trans_cindrel_4.jpg already exists. Skipping download.
[INFO] [SignageApp] python_functions: Starting save_local_playlist function.
[INFO] [SignageApp] python_functions: Updated local playlist with server data.
[INFO] [SignageApp] python_functions: Finished save_local_playlist function.
[INFO] [SignageApp] python_functions: Finished media file download and updated local playlist.
[INFO] [SignageApp] python_functions: Updated playlist version in app_config.txt to 29.
[INFO] [SignageApp] python_functions: Starting load_local_playlist function.
[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': 'Cindrel_1.jpg', 'url': 'static/resurse/Cindrel_1.jpg', 'duration': 10}, {'file_name': 'trans_cindrel_4.jpg', 'url': 'static/resurse/trans_cindrel_4.jpg', 'duration': 10}], 'version': 29}
[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully.
[INFO] [SignageApp] Successfully loaded 2 items from server
[INFO] [SignageApp] [SplashScreen] VLC splash finished.
[INFO] [SignageApp] [MAIN] splash.show() called, entering mainloop...
[INFO] [SignageApp] [MAIN] Splash finished, waiting for playlist...
[INFO] [SignageApp] [MAIN] Playlist loaded: [{'file_name': 'Cindrel_1.jpg', 'url': 'static/resurse/Cindrel_1.jpg', 'duration': 10}, {'file_name': 'trans_cindrel_4.jpg', 'url': 'static/resurse/trans_cindrel_4.jpg', 'duration': 10}]
[INFO] [SignageApp] Playing media: Cindrel_1.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/Cindrel_1.jpg
2025-08-24 00:01:21 - STARTED: Cindrel_1.jpg
[INFO] [SignageApp] Successfully displayed image: Cindrel_1.jpg (Original: (4096, 3072), Screen: 1920x1080, Mode: fit, Offset: (240, 0))
[INFO] [SignageApp] [MAIN] Player UI and playback started.
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] python_functions: Configuration loaded: server=digi-signage.moto-adv.com, host=tv-terasa, quick=8887779, port=8880
[INFO] [SignageApp] python_functions: Starting load_local_playlist function.
[INFO] [SignageApp] [MAIN] About to show splash screen: /home/pi/Desktop/tkinter_player/tkinter_app/resources/intro1.mp4
[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': 'Cindrel_1.jpg', 'url': 'static/resurse/Cindrel_1.jpg', 'duration': 10}, {'file_name': 'trans_cindrel_4.jpg', 'url': 'static/resurse/trans_cindrel_4.jpg', 'duration': 10}], 'version': 29}
[INFO] [SignageApp] [SplashScreen] Running splash as standalone VLC subprocess: /home/pi/Desktop/tkinter_player/tkinter_app/resources/intro1.mp4
[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully.
[INFO] [SignageApp] Found fallback playlist with 2 items
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] [SplashScreen] Launching: cvlc --fullscreen --no-osd --no-video-title-show --play-and-exit --quiet /home/pi/Desktop/tkinter_player/tkinter_app/resources/intro1.mp4
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Initializing with settings: server=digi-signage.moto-adv.com, host=tv-terasa, port=8880
[INFO] [SignageApp] Attempting to connect to server...
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com/api/playlists with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
[INFO] [SignageApp] Server response: {'hashed_quickconnect': '$2b$12$UQzlEHNWudAB4P08Le3YJeWHrZHJkWL44kRQpZ53kt.fDLTcrPzGm', 'playlist': [{'duration': 10, 'file_name': 'Cindrel_1.jpg', 'url': 'http://digi-signage.moto-adv.com/media/Cindrel_1.jpg'}, {'duration': 10, 'file_name': 'trans_cindrel_4.jpg', 'url': 'http://digi-signage.moto-adv.com/media/trans_cindrel_4.jpg'}], 'playlist_version': 29}
[INFO] [SignageApp] Fetched updated playlist from server.
[INFO] [SignageApp] python_functions: Updated playlist version in app_config.txt to 29.
[INFO] [SignageApp] Server playlist found with 2 items, version 29
[INFO] [SignageApp] python_functions: Starting media file download...
[INFO] [SignageApp] python_functions: File Cindrel_1.jpg already exists. Skipping download.
[INFO] [SignageApp] python_functions: File trans_cindrel_4.jpg already exists. Skipping download.
[INFO] [SignageApp] python_functions: Starting save_local_playlist function.
[INFO] [SignageApp] python_functions: Updated local playlist with server data.
[INFO] [SignageApp] python_functions: Finished save_local_playlist function.
[INFO] [SignageApp] python_functions: Finished media file download and updated local playlist.
[INFO] [SignageApp] python_functions: Updated playlist version in app_config.txt to 29.
[INFO] [SignageApp] python_functions: Starting load_local_playlist function.
[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': 'Cindrel_1.jpg', 'url': 'static/resurse/Cindrel_1.jpg', 'duration': 10}, {'file_name': 'trans_cindrel_4.jpg', 'url': 'static/resurse/trans_cindrel_4.jpg', 'duration': 10}], 'version': 29}
[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully.
[INFO] [SignageApp] Successfully loaded 2 items from server
[INFO] [SignageApp] [SplashScreen] VLC splash finished.
[INFO] [SignageApp] [MAIN] splash.show() called, entering mainloop...
[INFO] [SignageApp] [MAIN] Splash finished, waiting for playlist...
[INFO] [SignageApp] [MAIN] Playlist loaded: [{'file_name': 'Cindrel_1.jpg', 'url': 'static/resurse/Cindrel_1.jpg', 'duration': 10}, {'file_name': 'trans_cindrel_4.jpg', 'url': 'static/resurse/trans_cindrel_4.jpg', 'duration': 10}]
[INFO] [SignageApp] Playing media: Cindrel_1.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/Cindrel_1.jpg
2025-08-24 00:04:00 - STARTED: Cindrel_1.jpg
[INFO] [SignageApp] Successfully displayed image: Cindrel_1.jpg (Original: (4096, 3072), Screen: 1920x1080, Mode: fit, Offset: (240, 0))
[INFO] [SignageApp] [MAIN] Player UI and playback started.
[INFO] [SignageApp] Playing media: trans_cindrel_4.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/trans_cindrel_4.jpg
2025-08-24 00:04:11 - STARTED: trans_cindrel_4.jpg
[INFO] [SignageApp] Successfully displayed image: trans_cindrel_4.jpg (Original: (4000, 3000), Screen: 1920x1018, Mode: fit, Offset: (281, 0))
[INFO] [SignageApp] Playing media: Cindrel_1.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/Cindrel_1.jpg
2025-08-24 00:04:23 - STARTED: Cindrel_1.jpg
[INFO] [SignageApp] Successfully displayed image: Cindrel_1.jpg (Original: (4096, 3072), Screen: 1920x1018, Mode: fit, Offset: (281, 0))
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] python_functions: Configuration loaded: server=digi-signage.moto-adv.com, host=tv-terasa, quick=8887779, port=8880
[INFO] [SignageApp] python_functions: Starting load_local_playlist function.
[INFO] [SignageApp] [MAIN] About to show splash screen: /home/pi/Desktop/tkinter_player/tkinter_app/resources/intro1.mp4
[INFO] [SignageApp] [SplashScreen] Running splash as standalone VLC subprocess: /home/pi/Desktop/tkinter_player/tkinter_app/resources/intro1.mp4
[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': 'Cindrel_1.jpg', 'url': 'static/resurse/Cindrel_1.jpg', 'duration': 10}, {'file_name': 'trans_cindrel_4.jpg', 'url': 'static/resurse/trans_cindrel_4.jpg', 'duration': 10}], 'version': 29}
[INFO] [SignageApp] [SplashScreen] Launching: cvlc --fullscreen --no-osd --no-video-title-show --play-and-exit --quiet /home/pi/Desktop/tkinter_player/tkinter_app/resources/intro1.mp4
[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully.
[INFO] [SignageApp] Found fallback playlist with 2 items
[INFO] [SignageApp] python_functions: Starting load_config function.
[INFO] [SignageApp] python_functions: Configuration file loaded successfully.
[INFO] [SignageApp] Initializing with settings: server=digi-signage.moto-adv.com, host=tv-terasa, port=8880
[INFO] [SignageApp] Attempting to connect to server...
[INFO] [SignageApp] Fetching playlist from URL: http://digi-signage.moto-adv.com/api/playlists with params: {'hostname': 'tv-terasa', 'quickconnect_code': '8887779'}
[INFO] [SignageApp] Server response: {'hashed_quickconnect': '$2b$12$UQzlEHNWudAB4P08Le3YJeWHrZHJkWL44kRQpZ53kt.fDLTcrPzGm', 'playlist': [{'duration': 10, 'file_name': 'Cindrel_1.jpg', 'url': 'http://digi-signage.moto-adv.com/media/Cindrel_1.jpg'}, {'duration': 10, 'file_name': 'trans_cindrel_4.jpg', 'url': 'http://digi-signage.moto-adv.com/media/trans_cindrel_4.jpg'}], 'playlist_version': 29}
[INFO] [SignageApp] Fetched updated playlist from server.
[INFO] [SignageApp] python_functions: Updated playlist version in app_config.txt to 29.
[INFO] [SignageApp] Server playlist found with 2 items, version 29
[INFO] [SignageApp] python_functions: Starting media file download...
[INFO] [SignageApp] python_functions: File Cindrel_1.jpg already exists. Skipping download.
[INFO] [SignageApp] python_functions: File trans_cindrel_4.jpg already exists. Skipping download.
[INFO] [SignageApp] python_functions: Starting save_local_playlist function.
[INFO] [SignageApp] python_functions: Updated local playlist with server data.
[INFO] [SignageApp] python_functions: Finished save_local_playlist function.
[INFO] [SignageApp] python_functions: Finished media file download and updated local playlist.
[INFO] [SignageApp] python_functions: Updated playlist version in app_config.txt to 29.
[INFO] [SignageApp] python_functions: Starting load_local_playlist function.
[INFO] [SignageApp] python_functions: Local playlist loaded: {'playlist': [{'file_name': 'Cindrel_1.jpg', 'url': 'static/resurse/Cindrel_1.jpg', 'duration': 10}, {'file_name': 'trans_cindrel_4.jpg', 'url': 'static/resurse/trans_cindrel_4.jpg', 'duration': 10}], 'version': 29}
[INFO] [SignageApp] python_functions: Finished load_local_playlist function successfully.
[INFO] [SignageApp] Successfully loaded 2 items from server
[INFO] [SignageApp] [SplashScreen] VLC splash finished.
[INFO] [SignageApp] [MAIN] splash.show() called, entering mainloop...
[INFO] [SignageApp] [MAIN] Splash finished, waiting for playlist...
[INFO] [SignageApp] [MAIN] Playlist loaded: [{'file_name': 'Cindrel_1.jpg', 'url': 'static/resurse/Cindrel_1.jpg', 'duration': 10}, {'file_name': 'trans_cindrel_4.jpg', 'url': 'static/resurse/trans_cindrel_4.jpg', 'duration': 10}]
[INFO] [SignageApp] Playing media: Cindrel_1.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/Cindrel_1.jpg
2025-08-24 00:06:44 - STARTED: Cindrel_1.jpg
[INFO] [SignageApp] Successfully displayed image: Cindrel_1.jpg (Original: (4096, 3072), Screen: 1920x1080, Mode: fit, Offset: (240, 0))
[INFO] [SignageApp] [MAIN] Player UI and playback started.
[INFO] [SignageApp] Playing media: trans_cindrel_4.jpg from /home/pi/Desktop/tkinter_player/tkinter_app/src/static/resurse/trans_cindrel_4.jpg
2025-08-24 00:06:56 - STARTED: trans_cindrel_4.jpg
[INFO] [SignageApp] Successfully displayed image: trans_cindrel_4.jpg (Original: (4000, 3000), Screen: 1920x1018, Mode: fit, Offset: (281, 0))

View File

@@ -11,25 +11,43 @@ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from logging_config import Logger from logging_config import Logger
from player_app import SimpleMediaPlayerApp from player_ui import PlayerUI
from media_playback_controller import MediaPlaybackController
from splash_screen import SplashScreen from splash_screen import SplashScreen
from playlist_manager import PlaylistManager from playlist_manager import PlaylistManager
from threading import Thread
if __name__ == "__main__": if __name__ == "__main__":
import tkinter as tk import tkinter as tk
root = tk.Tk() root = tk.Tk()
# Play splash screen first, then start player
playlist_manager = PlaylistManager() playlist_manager = PlaylistManager()
playlist_manager.fetch_playlist() # Start fetching playlist in parallel with splash playlist_manager.fetch_playlist() # Start fetching playlist in parallel with splash
intro_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'resources', 'intro1.mp4') intro_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'resources', 'intro1.mp4')
preload_result = {}
def preload_first_media(playlist):
if playlist and len(playlist) > 0:
first_item = playlist[0]
file_path = first_item.get('url', '')
if file_path and os.path.exists(file_path):
try:
from PIL import Image
if file_path.lower().endswith(('.jpg', '.jpeg', '.png', '.bmp', '.gif')):
img = Image.open(file_path)
img.load() # Force decode
preload_result['image'] = img
except Exception as e:
Logger.warning(f"[MAIN] Preload failed: {e}")
Logger.info(f"[MAIN] About to show splash screen: {intro_path}") Logger.info(f"[MAIN] About to show splash screen: {intro_path}")
def start_player(): def start_player():
Logger.info("[MAIN] Splash finished, waiting for playlist...") Logger.info("[MAIN] Splash finished, waiting for playlist...")
playlist = playlist_manager.wait_for_playlist() playlist = playlist_manager.wait_for_playlist()
Logger.info(f"[MAIN] Playlist loaded: {playlist}") Logger.info(f"[MAIN] Playlist loaded: {playlist}")
player = SimpleMediaPlayerApp(root) Thread(target=preload_first_media, args=(playlist,), daemon=True).start()
player.playlist = playlist or [] ui = PlayerUI(root)
player.run() playback = MediaPlaybackController(app=None, ui=ui)
playback.set_playlist(playlist or [])
playback.play_current_media()
Logger.info("[MAIN] Player UI and playback started.")
splash = SplashScreen(root, intro_path, duration=10) splash = SplashScreen(root, intro_path, duration=10)
splash.show(on_finish=start_player) splash.show(on_finish=start_player)
Logger.info("[MAIN] splash.show() called, entering mainloop...") Logger.info("[MAIN] splash.show() called, entering mainloop...")

View File

@@ -50,6 +50,7 @@ class SimpleMediaPlayerApp:
self.playlist = [] self.playlist = []
self.current_index = 0 self.current_index = 0
self.scaling_mode = 'fit' self.scaling_mode = 'fit'
self.auto_advance_timer = None
self.hide_controls_timer = None self.hide_controls_timer = None
self.settings_window = None self.settings_window = None
# UI extraction # UI extraction
@@ -173,6 +174,12 @@ class SimpleMediaPlayerApp:
def cancel_timers(self): def cancel_timers(self):
self.playback.cancel_timers() self.playback.cancel_timers()
def show_no_content_message(self):
self.playback.show_no_content_message()
def log_event(self, file_name, event):
self.playback.log_event(file_name, event)
def show_controls(self): def show_controls(self):
if self.ui.control_frame: if self.ui.control_frame:
self.ui.control_frame.place(relx=0.98, rely=0.98, anchor='se') self.ui.control_frame.place(relx=0.98, rely=0.98, anchor='se')