# ViewIT Hauptlogik (`addon/default.py`) Diese Datei ist der Router des Addons. Sie verbindet Kodi UI, Plugin Calls und Playback. ## Kernaufgabe - Plugins laden - Menues bauen - Aktionen auf Plugin Methoden mappen - Playback starten - Playstate speichern ## Ablauf 1. Plugin Discovery fuer `addon/plugins/*.py` ohne `_` Prefix. 2. Navigation fuer Titel, Staffeln und Episoden. 3. Playback: Link holen, optional aufloesen, abspielen. 4. Playstate: watched und resume in `playstate.json` schreiben. ## Routing Der Router liest Query Parameter aus `sys.argv[2]`. Typische Aktionen: - `search` - `seasons` - `episodes` - `play_episode` - `play_movie` - `play_episode_url` ## Playstate Eigenes Resume/Watched-Tracking ist deaktiviert (`addon/core/playstate.py`). Kodi verwaltet den Playstate vollständig selbst (Watched-Status, Resume-Position). Die Helfer-Funktionen in `playstate.py` (Schlüsselberechnung, Zustandsabfrage) sind noch vorhanden, aber `track_playback_and_update_state_async()` ist ein No-op. ## Wichtige Helper - Plugin Loader und Discovery - UI Builder fuer ListItems - Playstate Load/Save/Merge - TMDB Merge mit Source Fallback ## Fehlerverhalten - Importfehler pro Plugin werden isoliert behandelt. - Fehler in einem Plugin sollen das Addon nicht stoppen. - User bekommt kurze Fehlermeldungen in Kodi. ## Erweiterung Fuer neue Aktion im Router: 1. Action im `run()` Handler registrieren. 2. ListItem mit passenden Parametern bauen. 3. Zielmethode im Plugin bereitstellen.