* fix(player): re-detect audio and subs
In the event that another addon (or even the user) sets the subtitles or
the audio before this addon does, such a change is not detected
correctly.
This PR fixes that by reloading that information from Kodi before
calling `set_audio_subs`
* fix: build
* Revert "fix: build"
This reverts commit 665037ab6c.
When adding a new album to jellyfin, if jellyfin-kodi adds it
to the Kodi database before all metadata is fetched in the Jellyfin
server, it is possible that it uses the directory name as the album
name, as that's what the server uses before all metadata is loaded.
Once jellyfin updates the metadata, jellyfin-kodi does an update
to the album and its tracks, but during this update the album name
is not updated. This can leave the directory name as the album
name in Kodi.
This patch fixes this by adding the album title to the data that
is modified in tue queries to update an album.
Fixes#763
When adding a Various Artists album (or an album with guest artists)
where song artists are different from the album artist, the codepath
followed to add the artist if it's missing was broken:
Traceback (most recent call last):
File "jellyfin_kodi/objects/music.py", line 460, in song_artist_link
temp_obj["ArtistId"] = self.jellyfin_db.get_item_by_id(
TypeError: 'NoneType' object is not subscriptable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "jellyfin_kodi/objects/music.py", line 467, in song_artist_link
temp_obj["ArtistId"] = self.jellyfin_db.get_item_by_id(
TypeError: 'NoneType' object is not subscriptable
Passing the library used for the song when trying to fetch the artist
so that it's used fixes this for me.
Fixes#913 and #837
- Check skip segments on every 10s poll instead of every 30s
- Add immediate skip check on playback start for intros at 0:00
- Add skip check after seek for catching credits when fast-forwarding
- Fixes segments being missed due to infrequent polling
- Remove window id and type from XML to allow proper OSD overlay display
- Simplify skip dialog following service.upnext popup implementation
- Use Window.Property for dynamic button labels
- Shorten segment labels (Introduction->Intro, Credits->Outro)
- Widen button to fit full label text
- Fix trigger window to detect segment anywhere within bounds
- Add try-except around session_playing to prevent blocking segment fetch
- Fix string vs integer comparison for skip mode setting