From a93b175586302a77c5f1139d025fc3a4dc49a56e Mon Sep 17 00:00:00 2001 From: sevenrats Date: Wed, 6 Sep 2023 20:47:22 -0400 Subject: [PATCH 01/47] proof of concept - infer server url proto and port --- source/ShowScenes.brs | 2 +- source/utils/misc.brs | 117 +++++++++++++++++++++++++++++++++--------- 2 files changed, 93 insertions(+), 26 deletions(-) diff --git a/source/ShowScenes.brs b/source/ShowScenes.brs index a07715a4e..66bb6aa84 100644 --- a/source/ShowScenes.brs +++ b/source/ShowScenes.brs @@ -253,7 +253,7 @@ function CreateServerGroup() dialog.title = tr("Connecting to Server") m.scene.dialog = dialog - serverUrl = standardize_jellyfin_url(screen.serverUrl) + serverUrl = inferServerUrl(screen.serverUrl) 'If this is a different server from what we know, reset username/password setting if m.global.session.server.url <> serverUrl set_setting("username", "") diff --git a/source/utils/misc.brs b/source/utils/misc.brs index 7dbd99d02..0d034da7f 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -162,31 +162,101 @@ function option_dialog(options, message = "", defaultSelection = 0) as integer return show_dialog(message, options, defaultSelection) end function -' -' Take a jellyfin hostname and ensure it's a full url. -' prepend http or https and append default ports, and remove excess slashes -' -function standardize_jellyfin_url(url as string) - 'Append default ports - maxSlashes = 0 - if left(url, 8) = "https://" or left(url, 7) = "http://" - maxSlashes = 2 - end if - 'Check to make sure entry has no extra slashes before adding default ports. - if Instr(0, url, "/") = maxSlashes - if url.len() > 5 and mid(url, url.len() - 4, 1) <> ":" and mid(url, url.len() - 5, 1) <> ":" - if left(url, 5) = "https" - url = url + ":8920" - else - url = url + ":8096" +function inferServerUrl(url as string) + port = CreateObject("roMessagePort") + hosts = CreateObject("roAssociativeArray") + reqs = [] + candidates = urlCandidates(url) + print "PROCESSING CANDIDATES" + for each endpoint in candidates + req = CreateObject("roUrlTransfer") + reqs.push(req) ' keep in scope outside of loop, else -10001 + req.seturl(endpoint + "/system/info/public") + req.setMessagePort(port) + hosts.addreplace(req.getidentity().ToStr(), endpoint) + if endpoint.Left(8) = "https://" + req.setCertificatesFile("common:/certs/ca-bundle.crt") + end if + req.AsyncGetToString() + end for + handled = 0 + timeout = CreateObject("roTimespan") + print "TIMESPAN CREATED" + while timeout.totalseconds() < 15 + resp = wait(0, port) + if type(resp) = "roUrlEvent" + ' TODO + ' if response code is a 300 redirect then we should return the redirect url + ' Make sure this happens or make it happen + if resp.GetResponseCode() = 200 + print "THE SELECTED URL" + print hosts.lookup(resp.GetSourceIdentity().ToStr()) + print "" + return hosts.lookup(resp.GetSourceIdentity().ToStr()) end if end if + handled += 1 + if handled = reqs.count() + print("ALL HANDLED") + return invalid + end if + end while + print "TIMED OUT" + ' we never actually get here but the linter can't tell + return invalid +end function + +function urlCandidates(input as string) + url = parseUrl(input) + if url[1] = invalid + ' a proto wasn't declared + url = parseUrl("none://" + input) + end if + proto = url[1] + host = url[2] + port = url[3] + path = url[4] + print "" + print "THE PROTO" + print proto + print "THE HOST" + print host + print "THE PORT" + print port + print "THE PATH" + print path + protoCandidates = [] + supportedProtos = ["http:", "https:"] ' appending colons because the regex does + if proto = "none:" ' the user did not declare a protocol + ' try every supported proto + for each supportedProto in supportedProtos + protoCandidates.push(supportedProto + "//" + host) + end for + else + protoCandidates.push(proto + "//" + host) ' but still allow arbitrary protocols if they are declared end if - 'Append http:// to server - if left(url, 4) <> "http" - url = "http://" + url + print "THE PROTO CANDIDATES" + print protoCandidates + final_candidates = [] + if isValid(port) and port <> "" ' if the port is defined just use that + for each candidate in protoCandidates + final_candidates.push(candidate + port + path) + end for + else ' the port wasnt declared so use default jellyfin and proto ports + for each candidate in protoCandidates: + if candidate.startswith("https") + final_candidates.push(candidate + ":443" + path) + final_candidates.push(candidate + ":8920" + path) + else if candidate.startswith("http") + final_candidates.push(candidate + ":80" + path) + final_candidates.push(candidate + ":8096" + path) + end if + end for end if - return url + final_candidates.push(input) + print "FINAL CANDIDATES" + print final_candidates + return final_candidates end function sub setFieldTextValue(field, value) @@ -228,15 +298,12 @@ function isValidAndNotEmpty(input as dynamic) as boolean end if end function -' Returns an array from a url - [ url, proto, host, port, subdir/params ] -' If port or subdir are not found, an empty string will be added to the array -' Proto must be declared or array will be empty function parseUrl(url as string) as object + ' proto $1, host $2, port $3, the-rest $4 rgx = CreateObject("roRegex", "^(.*:)//([A-Za-z0-9\-\.]+)(:[0-9]+)?(.*)$", "") return rgx.Match(url) end function -' Returns true if the string is a loopback, such as 'localhost' or '127.0.0.1' function isLocalhost(url as string) as boolean ' https://stackoverflow.com/questions/8426171/what-regex-will-match-all-loopback-addresses rgx = CreateObject("roRegex", "^localhost$|^127(?:\.[0-9]+){0,2}\.[0-9]+$|^(?:0*\:)*?:?0*1$", "i") From 0d4ed65b29a704c5c3fb308406b6e3cb63fe265e Mon Sep 17 00:00:00 2001 From: sevenrats Date: Wed, 6 Sep 2023 20:58:03 -0400 Subject: [PATCH 02/47] dont fail if server not found --- source/ShowScenes.brs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ShowScenes.brs b/source/ShowScenes.brs index 66bb6aa84..89cf049cc 100644 --- a/source/ShowScenes.brs +++ b/source/ShowScenes.brs @@ -252,8 +252,8 @@ function CreateServerGroup() dialog = createObject("roSGNode", "ProgressDialog") dialog.title = tr("Connecting to Server") m.scene.dialog = dialog - serverUrl = inferServerUrl(screen.serverUrl) + if serverUrl = invalid then serverUrl = "" 'If this is a different server from what we know, reset username/password setting if m.global.session.server.url <> serverUrl set_setting("username", "") From 0b7b2d594c92a8a8b6e74a4c5d51b00060def15c Mon Sep 17 00:00:00 2001 From: sevenrats Date: Wed, 6 Sep 2023 21:02:07 -0400 Subject: [PATCH 03/47] dont fail if server not found --- source/ShowScenes.brs | 1 - source/utils/misc.brs | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/source/ShowScenes.brs b/source/ShowScenes.brs index 89cf049cc..804e564ee 100644 --- a/source/ShowScenes.brs +++ b/source/ShowScenes.brs @@ -253,7 +253,6 @@ function CreateServerGroup() dialog.title = tr("Connecting to Server") m.scene.dialog = dialog serverUrl = inferServerUrl(screen.serverUrl) - if serverUrl = invalid then serverUrl = "" 'If this is a different server from what we know, reset username/password setting if m.global.session.server.url <> serverUrl set_setting("username", "") diff --git a/source/utils/misc.brs b/source/utils/misc.brs index 0d034da7f..29305432b 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -198,12 +198,12 @@ function inferServerUrl(url as string) handled += 1 if handled = reqs.count() print("ALL HANDLED") - return invalid + return "" end if end while print "TIMED OUT" ' we never actually get here but the linter can't tell - return invalid + return "" end function function urlCandidates(input as string) From 93d683a7910b2faa184ae50cc0f348f4930e8f2e Mon Sep 17 00:00:00 2001 From: sevenrats Date: Wed, 6 Sep 2023 22:03:58 -0400 Subject: [PATCH 04/47] address comments, update debug statements --- source/utils/misc.brs | 37 +++++++++++++------------------------ 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index 29305432b..44bf3c20a 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -162,12 +162,14 @@ function option_dialog(options, message = "", defaultSelection = 0) as integer return show_dialog(message, options, defaultSelection) end function -function inferServerUrl(url as string) +' take an incomplete url string and use it to make educated guesses about +' the complete url. then tests these guesses to see if it can find a jf server +' returns the url of the server it found, or an empty string +function inferServerUrl(url as string) as string port = CreateObject("roMessagePort") hosts = CreateObject("roAssociativeArray") reqs = [] candidates = urlCandidates(url) - print "PROCESSING CANDIDATES" for each endpoint in candidates req = CreateObject("roUrlTransfer") reqs.push(req) ' keep in scope outside of loop, else -10001 @@ -181,7 +183,6 @@ function inferServerUrl(url as string) end for handled = 0 timeout = CreateObject("roTimespan") - print "TIMESPAN CREATED" while timeout.totalseconds() < 15 resp = wait(0, port) if type(resp) = "roUrlEvent" @@ -189,20 +190,18 @@ function inferServerUrl(url as string) ' if response code is a 300 redirect then we should return the redirect url ' Make sure this happens or make it happen if resp.GetResponseCode() = 200 - print "THE SELECTED URL" - print hosts.lookup(resp.GetSourceIdentity().ToStr()) - print "" - return hosts.lookup(resp.GetSourceIdentity().ToStr()) + selectedUrl = hosts.lookup(resp.GetSourceIdentity().ToStr()) + print "Successfully inferred server URL: " selectedUrl + return selectedUrl end if end if handled += 1 if handled = reqs.count() - print("ALL HANDLED") + print "inferServerUrl in utils/misc.brs failed to find a server from the string " url " but did not timeout." return "" end if end while - print "TIMED OUT" - ' we never actually get here but the linter can't tell + print "inferServerUrl in utils/misc.brs failed to find a server from the string " url " because it timed out." return "" end function @@ -216,15 +215,6 @@ function urlCandidates(input as string) host = url[2] port = url[3] path = url[4] - print "" - print "THE PROTO" - print proto - print "THE HOST" - print host - print "THE PORT" - print port - print "THE PATH" - print path protoCandidates = [] supportedProtos = ["http:", "https:"] ' appending colons because the regex does if proto = "none:" ' the user did not declare a protocol @@ -235,8 +225,6 @@ function urlCandidates(input as string) else protoCandidates.push(proto + "//" + host) ' but still allow arbitrary protocols if they are declared end if - print "THE PROTO CANDIDATES" - print protoCandidates final_candidates = [] if isValid(port) and port <> "" ' if the port is defined just use that for each candidate in protoCandidates @@ -254,8 +242,6 @@ function urlCandidates(input as string) end for end if final_candidates.push(input) - print "FINAL CANDIDATES" - print final_candidates return final_candidates end function @@ -298,12 +284,15 @@ function isValidAndNotEmpty(input as dynamic) as boolean end if end function +' Returns an array from a url = [ url, proto, host, port, subdir+params ] +' If port or subdir are not found, an empty string will be added to the array +' Proto must be declared or array will be empty function parseUrl(url as string) as object - ' proto $1, host $2, port $3, the-rest $4 rgx = CreateObject("roRegex", "^(.*:)//([A-Za-z0-9\-\.]+)(:[0-9]+)?(.*)$", "") return rgx.Match(url) end function +' Returns true if the string is a loopback, such as 'localhost' or '127.0.0.1' function isLocalhost(url as string) as boolean ' https://stackoverflow.com/questions/8426171/what-regex-will-match-all-loopback-addresses rgx = CreateObject("roRegex", "^localhost$|^127(?:\.[0-9]+){0,2}\.[0-9]+$|^(?:0*\:)*?:?0*1$", "i") From 01bfb317d2f16ebabd74f2d0a8b60aa151c06ef7 Mon Sep 17 00:00:00 2001 From: sevenrats Date: Sun, 10 Sep 2023 12:51:09 -0400 Subject: [PATCH 05/47] check for and remove trailing / --- source/utils/misc.brs | 1 + 1 file changed, 1 insertion(+) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index 44bf3c20a..cf66a60bf 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -215,6 +215,7 @@ function urlCandidates(input as string) host = url[2] port = url[3] path = url[4] + if path.endswith("/", 1) then path = path.Left(len(path) - 1) protoCandidates = [] supportedProtos = ["http:", "https:"] ' appending colons because the regex does if proto = "none:" ' the user did not declare a protocol From 481284a4b62659e07b1dd69053f1494d55b29de7 Mon Sep 17 00:00:00 2001 From: sevenrats Date: Sun, 10 Sep 2023 13:39:23 -0400 Subject: [PATCH 06/47] infer url deterministically --- source/utils/misc.brs | 1 - 1 file changed, 1 deletion(-) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index cf66a60bf..e7088c53a 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -242,7 +242,6 @@ function urlCandidates(input as string) end if end for end if - final_candidates.push(input) return final_candidates end function From dfb4dcbed29f2117668cae176ce8456dc1cf4782 Mon Sep 17 00:00:00 2001 From: sevenrats Date: Sun, 10 Sep 2023 14:48:55 -0400 Subject: [PATCH 07/47] make we found jellyfin and not emby --- source/utils/misc.brs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index e7088c53a..2713a444d 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -189,7 +189,7 @@ function inferServerUrl(url as string) as string ' TODO ' if response code is a 300 redirect then we should return the redirect url ' Make sure this happens or make it happen - if resp.GetResponseCode() = 200 + if resp.GetResponseCode() = 200 and isJellyfinServer(resp.GetString()) selectedUrl = hosts.lookup(resp.GetSourceIdentity().ToStr()) print "Successfully inferred server URL: " selectedUrl return selectedUrl @@ -438,3 +438,11 @@ sub stopLoadingSpinner() m.scene.dialog.close = true end if end sub + +function isJellyfinServer(si as object) as boolean + d = ParseJson(si) + if isValid(d) and isValid(d.ProductName) + return d.ProductName = "Jellyfin Server" + end if + return False +end function From 0f41e6506e38f732c70f5e23235919e47c9006e9 Mon Sep 17 00:00:00 2001 From: sevenrats Date: Sun, 10 Sep 2023 14:49:56 -0400 Subject: [PATCH 08/47] document new function --- source/utils/misc.brs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index 2713a444d..0d2015bff 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -439,6 +439,8 @@ sub stopLoadingSpinner() end if end sub +' accepts the raw json string of /system/info/public and returns +' a boolean indicating if ProductName is "Jellyfin Server" function isJellyfinServer(si as object) as boolean d = ParseJson(si) if isValid(d) and isValid(d.ProductName) From f29cddfdc1431a8aefa2346b544697b3bd7efb92 Mon Sep 17 00:00:00 2001 From: sevenrats Date: Sun, 10 Sep 2023 14:53:06 -0400 Subject: [PATCH 09/47] serverinfo is a string not an object --- source/utils/misc.brs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index 0d2015bff..947c7963f 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -441,7 +441,7 @@ end sub ' accepts the raw json string of /system/info/public and returns ' a boolean indicating if ProductName is "Jellyfin Server" -function isJellyfinServer(si as object) as boolean +function isJellyfinServer(si as string) as boolean d = ParseJson(si) if isValid(d) and isValid(d.ProductName) return d.ProductName = "Jellyfin Server" From bffaf0691ea6d273429fc6b02e54d82b2abee455 Mon Sep 17 00:00:00 2001 From: sevenrats Date: Sun, 10 Sep 2023 15:40:39 -0400 Subject: [PATCH 10/47] try to find string strip bug --- source/utils/misc.brs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index 947c7963f..6aaa00719 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -189,8 +189,11 @@ function inferServerUrl(url as string) as string ' TODO ' if response code is a 300 redirect then we should return the redirect url ' Make sure this happens or make it happen - if resp.GetResponseCode() = 200 and isJellyfinServer(resp.GetString()) + if resp.GetResponseCode() = 200 selectedUrl = hosts.lookup(resp.GetSourceIdentity().ToStr()) + print("CANDIDATE:") + print(selectedUrl) + isJellyfinServer(resp.GetString()) print "Successfully inferred server URL: " selectedUrl return selectedUrl end if @@ -215,7 +218,10 @@ function urlCandidates(input as string) host = url[2] port = url[3] path = url[4] - if path.endswith("/", 1) then path = path.Left(len(path) - 1) + print "THE PATH IS: " path + print "The type of path is: " Type(path) + if path.endswith("/") then path = path.Left(len(path) - 1) + print "THE PATH AFTER I MODIFY IT: " path protoCandidates = [] supportedProtos = ["http:", "https:"] ' appending colons because the regex does if proto = "none:" ' the user did not declare a protocol @@ -439,9 +445,10 @@ sub stopLoadingSpinner() end if end sub -' accepts the raw json string of /system/info/public and returns -' a boolean indicating if ProductName is "Jellyfin Server" -function isJellyfinServer(si as string) as boolean +function isJellyfinServer(si as object) as boolean + 'v = ParseJson(si).ProductName = "Jellyfin Server" + print "THE SI SENT TO THE ISJELLYFIN CHECK" + print si d = ParseJson(si) if isValid(d) and isValid(d.ProductName) return d.ProductName = "Jellyfin Server" From 6b714a8780f5e7a8a15ffe534b0c946bef1a99cd Mon Sep 17 00:00:00 2001 From: sevenrats Date: Sun, 10 Sep 2023 19:22:11 -0400 Subject: [PATCH 11/47] trim the input not the path --- source/utils/misc.brs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index 6aaa00719..a6179a068 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -209,6 +209,7 @@ function inferServerUrl(url as string) as string end function function urlCandidates(input as string) + if input.endswith("/") then input = input.Left(len(input) - 1) url = parseUrl(input) if url[1] = invalid ' a proto wasn't declared @@ -218,9 +219,10 @@ function urlCandidates(input as string) host = url[2] port = url[3] path = url[4] + print "THE PARTS" + print proto " " host " " port " " path print "THE PATH IS: " path print "The type of path is: " Type(path) - if path.endswith("/") then path = path.Left(len(path) - 1) print "THE PATH AFTER I MODIFY IT: " path protoCandidates = [] supportedProtos = ["http:", "https:"] ' appending colons because the regex does From c0974db1a2bf4f8b13428e2ecb6f0a514d2bc618 Mon Sep 17 00:00:00 2001 From: sevenrats Date: Sun, 10 Sep 2023 19:30:40 -0400 Subject: [PATCH 12/47] restore new function doc --- source/utils/misc.brs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index a6179a068..d4480f3fd 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -447,6 +447,8 @@ sub stopLoadingSpinner() end if end sub +' accepts the raw json string of /system/info/public and returns +' a boolean indicating if ProductName is "Jellyfin Server" function isJellyfinServer(si as object) as boolean 'v = ParseJson(si).ProductName = "Jellyfin Server" print "THE SI SENT TO THE ISJELLYFIN CHECK" From f75c9925e9f012eb4f30895f31b5ebd4bac152fe Mon Sep 17 00:00:00 2001 From: sevenrats Date: Sun, 10 Sep 2023 21:36:40 -0400 Subject: [PATCH 13/47] don't write ports if we dont need to --- source/utils/misc.brs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index d4480f3fd..f14593bca 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -1,3 +1,5 @@ +import "pkg:/source/utils/config.brs" + function isNodeEvent(msg, field as string) as boolean return type(msg) = "roSGNodeEvent" and msg.getField() = field end function @@ -166,6 +168,16 @@ end function ' the complete url. then tests these guesses to see if it can find a jf server ' returns the url of the server it found, or an empty string function inferServerUrl(url as string) as string + ' if this server is already stored, just use the value directly + ' the server had to get resolved in the first place to get into the registry + saved = get_setting("saved_servers") + if isValid(saved) + savedServers = ParseJson(saved) + if isValid(savedServers.lookup(url)) then return url + end if + ' remove the above code at or after server version 10.9 or after 2025 + ' as its mostly compat for legacy registry entries that predate this code + port = CreateObject("roMessagePort") hosts = CreateObject("roAssociativeArray") reqs = [] @@ -241,11 +253,12 @@ function urlCandidates(input as string) end for else ' the port wasnt declared so use default jellyfin and proto ports for each candidate in protoCandidates: + ' proto default + final_candidates.push(candidate + path) + ' jellyfin defaults if candidate.startswith("https") - final_candidates.push(candidate + ":443" + path) final_candidates.push(candidate + ":8920" + path) else if candidate.startswith("http") - final_candidates.push(candidate + ":80" + path) final_candidates.push(candidate + ":8096" + path) end if end for From ec7ad49792e62f8a1cc8a7c9363335411843ee06 Mon Sep 17 00:00:00 2001 From: sevenrats Date: Sun, 10 Sep 2023 21:37:15 -0400 Subject: [PATCH 14/47] remove untrue comment --- source/utils/misc.brs | 2 -- 1 file changed, 2 deletions(-) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index f14593bca..e606b610a 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -175,8 +175,6 @@ function inferServerUrl(url as string) as string savedServers = ParseJson(saved) if isValid(savedServers.lookup(url)) then return url end if - ' remove the above code at or after server version 10.9 or after 2025 - ' as its mostly compat for legacy registry entries that predate this code port = CreateObject("roMessagePort") hosts = CreateObject("roAssociativeArray") From 30bd09e5585f62257b1883c1b88ad5bb729f0a04 Mon Sep 17 00:00:00 2001 From: sevenrats Date: Sun, 10 Sep 2023 22:09:16 -0400 Subject: [PATCH 15/47] address comment --- source/ShowScenes.brs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/ShowScenes.brs b/source/ShowScenes.brs index 804e564ee..004fb692b 100644 --- a/source/ShowScenes.brs +++ b/source/ShowScenes.brs @@ -253,12 +253,14 @@ function CreateServerGroup() dialog.title = tr("Connecting to Server") m.scene.dialog = dialog serverUrl = inferServerUrl(screen.serverUrl) - 'If this is a different server from what we know, reset username/password setting - if m.global.session.server.url <> serverUrl - set_setting("username", "") - set_setting("password", "") + if serverUrl <> "" + 'If this is a different server from what we know, reset username/password setting + if m.global.session.server.url <> serverUrl + set_setting("username", "") + set_setting("password", "") + end if + set_setting("server", serverUrl) end if - set_setting("server", serverUrl) isConnected = session.server.UpdateURL(serverUrl) serverInfoResult = invalid From 14899f64e310bea655fd4c3ce1b9ab8c384bc0c3 Mon Sep 17 00:00:00 2001 From: sevenrats Date: Sun, 10 Sep 2023 22:16:28 -0400 Subject: [PATCH 16/47] address comments --- source/ShowScenes.brs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/source/ShowScenes.brs b/source/ShowScenes.brs index 004fb692b..a60c9bef7 100644 --- a/source/ShowScenes.brs +++ b/source/ShowScenes.brs @@ -253,7 +253,11 @@ function CreateServerGroup() dialog.title = tr("Connecting to Server") m.scene.dialog = dialog serverUrl = inferServerUrl(screen.serverUrl) - if serverUrl <> "" + + isConnected = session.server.UpdateURL(serverUrl) + serverInfoResult = invalid + if isConnected + serverInfoResult = ServerInfo() 'If this is a different server from what we know, reset username/password setting if m.global.session.server.url <> serverUrl set_setting("username", "") @@ -261,12 +265,6 @@ function CreateServerGroup() end if set_setting("server", serverUrl) end if - - isConnected = session.server.UpdateURL(serverUrl) - serverInfoResult = invalid - if isConnected - serverInfoResult = ServerInfo() - end if dialog.close = true if isConnected = false or serverInfoResult = invalid @@ -276,6 +274,7 @@ function CreateServerGroup() screen.errorMessage = tr("Server not found, is it online?") SignOut(false) else + if isValid(serverInfoResult.Error) and serverInfoResult.Error ' If server redirected received, update the URL if isValid(serverInfoResult.UpdatedUrl) From fbfe130ee6b491438e0cd3846cdf2f218f324fe0 Mon Sep 17 00:00:00 2001 From: sevenrats Date: Mon, 11 Sep 2023 11:32:59 -0400 Subject: [PATCH 17/47] clean up debug prints --- source/utils/misc.brs | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index 2e70aa1f2..a99ffb824 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -201,8 +201,6 @@ function inferServerUrl(url as string) as string ' Make sure this happens or make it happen if resp.GetResponseCode() = 200 selectedUrl = hosts.lookup(resp.GetSourceIdentity().ToStr()) - print("CANDIDATE:") - print(selectedUrl) isJellyfinServer(resp.GetString()) print "Successfully inferred server URL: " selectedUrl return selectedUrl @@ -229,11 +227,6 @@ function urlCandidates(input as string) host = url[2] port = url[3] path = url[4] - print "THE PARTS" - print proto " " host " " port " " path - print "THE PATH IS: " path - print "The type of path is: " Type(path) - print "THE PATH AFTER I MODIFY IT: " path protoCandidates = [] supportedProtos = ["http:", "https:"] ' appending colons because the regex does if proto = "none:" ' the user did not declare a protocol @@ -461,9 +454,6 @@ end sub ' accepts the raw json string of /system/info/public and returns ' a boolean indicating if ProductName is "Jellyfin Server" function isJellyfinServer(si as object) as boolean - 'v = ParseJson(si).ProductName = "Jellyfin Server" - print "THE SI SENT TO THE ISJELLYFIN CHECK" - print si d = ParseJson(si) if isValid(d) and isValid(d.ProductName) return d.ProductName = "Jellyfin Server" From 02b4c9fbd49e0ca01e81155b3141d443875eec5d Mon Sep 17 00:00:00 2001 From: sevenrats Date: Wed, 13 Sep 2023 10:51:49 -0400 Subject: [PATCH 18/47] fix non descriptive argument --- source/utils/misc.brs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index a99ffb824..ba2bbca3c 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -453,8 +453,8 @@ end sub ' accepts the raw json string of /system/info/public and returns ' a boolean indicating if ProductName is "Jellyfin Server" -function isJellyfinServer(si as object) as boolean - d = ParseJson(si) +function isJellyfinServer(systemInfo as object) as boolean + d = ParseJson(systemInfo) if isValid(d) and isValid(d.ProductName) return d.ProductName = "Jellyfin Server" end if From babc6685e3358f0ac98a67aedd5a8b1156866b99 Mon Sep 17 00:00:00 2001 From: sevenrats Date: Wed, 13 Sep 2023 10:52:44 -0400 Subject: [PATCH 19/47] stop snake casing --- source/utils/misc.brs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index ba2bbca3c..df5f25073 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -237,24 +237,24 @@ function urlCandidates(input as string) else protoCandidates.push(proto + "//" + host) ' but still allow arbitrary protocols if they are declared end if - final_candidates = [] + finalCandidates = [] if isValid(port) and port <> "" ' if the port is defined just use that for each candidate in protoCandidates - final_candidates.push(candidate + port + path) + finalCandidates.push(candidate + port + path) end for else ' the port wasnt declared so use default jellyfin and proto ports for each candidate in protoCandidates: ' proto default - final_candidates.push(candidate + path) + finalCandidates.push(candidate + path) ' jellyfin defaults if candidate.startswith("https") - final_candidates.push(candidate + ":8920" + path) + finalCandidates.push(candidate + ":8920" + path) else if candidate.startswith("http") - final_candidates.push(candidate + ":8096" + path) + finalCandidates.push(candidate + ":8096" + path) end if end for end if - return final_candidates + return finalCandidates end function sub setFieldTextValue(field, value) From 6b16ed9d2e19915f491b7bbb990b9968c50d8846 Mon Sep 17 00:00:00 2001 From: sevenrats Date: Thu, 14 Sep 2023 18:30:41 -0400 Subject: [PATCH 20/47] function definition --- source/utils/misc.brs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index df5f25073..a5a70e134 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -216,6 +216,9 @@ function inferServerUrl(url as string) as string return "" end function +' this is the "educated guess" logic for inferServerUrl that generates a list of complete url's as candidates +' for the tests in inferServerUrl. takes an incomplete url as an arg and returns a list of extrapolated +' full urls. function urlCandidates(input as string) if input.endswith("/") then input = input.Left(len(input) - 1) url = parseUrl(input) From d4483a2f4870b8eb4276a2f1ffc423311e100302 Mon Sep 17 00:00:00 2001 From: Austin Crandall <79296037+sevenrats@users.noreply.github.com> Date: Thu, 14 Sep 2023 19:08:04 -0400 Subject: [PATCH 21/47] Update source/utils/misc.brs Co-authored-by: Charles Ewert --- source/utils/misc.brs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index a5a70e134..c31ce1777 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -199,9 +199,8 @@ function inferServerUrl(url as string) as string ' TODO ' if response code is a 300 redirect then we should return the redirect url ' Make sure this happens or make it happen - if resp.GetResponseCode() = 200 + if resp.GetResponseCode() = 200 and isJellyfinServer(resp.GetString()) selectedUrl = hosts.lookup(resp.GetSourceIdentity().ToStr()) - isJellyfinServer(resp.GetString()) print "Successfully inferred server URL: " selectedUrl return selectedUrl end if From 2af861fedc44f4c09f4b78262d7cdbe94f381dd7 Mon Sep 17 00:00:00 2001 From: Charles Ewert Date: Sat, 23 Sep 2023 22:14:47 -0400 Subject: [PATCH 22/47] fix early exit from settings screen --- components/settings/settings.brs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/components/settings/settings.brs b/components/settings/settings.brs index d4354e065..fa34e1aa0 100644 --- a/components/settings/settings.brs +++ b/components/settings/settings.brs @@ -1,7 +1,6 @@ import "pkg:/source/utils/config.brs" import "pkg:/source/utils/misc.brs" import "pkg:/source/roku_modules/log/LogMixin.brs" -import "pkg:/source/api/sdk.bs" sub init() m.log = log.Logger("Settings") @@ -202,16 +201,21 @@ sub radioSettingChanged() set_user_setting(selectedSetting.settingName, m.radioSetting.content.getChild(m.radioSetting.checkedItem).id) end sub +' Returns true if any of the data entry forms are in focus +function isFormInFocus() as boolean + if m.settingDetail.focusedChild <> invalid or m.radioSetting.hasFocus() or m.boolSetting.hasFocus() or m.integerSetting.hasFocus() + return true + end if + return false +end function + function onKeyEvent(key as string, press as boolean) as boolean if not press then return false if (key = "back" or key = "left") and m.settingsMenu.focusedChild <> invalid and m.userLocation.Count() > 1 LoadMenu({}) return true - else if (key = "back" or key = "left") and m.settingDetail.focusedChild <> invalid - m.settingsMenu.setFocus(true) - return true - else if (key = "back" or key = "left") and m.radioSetting.hasFocus() + else if (key = "back" or key = "left") and isFormInFocus() = true m.settingsMenu.setFocus(true) return true end if From 1e035337dedeb9fdf3a0347966a39669573abae7 Mon Sep 17 00:00:00 2001 From: sevenrats Date: Sun, 15 Oct 2023 19:40:09 -0400 Subject: [PATCH 23/47] dont crash on bad input --- source/utils/misc.brs | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/source/utils/misc.brs b/source/utils/misc.brs index c31ce1777..c8f503f1a 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -193,25 +193,27 @@ function inferServerUrl(url as string) as string end for handled = 0 timeout = CreateObject("roTimespan") - while timeout.totalseconds() < 15 - resp = wait(0, port) - if type(resp) = "roUrlEvent" - ' TODO - ' if response code is a 300 redirect then we should return the redirect url - ' Make sure this happens or make it happen - if resp.GetResponseCode() = 200 and isJellyfinServer(resp.GetString()) - selectedUrl = hosts.lookup(resp.GetSourceIdentity().ToStr()) - print "Successfully inferred server URL: " selectedUrl - return selectedUrl + if hosts.count() > 0 + while timeout.totalseconds() < 15 + resp = wait(0, port) + if type(resp) = "roUrlEvent" + ' TODO + ' if response code is a 300 redirect then we should return the redirect url + ' Make sure this happens or make it happen + if resp.GetResponseCode() = 200 and isJellyfinServer(resp.GetString()) + selectedUrl = hosts.lookup(resp.GetSourceIdentity().ToStr()) + print "Successfully inferred server URL: " selectedUrl + return selectedUrl + end if end if - end if - handled += 1 - if handled = reqs.count() - print "inferServerUrl in utils/misc.brs failed to find a server from the string " url " but did not timeout." - return "" - end if - end while - print "inferServerUrl in utils/misc.brs failed to find a server from the string " url " because it timed out." + handled += 1 + if handled = reqs.count() + print "inferServerUrl in utils/misc.brs failed to find a server from the string " url " but did not timeout." + return "" + end if + end while + print "inferServerUrl in utils/misc.brs failed to find a server from the string " url " because it timed out." + end if return "" end function @@ -225,6 +227,8 @@ function urlCandidates(input as string) ' a proto wasn't declared url = parseUrl("none://" + input) end if + ' if the proto is still invalid then the string is not valid + if url[1] = invalid then return [] proto = url[1] host = url[2] port = url[3] From 5641e8e9983c13347ae03a1e9d0230c47feb22ae Mon Sep 17 00:00:00 2001 From: Charles Ewert Date: Wed, 25 Oct 2023 22:39:27 -0400 Subject: [PATCH 24/47] move code to repo instead of using npm package --- components/ButtonGroupVert.bs | 44 +++++++++++++++++++++++++++++++++ components/ButtonGroupVert.xml | 7 ++++++ components/music/ArtistView.xml | 4 +-- package-lock.json | 7 ------ package.json | 1 - 5 files changed, 53 insertions(+), 10 deletions(-) create mode 100644 components/ButtonGroupVert.bs create mode 100644 components/ButtonGroupVert.xml diff --git a/components/ButtonGroupVert.bs b/components/ButtonGroupVert.bs new file mode 100644 index 000000000..ce06e415b --- /dev/null +++ b/components/ButtonGroupVert.bs @@ -0,0 +1,44 @@ +sub init() + m.top.layoutDirection = "vert" + m.top.observeField("focusedChild", "onFocusChanged") + m.top.observeField("focusButton", "onFocusButtonChanged") +end sub + +sub onFocusChanged() + if m.top.hasFocus() + m.top.getChild(0).setFocus(true) + m.top.focusButton = 0 + end if +end sub + +sub onFocusButtonChanged() + m.top.getChild(m.top.focusButton).setFocus(true) +end sub + +function onKeyEvent(key as string, press as boolean) as boolean + if key = "OK" + m.top.selected = m.top.focusButton + return true + end if + + if not press then return false + + if key = "down" + i = m.top.focusButton + target = i + 1 + if target >= m.top.getChildCount() then return false + m.top.focusButton = target + return true + else if key = "up" + i = m.top.focusButton + target = i - 1 + if target < 0 then return false + m.top.focusButton = target + return true + else if key = "left" or key = "right" + m.top.escape = key + return true + end if + + return false +end function diff --git a/components/ButtonGroupVert.xml b/components/ButtonGroupVert.xml new file mode 100644 index 000000000..2075dad9e --- /dev/null +++ b/components/ButtonGroupVert.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/components/music/ArtistView.xml b/components/music/ArtistView.xml index c8b9be042..902f79d7a 100644 --- a/components/music/ArtistView.xml +++ b/components/music/ArtistView.xml @@ -33,11 +33,11 @@ - + - + diff --git a/package-lock.json b/package-lock.json index 2cb7f1ba7..833e8d7ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,6 @@ "license": "GPL-2.0", "dependencies": { "@rokucommunity/bslib": "0.1.1", - "bgv": "npm:button-group-vert@1.0.2", "brighterscript-formatter": "1.6.34", "intKeyboard": "npm:integer-keyboard@1.0.12", "log": "npm:roku-log@0.11.1", @@ -708,12 +707,6 @@ "tweetnacl": "^0.14.3" } }, - "node_modules/bgv": { - "name": "button-group-vert", - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/button-group-vert/-/button-group-vert-1.0.2.tgz", - "integrity": "sha512-pfrUYI/aFubtjhA8I08qNCtDluyIScksldR15icR7Pj24tNELYCYXE7M0jaU7xgdiFAhZJcYuB3aCXzyI1CoMw==" - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", diff --git a/package.json b/package.json index 00c5e543a..db99dd591 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,6 @@ "description": "Roku app for Jellyfin media server", "dependencies": { "@rokucommunity/bslib": "0.1.1", - "bgv": "npm:button-group-vert@1.0.2", "brighterscript-formatter": "1.6.34", "intKeyboard": "npm:integer-keyboard@1.0.12", "log": "npm:roku-log@0.11.1", From e394586c4a9a4ed00fc9d1257450c52ff60e1334 Mon Sep 17 00:00:00 2001 From: Charles Ewert Date: Sat, 28 Oct 2023 11:39:14 -0400 Subject: [PATCH 25/47] Import intKeyboard code instead of using NPM package --- components/keyboards/IntegerKeyboard.bs | 81 ++++++++++++++++++++ components/keyboards/IntegerKeyboard.xml | 9 +++ components/keyboards/IntegerKeyboardKDF.json | 73 ++++++++++++++++++ components/settings/settings.xml | 2 +- package-lock.json | 7 -- package.json | 1 - 6 files changed, 164 insertions(+), 9 deletions(-) create mode 100644 components/keyboards/IntegerKeyboard.bs create mode 100644 components/keyboards/IntegerKeyboard.xml create mode 100644 components/keyboards/IntegerKeyboardKDF.json diff --git a/components/keyboards/IntegerKeyboard.bs b/components/keyboards/IntegerKeyboard.bs new file mode 100644 index 000000000..2f50a8999 --- /dev/null +++ b/components/keyboards/IntegerKeyboard.bs @@ -0,0 +1,81 @@ +sub init() + m.top.keyGrid.keyDefinitionUri = "pkg:/components/keyboards/IntegerKeyboardKDF.json" +end sub + +function onKeyEvent(key as string, press as boolean) as boolean + if key = "back" + m.top.escape = key + return true + end if + + if not press then return false + + if key = "left" + if m.top.textEditBox.hasFocus() + m.top.escape = key + return true + else if m.top.focusedChild.keyFocused = "1" + m.top.escape = key + return true + else if m.top.focusedChild.keyFocused = "4" + m.top.escape = key + return true + else if m.top.focusedChild.keyFocused = "7" + m.top.escape = key + return true + else if m.top.focusedChild.keyFocused = "backspace" + m.top.escape = key + return true + end if + end if + + if key = "right" + if m.top.textEditBox.hasFocus() + m.top.escape = key + return true + else if m.top.focusedChild.keyFocused = "3" + m.top.escape = key + return true + else if m.top.focusedChild.keyFocused = "6" + m.top.escape = key + return true + else if m.top.focusedChild.keyFocused = "9" + m.top.escape = key + return true + else if m.top.focusedChild.keyFocused = "submit" + m.top.escape = key + return true + end if + end if + + if key = "up" + if m.top.textEditBox.hasFocus() + m.top.escape = key + return true + end if + end if + + if key = "down" + if m.top.focusedChild.keyFocused = "0" + m.top.escape = key + return true + else if m.top.focusedChild.keyFocused = "backspace" + m.top.escape = key + return true + else if m.top.focusedChild.keyFocused = "submit" + m.top.escape = key + return true + end if + end if + + return false +end function + +function keySelected(key as string) as boolean + if key = "submit" + m.top.submit = true + return true + end if + + return false +end function diff --git a/components/keyboards/IntegerKeyboard.xml b/components/keyboards/IntegerKeyboard.xml new file mode 100644 index 000000000..dd72c68b5 --- /dev/null +++ b/components/keyboards/IntegerKeyboard.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/components/keyboards/IntegerKeyboardKDF.json b/components/keyboards/IntegerKeyboardKDF.json new file mode 100644 index 000000000..e79ceb17c --- /dev/null +++ b/components/keyboards/IntegerKeyboardKDF.json @@ -0,0 +1,73 @@ +{ + "keyboardWidthFHD": 495, + "keyboardHeightFHD": 300, + "keyboardWidthHD": 324, + "keyboardHeightHD": 200, + "sections": [ + { + "grids": [ + { + "rows": [ + { + "keys": [ + { + "label": "1" + }, + { + "label": "2" + }, + { + "label": "3" + } + ] + }, + { + "keys": [ + { + "label": "4" + }, + { + "label": "5" + }, + { + "label": "6" + } + ] + }, + { + "keys": [ + { + "label": "7" + }, + { + "label": "8" + }, + { + "label": "9" + } + ] + }, + { + "keys": [ + { + "icon": "theme:DKB_DeleteKeyBitmap", + "focusIcon": "theme:DKB_DeleteKeyFocusBitmap", + "autoRepeat": 1, + "strOut": "backspace" + }, + { + "label": "0" + }, + { + "icon": "pkg:/images/icons/check_white.png", + "focusIcon": "pkg:/images/icons/check_black.png", + "strOut": "submit" + } + ] + } + ] + } + ] + } + ] +} diff --git a/components/settings/settings.xml b/components/settings/settings.xml index f35a6aa02..b34a4139c 100644 --- a/components/settings/settings.xml +++ b/components/settings/settings.xml @@ -35,7 +35,7 @@ - + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 2f8166801..38749f00d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,6 @@ "@rokucommunity/bslib": "0.1.1", "bgv": "npm:button-group-vert@1.0.2", "brighterscript-formatter": "1.6.34", - "intKeyboard": "npm:integer-keyboard@1.0.12", "log": "npm:roku-log@0.11.1", "sob": "npm:slide-out-button@1.0.1" }, @@ -2206,12 +2205,6 @@ "sanitize-html": "^1.13.0" } }, - "node_modules/intKeyboard": { - "name": "integer-keyboard", - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/integer-keyboard/-/integer-keyboard-1.0.12.tgz", - "integrity": "sha512-DSLyd/PvtEBfc4grICTxSLu94Yo/Vm6rNerRZRbbzRrP0HQ9pYaquoY2RD9x6gAmica43gsFimScNpuRYVe54w==" - }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", diff --git a/package.json b/package.json index 854df4f72..b94b6cad8 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "@rokucommunity/bslib": "0.1.1", "bgv": "npm:button-group-vert@1.0.2", "brighterscript-formatter": "1.6.34", - "intKeyboard": "npm:integer-keyboard@1.0.12", "log": "npm:roku-log@0.11.1", "sob": "npm:slide-out-button@1.0.1" }, From 8c0fc20eced8fa244e865c4820bf1aa3f49eb387 Mon Sep 17 00:00:00 2001 From: Charles Ewert Date: Sat, 28 Oct 2023 22:36:35 -0400 Subject: [PATCH 26/47] add quickplay support to search results --- components/search/SearchResults.brs | 6 ++++++ source/ShowScenes.brs | 1 + 2 files changed, 7 insertions(+) diff --git a/components/search/SearchResults.brs b/components/search/SearchResults.brs index 8427232d0..f8f18e7b8 100644 --- a/components/search/SearchResults.brs +++ b/components/search/SearchResults.brs @@ -60,6 +60,12 @@ function onKeyEvent(key as string, press as boolean) as boolean else if key = "right" m.searchSelect.setFocus(true) return true + else if key = "play" + print "play was pressed from search results" + if m.searchSelect.rowItemFocused <> invalid + m.top.quickPlayNode = m.searchSelect.content.getChild(m.searchSelect.rowItemFocused[0]).getChild(m.searchSelect.rowItemFocused[1]) + return true + end if end if return false diff --git a/source/ShowScenes.brs b/source/ShowScenes.brs index ebac0c585..e86643783 100644 --- a/source/ShowScenes.brs +++ b/source/ShowScenes.brs @@ -855,6 +855,7 @@ end function function CreateSearchPage() ' Search + Results Page group = CreateObject("roSGNode", "searchResults") + group.observeField("quickPlayNode", m.port) options = group.findNode("searchSelect") options.observeField("itemSelected", m.port) From 21b3fce2664d184e1a0b7b10e8e3bc09043e503d Mon Sep 17 00:00:00 2001 From: Charles Ewert Date: Sun, 29 Oct 2023 11:06:28 -0400 Subject: [PATCH 27/47] Only show the "Next Episode" button for episodes --- components/video/VideoPlayerView.brs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/components/video/VideoPlayerView.brs b/components/video/VideoPlayerView.brs index b4f479484..bafcf1853 100644 --- a/components/video/VideoPlayerView.brs +++ b/components/video/VideoPlayerView.brs @@ -218,6 +218,9 @@ end sub ' Checks if we need to display the Next Episode button sub checkTimeToDisplayNextEpisode() + ' only display the Next Episode button when the content is type "Episode" + if m.top.content.contenttype <> 4 then return + if int(m.top.position) >= (m.top.duration - 30) showNextEpisodeButton() updateCount() From 2fbf96890108b1d802a1bcb615acdea4bd2a28a7 Mon Sep 17 00:00:00 2001 From: Charles Ewert Date: Sun, 29 Oct 2023 14:49:55 -0400 Subject: [PATCH 28/47] use opacity for next episode check and hide button before it reaches 0 --- components/JFVideo.brs | 34 +++++++++++++++-------- components/JFVideo.xml | 2 +- components/video/VideoPlayerView.brs | 41 ++++++++++++++++++++-------- components/video/VideoPlayerView.xml | 2 +- 4 files changed, 54 insertions(+), 25 deletions(-) diff --git a/components/JFVideo.brs b/components/JFVideo.brs index cebacb033..5ae0af9a7 100644 --- a/components/JFVideo.brs +++ b/components/JFVideo.brs @@ -90,10 +90,13 @@ end sub ' ' Runs Next Episode button animation and sets focus to button sub showNextEpisodeButton() - if m.global.session.user.configuration.EnableNextEpisodeAutoPlay and not m.nextEpisodeButton.visible + if m.top.content.contenttype <> 4 then return ' only display when content is type "Episode" + if m.nextupbuttonseconds = 0 then return ' is the button disabled? + + if m.nextEpisodeButton.opacity = 0 and m.global.session.user.configuration.EnableNextEpisodeAutoPlay + m.nextEpisodeButton.visible = true m.showNextEpisodeButtonAnimation.control = "start" m.nextEpisodeButton.setFocus(true) - m.nextEpisodeButton.visible = true end if end sub @@ -117,13 +120,22 @@ end sub ' Checks if we need to display the Next Episode button sub checkTimeToDisplayNextEpisode() - if m.top.content.contenttype <> 4 then return - if m.nextupbuttonseconds = 0 then return - - if int(m.top.position) >= (m.top.duration - m.nextupbuttonseconds) - showNextEpisodeButton() - updateCount() - return + if m.top.content.contenttype <> 4 then return ' only display when content is type "Episode" + if m.nextupbuttonseconds = 0 then return ' is the button disabled? + + if isValid(m.top.duration) and isValid(m.top.position) + nextEpisodeCountdown = Int(m.top.duration - m.top.position) + + if nextEpisodeCountdown < 0 and m.nextEpisodeButton.opacity = 0.9 + hideNextEpisodeButton() + return + else if nextEpisodeCountdown > 1 and int(m.top.position) >= (m.top.duration - m.nextupbuttonseconds - 1) + updateCount() + if m.nextEpisodeButton.opacity = 0 + showNextEpisodeButton() + end if + return + end if end if if m.nextEpisodeButton.visible or m.nextEpisodeButton.hasFocus() @@ -266,8 +278,8 @@ function onKeyEvent(key as string, press as boolean) as boolean return true else 'Hide Next Episode Button - if m.nextEpisodeButton.visible or m.nextEpisodeButton.hasFocus() - m.nextEpisodeButton.visible = false + if m.nextEpisodeButton.opacity > 0 or m.nextEpisodeButton.hasFocus() + m.nextEpisodeButton.opacity = 0 m.nextEpisodeButton.setFocus(false) m.top.setFocus(true) end if diff --git a/components/JFVideo.xml b/components/JFVideo.xml index 8ad34d794..57ae3c684 100644 --- a/components/JFVideo.xml +++ b/components/JFVideo.xml @@ -40,7 +40,7 @@ - + diff --git a/components/video/VideoPlayerView.brs b/components/video/VideoPlayerView.brs index bafcf1853..5d5d80235 100644 --- a/components/video/VideoPlayerView.brs +++ b/components/video/VideoPlayerView.brs @@ -41,6 +41,7 @@ sub init() m.nextEpisodeButton = m.top.findNode("nextEpisode") m.nextEpisodeButton.text = tr("Next Episode") m.nextEpisodeButton.setFocus(false) + m.nextupbuttonseconds = m.global.session.user.settings["playback.nextupbuttonseconds"].ToInt() m.showNextEpisodeButtonAnimation = m.top.findNode("showNextEpisodeButton") m.hideNextEpisodeButtonAnimation = m.top.findNode("hideNextEpisodeButton") @@ -195,17 +196,24 @@ end sub ' ' Runs Next Episode button animation and sets focus to button sub showNextEpisodeButton() - if m.global.session.user.configuration.EnableNextEpisodeAutoPlay and not m.nextEpisodeButton.visible + if m.top.content.contenttype <> 4 then return ' only display when content is type "Episode" + if m.nextupbuttonseconds = 0 then return ' is the button disabled? + + if m.nextEpisodeButton.opacity = 0 and m.global.session.user.configuration.EnableNextEpisodeAutoPlay + m.nextEpisodeButton.visible = true m.showNextEpisodeButtonAnimation.control = "start" m.nextEpisodeButton.setFocus(true) - m.nextEpisodeButton.visible = true end if end sub ' 'Update count down text sub updateCount() - m.nextEpisodeButton.text = tr("Next Episode") + " " + Int(m.top.duration - m.top.position).toStr() + nextEpisodeCountdown = Int(m.top.duration - m.top.position) + if nextEpisodeCountdown < 0 + nextEpisodeCountdown = 0 + end if + m.nextEpisodeButton.text = tr("Next Episode") + " " + nextEpisodeCountdown.toStr() end sub ' @@ -218,13 +226,22 @@ end sub ' Checks if we need to display the Next Episode button sub checkTimeToDisplayNextEpisode() - ' only display the Next Episode button when the content is type "Episode" - if m.top.content.contenttype <> 4 then return - - if int(m.top.position) >= (m.top.duration - 30) - showNextEpisodeButton() - updateCount() - return + if m.top.content.contenttype <> 4 then return ' only display when content is type "Episode" + if m.nextupbuttonseconds = 0 then return ' is the button disabled? + + if isValid(m.top.duration) and isValid(m.top.position) + nextEpisodeCountdown = Int(m.top.duration - m.top.position) + + if nextEpisodeCountdown < 0 and m.nextEpisodeButton.opacity = 0.9 + hideNextEpisodeButton() + return + else if nextEpisodeCountdown > 1 and int(m.top.position) >= (m.top.duration - m.nextupbuttonseconds - 1) + updateCount() + if m.nextEpisodeButton.opacity = 0 + showNextEpisodeButton() + end if + return + end if end if if m.nextEpisodeButton.visible or m.nextEpisodeButton.hasFocus() @@ -366,8 +383,8 @@ function onKeyEvent(key as string, press as boolean) as boolean return true else 'Hide Next Episode Button - if m.nextEpisodeButton.visible or m.nextEpisodeButton.hasFocus() - m.nextEpisodeButton.visible = false + if m.nextEpisodeButton.opacity > 0 or m.nextEpisodeButton.hasFocus() + m.nextEpisodeButton.opacity = 0 m.nextEpisodeButton.setFocus(false) m.top.setFocus(true) end if diff --git a/components/video/VideoPlayerView.xml b/components/video/VideoPlayerView.xml index 609cfc11a..e86a591a5 100644 --- a/components/video/VideoPlayerView.xml +++ b/components/video/VideoPlayerView.xml @@ -36,7 +36,7 @@ - + From 187a0528ef80d8a5a9ef9537b7cf343e3cd85b10 Mon Sep 17 00:00:00 2001 From: Charles Ewert Date: Sun, 29 Oct 2023 15:12:37 -0400 Subject: [PATCH 29/47] precent focusing on the search results until there is data --- components/search/SearchResults.brs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/search/SearchResults.brs b/components/search/SearchResults.brs index f8f18e7b8..07ce4f9ae 100644 --- a/components/search/SearchResults.brs +++ b/components/search/SearchResults.brs @@ -57,7 +57,7 @@ function onKeyEvent(key as string, press as boolean) as boolean if key = "left" and m.searchSelect.isinFocusChain() m.searchAlphabox.setFocus(true) return true - else if key = "right" + else if key = "right" and m.searchHelpText.visible = false m.searchSelect.setFocus(true) return true else if key = "play" From a942cb5efd3d9cbe691be6ba541aaf0d7479b0e1 Mon Sep 17 00:00:00 2001 From: Charles Ewert Date: Sun, 29 Oct 2023 15:22:03 -0400 Subject: [PATCH 30/47] use TotalRecordCount to check search results state --- components/search/SearchResults.brs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/search/SearchResults.brs b/components/search/SearchResults.brs index 07ce4f9ae..34ce62a74 100644 --- a/components/search/SearchResults.brs +++ b/components/search/SearchResults.brs @@ -57,7 +57,7 @@ function onKeyEvent(key as string, press as boolean) as boolean if key = "left" and m.searchSelect.isinFocusChain() m.searchAlphabox.setFocus(true) return true - else if key = "right" and m.searchHelpText.visible = false + else if key = "right" and m.searchSelect.itemdata <> invalid and m.searchSelect.itemdata.TotalRecordCount > 0 m.searchSelect.setFocus(true) return true else if key = "play" From 9ab431a30de4d5a102fb2f12cc9a175f8f6cf46d Mon Sep 17 00:00:00 2001 From: Charles Ewert Date: Mon, 30 Oct 2023 19:25:08 -0400 Subject: [PATCH 31/47] don't run certain workflows on forks --- .github/workflows/auto-close-stale-pr.yml | 1 + .github/workflows/automations.yml | 2 ++ .github/workflows/build-docs.yml | 3 +-- .github/workflows/deploy-api-docs.yml | 1 + 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-close-stale-pr.yml b/.github/workflows/auto-close-stale-pr.yml index 5bcaa05be..6f1027d59 100644 --- a/.github/workflows/auto-close-stale-pr.yml +++ b/.github/workflows/auto-close-stale-pr.yml @@ -5,6 +5,7 @@ on: jobs: stale: + if: github.repository == 'jellyfin/jellyfin-roku' runs-on: ubuntu-latest permissions: pull-requests: write diff --git a/.github/workflows/automations.yml b/.github/workflows/automations.yml index 2086d6d75..23dacdd9e 100644 --- a/.github/workflows/automations.yml +++ b/.github/workflows/automations.yml @@ -12,6 +12,7 @@ on: jobs: project: + if: github.repository == 'jellyfin/jellyfin-roku' name: Project board 📊 runs-on: ubuntu-latest steps: @@ -23,6 +24,7 @@ jobs: column: In progress repo-token: ${{ secrets.JF_BOT_TOKEN }} label: + if: github.repository == 'jellyfin/jellyfin-roku' name: Labeling 🏷️ runs-on: ubuntu-latest steps: diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 65dfad4ac..b380a1519 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -7,12 +7,11 @@ on: jobs: docs: + if: github.repository == 'jellyfin/jellyfin-roku' runs-on: ubuntu-latest - permissions: # Give the default GITHUB_TOKEN write permission to commit and push the changed files back to the repository. contents: write - steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 with: diff --git a/.github/workflows/deploy-api-docs.yml b/.github/workflows/deploy-api-docs.yml index 3d9952801..92b7eb9bb 100644 --- a/.github/workflows/deploy-api-docs.yml +++ b/.github/workflows/deploy-api-docs.yml @@ -23,6 +23,7 @@ concurrency: jobs: deploy: + if: github.repository == 'jellyfin/jellyfin-roku' environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} From 377827c8d9b02971169414330d7ecd5e14e2dcea Mon Sep 17 00:00:00 2001 From: tharvik Date: Wed, 4 Oct 2023 16:25:12 +0200 Subject: [PATCH 32/47] make: revamp * rewrite it in a single, more standard makefile * forward most commands to npm * support parallel use * get rid of load-time auth check and trust user * rework targets * `prep_commit` -> `format`, `lint` * `dev`, `beta`, `release` -> `build-dev`, `build-prod`, `build-tests` * `prep_staging`, `package`: rm * update devguide accordingly Fixes: #1401 --- Makefile | 132 ++++++++++++++++++++++++----- app.mk | 215 ----------------------------------------------- docs/DEVGUIDE.md | 17 ++-- 3 files changed, 121 insertions(+), 243 deletions(-) delete mode 100644 app.mk diff --git a/Makefile b/Makefile index e42dd3c56..a154d8f65 100644 --- a/Makefile +++ b/Makefile @@ -1,28 +1,120 @@ - -######################################################################### -# Makefile Usage: -# -# 1) Make sure that you have the curl command line executable in your path -# 2) Set the variable ROKU_DEV_TARGET in your environment to the IP -# address of your Roku box. (e.g. export ROKU_DEV_TARGET=192.168.1.1. -# Set in your this variable in your shell startup (e.g. .bashrc) -# 3) and set up the ROKU_DEV_PASSWORD environment variable, too ########################################################################## +# Need curl and npm in your $PATH +# If you want to get_images, you'll also need convert from ImageMagick +########################################################################## + +VERSION := 1.6.6 + +## usage + +.PHONY: help +help: + @echo "targets" + @echo " build-dev build development package" + @echo " build-prod build production package" + @echo " build-tests build tests package" + @echo " format format brighscripts" + @echo " lint lint code and documentation" + @echo " get_images update official jellyfin images" + @echo "targets needing ROKU_DEV_TARGET" + @echo " home press the home button on device" + @echo " launch launch installed" + @echo "targets needing ROKU_DEV_TARGET and ROKU_DEV_PASSWORD" + @echo " install install on device" + @echo " remove remove installed from device" + @echo " screenshot take a screenshot" + @echo " deploy lint, remove, install" + @echo "environment" + @echo " ROKU_DEV_TARGET with device's IP" + @echo " ROKU_DEV_PASSWORD with device's password" + +## development + +BUILT_PKG := out/$(notdir $(CURDIR)).zip + +node_modules/: package-lock.json; npm ci + +.PHONY: build-dev build-prod build-tests +.NOTPARALLEL: build-dev build-prod build-tests # output to the same file +build-dev: node_modules/; npm run build +build-prod: node_modules/; npm run build-prod +build-tests: node_modules/; npm run build-tests + +# default to build-dev if file doesn't exist +$(BUILT_PKG):; $(MAKE) build-dev + +.PHONY: format +format: node_modules/; npm run format + +.PHONY: lint +lint: node_modules/ + npm run check-formatting + npm run lint + npm run lint-json + npm run lint-markdown + npm run lint-spelling + npm run validate + +## roku box + +CURL_CMD ?= curl --show-error + +ifdef ROKU_DEV_TARGET + +.PHONY: home launch +home: + $(CURL_CMD) -XPOST http://$(ROKU_DEV_TARGET):8060/keypress/home + sleep 2 # wait for device reaction +launch: + $(CURL_CMD) -XPOST http://$(ROKU_DEV_TARGET):8060/launch/dev + +ifdef ROKU_DEV_PASSWORD + +CURL_LOGGED_CMD := $(CURL_CMD) --user rokudev:$(ROKU_DEV_PASSWORD) --digest + +EXTRACT_ERROR_CMD := grep "//" | sed "s[[[" +.PHONY: install remove +install: $(BUILT_PKG) home + $(CURL_LOGGED_CMD) -F "mysubmit=Install" -F "archive=@$<" -F "passwd=" http://$(ROKU_DEV_TARGET)/plugin_install | $(EXTRACT_ERROR_CMD) + $(MAKE) launch +remove: + $(CURL_LOGGED_CMD) -F "mysubmit=Delete" -F "archive=" -F "passwd=" http://$(ROKU_DEV_TARGET)/plugin_install | $(EXTRACT_ERROR_CMD) + +.PHONY: screenshot +screenshot: + $(CURL_LOGGED_CMD) -o screenshot.jpg "http://$(ROKU_DEV_TARGET)/pkgs/dev.jpg" + +.PHONY: deploy +.NOTPARALLEL: deploy +deploy: lint remove install + +endif # ROKU_DEV_PASSWORD -APPNAME = Jellyfin_Roku -VERSION = 1.6.6 +endif # ROKU_DEV_TARGET -ZIP_EXCLUDE= -x xml/* -x artwork/* -x \*.pkg -x storeassets\* -x keys\* -x \*/.\* -x *.git* -x *.DS* -x *.pkg* -x dist/**\* -x out/**\* +## sync branding -include app.mk +CONVERT_CMD ?= convert -gravity center +CONVERT_BLUEBG_CMD := $(CONVERT_CMD) -background "\#000b25" +BANNER := images/banner-dark.svg +ICON := images/icon-transparent.svg -dev: - $(MAKE) BUILD='dev' package +images/:; mkdir $@ -beta: - $(MAKE) BUILD='beta' package +.PHONY: redo # force rerun +$(BANNER) $(ICON): images/ redo + $(CURL_CMD) https://raw.githubusercontent.com/jellyfin/jellyfin-ux/master/branding/SVG/$(@F) > $@ -release: - $(MAKE) BUILD='release' package +images/logo.png: $(BANNER); $(CONVERT_CMD) -background none -scale 1000x48 -extent 180x48 $< $@ +images/channel-poster_fhd.png: $(BANNER); $(CONVERT_BLUEBG_CMD) -scale 535x400 -extent 540x405 $< $@ +images/channel-poster_hd.png: $(BANNER); $(CONVERT_BLUEBG_CMD) -scale 275x205 -extent 336x210 $< $@ +images/channel-poster_sd.png: $(BANNER); $(CONVERT_BLUEBG_CMD) -scale 182x135 -extent 246x140 $< $@ +images/splash-screen_fhd.jpg: $(BANNER); $(CONVERT_BLUEBG_CMD) -scale 540x540 -extent 1920x1080 $< $@ +images/splash-screen_hd.jpg: $(BANNER); $(CONVERT_BLUEBG_CMD) -scale 360x360 -extent 1280x720 $< $@ +images/splash-screen_sd.jpg: $(BANNER); $(CONVERT_BLUEBG_CMD) -scale 240x240 -extent 720x480 $< $@ -deploy: prep_staging remove install +.PHONY: get_images +get_images: $(ICON) +get_images: images/logo.png +get_images: images/channel-poster_fhd.png images/channel-poster_hd.png images/channel-poster_sd.png +get_images: images/splash-screen_fhd.jpg images/splash-screen_hd.jpg images/splash-screen_sd.jpg diff --git a/app.mk b/app.mk deleted file mode 100644 index 9e09f21eb..000000000 --- a/app.mk +++ /dev/null @@ -1,215 +0,0 @@ -######################################################################### -# common include file for application Makefiles -# -# Makefile Common Usage: -# > make -# > make install -# > make remove -# -# By default, ZIP_EXCLUDE will exclude -x \*.pkg -x storeassets\* -x keys\* -x .\* -# If you define ZIP_EXCLUDE in your Makefile, it will override the default setting. -# -# To exclude different files from being added to the zipfile during packaging -# include a line like this:ZIP_EXCLUDE= -x keys\* -# that will exclude any file who's name begins with 'keys' -# to exclude using more than one pattern use additional '-x ' arguments -# ZIP_EXCLUDE= -x \*.pkg -x storeassets\* -# -# Important Notes: -# To use the "install" and "remove" targets to install your -# application directly from the shell, you must do the following: -# -# 1) Make sure that you have the curl command line executable in your path -# 2) Set the variable ROKU_DEV_TARGET in your environment to the IP -# address of your Roku box. (e.g. export ROKU_DEV_TARGET=192.168.1.1. -# Set in your this variable in your shell startup (e.g. .bashrc) -# 3) Set the variable ROKU_DEV_PASSWORD in your environment for the password -# associated with the rokudev account. -########################################################################## - -BUILD = dev - -DISTREL = $(shell pwd)/out -COMMONREL ?= $(shell pwd)/common -SOURCEREL = $(shell pwd) - -ZIPREL = $(DISTREL)/apps -STAGINGREL = $(DISTREL)/staging -PKGREL = $(DISTREL)/packages - -APPSOURCEDIR = source -IMPORTFILES = $(foreach f,$(IMPORTS),$(COMMONREL)/$f.brs) -IMPORTCLEANUP = $(foreach f,$(IMPORTS),$(APPSOURCEDIR)/$f.brs) - -GITCOMMIT = $(shell git rev-parse --short HEAD) -BUILDDATE = $(shell date -u | awk '{ print $$2,$$3,$$6,$$4 }') - -BRANDING_ROOT = https://raw.githubusercontent.com/jellyfin/jellyfin-ux/master/branding/SVG -ICON_SOURCE = icon-transparent.svg -BANNER_SOURCE = banner-dark.svg -OUTPUT_DIR = ./images - -# Locales supported by Roku -SUPPORTED_LOCALES = en_US en_GB fr_CA es_ES de_DE it_IT pt_BR - -ifdef ROKU_DEV_PASSWORD - USERPASS = rokudev:$(ROKU_DEV_PASSWORD) -else - USERPASS = rokudev -endif - -ifndef ZIP_EXCLUDE - ZIP_EXCLUDE= -x \*.pkg -x storeassets\* -x keys\* -x \*/.\* -endif - -HTTPSTATUS = $(shell curl --silent --write-out "\n%{http_code}\n" $(ROKU_DEV_TARGET)) - -ifeq "$(HTTPSTATUS)" " 401" - CURLCMD = curl -S --tcp-fastopen --connect-timeout 2 --max-time 30 --retry 5 -else - CURLCMD = curl -S --tcp-fastopen --connect-timeout 2 --max-time 30 --retry 5 --user $(USERPASS) --digest -endif - -home: - @echo "Forcing roku to main menu screen $(ROKU_DEV_TARGET)..." - curl -s -S -d '' http://$(ROKU_DEV_TARGET):8060/keypress/home - sleep 2 - -prep_staging: - @echo "*** Preparing Staging Area ***" - @echo " >> removing old application zip $(ZIPREL)/$(APPNAME).zip" - @if [ -e "$(ZIPREL)/$(APPNAME).zip" ]; \ - then \ - rm $(ZIPREL)/$(APPNAME).zip; \ - fi - - @echo " >> creating destination directory $(ZIPREL)" - @if [ ! -d $(ZIPREL) ]; \ - then \ - mkdir -p $(ZIPREL); \ - fi - - @echo " >> setting directory permissions for $(ZIPREL)" - @if [ ! -w $(ZIPREL) ]; \ - then \ - chmod 755 $(ZIPREL); \ - fi - - @echo " >> creating destination directory $(STAGINGREL)" - @if [ -d $(STAGINGREL) ]; \ - then \ - find $(STAGINGREL) -delete; \ - fi; \ - mkdir -p $(STAGINGREL); \ - chmod -R 755 $(STAGINGREL); \ - - echo " >> moving application to $(STAGINGREL)" - cp $(SOURCEREL)/manifest $(STAGINGREL)/manifest - cp -r $(SOURCEREL)/source $(STAGINGREL) - cp -r $(SOURCEREL)/components $(STAGINGREL) - cp -r $(SOURCEREL)/images $(STAGINGREL) - cp -r $(SOURCEREL)/settings $(STAGINGREL) - - # Copy only supported languages over to staging - mkdir $(STAGINGREL)/locale - cp -r $(foreach f,$(SUPPORTED_LOCALES),$(SOURCEREL)/locale/$f) $(STAGINGREL)/locale - -ifneq ($(BUILD), dev) - echo "COPYING $(BUILD)" - cp $(SOURCEREL)/resources/branding/$(BUILD)/* $(STAGINGREL)/images -endif - -package: prep_staging - @echo "*** Creating $(APPNAME).zip ***" - @echo " >> copying imports" - @if [ "$(IMPORTFILES)" ]; \ - then \ - mkdir $(APPSOURCEDIR)/common; \ - cp -f -p -v $(IMPORTFILES) $(APPSOURCEDIR)/common/; \ - fi \ - - @echo " >> generating build info file" - mkdir -p $(STAGINGREL)/$(APPSOURCEDIR) - @if [ -e "$(STAGINGREL)/$(APPSOURCEDIR)/buildinfo.brs" ]; \ - then \ - rm $(STAGINGREL)/$(APPSOURCEDIR)/buildinfo.brs; \ - fi - echo " >> generating build info file";\ - echo "Function BuildDate()" >> $(STAGINGREL)/$(APPSOURCEDIR)/buildinfo.brs - echo " return \"${BUILDDATE}\"" >> $(STAGINGREL)/$(APPSOURCEDIR)/buildinfo.brs - echo "End Function" >> $(STAGINGREL)/$(APPSOURCEDIR)/buildinfo.brs - echo "Function BuildCommit()" >> $(STAGINGREL)/$(APPSOURCEDIR)/buildinfo.brs - echo " return \"${GITCOMMIT}\"" >> $(STAGINGREL)/$(APPSOURCEDIR)/buildinfo.brs - echo "End Function" >> $(STAGINGREL)/$(APPSOURCEDIR)/buildinfo.brs - - # zip .png files without compression - # do not zip up any files ending with '~' - @echo " >> creating application zip $(STAGINGREL)/../apps/$(APPNAME)-$(BUILD).zip" - @if [ -d $(STAGINGREL) ]; \ - then \ - cd $(STAGINGREL); \ - (zip -0 -r "../apps/$(APPNAME)-$(BUILD).zip" . -i \*.png $(ZIP_EXCLUDE)); \ - (zip -9 -r "../apps/$(APPNAME)-$(BUILD).zip" . -x \*~ -x \*.png $(ZIP_EXCLUDE)); \ - cd $(SOURCEREL);\ - else \ - echo "Source for $(APPNAME) not found at $(STAGINGREL)"; \ - fi - - @if [ "$(IMPORTCLEANUP)" ]; \ - then \ - echo " >> deleting imports";\ - rm -r -f $(APPSOURCEDIR)/common; \ - fi \ - - @echo "*** packaging $(APPNAME)-$(BUILD) complete ***" - -prep_commit: - npm run format - npm ci - npm run validate - npm run check-formatting - -install: prep_staging package home - @echo "Installing $(APPNAME)-$(BUILD) to host $(ROKU_DEV_TARGET)" - @$(CURLCMD) --user $(USERPASS) --digest -F "mysubmit=Install" -F "archive=@$(ZIPREL)/$(APPNAME)-$(BUILD).zip" -F "passwd=" http://$(ROKU_DEV_TARGET)/plugin_install | grep "//" | sed "s[[[" - -remove: - @echo "Removing $(APPNAME) from host $(ROKU_DEV_TARGET)" - @if [ "$(HTTPSTATUS)" == " 401" ]; \ - then \ - $(CURLCMD) --user $(USERPASS) --digest -F "mysubmit=Delete" -F "archive=" -F "passwd=" http://$(ROKU_DEV_TARGET)/plugin_install | grep "//" | sed "s[[[" ; \ - else \ - curl -s -S -F "mysubmit=Delete" -F "archive=" -F "passwd=" http://$(ROKU_DEV_TARGET)/plugin_install | grep "//" | sed "s[[[" ; \ - fi - -get_images: - @if [ ! -d $(OUTPUT_DIR) ]; \ - then \ - mkdir -p $(OUTPUT_DIR); \ - echo "Creating images folder"; \ - fi - - echo "Downloading SVG source files from $(BRANDING_ROOT)" - @wget $(BRANDING_ROOT)/$(ICON_SOURCE) > /dev/null - @wget $(BRANDING_ROOT)/$(BANNER_SOURCE) > /dev/null - echo "Finished downloading SVG files" - - echo "Creating image files" - @convert -background "#000b25" -gravity center -scale 535x400 -extent 540x405 $(BANNER_SOURCE) $(OUTPUT_DIR)/channel-poster_fhd.png - @convert -background "#000b25" -gravity center -scale 275x205 -extent 336x210 $(BANNER_SOURCE) $(OUTPUT_DIR)/channel-poster_hd.png - @convert -background "#000b25" -gravity center -scale 182x135 -extent 246x140 $(BANNER_SOURCE) $(OUTPUT_DIR)/channel-poster_sd.png - - @convert -background none -gravity center -scale 1000x48 -extent 180x48 $(BANNER_SOURCE) $(OUTPUT_DIR)/logo.png - - @convert -background "#000b25" -gravity center -scale 540x540 -extent 1920x1080 $(BANNER_SOURCE) $(OUTPUT_DIR)/splash-screen_fhd.jpg - @convert -background "#000b25" -gravity center -scale 360x360 -extent 1280x720 $(BANNER_SOURCE) $(OUTPUT_DIR)/splash-screen_hd.jpg - @convert -background "#000b25" -gravity center -scale 240x240 -extent 720x480 $(BANNER_SOURCE) $(OUTPUT_DIR)/splash-screen_sd.jpg - echo "Finished creating image files" - -screenshot: - SCREENSHOT_TIME=`date "+%s"`; \ - curl -m 1 -o screenshot.jpg --user $(USERPASS) --digest "http://$(ROKU_DEV_TARGET)/pkgs/dev.jpg?time=$$SCREENSHOT_TIME" -H 'Accept: image/png,image/*;q=0.8,*/*;q=0.5' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate' - - - - diff --git a/docs/DEVGUIDE.md b/docs/DEVGUIDE.md index 62087919f..6652b153b 100644 --- a/docs/DEVGUIDE.md +++ b/docs/DEVGUIDE.md @@ -46,6 +46,7 @@ cd jellyfin-roku Install Dependencies: ```bash +sudo apt-get install npm npm install ``` @@ -86,16 +87,16 @@ Example: Install Necessary Packages ```bash -sudo apt-get install wget make zip +sudo apt-get install make ``` Build the package ```bash -make dev +make build-dev ``` -This will create a zip in `out/apps/Jellyfin_Roku-dev.zip`. Login to your Roku's device in your browser and upload the zip file then run install. +This will create a zip in `out/jellyfin-roku.zip`. Login to your Roku's device in your browser and upload the zip file then run install. ## Method 3: Direct load to Roku Device @@ -113,7 +114,7 @@ Normally you would have to open up your browser and upload a .zip file containin ### Install Necessary Packages ```bash -sudo apt-get install wget make zip +sudo apt-get install make curl ``` ### Deploy @@ -121,7 +122,7 @@ sudo apt-get install wget make zip Package up the application, send it to your Roku, and launch the channel: ```bash -make install +make build-dev install ``` Note: You only have to run this command once if you are not a developer. The Jellyfin channel will still be installed after rebooting your Roku device. @@ -147,7 +148,7 @@ git pull Deploy the app: ```bash -make install +make build-dev install ``` ## Command Line Workflow @@ -167,7 +168,7 @@ sudo apt-get install nodejs npm Before committing your code, please run: ```bash -make prep_commit +make format lint ``` This will format your code and run the CI checks locally to ensure you will pass the CI tests. @@ -179,7 +180,7 @@ This repo already contains all necessary images for the app. This script only ne Install necessary packages: ```bash -sudo apt-get install imagemagick +sudo apt-get install curl imagemagick ``` Download and convert images: From cffc51863cc92853f65d220c5da30d8c299c7ca0 Mon Sep 17 00:00:00 2001 From: tharvik Date: Thu, 5 Oct 2023 02:55:42 +0200 Subject: [PATCH 33/47] devguide: better vscode/make split --- dictionary.txt | 3 +- docs/DEVGUIDE.md | 110 +++++++++++++++++------------------------------ 2 files changed, 42 insertions(+), 71 deletions(-) diff --git a/dictionary.txt b/dictionary.txt index edc060f2c..1cbf407c4 100644 --- a/dictionary.txt +++ b/dictionary.txt @@ -6,6 +6,7 @@ sideload Sideload Reddit DEVGUIDE +ImageMagick ing hardcode Hardcoding @@ -20,4 +21,4 @@ HTTPS dropdown JSDoc JavaScript -namespaces \ No newline at end of file +namespaces diff --git a/docs/DEVGUIDE.md b/docs/DEVGUIDE.md index 6652b153b..fd80f3077 100644 --- a/docs/DEVGUIDE.md +++ b/docs/DEVGUIDE.md @@ -5,25 +5,23 @@ Follow the steps below to install the app on your personal Roku device. This wil - [Dev Guide For The Jellyfin Roku App](#dev-guide-for-the-jellyfin-roku-app) - [Developer Mode](#developer-mode) - [Clone the GitHub Repo](#clone-the-github-repo) + - [Install Dependencies](#install-dependencies) - [Method 1: Visual Studio Code](#method-1-visual-studio-code) - [Install VSCode](#install-vscode) - [Usage](#usage) - [Hardcoding Roku Information](#hardcoding-roku-information) - - [Method 2: Sideload to Roku Device Manually](#method-2-sideload-to-roku-device-manually) - - [Method 3: Direct load to Roku Device](#method-3-direct-load-to-roku-device) - - [Login Details](#login-details) - - [Install Necessary Packages](#install-necessary-packages) + - [Method 2: Command Line](#method-2-command-line) + - [Workflow](#workflow) + - [Install Command Line Dependencies](#install-command-line-dependencies) - [Deploy](#deploy) - - [Bug/Crash Reports](#bugcrash-reports) - - [Upgrade](#upgrade) - - [Command Line Workflow](#command-line-workflow) + - [Bug/Crash Reports](#bugcrash-reports) + - [(Optional) Update Images](#optional-update-images) - [Committing](#committing) - - [(Optional) Update Images](#optional-update-images) - [Adding a User Setting](#adding-a-user-setting) - [The order of any particular menu is as follows](#the-order-of-any-particular-menu-is-as-follows) - [When giving your setting a name](#when-giving-your-setting-a-name) - [When giving your setting a description](#when-giving-your-setting-a-description) - - [**Remember to add all new strings to locale/en\_US/translations.ts**](#remember-to-add-all-new-strings-to-localeen_ustranslationsts) + - [**Remember to add all new strings to locale/en_US/translations.ts**](#remember-to-add-all-new-strings-to-localeen_ustranslationsts) ## Developer Mode @@ -43,10 +41,13 @@ Open up the new folder: cd jellyfin-roku ``` -Install Dependencies: +## Install Dependencies + +You'll need [`npm`](https://nodejs.org), version 16 at least. + +Then, use it to install dependencies ```bash -sudo apt-get install npm npm install ``` @@ -74,21 +75,25 @@ Out of the box, the BrightScript extension will prompt you to pick a Roku device ```json { - "brightscript.debug.host": "YOUR_ROKU_HOST_HERE", - "brightscript.debug.password": "YOUR_ROKU_DEV_PASSWORD_HERE", + "brightscript.debug.host": "YOUR_ROKU_HOST_HERE", + "brightscript.debug.password": "YOUR_ROKU_DEV_PASSWORD_HERE" } ``` Example: ![image](https://user-images.githubusercontent.com/2544493/170485209-0dbe6787-8026-47e7-9095-1df96cda8a0a.png) -## Method 2: Sideload to Roku Device Manually +## Method 2: Command Line -Install Necessary Packages +### Workflow -```bash -sudo apt-get install make -``` +Modify code -> `make build-dev install` -> Use Roku remote to test changes -> `telnet ${ROKU_DEV_TARGET} 8085` -> `CTRL + ]` -> `quit + ENTER` + +You will need to use telnet to see log statements, warnings, and error reports. You won't always need to telnet into your device but the workflow above is typical when you are new to BrightScript or are working on tricky code. + +### Install Command Line Dependencies + +You'll need [`make`](https://www.gnu.org/software/make) and [`curl`](https://curl.se). Build the package @@ -96,11 +101,10 @@ Build the package make build-dev ``` -This will create a zip in `out/jellyfin-roku.zip`. Login to your Roku's device in your browser and upload the zip file then run install. - -## Method 3: Direct load to Roku Device +This will create a zip in `out/jellyfin-roku.zip`, that you can upload on your Roku's device via your browser. +Or you can continue with the next steps to do it via the command line. -### Login Details +### Deploy Run this command - replacing the IP and password with your Roku device IP and dev password from the first step: @@ -109,27 +113,17 @@ export ROKU_DEV_TARGET=192.168.1.234 export ROKU_DEV_PASSWORD=password ``` -Normally you would have to open up your browser and upload a .zip file containing the app code. These commands enable the app to be zipped up and installed on the Roku automatically which is essential for developers and makes it easy to upgrade in the future for users. - -### Install Necessary Packages - -```bash -sudo apt-get install make curl -``` - -### Deploy - Package up the application, send it to your Roku, and launch the channel: ```bash -make build-dev install +make install ``` Note: You only have to run this command once if you are not a developer. The Jellyfin channel will still be installed after rebooting your Roku device. -## Bug/Crash Reports +### Bug/Crash Reports -Did the app crash? Find a nasty bug? Use the this command to view the error log and [report it to the developers](https://github.com/jellyfin/jellyfin-roku/issues): +Did the app crash? Find a nasty bug? Use this command to view the error log and [report it to the developers](https://github.com/jellyfin/jellyfin-roku/issues): ```bash telnet ${ROKU_DEV_TARGET} 8085 @@ -137,30 +131,22 @@ telnet ${ROKU_DEV_TARGET} 8085 To exit telnet: `CTRL + ]` and then type `quit + ENTER` -## Upgrade - -Navigate to the folder where you installed the app then upgrade the code to the latest version: +You can also take a screenshot of the app to augment the bug report. ```bash -git pull +make screenshot ``` -Deploy the app: +### (Optional) Update Images -```bash -make build-dev install -``` - -## Command Line Workflow - -Modify code -> `make install` -> Use Roku remote to test changes -> `telnet ${ROKU_DEV_TARGET} 8085` -> `CTRL + ]` -> `quit + ENTER` +This repo already contains all necessary images for the app. This script only needs to be run when the [official Jellyfin images](https://github.com/jellyfin/jellyfin-ux) are changed to allow us to update the repo images. -Unfortunately there is no debugger. You will need to use telnet to see log statements, warnings, and error reports. You won't always need to telnet into your device but the workflow above is typical when you are new to BrightScript or are working on tricky code. +You'll need `convert`, from [ImageMagick](https://imagemagick.org) -Install necessary packages: +Download and convert images: ```bash -sudo apt-get install nodejs npm +make get_images ``` ## Committing @@ -168,30 +154,14 @@ sudo apt-get install nodejs npm Before committing your code, please run: ```bash -make format lint -``` - -This will format your code and run the CI checks locally to ensure you will pass the CI tests. - -## (Optional) Update Images - -This repo already contains all necessary images for the app. This script only needs to be run when the [official Jellyfin images](https://github.com/jellyfin/jellyfin-ux) are changed to allow us to update the repo images. - -Install necessary packages: - -```bash -sudo apt-get install curl imagemagick +npm run lint ``` -Download and convert images: - -```bash -make get_images -``` +And fix any encountered issue. ## Adding a User Setting -Your new functionality may need a setting to configure its behavior, or, sometimes, we may ask you to add a setting for your new functionality, so that users may enable or disable it. If you find yourself in this position, please observe the following considerations when adding your new user setting. +Your new functionality may need a setting to configure its behavior, or, sometimes, we may ask you to add a setting for your new functionality, so that users may enable or disable it. If you find yourself in this position, please observe the following considerations when adding your new user setting. ### The order of any particular menu is as follows @@ -201,7 +171,7 @@ Your new functionality may need a setting to configure its behavior, or, sometim ### When giving your setting a name -Ideally, your setting will be named with a relevant noun such as ```Cinema Mode``` or ```Codec Support.``` Sometimes there is no such name that is sufficiently specific, such as with ```Clock```. In this case you must use a verb phrase to name your setting, such as ```Hide Clock.``` If your verb phrase _must_ be long to be specific, you may drop implied verbs if absolutely necessary, such as how ```Text Subtitles Only``` drops the implied ```Show.``` Do not use the infinitive form ```action-doing``` or ```doing stuff.``` Instead, use the imperative: ```Do Action``` or ```Do Stuff.``` Remember that _characters are a commodity in names._ +Ideally, your setting will be named with a relevant noun such as `Cinema Mode` or `Codec Support.` Sometimes there is no such name that is sufficiently specific, such as with `Clock`. In this case you must use a verb phrase to name your setting, such as `Hide Clock.` If your verb phrase _must_ be long to be specific, you may drop implied verbs if absolutely necessary, such as how `Text Subtitles Only` drops the implied `Show.` Do not use the infinitive form `action-doing` or `doing stuff.` Instead, use the imperative: `Do Action` or `Do Stuff.` Remember that _characters are a commodity in names._ Generally, we should not repeat the name of a setting's parent in the setting's name. Being a child of that parent implies that the settings are related to it. From 1f6df8375f8bca6d5f28a3e0647d8c25dd7462f1 Mon Sep 17 00:00:00 2001 From: tharvik Date: Wed, 11 Oct 2023 09:41:30 +0200 Subject: [PATCH 34/47] npm/lint: run every linter --- Makefile | 8 +------- package.json | 3 ++- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index a154d8f65..46d7285d9 100644 --- a/Makefile +++ b/Makefile @@ -47,13 +47,7 @@ $(BUILT_PKG):; $(MAKE) build-dev format: node_modules/; npm run format .PHONY: lint -lint: node_modules/ - npm run check-formatting - npm run lint - npm run lint-json - npm run lint-markdown - npm run lint-spelling - npm run validate +lint: node_modules/; npm run lint ## roku box diff --git a/package.json b/package.json index 854df4f72..8eb484187 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,8 @@ "check-formatting": "npx bsfmt --check", "docs": "npx rimraf docs/api && jsdoc -c jsdoc.json -d docs/api --readme docs/api-docs-readme.md", "format": "npx bsfmt --write", - "lint": "bslint", + "lint": "npm run check-formatting && npm run lint-bs && npm run validate && npm run lint-json && npm run lint-markdown && npm run lint-spelling", + "lint-bs": "bslint", "lint-json": "jshint --extra-ext .json --verbose --exclude node_modules,scripts,docs ./", "lint-markdown": "markdownlint-cli2 \"**/*.md\" \"#node_modules\"", "lint-spelling": "spellchecker -d dictionary.txt --files \"**/*.md\" \"**/.*/**/*.md\" \"!node_modules/**/*.md\"", From 78cbf759cf56838aa82cc1b90d16e7ffe61e7e43 Mon Sep 17 00:00:00 2001 From: tharvik Date: Wed, 11 Oct 2023 09:58:05 +0200 Subject: [PATCH 35/47] bs/tests: create package --- bsconfig-tests.json | 1 - 1 file changed, 1 deletion(-) diff --git a/bsconfig-tests.json b/bsconfig-tests.json index f34a821b3..b84a3f065 100644 --- a/bsconfig-tests.json +++ b/bsconfig-tests.json @@ -23,7 +23,6 @@ "diagnosticFilters": ["node_modules/**/*", "**/roku_modules/**/*"], "autoImportComponentScript": true, "allowBrighterScriptInBrightScript": true, - "createPackage": false, "stagingFolderPath": "build", "plugins": ["rooibos-roku"], "rooibos": { From c0f2b7fc0a9728454190616ae4aaa3e93f2bba47 Mon Sep 17 00:00:00 2001 From: Charles Ewert Date: Tue, 31 Oct 2023 13:30:46 -0400 Subject: [PATCH 36/47] address reviewer feedback --- components/search/SearchResults.brs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/search/SearchResults.brs b/components/search/SearchResults.brs index 34ce62a74..fe7545af3 100644 --- a/components/search/SearchResults.brs +++ b/components/search/SearchResults.brs @@ -60,7 +60,7 @@ function onKeyEvent(key as string, press as boolean) as boolean else if key = "right" and m.searchSelect.itemdata <> invalid and m.searchSelect.itemdata.TotalRecordCount > 0 m.searchSelect.setFocus(true) return true - else if key = "play" + else if key = "play" and m.searchSelect.rowItemFocused.count() > 0 print "play was pressed from search results" if m.searchSelect.rowItemFocused <> invalid m.top.quickPlayNode = m.searchSelect.content.getChild(m.searchSelect.rowItemFocused[0]).getChild(m.searchSelect.rowItemFocused[1]) From a3af52c208d4a65f74d3b6d0b503d0904554a7c2 Mon Sep 17 00:00:00 2001 From: sevenrats Date: Tue, 31 Oct 2023 13:41:13 -0400 Subject: [PATCH 37/47] apply suggestions --- source/utils/globals.brs | 2 ++ source/utils/misc.brs | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/source/utils/globals.brs b/source/utils/globals.brs index 2c3dd2a76..dc13af952 100644 --- a/source/utils/globals.brs +++ b/source/utils/globals.brs @@ -6,6 +6,8 @@ sub setConstants() globals.addFields({ constants: { + jellyfin_server: "jellyfin server", + poster_bg_pallet: ["#00455c", "#44bae1", "#00a4db", "#1c4c5c", "#007ea8"], colors: { diff --git a/source/utils/misc.brs b/source/utils/misc.brs index c9bc1761d..73feca33f 100644 --- a/source/utils/misc.brs +++ b/source/utils/misc.brs @@ -460,11 +460,11 @@ end sub ' accepts the raw json string of /system/info/public and returns ' a boolean indicating if ProductName is "Jellyfin Server" function isJellyfinServer(systemInfo as object) as boolean - d = ParseJson(systemInfo) - if isValid(d) and isValid(d.ProductName) - return d.ProductName = "Jellyfin Server" + data = ParseJson(systemInfo) + if isValid(data) and isValid(data.ProductName) + return LCase(data.ProductName) = m.global.constants.jellyfin_server end if - return False + return false end function ' Check if a specific value is inside of an array From bd9a4516013c679e8d2d021dc3813d5c5eb1283a Mon Sep 17 00:00:00 2001 From: Charles Ewert Date: Tue, 31 Oct 2023 15:08:03 -0400 Subject: [PATCH 38/47] only quickplay on search page if search results are in focus --- components/search/SearchResults.brs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/search/SearchResults.brs b/components/search/SearchResults.brs index fe7545af3..cebeff1e5 100644 --- a/components/search/SearchResults.brs +++ b/components/search/SearchResults.brs @@ -60,7 +60,7 @@ function onKeyEvent(key as string, press as boolean) as boolean else if key = "right" and m.searchSelect.itemdata <> invalid and m.searchSelect.itemdata.TotalRecordCount > 0 m.searchSelect.setFocus(true) return true - else if key = "play" and m.searchSelect.rowItemFocused.count() > 0 + else if key = "play" and m.searchSelect.isinFocusChain() and m.searchSelect.rowItemFocused.count() > 0 print "play was pressed from search results" if m.searchSelect.rowItemFocused <> invalid m.top.quickPlayNode = m.searchSelect.content.getChild(m.searchSelect.rowItemFocused[0]).getChild(m.searchSelect.rowItemFocused[1]) From 034c485990f63629fa3514b834a788e40abcd3ba Mon Sep 17 00:00:00 2001 From: Charles Ewert Date: Tue, 31 Oct 2023 15:26:54 -0400 Subject: [PATCH 39/47] use child count to track state of search results --- components/search/SearchResults.brs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/search/SearchResults.brs b/components/search/SearchResults.brs index cebeff1e5..42683e26f 100644 --- a/components/search/SearchResults.brs +++ b/components/search/SearchResults.brs @@ -57,7 +57,7 @@ function onKeyEvent(key as string, press as boolean) as boolean if key = "left" and m.searchSelect.isinFocusChain() m.searchAlphabox.setFocus(true) return true - else if key = "right" and m.searchSelect.itemdata <> invalid and m.searchSelect.itemdata.TotalRecordCount > 0 + else if key = "right" and m.searchSelect.content <> invalid and m.searchSelect.content.getChildCount() > 0 m.searchSelect.setFocus(true) return true else if key = "play" and m.searchSelect.isinFocusChain() and m.searchSelect.rowItemFocused.count() > 0 From fd9b50ca3feddad13c7981ce7d69282e5f82530e Mon Sep 17 00:00:00 2001 From: Charles Ewert Date: Tue, 31 Oct 2023 16:11:56 -0400 Subject: [PATCH 40/47] validate search quick play node and return focus after a query with no results --- components/search/SearchResults.brs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/components/search/SearchResults.brs b/components/search/SearchResults.brs index 42683e26f..0eddf0585 100644 --- a/components/search/SearchResults.brs +++ b/components/search/SearchResults.brs @@ -41,6 +41,13 @@ sub loadResults() m.searchSelect.itemdata = m.searchTask.results m.searchSelect.query = m.top.SearchAlpha m.searchHelpText.visible = false + if m.searchTask.results.TotalRecordCount = 0 + ' make sure focus is on the keyboard + if m.searchSelect.isinFocusChain() + m.searchAlphabox.setFocus(true) + end if + return + end if m.searchAlphabox = m.top.findnode("searchResults") m.searchAlphabox.translation = "[470, 85]" end sub @@ -63,8 +70,14 @@ function onKeyEvent(key as string, press as boolean) as boolean else if key = "play" and m.searchSelect.isinFocusChain() and m.searchSelect.rowItemFocused.count() > 0 print "play was pressed from search results" if m.searchSelect.rowItemFocused <> invalid - m.top.quickPlayNode = m.searchSelect.content.getChild(m.searchSelect.rowItemFocused[0]).getChild(m.searchSelect.rowItemFocused[1]) - return true + selectedContent = m.searchSelect.content.getChild(m.searchSelect.rowItemFocused[0]) + if selectedContent <> invalid + selectedItem = selectedContent.getChild(m.searchSelect.rowItemFocused[1]) + if selectedItem <> invalid + m.top.quickPlayNode = selectedItem + return true + end if + end if end if end if return false From 0d82374e37513aa3a570bcf6aeee69d2ed1b46ff Mon Sep 17 00:00:00 2001 From: jellyfin-bot Date: Tue, 31 Oct 2023 20:18:14 +0000 Subject: [PATCH 41/47] Update API docs --- docs/api/components_ButtonGroupHoriz.brs.html | 2 +- docs/api/components_Buttons_JFButtons.brs.html | 2 +- docs/api/components_Buttons_TextSizeTask.brs.html | 2 +- docs/api/components_GetNextEpisodeTask.brs.html | 2 +- docs/api/components_GetPlaybackInfoTask.brs.html | 2 +- docs/api/components_GetShuffleEpisodesTask.brs.html | 2 +- docs/api/components_IconButton.brs.html | 2 +- docs/api/components_ItemGrid_Alpha.brs.html | 2 +- docs/api/components_ItemGrid_FavoriteItemsTask.brs.html | 2 +- docs/api/components_ItemGrid_GridItem.brs.html | 2 +- docs/api/components_ItemGrid_GridItemSmall.brs.html | 2 +- docs/api/components_ItemGrid_ItemGrid.brs.html | 2 +- docs/api/components_ItemGrid_ItemGridOptions.brs.html | 2 +- docs/api/components_ItemGrid_LoadItemsTask2.brs.html | 2 +- docs/api/components_ItemGrid_LoadVideoContentTask.brs.html | 2 +- docs/api/components_ItemGrid_MovieLibraryView.brs.html | 2 +- docs/api/components_ItemGrid_MusicArtistGridItem.brs.html | 2 +- docs/api/components_ItemGrid_MusicLibraryView.brs.html | 2 +- docs/api/components_JFButton.brs.html | 2 +- docs/api/components_JFGroup.brs.html | 2 +- docs/api/components_JFMessageDialog.brs.html | 2 +- docs/api/components_JFOverhang.brs.html | 2 +- docs/api/components_JFScene.brs.html | 2 +- docs/api/components_JFScreen.brs.html | 2 +- docs/api/components_JFVideo.brs.html | 2 +- docs/api/components_ListPoster.brs.html | 2 +- docs/api/components_OverviewDialog.bs.html | 2 +- docs/api/components_PersonDetails.brs.html | 2 +- docs/api/components_PlaybackDialog.brs.html | 2 +- docs/api/components_PlayedCheckmark.brs.html | 2 +- docs/api/components_PlaystateTask.brs.html | 2 +- docs/api/components_RadioDialog.brs.html | 2 +- docs/api/components_SearchBox.brs.html | 2 +- docs/api/components_Spinner.brs.html | 2 +- docs/api/components_StandardDialog.brs.html | 2 +- docs/api/components_WhatsNewDialog.brs.html | 2 +- docs/api/components_captionTask.brs.html | 2 +- docs/api/components_config_ConfigData.brs.html | 2 +- docs/api/components_config_ConfigItem.brs.html | 2 +- docs/api/components_config_ConfigList.brs.html | 2 +- docs/api/components_config_JFServer.brs.html | 2 +- docs/api/components_config_LoginScene.brs.html | 2 +- docs/api/components_config_ServerDiscoveryTask.brs.html | 2 +- docs/api/components_config_SetServerScreen.brs.html | 2 +- docs/api/components_data_AlbumData.brs.html | 2 +- docs/api/components_data_ChannelData.brs.html | 2 +- docs/api/components_data_CollectionData.brs.html | 2 +- docs/api/components_data_FolderData.brs.html | 2 +- docs/api/components_data_GetFiltersTask.brs.html | 2 +- docs/api/components_data_HomeData.brs.html | 2 +- docs/api/components_data_ImageData.brs.html | 2 +- docs/api/components_data_MovieData.brs.html | 2 +- docs/api/components_data_MusicAlbumData.brs.html | 2 +- docs/api/components_data_MusicAlbumSongListData.brs.html | 2 +- docs/api/components_data_MusicArtistData.brs.html | 2 +- docs/api/components_data_MusicSongData.brs.html | 2 +- docs/api/components_data_OptionsButton.brs.html | 2 +- docs/api/components_data_OptionsData.brs.html | 2 +- docs/api/components_data_PersonData.brs.html | 2 +- docs/api/components_data_PhotoData.brs.html | 2 +- docs/api/components_data_PlaylistData.brs.html | 2 +- docs/api/components_data_PublicUserData.brs.html | 2 +- docs/api/components_data_SceneManager.brs.html | 2 +- docs/api/components_data_ScheduleProgramData.brs.html | 2 +- docs/api/components_data_SearchData.brs.html | 2 +- docs/api/components_data_SeriesData.brs.html | 2 +- docs/api/components_data_TVEpisode.brs.html | 2 +- docs/api/components_data_TVEpisodeData.brs.html | 2 +- docs/api/components_data_TVSeasonData.brs.html | 2 +- docs/api/components_data_UserData.brs.html | 2 +- docs/api/components_data_VideoData.brs.html | 2 +- docs/api/components_extras_ExtrasItem.brs.html | 2 +- docs/api/components_extras_ExtrasRowList.brs.html | 2 +- docs/api/components_home_Home.brs.html | 2 +- docs/api/components_home_HomeItem.brs.html | 2 +- docs/api/components_home_HomeRows.brs.html | 2 +- docs/api/components_home_LoadItemsTask.brs.html | 2 +- docs/api/components_liveTv_LoadChannelsTask.brs.html | 2 +- docs/api/components_liveTv_LoadProgramDetailsTask.brs.html | 2 +- docs/api/components_liveTv_LoadSheduleTask.brs.html | 2 +- docs/api/components_liveTv_ProgramDetails.brs.html | 2 +- docs/api/components_liveTv_RecordProgramTask.brs.html | 2 +- docs/api/components_liveTv_schedule.brs.html | 2 +- docs/api/components_login_UserItem.brs.html | 2 +- docs/api/components_login_UserRow.brs.html | 2 +- docs/api/components_login_UserSelect.brs.html | 2 +- docs/api/components_manager_QueueManager.brs.html | 2 +- docs/api/components_manager_ViewCreator.brs.html | 2 +- docs/api/components_mediaPlayers_AudioPlayer.brs.html | 2 +- docs/api/components_movies_AudioTrackListItem.brs.html | 2 +- docs/api/components_movies_MovieDetails.brs.html | 2 +- docs/api/components_movies_MovieOptions.brs.html | 2 +- docs/api/components_movies_VideoTrackListItem.brs.html | 2 +- docs/api/components_music_AlbumGrid.brs.html | 2 +- docs/api/components_music_AlbumTrackList.brs.html | 2 +- docs/api/components_music_AlbumView.brs.html | 2 +- docs/api/components_music_ArtistView.brs.html | 2 +- docs/api/components_music_AudioPlayerView.brs.html | 2 +- docs/api/components_music_LoadScreenSaverTimeoutTask.brs.html | 2 +- docs/api/components_music_PlaylistView.brs.html | 2 +- docs/api/components_music_SongItem.brs.html | 2 +- docs/api/components_options_OptionNode.brs.html | 2 +- docs/api/components_options_OptionsSlider.brs.html | 2 +- docs/api/components_photos_LoadPhotoTask.brs.html | 2 +- docs/api/components_photos_PhotoDetails.brs.html | 2 +- docs/api/components_quickConnect_QuickConnect.brs.html | 2 +- docs/api/components_quickConnect_QuickConnectDialog.brs.html | 2 +- docs/api/components_search_SearchResults.brs.html | 2 +- docs/api/components_search_SearchRow.brs.html | 2 +- docs/api/components_search_SearchTask.brs.html | 2 +- docs/api/components_section_section.brs.html | 2 +- docs/api/components_section_sectionScroller.brs.html | 2 +- docs/api/components_settings_settings.brs.html | 2 +- docs/api/components_tvshows_TVEpisodeRow.brs.html | 2 +- docs/api/components_tvshows_TVEpisodeRowWithOptions.brs.html | 2 +- docs/api/components_tvshows_TVEpisodes.brs.html | 2 +- docs/api/components_tvshows_TVListDetails.brs.html | 2 +- docs/api/components_tvshows_TVListOptions.brs.html | 2 +- docs/api/components_tvshows_TVSeasonRow.brs.html | 2 +- docs/api/components_tvshows_TVShowDescription.brs.html | 2 +- docs/api/components_tvshows_TVShowDetails.brs.html | 2 +- docs/api/components_video_VideoPlayerView.brs.html | 2 +- docs/api/index.html | 2 +- docs/api/module-AlbumData.html | 2 +- docs/api/module-AlbumGrid.html | 2 +- docs/api/module-AlbumTrackList.html | 2 +- docs/api/module-AlbumView.html | 2 +- docs/api/module-Alpha.html | 2 +- docs/api/module-ArtistView.html | 2 +- docs/api/module-AudioPlayer.html | 2 +- docs/api/module-AudioPlayerView.html | 2 +- docs/api/module-AudioTrackListItem.html | 2 +- docs/api/module-ButtonGroupHoriz.html | 2 +- docs/api/module-ChannelData.html | 2 +- docs/api/module-CollectionData.html | 2 +- docs/api/module-ConfigData.html | 2 +- docs/api/module-ConfigItem.html | 2 +- docs/api/module-ConfigList.html | 2 +- docs/api/module-ExtrasItem.html | 2 +- docs/api/module-ExtrasRowList.html | 2 +- docs/api/module-FavoriteItemsTask.html | 2 +- docs/api/module-FolderData.html | 2 +- docs/api/module-GetFiltersTask.html | 2 +- docs/api/module-GetNextEpisodeTask.html | 2 +- docs/api/module-GetPlaybackInfoTask.html | 2 +- docs/api/module-GetShuffleEpisodesTask.html | 2 +- docs/api/module-GridItem.html | 2 +- docs/api/module-GridItemSmall.html | 2 +- docs/api/module-Home.html | 2 +- docs/api/module-HomeData.html | 2 +- docs/api/module-HomeItem.html | 2 +- docs/api/module-HomeRows.html | 2 +- docs/api/module-IconButton.html | 2 +- docs/api/module-Image.html | 2 +- docs/api/module-ImageData.html | 2 +- docs/api/module-ItemGrid.html | 2 +- docs/api/module-ItemGridOptions.html | 2 +- docs/api/module-Items.html | 2 +- docs/api/module-JFButton.html | 2 +- docs/api/module-JFButtons.html | 2 +- docs/api/module-JFGroup.html | 2 +- docs/api/module-JFMessageDialog.html | 2 +- docs/api/module-JFOverhang.html | 2 +- docs/api/module-JFScene.html | 2 +- docs/api/module-JFScreen.html | 2 +- docs/api/module-JFServer.html | 2 +- docs/api/module-JFVideo.html | 2 +- docs/api/module-ListPoster.html | 2 +- docs/api/module-LoadChannelsTask.html | 2 +- docs/api/module-LoadItemsTask.html | 2 +- docs/api/module-LoadItemsTask2.html | 2 +- docs/api/module-LoadPhotoTask.html | 2 +- docs/api/module-LoadProgramDetailsTask.html | 2 +- docs/api/module-LoadScreenSaverTimeoutTask.html | 2 +- docs/api/module-LoadSheduleTask.html | 2 +- docs/api/module-LoadVideoContentTask.html | 2 +- docs/api/module-LoginScene.html | 2 +- docs/api/module-Main.html | 2 +- docs/api/module-MovieData.html | 2 +- docs/api/module-MovieDetails.html | 2 +- docs/api/module-MovieLibraryView.html | 2 +- docs/api/module-MovieOptions.html | 2 +- docs/api/module-MusicAlbumData.html | 2 +- docs/api/module-MusicAlbumSongListData.html | 2 +- docs/api/module-MusicArtistData.html | 2 +- docs/api/module-MusicArtistGridItem.html | 2 +- docs/api/module-MusicLibraryView.html | 2 +- docs/api/module-MusicSongData.html | 2 +- docs/api/module-OptionNode.html | 2 +- docs/api/module-OptionsButton.html | 2 +- docs/api/module-OptionsData.html | 2 +- docs/api/module-OptionsSlider.html | 2 +- docs/api/module-OverviewDialog.html | 2 +- docs/api/module-PersonData.html | 2 +- docs/api/module-PersonDetails.html | 2 +- docs/api/module-PhotoData.html | 2 +- docs/api/module-PhotoDetails.html | 2 +- docs/api/module-PlaybackDialog.html | 2 +- docs/api/module-PlayedCheckmark.html | 2 +- docs/api/module-PlaylistData.html | 2 +- docs/api/module-PlaylistView.html | 2 +- docs/api/module-PlaystateTask.html | 2 +- docs/api/module-ProgramDetails.html | 2 +- docs/api/module-PublicUserData.html | 2 +- docs/api/module-QueueManager.html | 2 +- docs/api/module-QuickConnect.html | 2 +- docs/api/module-QuickConnectDialog.html | 2 +- docs/api/module-RadioDialog.html | 2 +- docs/api/module-RecordProgramTask.html | 2 +- docs/api/module-SceneManager.html | 2 +- docs/api/module-ScheduleProgramData.html | 2 +- docs/api/module-SearchBox.html | 2 +- docs/api/module-SearchData.html | 2 +- docs/api/module-SearchResults.html | 2 +- docs/api/module-SearchRow.html | 2 +- docs/api/module-SearchTask.html | 2 +- docs/api/module-SeriesData.html | 2 +- docs/api/module-ServerDiscoveryTask.html | 2 +- docs/api/module-SetServerScreen.html | 2 +- docs/api/module-ShowScenes.html | 2 +- docs/api/module-SongItem.html | 2 +- docs/api/module-Spinner.html | 2 +- docs/api/module-StandardDialog.html | 2 +- docs/api/module-Subtitles.html | 2 +- docs/api/module-TVEpisode.html | 2 +- docs/api/module-TVEpisodeData.html | 2 +- docs/api/module-TVEpisodeRow.html | 2 +- docs/api/module-TVEpisodeRowWithOptions.html | 2 +- docs/api/module-TVEpisodes.html | 2 +- docs/api/module-TVListDetails.html | 2 +- docs/api/module-TVListOptions.html | 2 +- docs/api/module-TVSeasonData.html | 2 +- docs/api/module-TVSeasonRow.html | 2 +- docs/api/module-TVShowDescription.html | 2 +- docs/api/module-TVShowDetails.html | 2 +- docs/api/module-TextSizeTask.html | 2 +- docs/api/module-UserData.html | 2 +- docs/api/module-UserItem.html | 2 +- docs/api/module-UserLibrary.html | 2 +- docs/api/module-UserRow.html | 2 +- docs/api/module-UserSelect.html | 2 +- docs/api/module-VideoData.html | 2 +- docs/api/module-VideoPlayer.html | 2 +- docs/api/module-VideoPlayerView.html | 2 +- docs/api/module-VideoTrackListItem.html | 2 +- docs/api/module-ViewCreator.html | 2 +- docs/api/module-WhatsNewDialog.html | 2 +- docs/api/module-baserequest.html | 2 +- docs/api/module-captionTask.html | 2 +- docs/api/module-config.html | 2 +- docs/api/module-deviceCapabilities.html | 2 +- docs/api/module-globals.html | 2 +- docs/api/module-migrations.html | 2 +- docs/api/module-misc.html | 2 +- docs/api/module-quickplay.html | 2 +- docs/api/module-schedule.html | 2 +- docs/api/module-section.html | 2 +- docs/api/module-sectionScroller.html | 2 +- docs/api/module-settings.html | 2 +- docs/api/module-userauth.html | 2 +- docs/api/modules.list.html | 2 +- docs/api/quicksearch.html | 2 +- docs/api/source_Main.brs.html | 2 +- docs/api/source_ShowScenes.brs.html | 2 +- docs/api/source_VideoPlayer.brs.html | 2 +- docs/api/source_api_Image.brs.html | 2 +- docs/api/source_api_Items.brs.html | 2 +- docs/api/source_api_UserLibrary.brs.html | 2 +- docs/api/source_api_baserequest.brs.html | 2 +- docs/api/source_api_userauth.brs.html | 2 +- docs/api/source_migrations.bs.html | 2 +- docs/api/source_utils_Subtitles.brs.html | 2 +- docs/api/source_utils_config.brs.html | 2 +- docs/api/source_utils_deviceCapabilities.brs.html | 2 +- docs/api/source_utils_globals.brs.html | 2 +- docs/api/source_utils_misc.brs.html | 2 +- docs/api/source_utils_quickplay.bs.html | 2 +- 277 files changed, 277 insertions(+), 277 deletions(-) diff --git a/docs/api/components_ButtonGroupHoriz.brs.html b/docs/api/components_ButtonGroupHoriz.brs.html index f35d2a5dc..838fc8f59 100644 --- a/docs/api/components_ButtonGroupHoriz.brs.html +++ b/docs/api/components_ButtonGroupHoriz.brs.html @@ -138,7 +138,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_Buttons_JFButtons.brs.html b/docs/api/components_Buttons_JFButtons.brs.html index cc6d53eef..df7438edc 100644 --- a/docs/api/components_Buttons_JFButtons.brs.html +++ b/docs/api/components_Buttons_JFButtons.brs.html @@ -235,7 +235,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_Buttons_TextSizeTask.brs.html b/docs/api/components_Buttons_TextSizeTask.brs.html index e5ddc2992..cd61d1e4c 100644 --- a/docs/api/components_Buttons_TextSizeTask.brs.html +++ b/docs/api/components_Buttons_TextSizeTask.brs.html @@ -134,7 +134,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_GetNextEpisodeTask.brs.html b/docs/api/components_GetNextEpisodeTask.brs.html index 5852b0de1..ad913d144 100644 --- a/docs/api/components_GetNextEpisodeTask.brs.html +++ b/docs/api/components_GetNextEpisodeTask.brs.html @@ -129,7 +129,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_GetPlaybackInfoTask.brs.html b/docs/api/components_GetPlaybackInfoTask.brs.html index 7c778bbb5..6287d362e 100644 --- a/docs/api/components_GetPlaybackInfoTask.brs.html +++ b/docs/api/components_GetPlaybackInfoTask.brs.html @@ -283,7 +283,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_GetShuffleEpisodesTask.brs.html b/docs/api/components_GetShuffleEpisodesTask.brs.html index cdd02b877..382cf8678 100644 --- a/docs/api/components_GetShuffleEpisodesTask.brs.html +++ b/docs/api/components_GetShuffleEpisodesTask.brs.html @@ -129,7 +129,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_IconButton.brs.html b/docs/api/components_IconButton.brs.html index 43028b1ee..af7c1e88f 100644 --- a/docs/api/components_IconButton.brs.html +++ b/docs/api/components_IconButton.brs.html @@ -194,7 +194,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_ItemGrid_Alpha.brs.html b/docs/api/components_ItemGrid_Alpha.brs.html index 8fbe2b269..fe659f4e7 100644 --- a/docs/api/components_ItemGrid_Alpha.brs.html +++ b/docs/api/components_ItemGrid_Alpha.brs.html @@ -156,7 +156,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_ItemGrid_FavoriteItemsTask.brs.html b/docs/api/components_ItemGrid_FavoriteItemsTask.brs.html index 37fe71105..d3bd3e02e 100644 --- a/docs/api/components_ItemGrid_FavoriteItemsTask.brs.html +++ b/docs/api/components_ItemGrid_FavoriteItemsTask.brs.html @@ -132,7 +132,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_ItemGrid_GridItem.brs.html b/docs/api/components_ItemGrid_GridItem.brs.html index 3a761ce71..1d833bd05 100644 --- a/docs/api/components_ItemGrid_GridItem.brs.html +++ b/docs/api/components_ItemGrid_GridItem.brs.html @@ -284,7 +284,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_ItemGrid_GridItemSmall.brs.html b/docs/api/components_ItemGrid_GridItemSmall.brs.html index ad087877a..3cf1486f9 100644 --- a/docs/api/components_ItemGrid_GridItemSmall.brs.html +++ b/docs/api/components_ItemGrid_GridItemSmall.brs.html @@ -184,7 +184,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_ItemGrid_ItemGrid.brs.html b/docs/api/components_ItemGrid_ItemGrid.brs.html index 59602f22a..a6e6ebc6c 100644 --- a/docs/api/components_ItemGrid_ItemGrid.brs.html +++ b/docs/api/components_ItemGrid_ItemGrid.brs.html @@ -1009,7 +1009,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_ItemGrid_ItemGridOptions.brs.html b/docs/api/components_ItemGrid_ItemGridOptions.brs.html index 9dbf9ead2..998e86192 100644 --- a/docs/api/components_ItemGrid_ItemGridOptions.brs.html +++ b/docs/api/components_ItemGrid_ItemGridOptions.brs.html @@ -501,7 +501,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_ItemGrid_LoadItemsTask2.brs.html b/docs/api/components_ItemGrid_LoadItemsTask2.brs.html index 0bffcaece..06a371b16 100644 --- a/docs/api/components_ItemGrid_LoadItemsTask2.brs.html +++ b/docs/api/components_ItemGrid_LoadItemsTask2.brs.html @@ -378,7 +378,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_ItemGrid_LoadVideoContentTask.brs.html b/docs/api/components_ItemGrid_LoadVideoContentTask.brs.html index b0ec689ef..289298728 100644 --- a/docs/api/components_ItemGrid_LoadVideoContentTask.brs.html +++ b/docs/api/components_ItemGrid_LoadVideoContentTask.brs.html @@ -1024,7 +1024,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_ItemGrid_MovieLibraryView.brs.html b/docs/api/components_ItemGrid_MovieLibraryView.brs.html index 4dfcd5f7e..3b0d21f28 100644 --- a/docs/api/components_ItemGrid_MovieLibraryView.brs.html +++ b/docs/api/components_ItemGrid_MovieLibraryView.brs.html @@ -1055,7 +1055,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_ItemGrid_MusicArtistGridItem.brs.html b/docs/api/components_ItemGrid_MusicArtistGridItem.brs.html index e9e238534..342c9c079 100644 --- a/docs/api/components_ItemGrid_MusicArtistGridItem.brs.html +++ b/docs/api/components_ItemGrid_MusicArtistGridItem.brs.html @@ -196,7 +196,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_ItemGrid_MusicLibraryView.brs.html b/docs/api/components_ItemGrid_MusicLibraryView.brs.html index 6dfbbeb0a..1f84d522a 100644 --- a/docs/api/components_ItemGrid_MusicLibraryView.brs.html +++ b/docs/api/components_ItemGrid_MusicLibraryView.brs.html @@ -917,7 +917,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_JFButton.brs.html b/docs/api/components_JFButton.brs.html index 36d9ec253..8353ef7c2 100644 --- a/docs/api/components_JFButton.brs.html +++ b/docs/api/components_JFButton.brs.html @@ -137,7 +137,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_JFGroup.brs.html b/docs/api/components_JFGroup.brs.html index 73c8d12d9..b71b3a558 100644 --- a/docs/api/components_JFGroup.brs.html +++ b/docs/api/components_JFGroup.brs.html @@ -121,7 +121,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_JFMessageDialog.brs.html b/docs/api/components_JFMessageDialog.brs.html index 8ad45bfe1..8e068f915 100644 --- a/docs/api/components_JFMessageDialog.brs.html +++ b/docs/api/components_JFMessageDialog.brs.html @@ -186,7 +186,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_JFOverhang.brs.html b/docs/api/components_JFOverhang.brs.html index c050858aa..4920a512b 100644 --- a/docs/api/components_JFOverhang.brs.html +++ b/docs/api/components_JFOverhang.brs.html @@ -260,7 +260,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_JFScene.brs.html b/docs/api/components_JFScene.brs.html index bff97ca6e..c55aac7c8 100644 --- a/docs/api/components_JFScene.brs.html +++ b/docs/api/components_JFScene.brs.html @@ -139,7 +139,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_JFScreen.brs.html b/docs/api/components_JFScreen.brs.html index 3374e01a7..26c653b8c 100644 --- a/docs/api/components_JFScreen.brs.html +++ b/docs/api/components_JFScreen.brs.html @@ -137,7 +137,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_JFVideo.brs.html b/docs/api/components_JFVideo.brs.html index 63e9eed0e..2165c6a75 100644 --- a/docs/api/components_JFVideo.brs.html +++ b/docs/api/components_JFVideo.brs.html @@ -410,7 +410,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_ListPoster.brs.html b/docs/api/components_ListPoster.brs.html index ff68149a8..cba68dc50 100644 --- a/docs/api/components_ListPoster.brs.html +++ b/docs/api/components_ListPoster.brs.html @@ -229,7 +229,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_OverviewDialog.bs.html b/docs/api/components_OverviewDialog.bs.html index d162aa7df..7f8fce979 100644 --- a/docs/api/components_OverviewDialog.bs.html +++ b/docs/api/components_OverviewDialog.bs.html @@ -130,7 +130,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_PersonDetails.brs.html b/docs/api/components_PersonDetails.brs.html index 888a3ed6a..532d4d602 100644 --- a/docs/api/components_PersonDetails.brs.html +++ b/docs/api/components_PersonDetails.brs.html @@ -287,7 +287,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_PlaybackDialog.brs.html b/docs/api/components_PlaybackDialog.brs.html index f97ee78f2..9e4ad3732 100644 --- a/docs/api/components_PlaybackDialog.brs.html +++ b/docs/api/components_PlaybackDialog.brs.html @@ -122,7 +122,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_PlayedCheckmark.brs.html b/docs/api/components_PlayedCheckmark.brs.html index 572aa49f3..c1ab9c027 100644 --- a/docs/api/components_PlayedCheckmark.brs.html +++ b/docs/api/components_PlayedCheckmark.brs.html @@ -117,7 +117,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_PlaystateTask.brs.html b/docs/api/components_PlaystateTask.brs.html index 08a8dc97d..68d3f7242 100644 --- a/docs/api/components_PlaystateTask.brs.html +++ b/docs/api/components_PlaystateTask.brs.html @@ -167,7 +167,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_RadioDialog.brs.html b/docs/api/components_RadioDialog.brs.html index 42ac6f96b..5240b3254 100644 --- a/docs/api/components_RadioDialog.brs.html +++ b/docs/api/components_RadioDialog.brs.html @@ -251,7 +251,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_SearchBox.brs.html b/docs/api/components_SearchBox.brs.html index 9baba9bf6..b9acfa66f 100644 --- a/docs/api/components_SearchBox.brs.html +++ b/docs/api/components_SearchBox.brs.html @@ -146,7 +146,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_Spinner.brs.html b/docs/api/components_Spinner.brs.html index d24bbd762..fad557299 100644 --- a/docs/api/components_Spinner.brs.html +++ b/docs/api/components_Spinner.brs.html @@ -119,7 +119,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_StandardDialog.brs.html b/docs/api/components_StandardDialog.brs.html index 214595e19..a3397a1a9 100644 --- a/docs/api/components_StandardDialog.brs.html +++ b/docs/api/components_StandardDialog.brs.html @@ -149,7 +149,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_WhatsNewDialog.brs.html b/docs/api/components_WhatsNewDialog.brs.html index 89ce07f4f..0deea650a 100644 --- a/docs/api/components_WhatsNewDialog.brs.html +++ b/docs/api/components_WhatsNewDialog.brs.html @@ -159,7 +159,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_captionTask.brs.html b/docs/api/components_captionTask.brs.html index 9f0f5fd5d..6bc85bc4e 100644 --- a/docs/api/components_captionTask.brs.html +++ b/docs/api/components_captionTask.brs.html @@ -263,7 +263,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_config_ConfigData.brs.html b/docs/api/components_config_ConfigData.brs.html index 0ae278e4d..9ef974112 100644 --- a/docs/api/components_config_ConfigData.brs.html +++ b/docs/api/components_config_ConfigData.brs.html @@ -115,7 +115,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_config_ConfigItem.brs.html b/docs/api/components_config_ConfigItem.brs.html index e31d13a6a..a9db3ec0c 100644 --- a/docs/api/components_config_ConfigItem.brs.html +++ b/docs/api/components_config_ConfigItem.brs.html @@ -150,7 +150,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_config_ConfigList.brs.html b/docs/api/components_config_ConfigList.brs.html index f8c762fd9..53b1de568 100644 --- a/docs/api/components_config_ConfigList.brs.html +++ b/docs/api/components_config_ConfigList.brs.html @@ -189,7 +189,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_config_JFServer.brs.html b/docs/api/components_config_JFServer.brs.html index 58f30817c..1536ad1ed 100644 --- a/docs/api/components_config_JFServer.brs.html +++ b/docs/api/components_config_JFServer.brs.html @@ -147,7 +147,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_config_LoginScene.brs.html b/docs/api/components_config_LoginScene.brs.html index 0f515574a..90c467db3 100644 --- a/docs/api/components_config_LoginScene.brs.html +++ b/docs/api/components_config_LoginScene.brs.html @@ -159,7 +159,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_config_ServerDiscoveryTask.brs.html b/docs/api/components_config_ServerDiscoveryTask.brs.html index d2cd2e97f..792c8ffa4 100644 --- a/docs/api/components_config_ServerDiscoveryTask.brs.html +++ b/docs/api/components_config_ServerDiscoveryTask.brs.html @@ -284,7 +284,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_config_SetServerScreen.brs.html b/docs/api/components_config_SetServerScreen.brs.html index 76d7186bf..692fcc245 100644 --- a/docs/api/components_config_SetServerScreen.brs.html +++ b/docs/api/components_config_SetServerScreen.brs.html @@ -272,7 +272,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_AlbumData.brs.html b/docs/api/components_data_AlbumData.brs.html index 9d5fe6012..2c1be3023 100644 --- a/docs/api/components_data_AlbumData.brs.html +++ b/docs/api/components_data_AlbumData.brs.html @@ -120,7 +120,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_ChannelData.brs.html b/docs/api/components_data_ChannelData.brs.html index bae9e118b..ab5458c3b 100644 --- a/docs/api/components_data_ChannelData.brs.html +++ b/docs/api/components_data_ChannelData.brs.html @@ -137,7 +137,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_CollectionData.brs.html b/docs/api/components_data_CollectionData.brs.html index 8f56e0d0b..b449c3220 100644 --- a/docs/api/components_data_CollectionData.brs.html +++ b/docs/api/components_data_CollectionData.brs.html @@ -153,7 +153,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_FolderData.brs.html b/docs/api/components_data_FolderData.brs.html index 7cb89b48a..206bda3ce 100644 --- a/docs/api/components_data_FolderData.brs.html +++ b/docs/api/components_data_FolderData.brs.html @@ -146,7 +146,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_GetFiltersTask.brs.html b/docs/api/components_data_GetFiltersTask.brs.html index 8db53012b..7e4319dfc 100644 --- a/docs/api/components_data_GetFiltersTask.brs.html +++ b/docs/api/components_data_GetFiltersTask.brs.html @@ -124,7 +124,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_HomeData.brs.html b/docs/api/components_data_HomeData.brs.html index f42c0b87f..1a1c1d20f 100644 --- a/docs/api/components_data_HomeData.brs.html +++ b/docs/api/components_data_HomeData.brs.html @@ -223,7 +223,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_ImageData.brs.html b/docs/api/components_data_ImageData.brs.html index 99e56c43d..f9161d7a5 100644 --- a/docs/api/components_data_ImageData.brs.html +++ b/docs/api/components_data_ImageData.brs.html @@ -120,7 +120,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_MovieData.brs.html b/docs/api/components_data_MovieData.brs.html index a4066eaaf..dc0cd448f 100644 --- a/docs/api/components_data_MovieData.brs.html +++ b/docs/api/components_data_MovieData.brs.html @@ -193,7 +193,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_MusicAlbumData.brs.html b/docs/api/components_data_MusicAlbumData.brs.html index 6fbc96ff8..0c92944f1 100644 --- a/docs/api/components_data_MusicAlbumData.brs.html +++ b/docs/api/components_data_MusicAlbumData.brs.html @@ -128,7 +128,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_MusicAlbumSongListData.brs.html b/docs/api/components_data_MusicAlbumSongListData.brs.html index 37738d1a1..5596f811c 100644 --- a/docs/api/components_data_MusicAlbumSongListData.brs.html +++ b/docs/api/components_data_MusicAlbumSongListData.brs.html @@ -149,7 +149,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_MusicArtistData.brs.html b/docs/api/components_data_MusicArtistData.brs.html index e6833649e..79e00bf97 100644 --- a/docs/api/components_data_MusicArtistData.brs.html +++ b/docs/api/components_data_MusicArtistData.brs.html @@ -152,7 +152,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_MusicSongData.brs.html b/docs/api/components_data_MusicSongData.brs.html index 699f31326..c66f32c22 100644 --- a/docs/api/components_data_MusicSongData.brs.html +++ b/docs/api/components_data_MusicSongData.brs.html @@ -130,7 +130,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_OptionsButton.brs.html b/docs/api/components_data_OptionsButton.brs.html index a5f5b4eba..6d91868e0 100644 --- a/docs/api/components_data_OptionsButton.brs.html +++ b/docs/api/components_data_OptionsButton.brs.html @@ -120,7 +120,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_OptionsData.brs.html b/docs/api/components_data_OptionsData.brs.html index 958f73c07..60a90d1d2 100644 --- a/docs/api/components_data_OptionsData.brs.html +++ b/docs/api/components_data_OptionsData.brs.html @@ -153,7 +153,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_PersonData.brs.html b/docs/api/components_data_PersonData.brs.html index 2ee18fdf8..a2f55d3d5 100644 --- a/docs/api/components_data_PersonData.brs.html +++ b/docs/api/components_data_PersonData.brs.html @@ -149,7 +149,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_PhotoData.brs.html b/docs/api/components_data_PhotoData.brs.html index 9ee82f9ef..7297560c0 100644 --- a/docs/api/components_data_PhotoData.brs.html +++ b/docs/api/components_data_PhotoData.brs.html @@ -151,7 +151,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_PlaylistData.brs.html b/docs/api/components_data_PlaylistData.brs.html index 97d81e741..7b29bec90 100644 --- a/docs/api/components_data_PlaylistData.brs.html +++ b/docs/api/components_data_PlaylistData.brs.html @@ -128,7 +128,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_PublicUserData.brs.html b/docs/api/components_data_PublicUserData.brs.html index 4db8e9a34..0e7dbc4c0 100644 --- a/docs/api/components_data_PublicUserData.brs.html +++ b/docs/api/components_data_PublicUserData.brs.html @@ -115,7 +115,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_SceneManager.brs.html b/docs/api/components_data_SceneManager.brs.html index 2d0b15f73..1222c9b37 100644 --- a/docs/api/components_data_SceneManager.brs.html +++ b/docs/api/components_data_SceneManager.brs.html @@ -470,7 +470,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_ScheduleProgramData.brs.html b/docs/api/components_data_ScheduleProgramData.brs.html index 8b07080cc..d9b002278 100644 --- a/docs/api/components_data_ScheduleProgramData.brs.html +++ b/docs/api/components_data_ScheduleProgramData.brs.html @@ -160,7 +160,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_SearchData.brs.html b/docs/api/components_data_SearchData.brs.html index a878c2c84..48dfa339d 100644 --- a/docs/api/components_data_SearchData.brs.html +++ b/docs/api/components_data_SearchData.brs.html @@ -128,7 +128,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_SeriesData.brs.html b/docs/api/components_data_SeriesData.brs.html index fecb229cd..1e6c324f3 100644 --- a/docs/api/components_data_SeriesData.brs.html +++ b/docs/api/components_data_SeriesData.brs.html @@ -166,7 +166,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_TVEpisode.brs.html b/docs/api/components_data_TVEpisode.brs.html index 49908e005..ee085c4b0 100644 --- a/docs/api/components_data_TVEpisode.brs.html +++ b/docs/api/components_data_TVEpisode.brs.html @@ -138,7 +138,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_TVEpisodeData.brs.html b/docs/api/components_data_TVEpisodeData.brs.html index 516a1b2f9..53894623d 100644 --- a/docs/api/components_data_TVEpisodeData.brs.html +++ b/docs/api/components_data_TVEpisodeData.brs.html @@ -131,7 +131,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_TVSeasonData.brs.html b/docs/api/components_data_TVSeasonData.brs.html index 9f720a034..13a7343c0 100644 --- a/docs/api/components_data_TVSeasonData.brs.html +++ b/docs/api/components_data_TVSeasonData.brs.html @@ -131,7 +131,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_UserData.brs.html b/docs/api/components_data_UserData.brs.html index 79d76b7b1..7cf74f38e 100644 --- a/docs/api/components_data_UserData.brs.html +++ b/docs/api/components_data_UserData.brs.html @@ -177,7 +177,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_data_VideoData.brs.html b/docs/api/components_data_VideoData.brs.html index ea1470c57..b5056bc68 100644 --- a/docs/api/components_data_VideoData.brs.html +++ b/docs/api/components_data_VideoData.brs.html @@ -138,7 +138,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_extras_ExtrasItem.brs.html b/docs/api/components_extras_ExtrasItem.brs.html index a1231e8b5..4cf20d27a 100644 --- a/docs/api/components_extras_ExtrasItem.brs.html +++ b/docs/api/components_extras_ExtrasItem.brs.html @@ -150,7 +150,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_extras_ExtrasRowList.brs.html b/docs/api/components_extras_ExtrasRowList.brs.html index 5b54c773b..a52dbfd28 100644 --- a/docs/api/components_extras_ExtrasRowList.brs.html +++ b/docs/api/components_extras_ExtrasRowList.brs.html @@ -327,7 +327,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_home_Home.brs.html b/docs/api/components_home_Home.brs.html index 6cf9c5413..e76fbe865 100644 --- a/docs/api/components_home_Home.brs.html +++ b/docs/api/components_home_Home.brs.html @@ -133,7 +133,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_home_HomeItem.brs.html b/docs/api/components_home_HomeItem.brs.html index 02ae8e712..f8d65bd86 100644 --- a/docs/api/components_home_HomeItem.brs.html +++ b/docs/api/components_home_HomeItem.brs.html @@ -410,7 +410,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_home_HomeRows.brs.html b/docs/api/components_home_HomeRows.brs.html index eed7ee6c1..4deb8afd8 100644 --- a/docs/api/components_home_HomeRows.brs.html +++ b/docs/api/components_home_HomeRows.brs.html @@ -670,7 +670,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_home_LoadItemsTask.brs.html b/docs/api/components_home_LoadItemsTask.brs.html index c3e583be2..0629aea16 100644 --- a/docs/api/components_home_LoadItemsTask.brs.html +++ b/docs/api/components_home_LoadItemsTask.brs.html @@ -381,7 +381,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_liveTv_LoadChannelsTask.brs.html b/docs/api/components_liveTv_LoadChannelsTask.brs.html index 7f01f3496..c21047ef2 100644 --- a/docs/api/components_liveTv_LoadChannelsTask.brs.html +++ b/docs/api/components_liveTv_LoadChannelsTask.brs.html @@ -185,7 +185,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_liveTv_LoadProgramDetailsTask.brs.html b/docs/api/components_liveTv_LoadProgramDetailsTask.brs.html index 4aafdce5a..be1c10e01 100644 --- a/docs/api/components_liveTv_LoadProgramDetailsTask.brs.html +++ b/docs/api/components_liveTv_LoadProgramDetailsTask.brs.html @@ -157,7 +157,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_liveTv_LoadSheduleTask.brs.html b/docs/api/components_liveTv_LoadSheduleTask.brs.html index 321aa6581..d3fa71cde 100644 --- a/docs/api/components_liveTv_LoadSheduleTask.brs.html +++ b/docs/api/components_liveTv_LoadSheduleTask.brs.html @@ -163,7 +163,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_liveTv_ProgramDetails.brs.html b/docs/api/components_liveTv_ProgramDetails.brs.html index dc8d1c563..046612409 100644 --- a/docs/api/components_liveTv_ProgramDetails.brs.html +++ b/docs/api/components_liveTv_ProgramDetails.brs.html @@ -487,7 +487,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_liveTv_RecordProgramTask.brs.html b/docs/api/components_liveTv_RecordProgramTask.brs.html index d6dea8311..6d77a9342 100644 --- a/docs/api/components_liveTv_RecordProgramTask.brs.html +++ b/docs/api/components_liveTv_RecordProgramTask.brs.html @@ -173,7 +173,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_liveTv_schedule.brs.html b/docs/api/components_liveTv_schedule.brs.html index 3fc1773d1..8ebb0b168 100644 --- a/docs/api/components_liveTv_schedule.brs.html +++ b/docs/api/components_liveTv_schedule.brs.html @@ -418,7 +418,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_login_UserItem.brs.html b/docs/api/components_login_UserItem.brs.html index e9672e43b..5a5cc95aa 100644 --- a/docs/api/components_login_UserItem.brs.html +++ b/docs/api/components_login_UserItem.brs.html @@ -130,7 +130,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_login_UserRow.brs.html b/docs/api/components_login_UserRow.brs.html index 72c7172da..0310c6c60 100644 --- a/docs/api/components_login_UserRow.brs.html +++ b/docs/api/components_login_UserRow.brs.html @@ -166,7 +166,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_login_UserSelect.brs.html b/docs/api/components_login_UserSelect.brs.html index 2c2aa4a23..26ae33b43 100644 --- a/docs/api/components_login_UserSelect.brs.html +++ b/docs/api/components_login_UserSelect.brs.html @@ -154,7 +154,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_manager_QueueManager.brs.html b/docs/api/components_manager_QueueManager.brs.html index 6047738ae..12da74ba2 100644 --- a/docs/api/components_manager_QueueManager.brs.html +++ b/docs/api/components_manager_QueueManager.brs.html @@ -373,7 +373,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_manager_ViewCreator.brs.html b/docs/api/components_manager_ViewCreator.brs.html index f92bab884..c93c769f1 100644 --- a/docs/api/components_manager_ViewCreator.brs.html +++ b/docs/api/components_manager_ViewCreator.brs.html @@ -301,7 +301,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_mediaPlayers_AudioPlayer.brs.html b/docs/api/components_mediaPlayers_AudioPlayer.brs.html index 7109f26d6..5b6ed105d 100644 --- a/docs/api/components_mediaPlayers_AudioPlayer.brs.html +++ b/docs/api/components_mediaPlayers_AudioPlayer.brs.html @@ -156,7 +156,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_movies_AudioTrackListItem.brs.html b/docs/api/components_movies_AudioTrackListItem.brs.html index 326a93d15..1d2299bc9 100644 --- a/docs/api/components_movies_AudioTrackListItem.brs.html +++ b/docs/api/components_movies_AudioTrackListItem.brs.html @@ -146,7 +146,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_movies_MovieDetails.brs.html b/docs/api/components_movies_MovieDetails.brs.html index cfd411be4..514d13627 100644 --- a/docs/api/components_movies_MovieDetails.brs.html +++ b/docs/api/components_movies_MovieDetails.brs.html @@ -509,7 +509,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_movies_MovieOptions.brs.html b/docs/api/components_movies_MovieOptions.brs.html index a12182efb..15784d8e8 100644 --- a/docs/api/components_movies_MovieOptions.brs.html +++ b/docs/api/components_movies_MovieOptions.brs.html @@ -268,7 +268,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_movies_VideoTrackListItem.brs.html b/docs/api/components_movies_VideoTrackListItem.brs.html index d7c9aab0f..b1549e116 100644 --- a/docs/api/components_movies_VideoTrackListItem.brs.html +++ b/docs/api/components_movies_VideoTrackListItem.brs.html @@ -146,7 +146,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_music_AlbumGrid.brs.html b/docs/api/components_music_AlbumGrid.brs.html index 5e73bcd82..a28c60242 100644 --- a/docs/api/components_music_AlbumGrid.brs.html +++ b/docs/api/components_music_AlbumGrid.brs.html @@ -182,7 +182,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_music_AlbumTrackList.brs.html b/docs/api/components_music_AlbumTrackList.brs.html index 3a894692e..c6707b7cb 100644 --- a/docs/api/components_music_AlbumTrackList.brs.html +++ b/docs/api/components_music_AlbumTrackList.brs.html @@ -138,7 +138,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_music_AlbumView.brs.html b/docs/api/components_music_AlbumView.brs.html index 4a7920f61..e6e6ee666 100644 --- a/docs/api/components_music_AlbumView.brs.html +++ b/docs/api/components_music_AlbumView.brs.html @@ -290,7 +290,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_music_ArtistView.brs.html b/docs/api/components_music_ArtistView.brs.html index ecf24b270..543e062b3 100644 --- a/docs/api/components_music_ArtistView.brs.html +++ b/docs/api/components_music_ArtistView.brs.html @@ -446,7 +446,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_music_AudioPlayerView.brs.html b/docs/api/components_music_AudioPlayerView.brs.html index a4f64648d..c40d69f5a 100644 --- a/docs/api/components_music_AudioPlayerView.brs.html +++ b/docs/api/components_music_AudioPlayerView.brs.html @@ -711,7 +711,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_music_LoadScreenSaverTimeoutTask.brs.html b/docs/api/components_music_LoadScreenSaverTimeoutTask.brs.html index 22b1f484c..d1d8bfe70 100644 --- a/docs/api/components_music_LoadScreenSaverTimeoutTask.brs.html +++ b/docs/api/components_music_LoadScreenSaverTimeoutTask.brs.html @@ -121,7 +121,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_music_PlaylistView.brs.html b/docs/api/components_music_PlaylistView.brs.html index b6169dac2..c6bd0cb6a 100644 --- a/docs/api/components_music_PlaylistView.brs.html +++ b/docs/api/components_music_PlaylistView.brs.html @@ -281,7 +281,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_music_SongItem.brs.html b/docs/api/components_music_SongItem.brs.html index 79082bfa9..9221a900b 100644 --- a/docs/api/components_music_SongItem.brs.html +++ b/docs/api/components_music_SongItem.brs.html @@ -144,7 +144,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_options_OptionNode.brs.html b/docs/api/components_options_OptionNode.brs.html index c505974ab..6c6f32561 100644 --- a/docs/api/components_options_OptionNode.brs.html +++ b/docs/api/components_options_OptionNode.brs.html @@ -115,7 +115,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_options_OptionsSlider.brs.html b/docs/api/components_options_OptionsSlider.brs.html index 1fff9bf32..748e94be4 100644 --- a/docs/api/components_options_OptionsSlider.brs.html +++ b/docs/api/components_options_OptionsSlider.brs.html @@ -154,7 +154,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_photos_LoadPhotoTask.brs.html b/docs/api/components_photos_LoadPhotoTask.brs.html index 35f89b54f..d433b243e 100644 --- a/docs/api/components_photos_LoadPhotoTask.brs.html +++ b/docs/api/components_photos_LoadPhotoTask.brs.html @@ -133,7 +133,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_photos_PhotoDetails.brs.html b/docs/api/components_photos_PhotoDetails.brs.html index e5ea50a2c..5a92a39e4 100644 --- a/docs/api/components_photos_PhotoDetails.brs.html +++ b/docs/api/components_photos_PhotoDetails.brs.html @@ -239,7 +239,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_quickConnect_QuickConnect.brs.html b/docs/api/components_quickConnect_QuickConnect.brs.html index fb89b3518..9d62bec9d 100644 --- a/docs/api/components_quickConnect_QuickConnect.brs.html +++ b/docs/api/components_quickConnect_QuickConnect.brs.html @@ -130,7 +130,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_quickConnect_QuickConnectDialog.brs.html b/docs/api/components_quickConnect_QuickConnectDialog.brs.html index 5746e11a3..2c9b32f43 100644 --- a/docs/api/components_quickConnect_QuickConnectDialog.brs.html +++ b/docs/api/components_quickConnect_QuickConnectDialog.brs.html @@ -184,7 +184,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_search_SearchResults.brs.html b/docs/api/components_search_SearchResults.brs.html index ad0d74f54..763080ad5 100644 --- a/docs/api/components_search_SearchResults.brs.html +++ b/docs/api/components_search_SearchResults.brs.html @@ -179,7 +179,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_search_SearchRow.brs.html b/docs/api/components_search_SearchRow.brs.html index 5c731ec17..25e894445 100644 --- a/docs/api/components_search_SearchRow.brs.html +++ b/docs/api/components_search_SearchRow.brs.html @@ -207,7 +207,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_search_SearchTask.brs.html b/docs/api/components_search_SearchTask.brs.html index 5e832f1bc..09ae40bc1 100644 --- a/docs/api/components_search_SearchTask.brs.html +++ b/docs/api/components_search_SearchTask.brs.html @@ -128,7 +128,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_section_section.brs.html b/docs/api/components_section_section.brs.html index 5c75e08f5..f86daa7db 100644 --- a/docs/api/components_section_section.brs.html +++ b/docs/api/components_section_section.brs.html @@ -210,7 +210,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_section_sectionScroller.brs.html b/docs/api/components_section_sectionScroller.brs.html index 7a5d9ca20..17e4a2550 100644 --- a/docs/api/components_section_sectionScroller.brs.html +++ b/docs/api/components_section_sectionScroller.brs.html @@ -173,7 +173,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_settings_settings.brs.html b/docs/api/components_settings_settings.brs.html index 063d2ff63..10413f123 100644 --- a/docs/api/components_settings_settings.brs.html +++ b/docs/api/components_settings_settings.brs.html @@ -342,7 +342,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_tvshows_TVEpisodeRow.brs.html b/docs/api/components_tvshows_TVEpisodeRow.brs.html index c575f80d0..e973f4420 100644 --- a/docs/api/components_tvshows_TVEpisodeRow.brs.html +++ b/docs/api/components_tvshows_TVEpisodeRow.brs.html @@ -175,7 +175,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_tvshows_TVEpisodeRowWithOptions.brs.html b/docs/api/components_tvshows_TVEpisodeRowWithOptions.brs.html index 498cf349b..0485c1010 100644 --- a/docs/api/components_tvshows_TVEpisodeRowWithOptions.brs.html +++ b/docs/api/components_tvshows_TVEpisodeRowWithOptions.brs.html @@ -236,7 +236,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_tvshows_TVEpisodes.brs.html b/docs/api/components_tvshows_TVEpisodes.brs.html index e1c19bd72..64836cc22 100644 --- a/docs/api/components_tvshows_TVEpisodes.brs.html +++ b/docs/api/components_tvshows_TVEpisodes.brs.html @@ -231,7 +231,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_tvshows_TVListDetails.brs.html b/docs/api/components_tvshows_TVListDetails.brs.html index 649535740..dc7bb0a7f 100644 --- a/docs/api/components_tvshows_TVListDetails.brs.html +++ b/docs/api/components_tvshows_TVListDetails.brs.html @@ -304,7 +304,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_tvshows_TVListOptions.brs.html b/docs/api/components_tvshows_TVListOptions.brs.html index cd45f4034..1d9d06145 100644 --- a/docs/api/components_tvshows_TVListOptions.brs.html +++ b/docs/api/components_tvshows_TVListOptions.brs.html @@ -267,7 +267,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_tvshows_TVSeasonRow.brs.html b/docs/api/components_tvshows_TVSeasonRow.brs.html index 11cc8fff9..33663d0cb 100644 --- a/docs/api/components_tvshows_TVSeasonRow.brs.html +++ b/docs/api/components_tvshows_TVSeasonRow.brs.html @@ -161,7 +161,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_tvshows_TVShowDescription.brs.html b/docs/api/components_tvshows_TVShowDescription.brs.html index c42b1df52..781185ef9 100644 --- a/docs/api/components_tvshows_TVShowDescription.brs.html +++ b/docs/api/components_tvshows_TVShowDescription.brs.html @@ -245,7 +245,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_tvshows_TVShowDetails.brs.html b/docs/api/components_tvshows_TVShowDetails.brs.html index eff74a7de..bcb3f3126 100644 --- a/docs/api/components_tvshows_TVShowDetails.brs.html +++ b/docs/api/components_tvshows_TVShowDetails.brs.html @@ -357,7 +357,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/components_video_VideoPlayerView.brs.html b/docs/api/components_video_VideoPlayerView.brs.html index e05c29239..1fe5bbb68 100644 --- a/docs/api/components_video_VideoPlayerView.brs.html +++ b/docs/api/components_video_VideoPlayerView.brs.html @@ -517,7 +517,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/index.html b/docs/api/index.html index 57e6f81d9..6cfcfeedd 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -149,7 +149,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-AlbumData.html b/docs/api/module-AlbumData.html index 636258e5e..99b9413a8 100644 --- a/docs/api/module-AlbumData.html +++ b/docs/api/module-AlbumData.html @@ -303,7 +303,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-AlbumGrid.html b/docs/api/module-AlbumGrid.html index b244061a3..ca9bea3a1 100644 --- a/docs/api/module-AlbumGrid.html +++ b/docs/api/module-AlbumGrid.html @@ -585,7 +585,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-AlbumTrackList.html b/docs/api/module-AlbumTrackList.html index a7f129175..48205cebd 100644 --- a/docs/api/module-AlbumTrackList.html +++ b/docs/api/module-AlbumTrackList.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-AlbumView.html b/docs/api/module-AlbumView.html index 6923a77e2..74c7efd43 100644 --- a/docs/api/module-AlbumView.html +++ b/docs/api/module-AlbumView.html @@ -1691,7 +1691,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-Alpha.html b/docs/api/module-Alpha.html index 605dc98ab..419188e7d 100644 --- a/docs/api/module-Alpha.html +++ b/docs/api/module-Alpha.html @@ -481,7 +481,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ArtistView.html b/docs/api/module-ArtistView.html index 80fa869c4..0163fb30a 100644 --- a/docs/api/module-ArtistView.html +++ b/docs/api/module-ArtistView.html @@ -2939,7 +2939,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-AudioPlayer.html b/docs/api/module-AudioPlayer.html index c72e75c27..956382b4b 100644 --- a/docs/api/module-AudioPlayer.html +++ b/docs/api/module-AudioPlayer.html @@ -569,7 +569,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-AudioPlayerView.html b/docs/api/module-AudioPlayerView.html index 32281e24d..92fd7d1de 100644 --- a/docs/api/module-AudioPlayerView.html +++ b/docs/api/module-AudioPlayerView.html @@ -4519,7 +4519,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-AudioTrackListItem.html b/docs/api/module-AudioTrackListItem.html index 6204dc685..425f80eb3 100644 --- a/docs/api/module-AudioTrackListItem.html +++ b/docs/api/module-AudioTrackListItem.html @@ -515,7 +515,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ButtonGroupHoriz.html b/docs/api/module-ButtonGroupHoriz.html index 8b0b24008..43550e8b0 100644 --- a/docs/api/module-ButtonGroupHoriz.html +++ b/docs/api/module-ButtonGroupHoriz.html @@ -481,7 +481,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ChannelData.html b/docs/api/module-ChannelData.html index 490186267..eeb637ac7 100644 --- a/docs/api/module-ChannelData.html +++ b/docs/api/module-ChannelData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-CollectionData.html b/docs/api/module-CollectionData.html index a7e9379cd..dc194a775 100644 --- a/docs/api/module-CollectionData.html +++ b/docs/api/module-CollectionData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ConfigData.html b/docs/api/module-ConfigData.html index d98d87540..62f236808 100644 --- a/docs/api/module-ConfigData.html +++ b/docs/api/module-ConfigData.html @@ -303,7 +303,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ConfigItem.html b/docs/api/module-ConfigItem.html index d255d0071..cc7aba620 100644 --- a/docs/api/module-ConfigItem.html +++ b/docs/api/module-ConfigItem.html @@ -511,7 +511,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ConfigList.html b/docs/api/module-ConfigList.html index 22de88a26..8849a910d 100644 --- a/docs/api/module-ConfigList.html +++ b/docs/api/module-ConfigList.html @@ -873,7 +873,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ExtrasItem.html b/docs/api/module-ExtrasItem.html index a94137c81..7aa30fdcf 100644 --- a/docs/api/module-ExtrasItem.html +++ b/docs/api/module-ExtrasItem.html @@ -511,7 +511,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ExtrasRowList.html b/docs/api/module-ExtrasRowList.html index 5eb31e166..11cead02c 100644 --- a/docs/api/module-ExtrasRowList.html +++ b/docs/api/module-ExtrasRowList.html @@ -2051,7 +2051,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-FavoriteItemsTask.html b/docs/api/module-FavoriteItemsTask.html index e80a3b3a6..41baaede6 100644 --- a/docs/api/module-FavoriteItemsTask.html +++ b/docs/api/module-FavoriteItemsTask.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-FolderData.html b/docs/api/module-FolderData.html index 015d6ceb6..9f58befee 100644 --- a/docs/api/module-FolderData.html +++ b/docs/api/module-FolderData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-GetFiltersTask.html b/docs/api/module-GetFiltersTask.html index df90d8824..182cdfe31 100644 --- a/docs/api/module-GetFiltersTask.html +++ b/docs/api/module-GetFiltersTask.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-GetNextEpisodeTask.html b/docs/api/module-GetNextEpisodeTask.html index 107640ee6..836a5336a 100644 --- a/docs/api/module-GetNextEpisodeTask.html +++ b/docs/api/module-GetNextEpisodeTask.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-GetPlaybackInfoTask.html b/docs/api/module-GetPlaybackInfoTask.html index efa01ea5e..d00fa04c5 100644 --- a/docs/api/module-GetPlaybackInfoTask.html +++ b/docs/api/module-GetPlaybackInfoTask.html @@ -1114,7 +1114,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-GetShuffleEpisodesTask.html b/docs/api/module-GetShuffleEpisodesTask.html index 5ba41535a..04e785417 100644 --- a/docs/api/module-GetShuffleEpisodesTask.html +++ b/docs/api/module-GetShuffleEpisodesTask.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-GridItem.html b/docs/api/module-GridItem.html index c1b40082e..f5d24f832 100644 --- a/docs/api/module-GridItem.html +++ b/docs/api/module-GridItem.html @@ -731,7 +731,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-GridItemSmall.html b/docs/api/module-GridItemSmall.html index 71d6ae76d..20da6c78f 100644 --- a/docs/api/module-GridItemSmall.html +++ b/docs/api/module-GridItemSmall.html @@ -619,7 +619,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-Home.html b/docs/api/module-Home.html index 40260d972..3a5e52540 100644 --- a/docs/api/module-Home.html +++ b/docs/api/module-Home.html @@ -511,7 +511,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-HomeData.html b/docs/api/module-HomeData.html index cf0501e17..e55efd6ab 100644 --- a/docs/api/module-HomeData.html +++ b/docs/api/module-HomeData.html @@ -303,7 +303,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-HomeItem.html b/docs/api/module-HomeItem.html index 133838fb3..a684359b3 100644 --- a/docs/api/module-HomeItem.html +++ b/docs/api/module-HomeItem.html @@ -781,7 +781,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-HomeRows.html b/docs/api/module-HomeRows.html index a5445f114..8df23b7a5 100644 --- a/docs/api/module-HomeRows.html +++ b/docs/api/module-HomeRows.html @@ -3592,7 +3592,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-IconButton.html b/docs/api/module-IconButton.html index de0b8b7c4..ce081efbe 100644 --- a/docs/api/module-IconButton.html +++ b/docs/api/module-IconButton.html @@ -1313,7 +1313,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-Image.html b/docs/api/module-Image.html index ffe4395f6..11722eaa2 100644 --- a/docs/api/module-Image.html +++ b/docs/api/module-Image.html @@ -1083,7 +1083,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ImageData.html b/docs/api/module-ImageData.html index 475f08661..eac10ae13 100644 --- a/docs/api/module-ImageData.html +++ b/docs/api/module-ImageData.html @@ -303,7 +303,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ItemGrid.html b/docs/api/module-ItemGrid.html index cf16105f3..c9d9ca4e0 100644 --- a/docs/api/module-ItemGrid.html +++ b/docs/api/module-ItemGrid.html @@ -3997,7 +3997,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ItemGridOptions.html b/docs/api/module-ItemGridOptions.html index 759b3ee39..acda89b52 100644 --- a/docs/api/module-ItemGridOptions.html +++ b/docs/api/module-ItemGridOptions.html @@ -1525,7 +1525,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-Items.html b/docs/api/module-Items.html index deaaf9768..7b927dc22 100644 --- a/docs/api/module-Items.html +++ b/docs/api/module-Items.html @@ -3807,7 +3807,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-JFButton.html b/docs/api/module-JFButton.html index 1e1b0fbda..8795d52c5 100644 --- a/docs/api/module-JFButton.html +++ b/docs/api/module-JFButton.html @@ -411,7 +411,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-JFButtons.html b/docs/api/module-JFButtons.html index da68e7044..b70ca9b02 100644 --- a/docs/api/module-JFButtons.html +++ b/docs/api/module-JFButtons.html @@ -1227,7 +1227,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-JFGroup.html b/docs/api/module-JFGroup.html index 3a4f18720..f74ac4aac 100644 --- a/docs/api/module-JFGroup.html +++ b/docs/api/module-JFGroup.html @@ -481,7 +481,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-JFMessageDialog.html b/docs/api/module-JFMessageDialog.html index 86a9201e0..069cd3867 100644 --- a/docs/api/module-JFMessageDialog.html +++ b/docs/api/module-JFMessageDialog.html @@ -793,7 +793,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-JFOverhang.html b/docs/api/module-JFOverhang.html index 4800c4c16..413e9daa8 100644 --- a/docs/api/module-JFOverhang.html +++ b/docs/api/module-JFOverhang.html @@ -1239,7 +1239,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-JFScene.html b/docs/api/module-JFScene.html index 500ee8248..bc4bda8fc 100644 --- a/docs/api/module-JFScene.html +++ b/docs/api/module-JFScene.html @@ -481,7 +481,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-JFScreen.html b/docs/api/module-JFScreen.html index 834481e83..d8bb59f0c 100644 --- a/docs/api/module-JFScreen.html +++ b/docs/api/module-JFScreen.html @@ -523,7 +523,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-JFServer.html b/docs/api/module-JFServer.html index af33fc35d..cac21705d 100644 --- a/docs/api/module-JFServer.html +++ b/docs/api/module-JFServer.html @@ -715,7 +715,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-JFVideo.html b/docs/api/module-JFVideo.html index 34f1c194c..2803def7b 100644 --- a/docs/api/module-JFVideo.html +++ b/docs/api/module-JFVideo.html @@ -2143,7 +2143,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ListPoster.html b/docs/api/module-ListPoster.html index a62dd8a10..37a5183e3 100644 --- a/docs/api/module-ListPoster.html +++ b/docs/api/module-ListPoster.html @@ -619,7 +619,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-LoadChannelsTask.html b/docs/api/module-LoadChannelsTask.html index b2eaca9e2..d009016dc 100644 --- a/docs/api/module-LoadChannelsTask.html +++ b/docs/api/module-LoadChannelsTask.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-LoadItemsTask.html b/docs/api/module-LoadItemsTask.html index 36dc42698..5b0cc2b27 100644 --- a/docs/api/module-LoadItemsTask.html +++ b/docs/api/module-LoadItemsTask.html @@ -609,7 +609,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-LoadItemsTask2.html b/docs/api/module-LoadItemsTask2.html index 7c47298fa..9719c9033 100644 --- a/docs/api/module-LoadItemsTask2.html +++ b/docs/api/module-LoadItemsTask2.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-LoadPhotoTask.html b/docs/api/module-LoadPhotoTask.html index 73c7c2ddd..761b99a7a 100644 --- a/docs/api/module-LoadPhotoTask.html +++ b/docs/api/module-LoadPhotoTask.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-LoadProgramDetailsTask.html b/docs/api/module-LoadProgramDetailsTask.html index 617c13e3c..e18eca05a 100644 --- a/docs/api/module-LoadProgramDetailsTask.html +++ b/docs/api/module-LoadProgramDetailsTask.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-LoadScreenSaverTimeoutTask.html b/docs/api/module-LoadScreenSaverTimeoutTask.html index 3925f23df..27662b9f8 100644 --- a/docs/api/module-LoadScreenSaverTimeoutTask.html +++ b/docs/api/module-LoadScreenSaverTimeoutTask.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-LoadSheduleTask.html b/docs/api/module-LoadSheduleTask.html index f33c15530..3a3214ddd 100644 --- a/docs/api/module-LoadSheduleTask.html +++ b/docs/api/module-LoadSheduleTask.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-LoadVideoContentTask.html b/docs/api/module-LoadVideoContentTask.html index 6de372c2e..6fd4467f6 100644 --- a/docs/api/module-LoadVideoContentTask.html +++ b/docs/api/module-LoadVideoContentTask.html @@ -2537,7 +2537,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-LoginScene.html b/docs/api/module-LoginScene.html index 191a76de3..371a2865f 100644 --- a/docs/api/module-LoginScene.html +++ b/docs/api/module-LoginScene.html @@ -481,7 +481,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-Main.html b/docs/api/module-Main.html index f09fa88dd..e2b3fdb29 100644 --- a/docs/api/module-Main.html +++ b/docs/api/module-Main.html @@ -353,7 +353,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-MovieData.html b/docs/api/module-MovieData.html index 2e3d0f45a..0b7c4ce3f 100644 --- a/docs/api/module-MovieData.html +++ b/docs/api/module-MovieData.html @@ -511,7 +511,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-MovieDetails.html b/docs/api/module-MovieDetails.html index 19a55b39c..91a40edd6 100644 --- a/docs/api/module-MovieDetails.html +++ b/docs/api/module-MovieDetails.html @@ -2219,7 +2219,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-MovieLibraryView.html b/docs/api/module-MovieLibraryView.html index 7d918e1ee..22b7b543a 100644 --- a/docs/api/module-MovieLibraryView.html +++ b/docs/api/module-MovieLibraryView.html @@ -4483,7 +4483,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-MovieOptions.html b/docs/api/module-MovieOptions.html index 20f8d526e..84baf2164 100644 --- a/docs/api/module-MovieOptions.html +++ b/docs/api/module-MovieOptions.html @@ -693,7 +693,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-MusicAlbumData.html b/docs/api/module-MusicAlbumData.html index 9b6bdc2e1..75be9e14e 100644 --- a/docs/api/module-MusicAlbumData.html +++ b/docs/api/module-MusicAlbumData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-MusicAlbumSongListData.html b/docs/api/module-MusicAlbumSongListData.html index f1026bade..810ec378a 100644 --- a/docs/api/module-MusicAlbumSongListData.html +++ b/docs/api/module-MusicAlbumSongListData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-MusicArtistData.html b/docs/api/module-MusicArtistData.html index a0be64b32..86e37fa13 100644 --- a/docs/api/module-MusicArtistData.html +++ b/docs/api/module-MusicArtistData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-MusicArtistGridItem.html b/docs/api/module-MusicArtistGridItem.html index 247c81311..503f4d385 100644 --- a/docs/api/module-MusicArtistGridItem.html +++ b/docs/api/module-MusicArtistGridItem.html @@ -623,7 +623,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-MusicLibraryView.html b/docs/api/module-MusicLibraryView.html index 2b271e392..e6b898ee3 100644 --- a/docs/api/module-MusicLibraryView.html +++ b/docs/api/module-MusicLibraryView.html @@ -4075,7 +4075,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-MusicSongData.html b/docs/api/module-MusicSongData.html index e3e665f8b..fd64bd697 100644 --- a/docs/api/module-MusicSongData.html +++ b/docs/api/module-MusicSongData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-OptionNode.html b/docs/api/module-OptionNode.html index 94775aaae..3866620f9 100644 --- a/docs/api/module-OptionNode.html +++ b/docs/api/module-OptionNode.html @@ -303,7 +303,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-OptionsButton.html b/docs/api/module-OptionsButton.html index be8cf9986..e8a211324 100644 --- a/docs/api/module-OptionsButton.html +++ b/docs/api/module-OptionsButton.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-OptionsData.html b/docs/api/module-OptionsData.html index 72ce2792b..b574eab9b 100644 --- a/docs/api/module-OptionsData.html +++ b/docs/api/module-OptionsData.html @@ -511,7 +511,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-OptionsSlider.html b/docs/api/module-OptionsSlider.html index 930032e1c..2a0dd8bd4 100644 --- a/docs/api/module-OptionsSlider.html +++ b/docs/api/module-OptionsSlider.html @@ -585,7 +585,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-OverviewDialog.html b/docs/api/module-OverviewDialog.html index 55222f072..2fed87e22 100644 --- a/docs/api/module-OverviewDialog.html +++ b/docs/api/module-OverviewDialog.html @@ -585,7 +585,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-PersonData.html b/docs/api/module-PersonData.html index 03836ea45..d8f660aff 100644 --- a/docs/api/module-PersonData.html +++ b/docs/api/module-PersonData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-PersonDetails.html b/docs/api/module-PersonDetails.html index 58c90041c..5dcaceb86 100644 --- a/docs/api/module-PersonDetails.html +++ b/docs/api/module-PersonDetails.html @@ -1259,7 +1259,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-PhotoData.html b/docs/api/module-PhotoData.html index dd0d7507d..a660d1b9c 100644 --- a/docs/api/module-PhotoData.html +++ b/docs/api/module-PhotoData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-PhotoDetails.html b/docs/api/module-PhotoDetails.html index 0e71b422d..30b413aa4 100644 --- a/docs/api/module-PhotoDetails.html +++ b/docs/api/module-PhotoDetails.html @@ -1051,7 +1051,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-PlaybackDialog.html b/docs/api/module-PlaybackDialog.html index 5909f74f3..c02988f9f 100644 --- a/docs/api/module-PlaybackDialog.html +++ b/docs/api/module-PlaybackDialog.html @@ -377,7 +377,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-PlayedCheckmark.html b/docs/api/module-PlayedCheckmark.html index 54a4ad2a1..acffeb532 100644 --- a/docs/api/module-PlayedCheckmark.html +++ b/docs/api/module-PlayedCheckmark.html @@ -303,7 +303,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-PlaylistData.html b/docs/api/module-PlaylistData.html index cdecc7beb..5d0356da3 100644 --- a/docs/api/module-PlaylistData.html +++ b/docs/api/module-PlaylistData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-PlaylistView.html b/docs/api/module-PlaylistView.html index 5a70acfdd..a71dace8f 100644 --- a/docs/api/module-PlaylistView.html +++ b/docs/api/module-PlaylistView.html @@ -1691,7 +1691,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-PlaystateTask.html b/docs/api/module-PlaystateTask.html index e2283da99..8b37b1edc 100644 --- a/docs/api/module-PlaystateTask.html +++ b/docs/api/module-PlaystateTask.html @@ -581,7 +581,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ProgramDetails.html b/docs/api/module-ProgramDetails.html index 71234b70f..d5a8c1203 100644 --- a/docs/api/module-ProgramDetails.html +++ b/docs/api/module-ProgramDetails.html @@ -1539,7 +1539,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-PublicUserData.html b/docs/api/module-PublicUserData.html index bb56380c9..d3016fd9d 100644 --- a/docs/api/module-PublicUserData.html +++ b/docs/api/module-PublicUserData.html @@ -303,7 +303,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-QueueManager.html b/docs/api/module-QueueManager.html index 65cbf672c..498202fb7 100644 --- a/docs/api/module-QueueManager.html +++ b/docs/api/module-QueueManager.html @@ -4097,7 +4097,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-QuickConnect.html b/docs/api/module-QuickConnect.html index 14cf8c631..871ff773a 100644 --- a/docs/api/module-QuickConnect.html +++ b/docs/api/module-QuickConnect.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-QuickConnectDialog.html b/docs/api/module-QuickConnectDialog.html index 9196f90aa..aaa873204 100644 --- a/docs/api/module-QuickConnectDialog.html +++ b/docs/api/module-QuickConnectDialog.html @@ -897,7 +897,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-RadioDialog.html b/docs/api/module-RadioDialog.html index 8fe7ab963..cbdc60d3f 100644 --- a/docs/api/module-RadioDialog.html +++ b/docs/api/module-RadioDialog.html @@ -1125,7 +1125,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-RecordProgramTask.html b/docs/api/module-RecordProgramTask.html index 78c80ca26..b618bbb32 100644 --- a/docs/api/module-RecordProgramTask.html +++ b/docs/api/module-RecordProgramTask.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-SceneManager.html b/docs/api/module-SceneManager.html index d7b5e6bf9..cc397b630 100644 --- a/docs/api/module-SceneManager.html +++ b/docs/api/module-SceneManager.html @@ -3369,7 +3369,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ScheduleProgramData.html b/docs/api/module-ScheduleProgramData.html index 1f0ae0efb..e01f844eb 100644 --- a/docs/api/module-ScheduleProgramData.html +++ b/docs/api/module-ScheduleProgramData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-SearchBox.html b/docs/api/module-SearchBox.html index 3d707f0c0..3b381ac2e 100644 --- a/docs/api/module-SearchBox.html +++ b/docs/api/module-SearchBox.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-SearchData.html b/docs/api/module-SearchData.html index 81fb332b4..1832338b7 100644 --- a/docs/api/module-SearchData.html +++ b/docs/api/module-SearchData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-SearchResults.html b/docs/api/module-SearchResults.html index 42311c10f..5f82285e8 100644 --- a/docs/api/module-SearchResults.html +++ b/docs/api/module-SearchResults.html @@ -689,7 +689,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-SearchRow.html b/docs/api/module-SearchRow.html index dc099355e..1401f5663 100644 --- a/docs/api/module-SearchRow.html +++ b/docs/api/module-SearchRow.html @@ -713,7 +713,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-SearchTask.html b/docs/api/module-SearchTask.html index b30da172b..c3ead0884 100644 --- a/docs/api/module-SearchTask.html +++ b/docs/api/module-SearchTask.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-SeriesData.html b/docs/api/module-SeriesData.html index 2268c8041..cad143dac 100644 --- a/docs/api/module-SeriesData.html +++ b/docs/api/module-SeriesData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ServerDiscoveryTask.html b/docs/api/module-ServerDiscoveryTask.html index e6c47e350..3f1cc4b17 100644 --- a/docs/api/module-ServerDiscoveryTask.html +++ b/docs/api/module-ServerDiscoveryTask.html @@ -1081,7 +1081,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-SetServerScreen.html b/docs/api/module-SetServerScreen.html index ce2b2bfaa..ccb16bbc3 100644 --- a/docs/api/module-SetServerScreen.html +++ b/docs/api/module-SetServerScreen.html @@ -1051,7 +1051,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ShowScenes.html b/docs/api/module-ShowScenes.html index 80f1564f5..fd83ceb50 100644 --- a/docs/api/module-ShowScenes.html +++ b/docs/api/module-ShowScenes.html @@ -3685,7 +3685,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-SongItem.html b/docs/api/module-SongItem.html index 847922b60..54e1525f3 100644 --- a/docs/api/module-SongItem.html +++ b/docs/api/module-SongItem.html @@ -511,7 +511,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-Spinner.html b/docs/api/module-Spinner.html index 695f776ee..ce3220b85 100644 --- a/docs/api/module-Spinner.html +++ b/docs/api/module-Spinner.html @@ -303,7 +303,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-StandardDialog.html b/docs/api/module-StandardDialog.html index c13b37a36..6e5a8ec63 100644 --- a/docs/api/module-StandardDialog.html +++ b/docs/api/module-StandardDialog.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-Subtitles.html b/docs/api/module-Subtitles.html index 83be42b3f..b8c1641da 100644 --- a/docs/api/module-Subtitles.html +++ b/docs/api/module-Subtitles.html @@ -2163,7 +2163,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-TVEpisode.html b/docs/api/module-TVEpisode.html index 3d0b47a93..b43a26bc7 100644 --- a/docs/api/module-TVEpisode.html +++ b/docs/api/module-TVEpisode.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-TVEpisodeData.html b/docs/api/module-TVEpisodeData.html index adf61daab..34e1131fd 100644 --- a/docs/api/module-TVEpisodeData.html +++ b/docs/api/module-TVEpisodeData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-TVEpisodeRow.html b/docs/api/module-TVEpisodeRow.html index 8ce0d14af..0d2790e9c 100644 --- a/docs/api/module-TVEpisodeRow.html +++ b/docs/api/module-TVEpisodeRow.html @@ -793,7 +793,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-TVEpisodeRowWithOptions.html b/docs/api/module-TVEpisodeRowWithOptions.html index 31722f8c2..68413a2ae 100644 --- a/docs/api/module-TVEpisodeRowWithOptions.html +++ b/docs/api/module-TVEpisodeRowWithOptions.html @@ -1213,7 +1213,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-TVEpisodes.html b/docs/api/module-TVEpisodes.html index 70a9c87b5..f5f68793f 100644 --- a/docs/api/module-TVEpisodes.html +++ b/docs/api/module-TVEpisodes.html @@ -801,7 +801,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-TVListDetails.html b/docs/api/module-TVListDetails.html index e08d7da4e..010003a31 100644 --- a/docs/api/module-TVListDetails.html +++ b/docs/api/module-TVListDetails.html @@ -1217,7 +1217,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-TVListOptions.html b/docs/api/module-TVListOptions.html index b3c1223c0..92f806c37 100644 --- a/docs/api/module-TVListOptions.html +++ b/docs/api/module-TVListOptions.html @@ -693,7 +693,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-TVSeasonData.html b/docs/api/module-TVSeasonData.html index 6de47ad48..bf60ed5b1 100644 --- a/docs/api/module-TVSeasonData.html +++ b/docs/api/module-TVSeasonData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-TVSeasonRow.html b/docs/api/module-TVSeasonRow.html index a46251b43..2bf65a6b5 100644 --- a/docs/api/module-TVSeasonRow.html +++ b/docs/api/module-TVSeasonRow.html @@ -511,7 +511,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-TVShowDescription.html b/docs/api/module-TVShowDescription.html index ad4e3aed2..cb31a86e4 100644 --- a/docs/api/module-TVShowDescription.html +++ b/docs/api/module-TVShowDescription.html @@ -1051,7 +1051,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-TVShowDetails.html b/docs/api/module-TVShowDetails.html index 9dd910d2c..4ae3224d5 100644 --- a/docs/api/module-TVShowDetails.html +++ b/docs/api/module-TVShowDetails.html @@ -1333,7 +1333,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-TextSizeTask.html b/docs/api/module-TextSizeTask.html index 1664d2495..7610cf053 100644 --- a/docs/api/module-TextSizeTask.html +++ b/docs/api/module-TextSizeTask.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-UserData.html b/docs/api/module-UserData.html index 47e87211a..3f561de8c 100644 --- a/docs/api/module-UserData.html +++ b/docs/api/module-UserData.html @@ -1409,7 +1409,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-UserItem.html b/docs/api/module-UserItem.html index 069586708..9120b8363 100644 --- a/docs/api/module-UserItem.html +++ b/docs/api/module-UserItem.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-UserLibrary.html b/docs/api/module-UserLibrary.html index af6f961de..b6b6f4b33 100644 --- a/docs/api/module-UserLibrary.html +++ b/docs/api/module-UserLibrary.html @@ -815,7 +815,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-UserRow.html b/docs/api/module-UserRow.html index 08cce5366..af790a743 100644 --- a/docs/api/module-UserRow.html +++ b/docs/api/module-UserRow.html @@ -793,7 +793,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-UserSelect.html b/docs/api/module-UserSelect.html index b5ec54f38..896646792 100644 --- a/docs/api/module-UserSelect.html +++ b/docs/api/module-UserSelect.html @@ -689,7 +689,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-VideoData.html b/docs/api/module-VideoData.html index 5c8c38c1e..cb0d4a240 100644 --- a/docs/api/module-VideoData.html +++ b/docs/api/module-VideoData.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-VideoPlayer.html b/docs/api/module-VideoPlayer.html index f4a0763b2..0a12f2740 100644 --- a/docs/api/module-VideoPlayer.html +++ b/docs/api/module-VideoPlayer.html @@ -2870,7 +2870,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-VideoPlayerView.html b/docs/api/module-VideoPlayerView.html index e3b323088..7334e1c51 100644 --- a/docs/api/module-VideoPlayerView.html +++ b/docs/api/module-VideoPlayerView.html @@ -2833,7 +2833,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-VideoTrackListItem.html b/docs/api/module-VideoTrackListItem.html index 0b091c0ea..5dc469c1f 100644 --- a/docs/api/module-VideoTrackListItem.html +++ b/docs/api/module-VideoTrackListItem.html @@ -515,7 +515,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-ViewCreator.html b/docs/api/module-ViewCreator.html index 27907714b..ff0d3538a 100644 --- a/docs/api/module-ViewCreator.html +++ b/docs/api/module-ViewCreator.html @@ -1220,7 +1220,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-WhatsNewDialog.html b/docs/api/module-WhatsNewDialog.html index 041f96ad0..e10889270 100644 --- a/docs/api/module-WhatsNewDialog.html +++ b/docs/api/module-WhatsNewDialog.html @@ -407,7 +407,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-baserequest.html b/docs/api/module-baserequest.html index a888f6dd2..f77362dfc 100644 --- a/docs/api/module-baserequest.html +++ b/docs/api/module-baserequest.html @@ -2617,7 +2617,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-captionTask.html b/docs/api/module-captionTask.html index 1825452fa..a98ed7377 100644 --- a/docs/api/module-captionTask.html +++ b/docs/api/module-captionTask.html @@ -1539,7 +1539,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-config.html b/docs/api/module-config.html index 2c7cb1f87..250657eaf 100644 --- a/docs/api/module-config.html +++ b/docs/api/module-config.html @@ -2570,7 +2570,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-deviceCapabilities.html b/docs/api/module-deviceCapabilities.html index c607a877a..793884225 100644 --- a/docs/api/module-deviceCapabilities.html +++ b/docs/api/module-deviceCapabilities.html @@ -1405,7 +1405,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-globals.html b/docs/api/module-globals.html index 087e6389d..1ea144852 100644 --- a/docs/api/module-globals.html +++ b/docs/api/module-globals.html @@ -523,7 +523,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-migrations.html b/docs/api/module-migrations.html index a78e50fd2..8c996dc16 100644 --- a/docs/api/module-migrations.html +++ b/docs/api/module-migrations.html @@ -461,7 +461,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-misc.html b/docs/api/module-misc.html index 8ce5ce6a2..4fd55bd3e 100644 --- a/docs/api/module-misc.html +++ b/docs/api/module-misc.html @@ -5469,7 +5469,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-quickplay.html b/docs/api/module-quickplay.html index 716acfda6..5441a0788 100644 --- a/docs/api/module-quickplay.html +++ b/docs/api/module-quickplay.html @@ -2957,7 +2957,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-schedule.html b/docs/api/module-schedule.html index dd1dfc6f8..035adefc8 100644 --- a/docs/api/module-schedule.html +++ b/docs/api/module-schedule.html @@ -1919,7 +1919,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-section.html b/docs/api/module-section.html index 45d5e65ff..f65ac2370 100644 --- a/docs/api/module-section.html +++ b/docs/api/module-section.html @@ -1343,7 +1343,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-sectionScroller.html b/docs/api/module-sectionScroller.html index 245018e48..36d9a31f6 100644 --- a/docs/api/module-sectionScroller.html +++ b/docs/api/module-sectionScroller.html @@ -511,7 +511,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-settings.html b/docs/api/module-settings.html index bc0fc6bfa..cbb9a3cda 100644 --- a/docs/api/module-settings.html +++ b/docs/api/module-settings.html @@ -1259,7 +1259,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/module-userauth.html b/docs/api/module-userauth.html index e49111112..d810b1281 100644 --- a/docs/api/module-userauth.html +++ b/docs/api/module-userauth.html @@ -1553,7 +1553,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/modules.list.html b/docs/api/modules.list.html index 60d090406..5b01fe8c1 100644 --- a/docs/api/modules.list.html +++ b/docs/api/modules.list.html @@ -190,7 +190,7 @@ Documentation generated by JSDoc 4.0.2 - on Oct 30th 2023 + on Oct 31st 2023 using the DocStrap template. diff --git a/docs/api/quicksearch.html b/docs/api/quicksearch.html index b42aa97c2..ff782415b 100644 --- a/docs/api/quicksearch.html +++ b/docs/api/quicksearch.html @@ -7,7 +7,7 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_Buttons_JFButtons.brs.html b/docs/api/components_Buttons_JFButtons.brs.html index df7438edc..875b4f3f1 100644 --- a/docs/api/components_Buttons_JFButtons.brs.html +++ b/docs/api/components_Buttons_JFButtons.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_Buttons_TextSizeTask.brs.html b/docs/api/components_Buttons_TextSizeTask.brs.html index cd61d1e4c..c5b653298 100644 --- a/docs/api/components_Buttons_TextSizeTask.brs.html +++ b/docs/api/components_Buttons_TextSizeTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_GetNextEpisodeTask.brs.html b/docs/api/components_GetNextEpisodeTask.brs.html index ad913d144..2fecf4766 100644 --- a/docs/api/components_GetNextEpisodeTask.brs.html +++ b/docs/api/components_GetNextEpisodeTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_GetPlaybackInfoTask.brs.html b/docs/api/components_GetPlaybackInfoTask.brs.html index 6287d362e..22cf1069b 100644 --- a/docs/api/components_GetPlaybackInfoTask.brs.html +++ b/docs/api/components_GetPlaybackInfoTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_GetShuffleEpisodesTask.brs.html b/docs/api/components_GetShuffleEpisodesTask.brs.html index 382cf8678..84998917a 100644 --- a/docs/api/components_GetShuffleEpisodesTask.brs.html +++ b/docs/api/components_GetShuffleEpisodesTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_IconButton.brs.html b/docs/api/components_IconButton.brs.html index af7c1e88f..b573814c9 100644 --- a/docs/api/components_IconButton.brs.html +++ b/docs/api/components_IconButton.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_ItemGrid_Alpha.brs.html b/docs/api/components_ItemGrid_Alpha.brs.html index fe659f4e7..ebf788bc3 100644 --- a/docs/api/components_ItemGrid_Alpha.brs.html +++ b/docs/api/components_ItemGrid_Alpha.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_ItemGrid_FavoriteItemsTask.brs.html b/docs/api/components_ItemGrid_FavoriteItemsTask.brs.html index d3bd3e02e..d93b46ad0 100644 --- a/docs/api/components_ItemGrid_FavoriteItemsTask.brs.html +++ b/docs/api/components_ItemGrid_FavoriteItemsTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_ItemGrid_GridItem.brs.html b/docs/api/components_ItemGrid_GridItem.brs.html index 1d833bd05..80efacb88 100644 --- a/docs/api/components_ItemGrid_GridItem.brs.html +++ b/docs/api/components_ItemGrid_GridItem.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_ItemGrid_GridItemSmall.brs.html b/docs/api/components_ItemGrid_GridItemSmall.brs.html index 3cf1486f9..4a49078c5 100644 --- a/docs/api/components_ItemGrid_GridItemSmall.brs.html +++ b/docs/api/components_ItemGrid_GridItemSmall.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_ItemGrid_ItemGrid.brs.html b/docs/api/components_ItemGrid_ItemGrid.brs.html index a6e6ebc6c..eb596914c 100644 --- a/docs/api/components_ItemGrid_ItemGrid.brs.html +++ b/docs/api/components_ItemGrid_ItemGrid.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_ItemGrid_ItemGridOptions.brs.html b/docs/api/components_ItemGrid_ItemGridOptions.brs.html index 998e86192..e4c9359f0 100644 --- a/docs/api/components_ItemGrid_ItemGridOptions.brs.html +++ b/docs/api/components_ItemGrid_ItemGridOptions.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_ItemGrid_LoadItemsTask2.brs.html b/docs/api/components_ItemGrid_LoadItemsTask2.brs.html index 06a371b16..75cd1c286 100644 --- a/docs/api/components_ItemGrid_LoadItemsTask2.brs.html +++ b/docs/api/components_ItemGrid_LoadItemsTask2.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_ItemGrid_LoadVideoContentTask.brs.html b/docs/api/components_ItemGrid_LoadVideoContentTask.brs.html index 289298728..17dc0d300 100644 --- a/docs/api/components_ItemGrid_LoadVideoContentTask.brs.html +++ b/docs/api/components_ItemGrid_LoadVideoContentTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_ItemGrid_MovieLibraryView.brs.html b/docs/api/components_ItemGrid_MovieLibraryView.brs.html index 3b0d21f28..455338d48 100644 --- a/docs/api/components_ItemGrid_MovieLibraryView.brs.html +++ b/docs/api/components_ItemGrid_MovieLibraryView.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_ItemGrid_MusicArtistGridItem.brs.html b/docs/api/components_ItemGrid_MusicArtistGridItem.brs.html index 342c9c079..e589f875f 100644 --- a/docs/api/components_ItemGrid_MusicArtistGridItem.brs.html +++ b/docs/api/components_ItemGrid_MusicArtistGridItem.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_ItemGrid_MusicLibraryView.brs.html b/docs/api/components_ItemGrid_MusicLibraryView.brs.html index 1f84d522a..f81039554 100644 --- a/docs/api/components_ItemGrid_MusicLibraryView.brs.html +++ b/docs/api/components_ItemGrid_MusicLibraryView.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_JFButton.brs.html b/docs/api/components_JFButton.brs.html index 8353ef7c2..3dcfa3cff 100644 --- a/docs/api/components_JFButton.brs.html +++ b/docs/api/components_JFButton.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_JFGroup.brs.html b/docs/api/components_JFGroup.brs.html index b71b3a558..57dc0039f 100644 --- a/docs/api/components_JFGroup.brs.html +++ b/docs/api/components_JFGroup.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_JFMessageDialog.brs.html b/docs/api/components_JFMessageDialog.brs.html index 8e068f915..58d668be5 100644 --- a/docs/api/components_JFMessageDialog.brs.html +++ b/docs/api/components_JFMessageDialog.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_JFOverhang.brs.html b/docs/api/components_JFOverhang.brs.html index 4920a512b..921843712 100644 --- a/docs/api/components_JFOverhang.brs.html +++ b/docs/api/components_JFOverhang.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_JFScene.brs.html b/docs/api/components_JFScene.brs.html index c55aac7c8..57380dbe5 100644 --- a/docs/api/components_JFScene.brs.html +++ b/docs/api/components_JFScene.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_JFScreen.brs.html b/docs/api/components_JFScreen.brs.html index 26c653b8c..82e76f873 100644 --- a/docs/api/components_JFScreen.brs.html +++ b/docs/api/components_JFScreen.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_JFVideo.brs.html b/docs/api/components_JFVideo.brs.html index 2165c6a75..3b436b9b4 100644 --- a/docs/api/components_JFVideo.brs.html +++ b/docs/api/components_JFVideo.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_ListPoster.brs.html b/docs/api/components_ListPoster.brs.html index cba68dc50..0ca0ec193 100644 --- a/docs/api/components_ListPoster.brs.html +++ b/docs/api/components_ListPoster.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_OverviewDialog.bs.html b/docs/api/components_OverviewDialog.bs.html index 7f8fce979..f9dad440e 100644 --- a/docs/api/components_OverviewDialog.bs.html +++ b/docs/api/components_OverviewDialog.bs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_PersonDetails.brs.html b/docs/api/components_PersonDetails.brs.html index 532d4d602..ec2037bc6 100644 --- a/docs/api/components_PersonDetails.brs.html +++ b/docs/api/components_PersonDetails.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_PlaybackDialog.brs.html b/docs/api/components_PlaybackDialog.brs.html index 9e4ad3732..9cca37a79 100644 --- a/docs/api/components_PlaybackDialog.brs.html +++ b/docs/api/components_PlaybackDialog.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_PlayedCheckmark.brs.html b/docs/api/components_PlayedCheckmark.brs.html index c1ab9c027..c8db26cec 100644 --- a/docs/api/components_PlayedCheckmark.brs.html +++ b/docs/api/components_PlayedCheckmark.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_PlaystateTask.brs.html b/docs/api/components_PlaystateTask.brs.html index 68d3f7242..50fc7592e 100644 --- a/docs/api/components_PlaystateTask.brs.html +++ b/docs/api/components_PlaystateTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_RadioDialog.brs.html b/docs/api/components_RadioDialog.brs.html index 5240b3254..ecb2ee261 100644 --- a/docs/api/components_RadioDialog.brs.html +++ b/docs/api/components_RadioDialog.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_SearchBox.brs.html b/docs/api/components_SearchBox.brs.html index b9acfa66f..a1f5a47c2 100644 --- a/docs/api/components_SearchBox.brs.html +++ b/docs/api/components_SearchBox.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_Spinner.brs.html b/docs/api/components_Spinner.brs.html index fad557299..7f4cc6e01 100644 --- a/docs/api/components_Spinner.brs.html +++ b/docs/api/components_Spinner.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_StandardDialog.brs.html b/docs/api/components_StandardDialog.brs.html index a3397a1a9..4bf8bdf12 100644 --- a/docs/api/components_StandardDialog.brs.html +++ b/docs/api/components_StandardDialog.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_WhatsNewDialog.brs.html b/docs/api/components_WhatsNewDialog.brs.html index 0deea650a..dd1abc3e7 100644 --- a/docs/api/components_WhatsNewDialog.brs.html +++ b/docs/api/components_WhatsNewDialog.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_captionTask.brs.html b/docs/api/components_captionTask.brs.html index 6bc85bc4e..2a06e0533 100644 --- a/docs/api/components_captionTask.brs.html +++ b/docs/api/components_captionTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_config_ConfigData.brs.html b/docs/api/components_config_ConfigData.brs.html index 9ef974112..077ce9450 100644 --- a/docs/api/components_config_ConfigData.brs.html +++ b/docs/api/components_config_ConfigData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_config_ConfigItem.brs.html b/docs/api/components_config_ConfigItem.brs.html index a9db3ec0c..cbe19d262 100644 --- a/docs/api/components_config_ConfigItem.brs.html +++ b/docs/api/components_config_ConfigItem.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_config_ConfigList.brs.html b/docs/api/components_config_ConfigList.brs.html index 53b1de568..9d48aeb24 100644 --- a/docs/api/components_config_ConfigList.brs.html +++ b/docs/api/components_config_ConfigList.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_config_JFServer.brs.html b/docs/api/components_config_JFServer.brs.html index 1536ad1ed..1919840ef 100644 --- a/docs/api/components_config_JFServer.brs.html +++ b/docs/api/components_config_JFServer.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_config_LoginScene.brs.html b/docs/api/components_config_LoginScene.brs.html index 90c467db3..7a24bb8a3 100644 --- a/docs/api/components_config_LoginScene.brs.html +++ b/docs/api/components_config_LoginScene.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_config_ServerDiscoveryTask.brs.html b/docs/api/components_config_ServerDiscoveryTask.brs.html index 792c8ffa4..02cf9398f 100644 --- a/docs/api/components_config_ServerDiscoveryTask.brs.html +++ b/docs/api/components_config_ServerDiscoveryTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_config_SetServerScreen.brs.html b/docs/api/components_config_SetServerScreen.brs.html index 692fcc245..d0dabb3ca 100644 --- a/docs/api/components_config_SetServerScreen.brs.html +++ b/docs/api/components_config_SetServerScreen.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_AlbumData.brs.html b/docs/api/components_data_AlbumData.brs.html index 2c1be3023..b3ab0082a 100644 --- a/docs/api/components_data_AlbumData.brs.html +++ b/docs/api/components_data_AlbumData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_ChannelData.brs.html b/docs/api/components_data_ChannelData.brs.html index ab5458c3b..f3e44b52c 100644 --- a/docs/api/components_data_ChannelData.brs.html +++ b/docs/api/components_data_ChannelData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_CollectionData.brs.html b/docs/api/components_data_CollectionData.brs.html index b449c3220..d06c23381 100644 --- a/docs/api/components_data_CollectionData.brs.html +++ b/docs/api/components_data_CollectionData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_FolderData.brs.html b/docs/api/components_data_FolderData.brs.html index 206bda3ce..3bb1dcf51 100644 --- a/docs/api/components_data_FolderData.brs.html +++ b/docs/api/components_data_FolderData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_GetFiltersTask.brs.html b/docs/api/components_data_GetFiltersTask.brs.html index 7e4319dfc..19cb36874 100644 --- a/docs/api/components_data_GetFiltersTask.brs.html +++ b/docs/api/components_data_GetFiltersTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_HomeData.brs.html b/docs/api/components_data_HomeData.brs.html index 1a1c1d20f..ecbdd6269 100644 --- a/docs/api/components_data_HomeData.brs.html +++ b/docs/api/components_data_HomeData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_ImageData.brs.html b/docs/api/components_data_ImageData.brs.html index f9161d7a5..5bbafd59d 100644 --- a/docs/api/components_data_ImageData.brs.html +++ b/docs/api/components_data_ImageData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_MovieData.brs.html b/docs/api/components_data_MovieData.brs.html index dc0cd448f..6695f769e 100644 --- a/docs/api/components_data_MovieData.brs.html +++ b/docs/api/components_data_MovieData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_MusicAlbumData.brs.html b/docs/api/components_data_MusicAlbumData.brs.html index 0c92944f1..1a26a6b02 100644 --- a/docs/api/components_data_MusicAlbumData.brs.html +++ b/docs/api/components_data_MusicAlbumData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_MusicAlbumSongListData.brs.html b/docs/api/components_data_MusicAlbumSongListData.brs.html index 5596f811c..4e2033a92 100644 --- a/docs/api/components_data_MusicAlbumSongListData.brs.html +++ b/docs/api/components_data_MusicAlbumSongListData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_MusicArtistData.brs.html b/docs/api/components_data_MusicArtistData.brs.html index 79e00bf97..c8283d076 100644 --- a/docs/api/components_data_MusicArtistData.brs.html +++ b/docs/api/components_data_MusicArtistData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_MusicSongData.brs.html b/docs/api/components_data_MusicSongData.brs.html index c66f32c22..039df1032 100644 --- a/docs/api/components_data_MusicSongData.brs.html +++ b/docs/api/components_data_MusicSongData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_OptionsButton.brs.html b/docs/api/components_data_OptionsButton.brs.html index 6d91868e0..811f891cb 100644 --- a/docs/api/components_data_OptionsButton.brs.html +++ b/docs/api/components_data_OptionsButton.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_OptionsData.brs.html b/docs/api/components_data_OptionsData.brs.html index 60a90d1d2..38b72db54 100644 --- a/docs/api/components_data_OptionsData.brs.html +++ b/docs/api/components_data_OptionsData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_PersonData.brs.html b/docs/api/components_data_PersonData.brs.html index a2f55d3d5..aa49ebb6f 100644 --- a/docs/api/components_data_PersonData.brs.html +++ b/docs/api/components_data_PersonData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_PhotoData.brs.html b/docs/api/components_data_PhotoData.brs.html index 7297560c0..c5642d332 100644 --- a/docs/api/components_data_PhotoData.brs.html +++ b/docs/api/components_data_PhotoData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_PlaylistData.brs.html b/docs/api/components_data_PlaylistData.brs.html index 7b29bec90..ccd115e34 100644 --- a/docs/api/components_data_PlaylistData.brs.html +++ b/docs/api/components_data_PlaylistData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_PublicUserData.brs.html b/docs/api/components_data_PublicUserData.brs.html index 0e7dbc4c0..b95bf8e69 100644 --- a/docs/api/components_data_PublicUserData.brs.html +++ b/docs/api/components_data_PublicUserData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_SceneManager.brs.html b/docs/api/components_data_SceneManager.brs.html index 1222c9b37..866536c7a 100644 --- a/docs/api/components_data_SceneManager.brs.html +++ b/docs/api/components_data_SceneManager.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_ScheduleProgramData.brs.html b/docs/api/components_data_ScheduleProgramData.brs.html index d9b002278..e034cea5f 100644 --- a/docs/api/components_data_ScheduleProgramData.brs.html +++ b/docs/api/components_data_ScheduleProgramData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_SearchData.brs.html b/docs/api/components_data_SearchData.brs.html index 48dfa339d..adb0b65f6 100644 --- a/docs/api/components_data_SearchData.brs.html +++ b/docs/api/components_data_SearchData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_SeriesData.brs.html b/docs/api/components_data_SeriesData.brs.html index 1e6c324f3..e83447a01 100644 --- a/docs/api/components_data_SeriesData.brs.html +++ b/docs/api/components_data_SeriesData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_TVEpisode.brs.html b/docs/api/components_data_TVEpisode.brs.html index ee085c4b0..0cf3fc77f 100644 --- a/docs/api/components_data_TVEpisode.brs.html +++ b/docs/api/components_data_TVEpisode.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_TVEpisodeData.brs.html b/docs/api/components_data_TVEpisodeData.brs.html index 53894623d..dd2cc7b08 100644 --- a/docs/api/components_data_TVEpisodeData.brs.html +++ b/docs/api/components_data_TVEpisodeData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_TVSeasonData.brs.html b/docs/api/components_data_TVSeasonData.brs.html index 13a7343c0..5612ae3d0 100644 --- a/docs/api/components_data_TVSeasonData.brs.html +++ b/docs/api/components_data_TVSeasonData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_UserData.brs.html b/docs/api/components_data_UserData.brs.html index 7cf74f38e..71a3d3bfd 100644 --- a/docs/api/components_data_UserData.brs.html +++ b/docs/api/components_data_UserData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_data_VideoData.brs.html b/docs/api/components_data_VideoData.brs.html index b5056bc68..e3c4d1a40 100644 --- a/docs/api/components_data_VideoData.brs.html +++ b/docs/api/components_data_VideoData.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_extras_ExtrasItem.brs.html b/docs/api/components_extras_ExtrasItem.brs.html index 4cf20d27a..30cddc466 100644 --- a/docs/api/components_extras_ExtrasItem.brs.html +++ b/docs/api/components_extras_ExtrasItem.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_extras_ExtrasRowList.brs.html b/docs/api/components_extras_ExtrasRowList.brs.html index a52dbfd28..7e41e84f8 100644 --- a/docs/api/components_extras_ExtrasRowList.brs.html +++ b/docs/api/components_extras_ExtrasRowList.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_home_Home.brs.html b/docs/api/components_home_Home.brs.html index e76fbe865..f8a0dc504 100644 --- a/docs/api/components_home_Home.brs.html +++ b/docs/api/components_home_Home.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_home_HomeItem.brs.html b/docs/api/components_home_HomeItem.brs.html index f8d65bd86..fcf8c3c29 100644 --- a/docs/api/components_home_HomeItem.brs.html +++ b/docs/api/components_home_HomeItem.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_home_HomeRows.brs.html b/docs/api/components_home_HomeRows.brs.html index 4deb8afd8..57c59da9e 100644 --- a/docs/api/components_home_HomeRows.brs.html +++ b/docs/api/components_home_HomeRows.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_home_LoadItemsTask.brs.html b/docs/api/components_home_LoadItemsTask.brs.html index 0629aea16..6c0b7fbf8 100644 --- a/docs/api/components_home_LoadItemsTask.brs.html +++ b/docs/api/components_home_LoadItemsTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_keyboards_IntegerKeyboard.bs.html b/docs/api/components_keyboards_IntegerKeyboard.bs.html new file mode 100644 index 000000000..ffdf2fbdd --- /dev/null +++ b/docs/api/components_keyboards_IntegerKeyboard.bs.html @@ -0,0 +1,288 @@ + + + + + + + jellyfin-roku api docs Source: components/keyboards/IntegerKeyboard.bs + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Source: components/keyboards/IntegerKeyboard.bs

