-
Notifications
You must be signed in to change notification settings - Fork 1
Advanced Features
EasyTV includes several advanced features for power users: clone instances, episode exporting, and auto-created smart playlists.
Create multiple EasyTV instances with completely independent settings. Each clone is a separate addon that shares the core code but maintains its own configuration.
| Use Case | Main EasyTV | Clone |
|---|---|---|
| Different content | All shows | Only comedies |
| Different modes | Browse mode | Random playlist |
| Different users | Adult content | Kids-only content |
| Different rooms | Living room setup | Bedroom setup |
- Go to Settings → Advanced → Tools
- Click Create EasyTV copy...
- Enter a name for the clone (e.g., "Kids TV", "Comedies")
- A progress dialog shows the creation steps
- A prompt offers to restart Kodi (recommended)
A new addon appears in Add-ons → Program add-ons:
- Named "EasyTV - [Your Name]" (e.g., "EasyTV - Kids TV")
- Completely separate settings
- Uses the same background service data
- Can be added to your home screen independently
Each clone has its own:
- Launch behavior (Browse vs Random vs Ask)
- Show filter (which shows to include)
- Smart playlist selection
- Random-order shows list
- Browse mode appearance
- Random playlist configuration
- All playback settings
Each clone can have its own custom icon, making them visually distinct in Kodi menus:
- Open the clone's settings
- Go to EasyTV > Appearance
- Click Set custom icon
- Choose an image file
This makes it easy to identify different clones at a glance (e.g., a kids icon for a kids-only clone).
Clones share:
- The core EasyTV code
- The background service's show/episode data
- Duration cache
- Auto-created smart playlists (managed by main addon only)
Clones do NOT:
- Affect each other's settings or the main addon's settings
- Participate in multi-instance sync — clones use the main addon's local data only
When you update EasyTV (install a new version), clones need to be updated too:
- Launch a clone after updating the main addon
- EasyTV detects the version mismatch
- A dialog appears: "EasyTV has updated and this clone is now out of date"
- Click Yes to update
- A progress dialog shows the update steps
- Restart Kodi when prompted
The update process:
- Preserves all clone settings
- Updates only the code files
- Takes just a few seconds
- Go to Settings → Add-ons → My add-ons → Program add-ons
- Find the clone (e.g., "EasyTV - Kids TV")
- Click Uninstall
This removes only the clone, not the main EasyTV addon.
For advanced setups, you can use the main EasyTV addon purely as a background service manager while using clones as your actual entry points. This pattern is useful when you want different "channels" for different types of content.
Example setup:
| Addon | Purpose | Configuration |
|---|---|---|
| Main EasyTV | Background service only | Filters to master playlist, generates smart playlists, never launched directly |
| EasyTV - In Progress | Continue watching | Launches to Browse Mode, sorted by last watched |
| EasyTV - Season Premiere | New seasons | Filters to Season Premieres playlist |
| EasyTV - Show Premiere | New shows to start | Filters to Show Premieres playlist |
Benefits:
- Each clone can be added to your home screen as a separate menu item
- Different filters for different viewing moods
- Main addon handles all background work and smart playlist generation
- Smart playlists inherit the main addon's show filter (if enabled)
Setup steps:
- Configure the main addon's show filter to your master playlist
- Enable smart playlist export and "Apply show filter to smart playlists" on the main addon
- Create clones for each "channel" you want
- Configure each clone with its own filter or launch behavior
- Add clones to your skin's home menu
Copy your "next episode" files to another location — perfect for offline viewing on trips, transferring to a portable device, or backup.
- Select episodes in Browse Mode
- Choose export location
- EasyTV copies the video files
- Open Browse Mode (episode list)
- Enable Multi-Select from the context menu
- Select the episodes you want to export
- Open context menu → Export Selection
- Choose a destination folder
- Files are copied
- Go to Settings → Advanced → Tools
- Click Export episodes to folder...
- This exports ALL current next episodes (one per show)
- Copies the actual video files (not shortcuts)
- Preserves original filenames
- Shows progress during transfer
- Reports any failures at the end
| Scenario | Workflow |
|---|---|
| Trip preparation | Export a few episodes from multiple shows |
| Device transfer | Export to USB drive, copy to tablet |
| Backup | Periodically export next episodes to NAS |
| Sharing | Export specific episodes for someone |
- Only exports video files, not subtitles or extras
- Large files take time to copy
- Destination needs enough free space
- Network destinations may be slow
Upgraded from v1.2.3 or earlier? Playlist filenames changed in v1.2.4. If your skin widgets or PseudoTV Live channels reference old EasyTV playlist names, see the Migration Guide for the filename mapping.
EasyTV can automatically maintain smart playlists for use by other addons or skin widgets. There are two types of playlists: Episode playlists for channel surfing and TVShow playlists for skin widgets.
- Go to Settings → Advanced → Background Service
- Enable Export Episode smart playlists for channel surfing playlists
- Enable Export TVShow smart playlists for skin widget playlists
You can enable one or both depending on your needs.
EasyTV creates two parallel sets of playlists with the same categories but different purposes:
| Type | Use Case | Ordering | Shows... |
|---|---|---|---|
| Episode | Channel surfing, random playback | Random | The specific episode file to play |
| TVShow | Skin widgets, browsing | Alphabetical by title | The show itself (navigate to episode from there) |
Episode playlists are ideal when you want Kodi to play content directly — each entry points to a specific episode file.
TVShow playlists are ideal for home screen widgets where you want to browse shows visually — each entry is a TV show, and selecting it takes you to that show's page where you can see the next episode.
| Playlist | Filename | Contents |
|---|---|---|
| All Shows | EasyTV - Episode - All Shows.xsp |
Every show with an on-deck episode |
| Continue Watching | EasyTV - Episode - Continue Watching.xsp |
Shows mid-season (episode 2+) |
| Start Fresh | EasyTV - Episode - Start Fresh.xsp |
Shows at season start (episode 1) |
| Show Premieres | EasyTV - Episode - Show Premieres.xsp |
Shows at S01E01 (brand new shows) |
| Season Premieres | EasyTV - Episode - Season Premieres.xsp |
Shows at S02E01+ (new season of existing show) |
| Playlist | Filename | Contents |
|---|---|---|
| All Shows | EasyTV - TVShow - All Shows.xsp |
Every show with an on-deck episode |
| Continue Watching | EasyTV - TVShow - Continue Watching.xsp |
Shows mid-season (episode 2+) |
| Start Fresh | EasyTV - TVShow - Start Fresh.xsp |
Shows at season start (episode 1) |
| Show Premieres | EasyTV - TVShow - Show Premieres.xsp |
Shows at S01E01 (brand new shows) |
| Season Premieres | EasyTV - TVShow - Season Premieres.xsp |
Shows at S02E01+ (new season of existing show) |
Playlists are created in:
special://profile/playlists/video/
If you use a show filter (Settings → Shows → Show Filter), you can apply that same filter to your auto-created playlists:
- Go to Settings → Advanced → Background Service
- Enable Apply show filter to smart playlists
When enabled, only shows matching your TV show playlist filter will appear in the generated smart playlists. This is useful when you want your skin widgets to show the same filtered content as your EasyTV experience.
Important: This setting only works on the main EasyTV addon, not on clones. Clones don't maintain smart playlists — they rely on the main addon's background service for playlist generation. If you want filtered playlists, configure the filter and this setting on the main addon.
Shows are categorized by their next episode:
| Next Episode | Playlists |
|---|---|
| S01E01 | All Shows, Start Fresh, Show Premieres |
| S02E01, S03E01... | All Shows, Start Fresh, Season Premieres |
| S01E02, S01E03, S02E05... | All Shows, Continue Watching |
The premiere playlists help you find:
- Show Premieres — Brand new shows you haven't started yet
- Season Premieres — New seasons of shows you've already watched
As you watch, shows move between playlists:
You're at S01E01 → All Shows + Start Fresh + Show Premieres
↓ (watch S01E01)
You're at S01E02 → All Shows + Continue Watching
↓ (watch all of season 1)
You're at S02E01 → All Shows + Start Fresh + Season Premieres
↓ (watch S02E01)
You're at S02E02 → All Shows + Continue Watching
↓ (finish the series)
No more episodes → Removed from all playlists
Most Kodi skins support widgets on the home screen. For the best experience:
- Enable Export TVShow smart playlists in EasyTV settings
- Configure your skin's widget to use an EasyTV TVShow playlist as its source
- Choose the category that fits your widget's purpose:
- Continue Watching — Shows you're in the middle of
- Start Fresh — Shows ready to start a new season
- Show Premieres — Brand new shows to discover
- Season Premieres — New seasons waiting for you
- All Shows — Everything EasyTV is tracking
TVShow playlists display show artwork and metadata, making them ideal for visual widgets.
If you use PseudoTV Live for virtual TV channels:
- Enable Export Episode smart playlists in EasyTV settings
- Create a channel from an EasyTV Episode playlist
- The channel automatically has your tracked episodes
Episode playlists work better here because they point directly to playable episode files.
You can use EasyTV playlists as criteria in your own smart playlists:
- Create a playlist with rule: "Playlist is EasyTV - Episode - Continue Watching"
- Combine with other rules (genre, year, etc.)
Episode playlists identify content by filename:
<?xml version="1.0" encoding="UTF-8"?>
<smartplaylist type="episodes">
<name>EasyTV - Episode - All Shows</name>
<match>one</match>
<!--42--><rule field="filename" operator="is"><value>Breaking.Bad.S02E06.mkv</value></rule>
<!--156--><rule field="filename" operator="is"><value>The.Office.S04E02.mkv</value></rule>
</smartplaylist>TVShow playlists identify content by show title:
<?xml version="1.0" encoding="UTF-8"?>
<smartplaylist type="tvshows">
<name>EasyTV - TVShow - Continue Watching</name>
<match>one</match>
<!--42--><rule field="title" operator="is"><value>Breaking Bad</value></rule>
<!--156--><rule field="title" operator="is"><value>The Office</value></rule>
<order direction="ascending">sorttitle</order>
</smartplaylist>Each entry has a comment with the show's numeric ID for internal tracking.
EasyTV's auto-playlists work with plugin-based libraries like Jellyfin, Emby, and Plex. For plugin content, the full plugin URL is used instead of a simple filename:
<!--42--><rule field="filename" operator="is"><value>plugin://plugin.video.jellyfin/...</value></rule>This happens automatically — no configuration needed.
Filenames with special characters (&, <, >) are automatically escaped to ensure valid XML:
<!-- "Pam & Tommy" becomes: -->
<value>Pam & Tommy.S01E05.mkv</value>When enabled, EasyTV updates these playlists whenever episode tracking changes:
- After you watch something
- After library updates
- After service startup
The writes are batched for efficiency, but if you have a very large library, you may want to keep this disabled unless actively using the playlists.
For troubleshooting issues, EasyTV can write detailed logs.
- Go to Settings → Advanced → Debugging
- Enable Enable debug logging
EasyTV writes to a separate log file (not Kodi's main log):
| Platform | Path |
|---|---|
| Windows | %APPDATA%\Kodi\userdata\addon_data\script.easytv\logs\easytv.log |
| Linux | ~/.kodi/userdata/addon_data/script.easytv/logs/easytv.log |
| macOS | ~/Library/Application Support/Kodi/userdata/addon_data/script.easytv/logs/easytv.log |
| LibreELEC | /storage/.kodi/userdata/addon_data/script.easytv/logs/easytv.log |
| OSMC | /home/osmc/.kodi/userdata/addon_data/script.easytv/logs/easytv.log |
| Level | Content | Always Logged |
|---|---|---|
| ERROR | Operation failures, exceptions | Yes (Kodi + EasyTV log) |
| WARNING | Recoverable issues | Yes (Kodi + EasyTV log) |
| INFO | Lifecycle events (start, stop) | Yes (Kodi + EasyTV log) |
| DEBUG | Detailed diagnostics | Only when debug enabled (EasyTV log only) |
- Enable debug logging
- Reproduce the issue
- Open the log file
- Look for ERROR or WARNING entries near the time of the issue
- Share relevant log sections when reporting bugs
2025-01-21 12:34:56 [EasyTV.service] INFO: Service started, version=1.2.0
2025-01-21 12:34:57 [EasyTV.data] DEBUG: Fetching shows, count=47
2025-01-21 12:34:58 [EasyTV.playback] INFO: Playlist created, items=5
Each line includes:
- Timestamp
- Module (service, data, playback, ui)
- Level (INFO, DEBUG, WARNING, ERROR)
- Message with structured data
| Key | Context | Action |
|---|---|---|
| Enter | Browse Mode | Play selected episode |
| C | Anywhere | Open context menu |
| Backspace | Browse Mode | Close EasyTV |
| Esc | Browse Mode | Close EasyTV |
- Installation — Initial setup
- Settings Reference — All settings explained
- Multi-Instance Sync — Share progress across devices
- Troubleshooting — Common issues
- Smart Playlist Integration — Using playlists for filtering
- Migration Guide — Upgrade notes and breaking changes
EasyTV — No scrolling. No deciding. Just watching.
Home • Installation • Settings • Troubleshooting • GitHub