diff --git a/app/music_manager.py b/app/music_manager.py index ac0c0ac..f872354 100644 --- a/app/music_manager.py +++ b/app/music_manager.py @@ -16,7 +16,7 @@ from PyQt6.QtCore import ( ) # App imports -from classes import singleton +from classes import MusicMusterSignals, singleton from config import Config import helpers from log import log diff --git a/app/musicmuster.py b/app/musicmuster.py index 4d13c2d..63fa45d 100755 --- a/app/musicmuster.py +++ b/app/musicmuster.py @@ -2,8 +2,9 @@ # Standard library imports from __future__ import annotations +from functools import partial from slugify import slugify # type: ignore -from typing import Callable +from typing import Any, Callable import argparse from dataclasses import dataclass import datetime as dt @@ -93,6 +94,66 @@ import ds import helpers +class SignalMonitor: + def __init__(self): + self.signals = MusicMusterSignals() + + self.signals.enable_escape_signal.connect( + partial(self.show_signal, "enable_escape_signal ") + ) + self.signals.next_track_changed_signal.connect( + partial(self.show_signal, "next_track_changed_signal ") + ) + self.signals.resize_rows_signal.connect( + partial(self.show_signal, "resize_rows_signal ") + ) + self.signals.search_songfacts_signal.connect( + partial(self.show_signal, "search_songfacts_signal ") + ) + self.signals.search_wikipedia_signal.connect( + partial(self.show_signal, "search_wikipedia_signal ") + ) + self.signals.show_warning_signal.connect( + partial(self.show_signal, "show_warning_signal ") + ) + self.signals.signal_add_track_to_header.connect( + partial(self.show_signal, "signal_add_track_to_header ") + ) + self.signals.signal_begin_insert_rows.connect( + partial(self.show_signal, "signal_begin_insert_rows ") + ) + self.signals.signal_end_insert_rows.connect( + partial(self.show_signal, "signal_end_insert_rows ") + ) + self.signals.signal_insert_track.connect( + partial(self.show_signal, "signal_insert_track ") + ) + self.signals.signal_playlist_selected_rows.connect( + partial(self.show_signal, "signal_playlist_selected_rows ") + ) + self.signals.signal_set_next_row.connect( + partial(self.show_signal, "signal_set_next_row ") + ) + self.signals.signal_set_next_track.connect( + partial(self.show_signal, "signal_set_next_track ") + ) + self.signals.signal_track_started.connect( + partial(self.show_signal, "signal_track_started ") + ) + # self.signals.span_cells_signal.connect( + # partial(self.show_signal, "span_cells_signal ") + # ) + self.signals.status_message_signal.connect( + partial(self.show_signal, "status_message_signal ") + ) + self.signals.track_ended_signal.connect( + partial(self.show_signal, "track_ended_signal ") + ) + + def show_signal(self, name: str, *args: Any) -> None: + print(f"{name=}, args={args}") + + class Current: base_model: PlaylistModel proxy_model: PlaylistProxyModel @@ -770,6 +831,7 @@ class QueryDialog(QDialog): super().__init__() self.playlist_id = playlist_id self.default = default + self.signals = MusicMusterSignals() # Build a list of (query-name, playlist-id) tuples self.selected_tracks: list[int] = [] @@ -1180,6 +1242,9 @@ class Window(QMainWindow): self.action_quicklog = QShortcut(QKeySequence("Ctrl+L"), self) self.action_quicklog.activated.connect(self.quicklog) + # Optionally print signals + self.signal_monitor = SignalMonitor() + # Load playlists self.load_last_playlists()