+ +
+
+
sub init()
+    m.top.keyGrid.keyDefinitionUri = "pkg:/components/keyboards/IntegerKeyboardKDF.json"
+end sub
+
+function onKeyEvent(key as string, press as boolean) as boolean
+    if key = "back"
+        m.top.escape = key
+        return true
+    end if
+
+    if not press then return false
+
+    if key = "left"
+        if m.top.textEditBox.hasFocus()
+            m.top.escape = key
+            return true
+        else if m.top.focusedChild.keyFocused = "1"
+            m.top.escape = key
+            return true
+        else if m.top.focusedChild.keyFocused = "4"
+            m.top.escape = key
+            return true
+        else if m.top.focusedChild.keyFocused = "7"
+            m.top.escape = key
+            return true
+        else if m.top.focusedChild.keyFocused = "backspace"
+            m.top.escape = key
+            return true
+        end if
+    end if
+
+    if key = "right"
+        if m.top.textEditBox.hasFocus()
+            m.top.escape = key
+            return true
+        else if m.top.focusedChild.keyFocused = "3"
+            m.top.escape = key
+            return true
+        else if m.top.focusedChild.keyFocused = "6"
+            m.top.escape = key
+            return true
+        else if m.top.focusedChild.keyFocused = "9"
+            m.top.escape = key
+            return true
+        else if m.top.focusedChild.keyFocused = "submit"
+            m.top.escape = key
+            return true
+        end if
+    end if
+
+    if key = "up"
+        if m.top.textEditBox.hasFocus()
+            m.top.escape = key
+            return true
+        end if
+    end if
+
+    if key = "down"
+        if m.top.focusedChild.keyFocused = "0"
+            m.top.escape = key
+            return true
+        else if m.top.focusedChild.keyFocused = "backspace"
+            m.top.escape = key
+            return true
+        else if m.top.focusedChild.keyFocused = "submit"
+            m.top.escape = key
+            return true
+        end if
+    end if
+
+    return false
+end function
+
+function keySelected(key as string) as boolean
+    if key = "submit"
+        m.top.submit = true
+        return true
+    end if
+
+    return false
+end function
+
+
+
+ + + + + +
+
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_liveTv_LoadChannelsTask.brs.html b/docs/api/components_liveTv_LoadChannelsTask.brs.html index c21047ef2..cc6624d77 100644 --- a/docs/api/components_liveTv_LoadChannelsTask.brs.html +++ b/docs/api/components_liveTv_LoadChannelsTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_liveTv_LoadProgramDetailsTask.brs.html b/docs/api/components_liveTv_LoadProgramDetailsTask.brs.html index be1c10e01..4246d742b 100644 --- a/docs/api/components_liveTv_LoadProgramDetailsTask.brs.html +++ b/docs/api/components_liveTv_LoadProgramDetailsTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_liveTv_LoadSheduleTask.brs.html b/docs/api/components_liveTv_LoadSheduleTask.brs.html index d3fa71cde..83e19b502 100644 --- a/docs/api/components_liveTv_LoadSheduleTask.brs.html +++ b/docs/api/components_liveTv_LoadSheduleTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_liveTv_ProgramDetails.brs.html b/docs/api/components_liveTv_ProgramDetails.brs.html index 046612409..9e4dd04a0 100644 --- a/docs/api/components_liveTv_ProgramDetails.brs.html +++ b/docs/api/components_liveTv_ProgramDetails.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_liveTv_RecordProgramTask.brs.html b/docs/api/components_liveTv_RecordProgramTask.brs.html index 6d77a9342..6aeb8bec6 100644 --- a/docs/api/components_liveTv_RecordProgramTask.brs.html +++ b/docs/api/components_liveTv_RecordProgramTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_liveTv_schedule.brs.html b/docs/api/components_liveTv_schedule.brs.html index 8ebb0b168..4e2b311ff 100644 --- a/docs/api/components_liveTv_schedule.brs.html +++ b/docs/api/components_liveTv_schedule.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_login_UserItem.brs.html b/docs/api/components_login_UserItem.brs.html index 5a5cc95aa..ddb1892bf 100644 --- a/docs/api/components_login_UserItem.brs.html +++ b/docs/api/components_login_UserItem.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_login_UserRow.brs.html b/docs/api/components_login_UserRow.brs.html index 0310c6c60..61af03756 100644 --- a/docs/api/components_login_UserRow.brs.html +++ b/docs/api/components_login_UserRow.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_login_UserSelect.brs.html b/docs/api/components_login_UserSelect.brs.html index 26ae33b43..39fce2e27 100644 --- a/docs/api/components_login_UserSelect.brs.html +++ b/docs/api/components_login_UserSelect.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_manager_QueueManager.brs.html b/docs/api/components_manager_QueueManager.brs.html index 12da74ba2..cc85c7662 100644 --- a/docs/api/components_manager_QueueManager.brs.html +++ b/docs/api/components_manager_QueueManager.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_manager_ViewCreator.brs.html b/docs/api/components_manager_ViewCreator.brs.html index c93c769f1..56da591d0 100644 --- a/docs/api/components_manager_ViewCreator.brs.html +++ b/docs/api/components_manager_ViewCreator.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_mediaPlayers_AudioPlayer.brs.html b/docs/api/components_mediaPlayers_AudioPlayer.brs.html index 5b6ed105d..239282fa0 100644 --- a/docs/api/components_mediaPlayers_AudioPlayer.brs.html +++ b/docs/api/components_mediaPlayers_AudioPlayer.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_movies_AudioTrackListItem.brs.html b/docs/api/components_movies_AudioTrackListItem.brs.html index 1d2299bc9..4f73eb2df 100644 --- a/docs/api/components_movies_AudioTrackListItem.brs.html +++ b/docs/api/components_movies_AudioTrackListItem.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_movies_MovieDetails.brs.html b/docs/api/components_movies_MovieDetails.brs.html index 514d13627..4133ad911 100644 --- a/docs/api/components_movies_MovieDetails.brs.html +++ b/docs/api/components_movies_MovieDetails.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_movies_MovieOptions.brs.html b/docs/api/components_movies_MovieOptions.brs.html index 15784d8e8..b36456b76 100644 --- a/docs/api/components_movies_MovieOptions.brs.html +++ b/docs/api/components_movies_MovieOptions.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_movies_VideoTrackListItem.brs.html b/docs/api/components_movies_VideoTrackListItem.brs.html index b1549e116..fd81eddeb 100644 --- a/docs/api/components_movies_VideoTrackListItem.brs.html +++ b/docs/api/components_movies_VideoTrackListItem.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_music_AlbumGrid.brs.html b/docs/api/components_music_AlbumGrid.brs.html index a28c60242..727a03db1 100644 --- a/docs/api/components_music_AlbumGrid.brs.html +++ b/docs/api/components_music_AlbumGrid.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_music_AlbumTrackList.brs.html b/docs/api/components_music_AlbumTrackList.brs.html index c6707b7cb..1d6830d0a 100644 --- a/docs/api/components_music_AlbumTrackList.brs.html +++ b/docs/api/components_music_AlbumTrackList.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_music_AlbumView.brs.html b/docs/api/components_music_AlbumView.brs.html index e6e6ee666..c348927d1 100644 --- a/docs/api/components_music_AlbumView.brs.html +++ b/docs/api/components_music_AlbumView.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_music_ArtistView.brs.html b/docs/api/components_music_ArtistView.brs.html index 543e062b3..9ab4a1f27 100644 --- a/docs/api/components_music_ArtistView.brs.html +++ b/docs/api/components_music_ArtistView.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_music_AudioPlayerView.brs.html b/docs/api/components_music_AudioPlayerView.brs.html index c40d69f5a..cb1256528 100644 --- a/docs/api/components_music_AudioPlayerView.brs.html +++ b/docs/api/components_music_AudioPlayerView.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_music_LoadScreenSaverTimeoutTask.brs.html b/docs/api/components_music_LoadScreenSaverTimeoutTask.brs.html index d1d8bfe70..9ad7ec435 100644 --- a/docs/api/components_music_LoadScreenSaverTimeoutTask.brs.html +++ b/docs/api/components_music_LoadScreenSaverTimeoutTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_music_PlaylistView.brs.html b/docs/api/components_music_PlaylistView.brs.html index c6bd0cb6a..ebced9630 100644 --- a/docs/api/components_music_PlaylistView.brs.html +++ b/docs/api/components_music_PlaylistView.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_music_SongItem.brs.html b/docs/api/components_music_SongItem.brs.html index 9221a900b..1ac7a66ea 100644 --- a/docs/api/components_music_SongItem.brs.html +++ b/docs/api/components_music_SongItem.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_options_OptionNode.brs.html b/docs/api/components_options_OptionNode.brs.html index 6c6f32561..c084bb242 100644 --- a/docs/api/components_options_OptionNode.brs.html +++ b/docs/api/components_options_OptionNode.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_options_OptionsSlider.brs.html b/docs/api/components_options_OptionsSlider.brs.html index 748e94be4..1dd6cdd63 100644 --- a/docs/api/components_options_OptionsSlider.brs.html +++ b/docs/api/components_options_OptionsSlider.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_photos_LoadPhotoTask.brs.html b/docs/api/components_photos_LoadPhotoTask.brs.html index d433b243e..fd392f16a 100644 --- a/docs/api/components_photos_LoadPhotoTask.brs.html +++ b/docs/api/components_photos_LoadPhotoTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_photos_PhotoDetails.brs.html b/docs/api/components_photos_PhotoDetails.brs.html index 5a92a39e4..7f5d95090 100644 --- a/docs/api/components_photos_PhotoDetails.brs.html +++ b/docs/api/components_photos_PhotoDetails.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_quickConnect_QuickConnect.brs.html b/docs/api/components_quickConnect_QuickConnect.brs.html index 9d62bec9d..f357cafd9 100644 --- a/docs/api/components_quickConnect_QuickConnect.brs.html +++ b/docs/api/components_quickConnect_QuickConnect.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_quickConnect_QuickConnectDialog.brs.html b/docs/api/components_quickConnect_QuickConnectDialog.brs.html index 2c9b32f43..dd663e1e7 100644 --- a/docs/api/components_quickConnect_QuickConnectDialog.brs.html +++ b/docs/api/components_quickConnect_QuickConnectDialog.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_search_SearchResults.brs.html b/docs/api/components_search_SearchResults.brs.html index 8b8760a47..f49ec1390 100644 --- a/docs/api/components_search_SearchResults.brs.html +++ b/docs/api/components_search_SearchResults.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_search_SearchRow.brs.html b/docs/api/components_search_SearchRow.brs.html index 25e894445..c352cc386 100644 --- a/docs/api/components_search_SearchRow.brs.html +++ b/docs/api/components_search_SearchRow.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_search_SearchTask.brs.html b/docs/api/components_search_SearchTask.brs.html index 09ae40bc1..1e08de1f5 100644 --- a/docs/api/components_search_SearchTask.brs.html +++ b/docs/api/components_search_SearchTask.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_section_section.brs.html b/docs/api/components_section_section.brs.html index f86daa7db..de5b87e09 100644 --- a/docs/api/components_section_section.brs.html +++ b/docs/api/components_section_section.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_section_sectionScroller.brs.html b/docs/api/components_section_sectionScroller.brs.html index 17e4a2550..e31b9c429 100644 --- a/docs/api/components_section_sectionScroller.brs.html +++ b/docs/api/components_section_sectionScroller.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_settings_settings.brs.html b/docs/api/components_settings_settings.brs.html index 848773507..1aa4df904 100644 --- a/docs/api/components_settings_settings.brs.html +++ b/docs/api/components_settings_settings.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_tvshows_TVEpisodeRow.brs.html b/docs/api/components_tvshows_TVEpisodeRow.brs.html index e973f4420..18e7b6365 100644 --- a/docs/api/components_tvshows_TVEpisodeRow.brs.html +++ b/docs/api/components_tvshows_TVEpisodeRow.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_tvshows_TVEpisodeRowWithOptions.brs.html b/docs/api/components_tvshows_TVEpisodeRowWithOptions.brs.html index 0485c1010..2ed30c46a 100644 --- a/docs/api/components_tvshows_TVEpisodeRowWithOptions.brs.html +++ b/docs/api/components_tvshows_TVEpisodeRowWithOptions.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_tvshows_TVEpisodes.brs.html b/docs/api/components_tvshows_TVEpisodes.brs.html index 64836cc22..8eba6fe73 100644 --- a/docs/api/components_tvshows_TVEpisodes.brs.html +++ b/docs/api/components_tvshows_TVEpisodes.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_tvshows_TVListDetails.brs.html b/docs/api/components_tvshows_TVListDetails.brs.html index dc7bb0a7f..9a19f4833 100644 --- a/docs/api/components_tvshows_TVListDetails.brs.html +++ b/docs/api/components_tvshows_TVListDetails.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_tvshows_TVListOptions.brs.html b/docs/api/components_tvshows_TVListOptions.brs.html index 1d9d06145..074b8ec90 100644 --- a/docs/api/components_tvshows_TVListOptions.brs.html +++ b/docs/api/components_tvshows_TVListOptions.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_tvshows_TVSeasonRow.brs.html b/docs/api/components_tvshows_TVSeasonRow.brs.html index 33663d0cb..62de25759 100644 --- a/docs/api/components_tvshows_TVSeasonRow.brs.html +++ b/docs/api/components_tvshows_TVSeasonRow.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_tvshows_TVShowDescription.brs.html b/docs/api/components_tvshows_TVShowDescription.brs.html index 781185ef9..71f1f7425 100644 --- a/docs/api/components_tvshows_TVShowDescription.brs.html +++ b/docs/api/components_tvshows_TVShowDescription.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_tvshows_TVShowDetails.brs.html b/docs/api/components_tvshows_TVShowDetails.brs.html index bcb3f3126..abb31316a 100644 --- a/docs/api/components_tvshows_TVShowDetails.brs.html +++ b/docs/api/components_tvshows_TVShowDetails.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/components_video_VideoPlayerView.brs.html b/docs/api/components_video_VideoPlayerView.brs.html index 1fe5bbb68..e6a770d0b 100644 --- a/docs/api/components_video_VideoPlayerView.brs.html +++ b/docs/api/components_video_VideoPlayerView.brs.html @@ -33,7 +33,7 @@ diff --git a/docs/api/index.html b/docs/api/index.html index 6cfcfeedd..b62b392bd 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-AlbumData.html b/docs/api/module-AlbumData.html index 99b9413a8..fc97e2e98 100644 --- a/docs/api/module-AlbumData.html +++ b/docs/api/module-AlbumData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-AlbumGrid.html b/docs/api/module-AlbumGrid.html index ca9bea3a1..c3e32fd2f 100644 --- a/docs/api/module-AlbumGrid.html +++ b/docs/api/module-AlbumGrid.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-AlbumTrackList.html b/docs/api/module-AlbumTrackList.html index 48205cebd..fbf9ae6d3 100644 --- a/docs/api/module-AlbumTrackList.html +++ b/docs/api/module-AlbumTrackList.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-AlbumView.html b/docs/api/module-AlbumView.html index 74c7efd43..245a99eab 100644 --- a/docs/api/module-AlbumView.html +++ b/docs/api/module-AlbumView.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-Alpha.html b/docs/api/module-Alpha.html index 419188e7d..a5e08eea2 100644 --- a/docs/api/module-Alpha.html +++ b/docs/api/module-Alpha.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ArtistView.html b/docs/api/module-ArtistView.html index 0163fb30a..9afb66169 100644 --- a/docs/api/module-ArtistView.html +++ b/docs/api/module-ArtistView.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-AudioPlayer.html b/docs/api/module-AudioPlayer.html index 956382b4b..7434fa863 100644 --- a/docs/api/module-AudioPlayer.html +++ b/docs/api/module-AudioPlayer.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-AudioPlayerView.html b/docs/api/module-AudioPlayerView.html index 92fd7d1de..58ba8ac23 100644 --- a/docs/api/module-AudioPlayerView.html +++ b/docs/api/module-AudioPlayerView.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-AudioTrackListItem.html b/docs/api/module-AudioTrackListItem.html index 425f80eb3..2a101e4ef 100644 --- a/docs/api/module-AudioTrackListItem.html +++ b/docs/api/module-AudioTrackListItem.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ButtonGroupHoriz.html b/docs/api/module-ButtonGroupHoriz.html index 43550e8b0..0eff47c39 100644 --- a/docs/api/module-ButtonGroupHoriz.html +++ b/docs/api/module-ButtonGroupHoriz.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ButtonGroupVert.html b/docs/api/module-ButtonGroupVert.html new file mode 100644 index 000000000..5c76ecfee --- /dev/null +++ b/docs/api/module-ButtonGroupVert.html @@ -0,0 +1,783 @@ + + + + + + + jellyfin-roku api docs Module: ButtonGroupVert + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Module: ButtonGroupVert

