diff --git a/components/ItemGrid/ItemGrid.brs b/components/ItemGrid/ItemGrid.brs
index 5b0befd2..a7a58d8e 100644
--- a/components/ItemGrid/ItemGrid.brs
+++ b/components/ItemGrid/ItemGrid.brs
@@ -223,7 +223,11 @@ end sub
' Set Music view, sort, and filter options
sub setMusicOptions(options)
- options.views = [{ "Title": tr("Music"), "Name": "music" }]
+ options.views = [
+ { "Title": tr("Default"), "Name": "music-default" },
+ { "Title": tr("Artists"), "Name": "music-artist" },
+ { "Title": tr("Albums"), "Name": "music-album" },
+ ]
options.sort = [
{ "Title": tr("TITLE"), "Name": "SortName" },
{ "Title": tr("DATE_ADDED"), "Name": "DateCreated" },
diff --git a/components/ListPoster.brs b/components/ListPoster.brs
index 170693c3..53d0c370 100644
--- a/components/ListPoster.brs
+++ b/components/ListPoster.brs
@@ -56,7 +56,18 @@ sub itemContentChanged() as void
end if
m.staticTitle.text = m.title.text
- m.poster.uri = itemData.posterUrl
+ imageUrl = itemData.posterURL
+
+ if get_user_setting("ui.tvshows.blurunwatched") = "true"
+
+ if itemData.json.lookup("Type") = "Episode"
+ if not itemData.json.userdata.played
+ imageUrl = imageUrl + "&blur=15"
+ end if
+ end if
+ end if
+
+ m.poster.uri = imageUrl
updateSize()
end sub
diff --git a/components/ListPoster.xml b/components/ListPoster.xml
index a3b3f89d..990f2682 100644
--- a/components/ListPoster.xml
+++ b/components/ListPoster.xml
@@ -23,5 +23,5 @@
-
+
diff --git a/components/home/Home.brs b/components/home/Home.brs
index ea72fbca..bc951c1a 100644
--- a/components/home/Home.brs
+++ b/components/home/Home.brs
@@ -1,6 +1,11 @@
sub init()
m.top.overhangTitle = "Home"
m.top.optionsAvailable = true
+
+ if get_user_setting("ui.home.splashBackground") = "true"
+ m.backdrop = m.top.findNode("backdrop")
+ m.backdrop.uri = buildURL("/Branding/Splashscreen?format=jpg&foregroundLayer=0.15&fillWidth=1280&width=1280&fillHeight=720&height=720&tag=splash")
+ end if
end sub
sub refresh()
diff --git a/components/home/Home.xml b/components/home/Home.xml
index f0eb64c2..3909bb0c 100644
--- a/components/home/Home.xml
+++ b/components/home/Home.xml
@@ -1,6 +1,7 @@
+
@@ -13,4 +14,6 @@
+
+
diff --git a/components/movies/MovieDetails.brs b/components/movies/MovieDetails.brs
index 23b2c2c3..b6027af6 100644
--- a/components/movies/MovieDetails.brs
+++ b/components/movies/MovieDetails.brs
@@ -12,6 +12,9 @@ sub init()
overview = m.top.findNode("overview")
overview.width = 1920 - 96 - 300 - 96 - 30
+ m.details = m.top.findNode("details")
+ m.tagline = m.top.findNode("tagline")
+
m.buttonGrp = m.top.findNode("buttons")
m.buttonGrp.setFocus(true)
m.top.lastFocus = m.buttonGrp
@@ -90,9 +93,13 @@ sub itemContentChanged()
if itemData.mediaStreams[0] <> invalid
setFieldText("video_codec", tr("Video") + ": " + itemData.mediaStreams[0].displayTitle)
end if
- ' TODO - cmon now. these are buttons, not words
- if itemData.taglines.count() > 0
- setFieldText("tagline", itemData.taglines[0])
+
+ if get_user_setting("ui.details.hidetagline") = "false"
+ if itemData.taglines.count() > 0
+ setFieldText("tagline", itemData.taglines[0])
+ end if
+ else
+ m.details.removeChild(m.tagline)
end if
setFavoriteColor()
diff --git a/components/movies/MovieDetails.xml b/components/movies/MovieDetails.xml
index 99d729d9..459a7a8f 100644
--- a/components/movies/MovieDetails.xml
+++ b/components/movies/MovieDetails.xml
@@ -5,7 +5,7 @@
-
+
@@ -50,5 +50,6 @@
+
diff --git a/components/screensaver/Screensaver.brs b/components/screensaver/Screensaver.brs
index 9019b938..0edf64f1 100644
--- a/components/screensaver/Screensaver.brs
+++ b/components/screensaver/Screensaver.brs
@@ -8,4 +8,9 @@ sub init()
m.BounceAnimation = m.top.findNode("BounceAnimation")
m.BounceAnimation.control = "start" 'Start BounceAnimation
+
+ if get_user_setting("ui.screensaver.splashBackground") = "true"
+ m.backdrop = m.top.findNode("backdrop")
+ m.backdrop.uri = buildURL("/Branding/Splashscreen?format=jpg&foregroundLayer=0.15&fillWidth=1280&width=1280&fillHeight=720&height=720&tag=splash")
+ end if
end sub
diff --git a/components/screensaver/Screensaver.xml b/components/screensaver/Screensaver.xml
index bfe953b2..9dc0e07a 100644
--- a/components/screensaver/Screensaver.xml
+++ b/components/screensaver/Screensaver.xml
@@ -4,6 +4,7 @@
+
+
+
diff --git a/components/tvshows/TVListDetails.brs b/components/tvshows/TVListDetails.brs
index 6c98079f..f7f1cf14 100644
--- a/components/tvshows/TVListDetails.brs
+++ b/components/tvshows/TVListDetails.brs
@@ -3,6 +3,7 @@ sub init()
m.title.text = tr("Loading...")
m.options = m.top.findNode("tvListOptions")
m.overview = m.top.findNode("overview")
+ m.poster = m.top.findNode("poster")
m.deviceInfo = CreateObject("roDeviceInfo")
end sub
@@ -15,9 +16,20 @@ sub itemContentChanged()
indexNumber = ""
end if
m.title.text = indexNumber + item.title
- m.top.findNode("poster").uri = item.posterURL
m.overview.text = item.overview
+ imageUrl = item.posterURL
+
+ if get_user_setting("ui.tvshows.blurunwatched") = "true"
+ if itemData.lookup("Type") = "Episode"
+ if not itemData.userdata.played
+ imageUrl = imageUrl + "&blur=15"
+ end if
+ end if
+ end if
+
+ m.poster.uri = imageUrl
+
if type(itemData.RunTimeTicks) = "LongInteger"
m.top.findNode("runtime").text = stri(getRuntime()).trim() + " mins"
m.top.findNode("endtime").text = tr("Ends at %1").Replace("%1", getEndTime())
diff --git a/components/tvshows/TVListDetails.xml b/components/tvshows/TVListDetails.xml
index 5e231804..e58becd3 100644
--- a/components/tvshows/TVListDetails.xml
+++ b/components/tvshows/TVListDetails.xml
@@ -33,4 +33,5 @@
+
diff --git a/locale/en_US/translations.ts b/locale/en_US/translations.ts
index ef3a2efd..8bf7cc24 100644
--- a/locale/en_US/translations.ts
+++ b/locale/en_US/translations.ts
@@ -574,14 +574,87 @@
There was an error authenticating via Quick Connect.
-
- Return to Top
- UI -> Media Grid -> Item Title in user setting screen.
-
-
-
- Use the replay button to slowly animate to the first item in the folder. (If disabled, The folder will reset to the first item immediately)
- Description for option in Setting Screen
-
+
+ Return to Top
+ UI -> Media Grid -> Item Title in user setting screen.
+
+
+
+ Use the replay button to slowly animate to the first item in the folder. (If disabled, The folder will reset to the first item immediately)
+ Description for option in Setting Screen
+
+
+
+ Detail Page
+
+
+
+ Options for details pages.
+ Description for Detail Page user settings.
+
+
+
+ Hide Taglines
+ Option Title in user setting screen
+
+
+
+ Hides tagline text on details pages.
+
+
+
+ TV Shows
+
+
+
+ Options for TV Shows.
+ Description for TV Shows user settings.
+
+
+
+ Blur Unwatched Episodes
+ Option Title in user setting screen
+
+
+
+ If enabled, images for unwatched episodes will be blurred.
+
+
+
+ Screensaver
+
+
+
+ Options for Jellyfin's screensaver.
+ Description for Screensaver user settings.
+
+
+
+ Use Splashscreen as Screensaver Background
+ Option Title in user setting screen
+
+
+
+ Use generated splashscreen image as Jellyfin's screensaver background.
+
+
+
+ Design Elements
+
+
+
+ Options that alter the design of Jellyfin.
+ Description for Design Elements user settings.
+
+
+
+ Use Splashscreen as Home Background
+ Option Title in user setting screen
+
+
+
+ Use generated splashscreen image as Jellyfin home background. Jellyfin will need to be closed and reopened for change to take effect.
+ Description for option in Setting Screen
+
diff --git a/settings/settings.json b/settings/settings.json
index 6661f231..1322e0f6 100644
--- a/settings/settings.json
+++ b/settings/settings.json
@@ -14,8 +14,60 @@
},
{
"title": "User Interface",
- "description": "Settings relating to how the how the applications looks",
+ "description": "Settings relating to how the how the application looks",
"children": [
+ {
+ "title": "Detail Page",
+ "description": "Options for details pages.",
+ "children": [
+ {
+ "title": "Hide Taglines",
+ "description": "Hides tagline text on details pages.",
+ "settingName": "ui.details.hidetagline",
+ "type": "bool",
+ "default": "false"
+ }
+ ]
+ },
+ {
+ "title": "TV Shows",
+ "description": "Options for TV Shows.",
+ "children": [
+ {
+ "title": "Blur Unwatched Episodes",
+ "description": "If enabled, images for unwatched episodes will be blurred.",
+ "settingName": "ui.tvshows.blurunwatched",
+ "type": "bool",
+ "default": "false"
+ }
+ ]
+ },
+ {
+ "title": "Screensaver",
+ "description": "Options for Jellyfin's screensaver.",
+ "children": [
+ {
+ "title": "Use Splashscreen as Screensaver Background",
+ "description": "Use generated splashscreen image as Jellyfin's screensaver background.",
+ "settingName": "ui.screensaver.splashBackground",
+ "type": "bool",
+ "default": "false"
+ }
+ ]
+ },
+ {
+ "title": "Design Elements",
+ "description": "Options that alter the design of Jellyfin.",
+ "children": [
+ {
+ "title": "Use Splashscreen as Home Background",
+ "description": "Use generated splashscreen image as Jellyfin home background. Jellyfin will need to be closed and reopened for change to take effect.",
+ "settingName": "ui.home.splashBackground",
+ "type": "bool",
+ "default": "false"
+ }
+ ]
+ },
{
"title": "Media Grid",
"description": "Media Grid Options",