---
feature: "MyTV"
description: "Živé TV rozhraní pro sledování seriálů organizovaných do kanálů s EPG"
files:
  - wcs/ai/DialogMyTV.py
  - wcs/ai/MediaChannelManager.py
  - wcs/ai/ChannelHistory.py
  - wcs/ai/ChannelNameGenerator.py
  - wcs/ai/PlaylistBuilder.py
parent: true
children:
  - "DialogMyTV"
  - "MediaChannelManager"
  - "ChannelHistory"
  - "ChannelNameGenerator"
  - "PlaylistBuilder"
created: "2026-04-04"
updated: "2026-04-04"
status: "complete"
---

# MyTV

Unikátní TV-like rozhraní pro sledování seriálů. Uživatel přidává seriály do „kanálů" a sleduje je jako na televizi – s EPG programem, nadcházejícími epizodami a automatickým pokračováním. Podporuje více kanálů, AI generování názvů, vizuální design (fanart, blur, animace) a integraci s hrou Milionář.

## Soubory

| Soubor | Velikost | Účel |
|--------|----------|------|
| `wcs/ai/DialogMyTV.py` | 182 KB | Fullscreen MyTV dialog |
| `wcs/ai/MediaChannelManager.py` | 18 KB | Správa kanálů a seriálů |
| `wcs/ai/ChannelHistory.py` | 8 KB | Historie sledování per kanál |
| `wcs/ai/ChannelNameGenerator.py` | 23 KB | AI generování názvů kanálů |
| `wcs/ai/PlaylistBuilder.py` | 5 KB | Sestavování playlistů epizod |

## Child funkce

### DialogMyTV

- **Co dělá**: Nejrozsáhlejší dialog pluginu (182 KB). Fullscreen TV rozhraní s kanálovým rozložením, EPG gridem, nadcházejícími epizodami a přehrávačem. Podporuje navigaci mezi kanály, výběr epizod, přepínání designů (3 varianty), background efekty (blur, glow, dim, animace) a navigační sidebar pro přepínání mezi MyTV/MyCinema/dalšími sekcemi.
- **Klíčové metody**: `show_my_tv_dialog(addon)`, interní: `_load_channels()`, `_render_channel()`, `_play_episode()`, `_show_upcoming()`
- **Vstupy**: Addon instance, navigační parametry (show_nav_sidebar, nav_position)
- **Výstupy**: Fullscreen TV rozhraní, spuštění přehrávání
- **Závislosti**: `MediaChannelManager`, `ChannelHistory`, `ChannelNameGenerator`, `PlaylistBuilder`, [006-metadata.md](006-metadata.md) (TMDb API pro metadata epizod), [001-router-core.md](001-router-core.md) (utils pro přehrávání)
- **Settings**: `mytv_upcoming_count`, `mytv_block_size`, `mytv_channel_naming`, `mytv_background_mode/blur/glow/dim/animation`, `mytv_design` (0-2), `mytv_play_selection_style`, `mytv_anim_style`

### MediaChannelManager

- **Co dělá**: Spravuje MyTV kanály – přidávání/odebírání seriálů, řazení, konfigurace kanálů. Každý kanál obsahuje seznam seriálů s TMDb ID, postup sledování a zobrazovací nastavení.
- **Klíčové metody**: `add_series_to_channel(channel_id, series_data)`, `remove_series(channel_id, tmdb_id)`, `get_channel_series(channel_id)`, `reorder_channels()`
- **Vstupy**: Channel ID, data seriálu (tmdb_id, name, poster)
- **Výstupy**: Aktualizované kanály v `user_data`
- **Závislosti**: [001-router-core.md](001-router-core.md) (user_data)
- **Settings**: žádné přímé

### ChannelHistory

- **Co dělá**: Sleduje progress sledování epizod per kanál. Ukládá resume point (sezóna, epizoda, čas) a označení zhlédnutých epizod. Umožňuje pokračovat tam, kde uživatel přestal.
- **Klíčové metody**: `set_resume_point(channel_id, tmdb_id, season, episode, position, duration)`, `get_resume_point(channel_id, tmdb_id)`, `mark_watched(channel_id, tmdb_id, season, episode)`
- **Vstupy**: Channel ID, TMDb ID, čísla sezóny/epizody, pozice přehrávání
- **Výstupy**: Resume data, watched stav
- **Závislosti**: [001-router-core.md](001-router-core.md) (user_data persistence)
- **Settings**: žádné

### ChannelNameGenerator

- **Co dělá**: Generuje kreativní názvy pro MyTV kanály pomocí AI. Na základě žánrů seriálů v kanálu navrhuje tematické názvy (např. „Kriminální Zóna", „Fantasy Realm"). Podporuje automatický režim (dle žánru) i AI generování.
- **Klíčové metody**: `generate_channel_name(channel_data)`, `get_auto_name_by_genre(genres)`
- **Vstupy**: Data kanálu (seznam seriálů a jejich žánry)
- **Výstupy**: Název kanálu (string)
- **Závislosti**: [002-ai-system.md](002-ai-system.md) (AIHandler pro AI generování)
- **Settings**: `mytv_channel_naming` (Automaticky/AI/Vlastní)

### PlaylistBuilder

- **Co dělá**: Sestavuje playlisty epizod pro přehrávání v MyTV. Určuje pořadí epizod na základě resume pointu a upcoming epizod v kanálu.
- **Klíčové metody**: `build_playlist(channel_id, start_season, start_episode)`, `get_next_episodes(channel_id, count)`
- **Vstupy**: Channel ID, výchozí sezóna/epizoda
- **Výstupy**: Seřazený seznam epizod k přehrání
- **Závislosti**: `ChannelHistory`, [006-metadata.md](006-metadata.md) (TMDb pro seznam epizod)
- **Settings**: žádné