+
+ +
+ +
+ + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + +

Methods

+ +
+ +
+
+

<static> init()

+ + +
+
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +void + + + +
+
+ + + + + +
+ + + +
+
+

<static> onFocusButtonChanged()

+ + +
+
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +void + + + +
+
+ + + + + +
+ + + +
+
+

<static> onFocusChanged()

+ + +
+
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +void + + + +
+
+ + + + + +
+ + + +
+
+

<static> onKeyEvent(key, press)

+ + +
+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
key + + +string + + + + +
press + + +boolean + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + + +
+
+ + + + + +
+ +
+ + + + + +
+ +
+ + + + +
+
+ +
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ChannelData.html b/docs/api/module-ChannelData.html index eeb637ac7..32dcee94c 100644 --- a/docs/api/module-ChannelData.html +++ b/docs/api/module-ChannelData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-CollectionData.html b/docs/api/module-CollectionData.html index dc194a775..f4be64221 100644 --- a/docs/api/module-CollectionData.html +++ b/docs/api/module-CollectionData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ConfigData.html b/docs/api/module-ConfigData.html index 62f236808..7bc49762c 100644 --- a/docs/api/module-ConfigData.html +++ b/docs/api/module-ConfigData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ConfigItem.html b/docs/api/module-ConfigItem.html index cc7aba620..8106fbd71 100644 --- a/docs/api/module-ConfigItem.html +++ b/docs/api/module-ConfigItem.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ConfigList.html b/docs/api/module-ConfigList.html index 8849a910d..111305ab0 100644 --- a/docs/api/module-ConfigList.html +++ b/docs/api/module-ConfigList.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ExtrasItem.html b/docs/api/module-ExtrasItem.html index 7aa30fdcf..8ab69ba0e 100644 --- a/docs/api/module-ExtrasItem.html +++ b/docs/api/module-ExtrasItem.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ExtrasRowList.html b/docs/api/module-ExtrasRowList.html index 11cead02c..aa5fbe946 100644 --- a/docs/api/module-ExtrasRowList.html +++ b/docs/api/module-ExtrasRowList.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-FavoriteItemsTask.html b/docs/api/module-FavoriteItemsTask.html index 41baaede6..73949d5d6 100644 --- a/docs/api/module-FavoriteItemsTask.html +++ b/docs/api/module-FavoriteItemsTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-FolderData.html b/docs/api/module-FolderData.html index 9f58befee..4a4a816e3 100644 --- a/docs/api/module-FolderData.html +++ b/docs/api/module-FolderData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-GetFiltersTask.html b/docs/api/module-GetFiltersTask.html index 182cdfe31..ef2553a8f 100644 --- a/docs/api/module-GetFiltersTask.html +++ b/docs/api/module-GetFiltersTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-GetNextEpisodeTask.html b/docs/api/module-GetNextEpisodeTask.html index 836a5336a..952ed8272 100644 --- a/docs/api/module-GetNextEpisodeTask.html +++ b/docs/api/module-GetNextEpisodeTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-GetPlaybackInfoTask.html b/docs/api/module-GetPlaybackInfoTask.html index d00fa04c5..123bac760 100644 --- a/docs/api/module-GetPlaybackInfoTask.html +++ b/docs/api/module-GetPlaybackInfoTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-GetShuffleEpisodesTask.html b/docs/api/module-GetShuffleEpisodesTask.html index 04e785417..aee1ed134 100644 --- a/docs/api/module-GetShuffleEpisodesTask.html +++ b/docs/api/module-GetShuffleEpisodesTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-GridItem.html b/docs/api/module-GridItem.html index f5d24f832..be12054ee 100644 --- a/docs/api/module-GridItem.html +++ b/docs/api/module-GridItem.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-GridItemSmall.html b/docs/api/module-GridItemSmall.html index 20da6c78f..a9342410f 100644 --- a/docs/api/module-GridItemSmall.html +++ b/docs/api/module-GridItemSmall.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-Home.html b/docs/api/module-Home.html index 3a5e52540..b8dff1f36 100644 --- a/docs/api/module-Home.html +++ b/docs/api/module-Home.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-HomeData.html b/docs/api/module-HomeData.html index e55efd6ab..aa8f07034 100644 --- a/docs/api/module-HomeData.html +++ b/docs/api/module-HomeData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-HomeItem.html b/docs/api/module-HomeItem.html index a684359b3..44641dd87 100644 --- a/docs/api/module-HomeItem.html +++ b/docs/api/module-HomeItem.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-HomeRows.html b/docs/api/module-HomeRows.html index 8df23b7a5..ea9fb1921 100644 --- a/docs/api/module-HomeRows.html +++ b/docs/api/module-HomeRows.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-IconButton.html b/docs/api/module-IconButton.html index ce081efbe..7822e05ee 100644 --- a/docs/api/module-IconButton.html +++ b/docs/api/module-IconButton.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-Image.html b/docs/api/module-Image.html index 11722eaa2..6df8007e3 100644 --- a/docs/api/module-Image.html +++ b/docs/api/module-Image.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ImageData.html b/docs/api/module-ImageData.html index eac10ae13..438f75051 100644 --- a/docs/api/module-ImageData.html +++ b/docs/api/module-ImageData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-IntegerKeyboard.html b/docs/api/module-IntegerKeyboard.html new file mode 100644 index 000000000..bbf8d668e --- /dev/null +++ b/docs/api/module-IntegerKeyboard.html @@ -0,0 +1,729 @@ + + + + + + + jellyfin-roku api docs Module: IntegerKeyboard + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Module: IntegerKeyboard

+
+ +
+ +
+ + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + +

Methods

+ +
+ +
+
+

<static> init()

+ + +
+
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +void + + + +
+
+ + + + + +
+ + + +
+
+

<static> keySelected(key)

+ + +
+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
key + + +string + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + + +
+
+ + + + + +
+ + + +
+
+

<static> onKeyEvent(key, press)

+ + +
+
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
key + + +string + + + + +
press + + +boolean + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + + +
+
+ + + + + +
+ +
+ + + + + +
+ +
+ + + + +
+
+ +
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ItemGrid.html b/docs/api/module-ItemGrid.html index c9d9ca4e0..126748d9c 100644 --- a/docs/api/module-ItemGrid.html +++ b/docs/api/module-ItemGrid.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ItemGridOptions.html b/docs/api/module-ItemGridOptions.html index acda89b52..d71ec63df 100644 --- a/docs/api/module-ItemGridOptions.html +++ b/docs/api/module-ItemGridOptions.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-Items.html b/docs/api/module-Items.html index 7b927dc22..22d270025 100644 --- a/docs/api/module-Items.html +++ b/docs/api/module-Items.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-JFButton.html b/docs/api/module-JFButton.html index 8795d52c5..948359679 100644 --- a/docs/api/module-JFButton.html +++ b/docs/api/module-JFButton.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-JFButtons.html b/docs/api/module-JFButtons.html index b70ca9b02..611dd5509 100644 --- a/docs/api/module-JFButtons.html +++ b/docs/api/module-JFButtons.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-JFGroup.html b/docs/api/module-JFGroup.html index f74ac4aac..9b52b1c07 100644 --- a/docs/api/module-JFGroup.html +++ b/docs/api/module-JFGroup.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-JFMessageDialog.html b/docs/api/module-JFMessageDialog.html index 069cd3867..245bd9951 100644 --- a/docs/api/module-JFMessageDialog.html +++ b/docs/api/module-JFMessageDialog.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-JFOverhang.html b/docs/api/module-JFOverhang.html index 413e9daa8..443c38669 100644 --- a/docs/api/module-JFOverhang.html +++ b/docs/api/module-JFOverhang.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-JFScene.html b/docs/api/module-JFScene.html index bc4bda8fc..9da461671 100644 --- a/docs/api/module-JFScene.html +++ b/docs/api/module-JFScene.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-JFScreen.html b/docs/api/module-JFScreen.html index d8bb59f0c..b2eef07a9 100644 --- a/docs/api/module-JFScreen.html +++ b/docs/api/module-JFScreen.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-JFServer.html b/docs/api/module-JFServer.html index cac21705d..72cc789ac 100644 --- a/docs/api/module-JFServer.html +++ b/docs/api/module-JFServer.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-JFVideo.html b/docs/api/module-JFVideo.html index 2803def7b..dabdd09ce 100644 --- a/docs/api/module-JFVideo.html +++ b/docs/api/module-JFVideo.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ListPoster.html b/docs/api/module-ListPoster.html index 37a5183e3..5d55a5918 100644 --- a/docs/api/module-ListPoster.html +++ b/docs/api/module-ListPoster.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-LoadChannelsTask.html b/docs/api/module-LoadChannelsTask.html index d009016dc..92ee8aa94 100644 --- a/docs/api/module-LoadChannelsTask.html +++ b/docs/api/module-LoadChannelsTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-LoadItemsTask.html b/docs/api/module-LoadItemsTask.html index 5b0cc2b27..38f7e1b64 100644 --- a/docs/api/module-LoadItemsTask.html +++ b/docs/api/module-LoadItemsTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-LoadItemsTask2.html b/docs/api/module-LoadItemsTask2.html index 9719c9033..5f28cbe81 100644 --- a/docs/api/module-LoadItemsTask2.html +++ b/docs/api/module-LoadItemsTask2.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-LoadPhotoTask.html b/docs/api/module-LoadPhotoTask.html index 761b99a7a..59dcffbd8 100644 --- a/docs/api/module-LoadPhotoTask.html +++ b/docs/api/module-LoadPhotoTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-LoadProgramDetailsTask.html b/docs/api/module-LoadProgramDetailsTask.html index e18eca05a..2aff04c12 100644 --- a/docs/api/module-LoadProgramDetailsTask.html +++ b/docs/api/module-LoadProgramDetailsTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-LoadScreenSaverTimeoutTask.html b/docs/api/module-LoadScreenSaverTimeoutTask.html index 27662b9f8..8449010f1 100644 --- a/docs/api/module-LoadScreenSaverTimeoutTask.html +++ b/docs/api/module-LoadScreenSaverTimeoutTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-LoadSheduleTask.html b/docs/api/module-LoadSheduleTask.html index 3a3214ddd..884e4d9ce 100644 --- a/docs/api/module-LoadSheduleTask.html +++ b/docs/api/module-LoadSheduleTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-LoadVideoContentTask.html b/docs/api/module-LoadVideoContentTask.html index 6fd4467f6..e3168ed69 100644 --- a/docs/api/module-LoadVideoContentTask.html +++ b/docs/api/module-LoadVideoContentTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-LoginScene.html b/docs/api/module-LoginScene.html index 371a2865f..b9a2e2ede 100644 --- a/docs/api/module-LoginScene.html +++ b/docs/api/module-LoginScene.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-Main.html b/docs/api/module-Main.html index e2b3fdb29..b5452de2b 100644 --- a/docs/api/module-Main.html +++ b/docs/api/module-Main.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-MovieData.html b/docs/api/module-MovieData.html index 0b7c4ce3f..f854f1416 100644 --- a/docs/api/module-MovieData.html +++ b/docs/api/module-MovieData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-MovieDetails.html b/docs/api/module-MovieDetails.html index 91a40edd6..24a3fa9e5 100644 --- a/docs/api/module-MovieDetails.html +++ b/docs/api/module-MovieDetails.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-MovieLibraryView.html b/docs/api/module-MovieLibraryView.html index 22b7b543a..ab21469b1 100644 --- a/docs/api/module-MovieLibraryView.html +++ b/docs/api/module-MovieLibraryView.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-MovieOptions.html b/docs/api/module-MovieOptions.html index 84baf2164..f4fbc770d 100644 --- a/docs/api/module-MovieOptions.html +++ b/docs/api/module-MovieOptions.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-MusicAlbumData.html b/docs/api/module-MusicAlbumData.html index 75be9e14e..05c4549f1 100644 --- a/docs/api/module-MusicAlbumData.html +++ b/docs/api/module-MusicAlbumData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-MusicAlbumSongListData.html b/docs/api/module-MusicAlbumSongListData.html index 810ec378a..b7305e6b0 100644 --- a/docs/api/module-MusicAlbumSongListData.html +++ b/docs/api/module-MusicAlbumSongListData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-MusicArtistData.html b/docs/api/module-MusicArtistData.html index 86e37fa13..e59143d5f 100644 --- a/docs/api/module-MusicArtistData.html +++ b/docs/api/module-MusicArtistData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-MusicArtistGridItem.html b/docs/api/module-MusicArtistGridItem.html index 503f4d385..016f3945e 100644 --- a/docs/api/module-MusicArtistGridItem.html +++ b/docs/api/module-MusicArtistGridItem.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-MusicLibraryView.html b/docs/api/module-MusicLibraryView.html index e6b898ee3..23525f924 100644 --- a/docs/api/module-MusicLibraryView.html +++ b/docs/api/module-MusicLibraryView.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-MusicSongData.html b/docs/api/module-MusicSongData.html index fd64bd697..b47d586fb 100644 --- a/docs/api/module-MusicSongData.html +++ b/docs/api/module-MusicSongData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-OptionNode.html b/docs/api/module-OptionNode.html index 3866620f9..2c9f4576d 100644 --- a/docs/api/module-OptionNode.html +++ b/docs/api/module-OptionNode.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-OptionsButton.html b/docs/api/module-OptionsButton.html index e8a211324..0ab984954 100644 --- a/docs/api/module-OptionsButton.html +++ b/docs/api/module-OptionsButton.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-OptionsData.html b/docs/api/module-OptionsData.html index b574eab9b..7230e2d22 100644 --- a/docs/api/module-OptionsData.html +++ b/docs/api/module-OptionsData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-OptionsSlider.html b/docs/api/module-OptionsSlider.html index 2a0dd8bd4..c3b64fd12 100644 --- a/docs/api/module-OptionsSlider.html +++ b/docs/api/module-OptionsSlider.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-OverviewDialog.html b/docs/api/module-OverviewDialog.html index 2fed87e22..500c5bf42 100644 --- a/docs/api/module-OverviewDialog.html +++ b/docs/api/module-OverviewDialog.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-PersonData.html b/docs/api/module-PersonData.html index d8f660aff..8fd7a412a 100644 --- a/docs/api/module-PersonData.html +++ b/docs/api/module-PersonData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-PersonDetails.html b/docs/api/module-PersonDetails.html index 5dcaceb86..86d076a06 100644 --- a/docs/api/module-PersonDetails.html +++ b/docs/api/module-PersonDetails.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-PhotoData.html b/docs/api/module-PhotoData.html index a660d1b9c..8e0636d19 100644 --- a/docs/api/module-PhotoData.html +++ b/docs/api/module-PhotoData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-PhotoDetails.html b/docs/api/module-PhotoDetails.html index 30b413aa4..74b682d3c 100644 --- a/docs/api/module-PhotoDetails.html +++ b/docs/api/module-PhotoDetails.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-PlaybackDialog.html b/docs/api/module-PlaybackDialog.html index c02988f9f..0d99cc530 100644 --- a/docs/api/module-PlaybackDialog.html +++ b/docs/api/module-PlaybackDialog.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-PlayedCheckmark.html b/docs/api/module-PlayedCheckmark.html index acffeb532..58ea76203 100644 --- a/docs/api/module-PlayedCheckmark.html +++ b/docs/api/module-PlayedCheckmark.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-PlaylistData.html b/docs/api/module-PlaylistData.html index 5d0356da3..783b52420 100644 --- a/docs/api/module-PlaylistData.html +++ b/docs/api/module-PlaylistData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-PlaylistView.html b/docs/api/module-PlaylistView.html index a71dace8f..451856319 100644 --- a/docs/api/module-PlaylistView.html +++ b/docs/api/module-PlaylistView.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-PlaystateTask.html b/docs/api/module-PlaystateTask.html index 8b37b1edc..a8c2fc8b0 100644 --- a/docs/api/module-PlaystateTask.html +++ b/docs/api/module-PlaystateTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ProgramDetails.html b/docs/api/module-ProgramDetails.html index d5a8c1203..a3db9f79e 100644 --- a/docs/api/module-ProgramDetails.html +++ b/docs/api/module-ProgramDetails.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-PublicUserData.html b/docs/api/module-PublicUserData.html index d3016fd9d..422abeb46 100644 --- a/docs/api/module-PublicUserData.html +++ b/docs/api/module-PublicUserData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-QueueManager.html b/docs/api/module-QueueManager.html index 498202fb7..9d2078063 100644 --- a/docs/api/module-QueueManager.html +++ b/docs/api/module-QueueManager.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-QuickConnect.html b/docs/api/module-QuickConnect.html index 871ff773a..0c25be40e 100644 --- a/docs/api/module-QuickConnect.html +++ b/docs/api/module-QuickConnect.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-QuickConnectDialog.html b/docs/api/module-QuickConnectDialog.html index aaa873204..126097025 100644 --- a/docs/api/module-QuickConnectDialog.html +++ b/docs/api/module-QuickConnectDialog.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-RadioDialog.html b/docs/api/module-RadioDialog.html index cbdc60d3f..430f3b529 100644 --- a/docs/api/module-RadioDialog.html +++ b/docs/api/module-RadioDialog.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-RecordProgramTask.html b/docs/api/module-RecordProgramTask.html index b618bbb32..3cb9bb4a6 100644 --- a/docs/api/module-RecordProgramTask.html +++ b/docs/api/module-RecordProgramTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-SceneManager.html b/docs/api/module-SceneManager.html index cc397b630..353f33627 100644 --- a/docs/api/module-SceneManager.html +++ b/docs/api/module-SceneManager.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ScheduleProgramData.html b/docs/api/module-ScheduleProgramData.html index e01f844eb..dbf2b5b3f 100644 --- a/docs/api/module-ScheduleProgramData.html +++ b/docs/api/module-ScheduleProgramData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-SearchBox.html b/docs/api/module-SearchBox.html index 3b381ac2e..63da26513 100644 --- a/docs/api/module-SearchBox.html +++ b/docs/api/module-SearchBox.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-SearchData.html b/docs/api/module-SearchData.html index 1832338b7..ed74a7a61 100644 --- a/docs/api/module-SearchData.html +++ b/docs/api/module-SearchData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-SearchResults.html b/docs/api/module-SearchResults.html index 5f82285e8..332cc5509 100644 --- a/docs/api/module-SearchResults.html +++ b/docs/api/module-SearchResults.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-SearchRow.html b/docs/api/module-SearchRow.html index 1401f5663..c0665c50e 100644 --- a/docs/api/module-SearchRow.html +++ b/docs/api/module-SearchRow.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-SearchTask.html b/docs/api/module-SearchTask.html index c3ead0884..b22daa532 100644 --- a/docs/api/module-SearchTask.html +++ b/docs/api/module-SearchTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-SeriesData.html b/docs/api/module-SeriesData.html index cad143dac..8e3222eed 100644 --- a/docs/api/module-SeriesData.html +++ b/docs/api/module-SeriesData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ServerDiscoveryTask.html b/docs/api/module-ServerDiscoveryTask.html index 3f1cc4b17..b721b00a2 100644 --- a/docs/api/module-ServerDiscoveryTask.html +++ b/docs/api/module-ServerDiscoveryTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-SetServerScreen.html b/docs/api/module-SetServerScreen.html index ccb16bbc3..0eb3d0e43 100644 --- a/docs/api/module-SetServerScreen.html +++ b/docs/api/module-SetServerScreen.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ShowScenes.html b/docs/api/module-ShowScenes.html index fd83ceb50..5b4f5ba91 100644 --- a/docs/api/module-ShowScenes.html +++ b/docs/api/module-ShowScenes.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-SongItem.html b/docs/api/module-SongItem.html index 54e1525f3..74d78847d 100644 --- a/docs/api/module-SongItem.html +++ b/docs/api/module-SongItem.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-Spinner.html b/docs/api/module-Spinner.html index ce3220b85..449c38461 100644 --- a/docs/api/module-Spinner.html +++ b/docs/api/module-Spinner.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-StandardDialog.html b/docs/api/module-StandardDialog.html index 6e5a8ec63..65496f95e 100644 --- a/docs/api/module-StandardDialog.html +++ b/docs/api/module-StandardDialog.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-Subtitles.html b/docs/api/module-Subtitles.html index b8c1641da..fd54f6b82 100644 --- a/docs/api/module-Subtitles.html +++ b/docs/api/module-Subtitles.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-TVEpisode.html b/docs/api/module-TVEpisode.html index b43a26bc7..602705638 100644 --- a/docs/api/module-TVEpisode.html +++ b/docs/api/module-TVEpisode.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-TVEpisodeData.html b/docs/api/module-TVEpisodeData.html index 34e1131fd..09a50df03 100644 --- a/docs/api/module-TVEpisodeData.html +++ b/docs/api/module-TVEpisodeData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-TVEpisodeRow.html b/docs/api/module-TVEpisodeRow.html index 0d2790e9c..c4cd4b88c 100644 --- a/docs/api/module-TVEpisodeRow.html +++ b/docs/api/module-TVEpisodeRow.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-TVEpisodeRowWithOptions.html b/docs/api/module-TVEpisodeRowWithOptions.html index 68413a2ae..8013bfb9d 100644 --- a/docs/api/module-TVEpisodeRowWithOptions.html +++ b/docs/api/module-TVEpisodeRowWithOptions.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-TVEpisodes.html b/docs/api/module-TVEpisodes.html index f5f68793f..06f0a1914 100644 --- a/docs/api/module-TVEpisodes.html +++ b/docs/api/module-TVEpisodes.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-TVListDetails.html b/docs/api/module-TVListDetails.html index 010003a31..b67bea84e 100644 --- a/docs/api/module-TVListDetails.html +++ b/docs/api/module-TVListDetails.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-TVListOptions.html b/docs/api/module-TVListOptions.html index 92f806c37..c68e6c2db 100644 --- a/docs/api/module-TVListOptions.html +++ b/docs/api/module-TVListOptions.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-TVSeasonData.html b/docs/api/module-TVSeasonData.html index bf60ed5b1..32fd46e8e 100644 --- a/docs/api/module-TVSeasonData.html +++ b/docs/api/module-TVSeasonData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-TVSeasonRow.html b/docs/api/module-TVSeasonRow.html index 2bf65a6b5..5b9be4a8d 100644 --- a/docs/api/module-TVSeasonRow.html +++ b/docs/api/module-TVSeasonRow.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-TVShowDescription.html b/docs/api/module-TVShowDescription.html index cb31a86e4..d4a7e5ba3 100644 --- a/docs/api/module-TVShowDescription.html +++ b/docs/api/module-TVShowDescription.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-TVShowDetails.html b/docs/api/module-TVShowDetails.html index 4ae3224d5..fc5765f5f 100644 --- a/docs/api/module-TVShowDetails.html +++ b/docs/api/module-TVShowDetails.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-TextSizeTask.html b/docs/api/module-TextSizeTask.html index 7610cf053..fc5430a5a 100644 --- a/docs/api/module-TextSizeTask.html +++ b/docs/api/module-TextSizeTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-UserData.html b/docs/api/module-UserData.html index 3f561de8c..8973420cf 100644 --- a/docs/api/module-UserData.html +++ b/docs/api/module-UserData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-UserItem.html b/docs/api/module-UserItem.html index 9120b8363..6d1337c1e 100644 --- a/docs/api/module-UserItem.html +++ b/docs/api/module-UserItem.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-UserLibrary.html b/docs/api/module-UserLibrary.html index b6b6f4b33..80b6b850f 100644 --- a/docs/api/module-UserLibrary.html +++ b/docs/api/module-UserLibrary.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-UserRow.html b/docs/api/module-UserRow.html index af790a743..56350c2bf 100644 --- a/docs/api/module-UserRow.html +++ b/docs/api/module-UserRow.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-UserSelect.html b/docs/api/module-UserSelect.html index 896646792..f42d134c2 100644 --- a/docs/api/module-UserSelect.html +++ b/docs/api/module-UserSelect.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-VideoData.html b/docs/api/module-VideoData.html index cb0d4a240..f8cd7eb13 100644 --- a/docs/api/module-VideoData.html +++ b/docs/api/module-VideoData.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-VideoPlayer.html b/docs/api/module-VideoPlayer.html index 0a12f2740..d220b1f91 100644 --- a/docs/api/module-VideoPlayer.html +++ b/docs/api/module-VideoPlayer.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-VideoPlayerView.html b/docs/api/module-VideoPlayerView.html index 7334e1c51..2c7680ac4 100644 --- a/docs/api/module-VideoPlayerView.html +++ b/docs/api/module-VideoPlayerView.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-VideoTrackListItem.html b/docs/api/module-VideoTrackListItem.html index 5dc469c1f..4667a466d 100644 --- a/docs/api/module-VideoTrackListItem.html +++ b/docs/api/module-VideoTrackListItem.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-ViewCreator.html b/docs/api/module-ViewCreator.html index ff0d3538a..1358dc972 100644 --- a/docs/api/module-ViewCreator.html +++ b/docs/api/module-ViewCreator.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-WhatsNewDialog.html b/docs/api/module-WhatsNewDialog.html index e10889270..3d3dbd2d1 100644 --- a/docs/api/module-WhatsNewDialog.html +++ b/docs/api/module-WhatsNewDialog.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-baserequest.html b/docs/api/module-baserequest.html index f77362dfc..2a311e1a4 100644 --- a/docs/api/module-baserequest.html +++ b/docs/api/module-baserequest.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-captionTask.html b/docs/api/module-captionTask.html index a98ed7377..ee3b0dd6e 100644 --- a/docs/api/module-captionTask.html +++ b/docs/api/module-captionTask.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-config.html b/docs/api/module-config.html index 250657eaf..615189211 100644 --- a/docs/api/module-config.html +++ b/docs/api/module-config.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-deviceCapabilities.html b/docs/api/module-deviceCapabilities.html index 793884225..6f890ab89 100644 --- a/docs/api/module-deviceCapabilities.html +++ b/docs/api/module-deviceCapabilities.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-globals.html b/docs/api/module-globals.html index 1ea144852..eed02690d 100644 --- a/docs/api/module-globals.html +++ b/docs/api/module-globals.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-migrations.html b/docs/api/module-migrations.html index 8c996dc16..52ea9c914 100644 --- a/docs/api/module-migrations.html +++ b/docs/api/module-migrations.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-misc.html b/docs/api/module-misc.html index 3b6cd4bae..4064ea54d 100644 --- a/docs/api/module-misc.html +++ b/docs/api/module-misc.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-quickplay.html b/docs/api/module-quickplay.html index 5441a0788..ff063cd3b 100644 --- a/docs/api/module-quickplay.html +++ b/docs/api/module-quickplay.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-schedule.html b/docs/api/module-schedule.html index 035adefc8..ee3e73e0b 100644 --- a/docs/api/module-schedule.html +++ b/docs/api/module-schedule.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-section.html b/docs/api/module-section.html index f65ac2370..563f50784 100644 --- a/docs/api/module-section.html +++ b/docs/api/module-section.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-sectionScroller.html b/docs/api/module-sectionScroller.html index 36d9a31f6..8a12db2f7 100644 --- a/docs/api/module-sectionScroller.html +++ b/docs/api/module-sectionScroller.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-settings.html b/docs/api/module-settings.html index 171718570..6da21de6d 100644 --- a/docs/api/module-settings.html +++ b/docs/api/module-settings.html @@ -33,7 +33,7 @@ diff --git a/docs/api/module-userauth.html b/docs/api/module-userauth.html index d810b1281..27f911647 100644 --- a/docs/api/module-userauth.html +++ b/docs/api/module-userauth.html @@ -33,7 +33,7 @@ diff --git a/docs/api/modules.list.html b/docs/api/modules.list.html index 5b01fe8c1..e525c2d1e 100644 --- a/docs/api/modules.list.html +++ b/docs/api/modules.list.html @@ -33,7 +33,7 @@ diff --git a/docs/api/quicksearch.html b/docs/api/quicksearch.html index 076ae79a4..88c2b5cb9 100644 --- a/docs/api/quicksearch.html +++ b/docs/api/quicksearch.html @@ -7,7 +7,7 @@