diff --git a/docs/api/components_ButtonGroupHoriz.bs.html b/docs/api/components_ButtonGroupHoriz.bs.html index 5ef649cd1..cd830169c 100644 --- a/docs/api/components_ButtonGroupHoriz.bs.html +++ b/docs/api/components_ButtonGroupHoriz.bs.html @@ -1,6 +1,6 @@ Source: components/ButtonGroupHoriz.bs
On this page

components_ButtonGroupHoriz.bs

sub init()
+    
On this page

components_ButtonGroupHoriz.bs

sub init()
     m.top.layoutDirection = "horiz"
 end sub
 
@@ -25,4 +25,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_ButtonGroupVert.bs.html b/docs/api/components_ButtonGroupVert.bs.html index ef2890ed6..b10eefce8 100644 --- a/docs/api/components_ButtonGroupVert.bs.html +++ b/docs/api/components_ButtonGroupVert.bs.html @@ -1,6 +1,6 @@ Source: components/ButtonGroupVert.bs
On this page

components_ButtonGroupVert.bs

sub init()
+    
On this page

components_ButtonGroupVert.bs

sub init()
     m.top.layoutDirection = "vert"
     m.top.observeField("focusedChild", "onFocusChanged")
     m.top.observeField("focusButton", "onFocusButtonChanged")
@@ -44,4 +44,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_Buttons_JFButtons.bs.html b/docs/api/components_Buttons_JFButtons.bs.html index 11af3f0d6..fcf5c1a2f 100644 --- a/docs/api/components_Buttons_JFButtons.bs.html +++ b/docs/api/components_Buttons_JFButtons.bs.html @@ -1,6 +1,6 @@ Source: components/Buttons/JFButtons.bs
On this page

components_Buttons_JFButtons.bs

sub init()
+    
On this page

components_Buttons_JFButtons.bs

sub init()
 
     m.top.focusable = true
 
@@ -122,4 +122,4 @@
     end if
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_Buttons_SlideOutButton.bs.html b/docs/api/components_Buttons_SlideOutButton.bs.html index dd59af624..0a0b03d56 100644 --- a/docs/api/components_Buttons_SlideOutButton.bs.html +++ b/docs/api/components_Buttons_SlideOutButton.bs.html @@ -1,6 +1,6 @@ Source: components/Buttons/SlideOutButton.bs
On this page

components_Buttons_SlideOutButton.bs

sub init()
+    
On this page

components_Buttons_SlideOutButton.bs

sub init()
     m.buttonBackground = m.top.findNode("buttonBackground")
     m.buttonIcon = m.top.findNode("buttonIcon")
     m.buttonText = m.top.findNode("buttonText")
@@ -100,4 +100,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_Buttons_TextSizeTask.bs.html b/docs/api/components_Buttons_TextSizeTask.bs.html index 6f9bf222b..85ca55e51 100644 --- a/docs/api/components_Buttons_TextSizeTask.bs.html +++ b/docs/api/components_Buttons_TextSizeTask.bs.html @@ -1,6 +1,6 @@ Source: components/Buttons/TextSizeTask.bs
On this page

components_Buttons_TextSizeTask.bs

sub init()
+    
On this page

components_Buttons_TextSizeTask.bs

sub init()
     m.top.functionName = "getTextSize"
 end sub
 
@@ -21,4 +21,4 @@
     m.top.width = res
 
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_Clock.bs.html b/docs/api/components_Clock.bs.html index 1f9910872..0c4d1575c 100644 --- a/docs/api/components_Clock.bs.html +++ b/docs/api/components_Clock.bs.html @@ -1,6 +1,6 @@ Source: components/Clock.bs
On this page

components_Clock.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_Clock.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
 
@@ -39,4 +39,4 @@
     ' Format time as requested
     m.clockTime.text = m.dateTimeObject.asTimeStringLoc(m.format)
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_GetNextEpisodeTask.bs.html b/docs/api/components_GetNextEpisodeTask.bs.html index 1fd3ef5b1..9dc37590f 100644 --- a/docs/api/components_GetNextEpisodeTask.bs.html +++ b/docs/api/components_GetNextEpisodeTask.bs.html @@ -1,6 +1,6 @@ Source: components/GetNextEpisodeTask.bs
On this page

components_GetNextEpisodeTask.bs

import "pkg:/source/utils/config.bs"
+    
On this page

components_GetNextEpisodeTask.bs

import "pkg:/source/utils/config.bs"
 import "pkg:/source/api/sdk.bs"
 
 sub init()
@@ -16,4 +16,4 @@
 
     m.top.nextEpisodeData = m.nextEpisodeData
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_GetPlaybackInfoTask.bs.html b/docs/api/components_GetPlaybackInfoTask.bs.html index e094855ce..0e7e9a486 100644 --- a/docs/api/components_GetPlaybackInfoTask.bs.html +++ b/docs/api/components_GetPlaybackInfoTask.bs.html @@ -1,6 +1,6 @@ Source: components/GetPlaybackInfoTask.bs
On this page

components_GetPlaybackInfoTask.bs

import "pkg:/source/utils/config.bs"
+    
On this page

components_GetPlaybackInfoTask.bs

import "pkg:/source/utils/config.bs"
 import "pkg:/source/utils/misc.bs"
 import "pkg:/source/utils/deviceCapabilities.bs"
 import "pkg:/source/api/baserequest.bs"
@@ -170,4 +170,4 @@
         return Str(Fix(bitrate / 1000)) + " Kbps"
     end if
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_GetShuffleEpisodesTask.bs.html b/docs/api/components_GetShuffleEpisodesTask.bs.html index d0994103c..3cce69ae5 100644 --- a/docs/api/components_GetShuffleEpisodesTask.bs.html +++ b/docs/api/components_GetShuffleEpisodesTask.bs.html @@ -1,6 +1,6 @@ Source: components/GetShuffleEpisodesTask.bs
On this page

components_GetShuffleEpisodesTask.bs

import "pkg:/source/utils/config.bs"
+    
On this page

components_GetShuffleEpisodesTask.bs

import "pkg:/source/utils/config.bs"
 import "pkg:/source/api/sdk.bs"
 
 sub init()
@@ -16,4 +16,4 @@
 
     m.top.data = data
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_IconButton.bs.html b/docs/api/components_IconButton.bs.html index 34e347790..af0e4b931 100644 --- a/docs/api/components_IconButton.bs.html +++ b/docs/api/components_IconButton.bs.html @@ -1,6 +1,6 @@ Source: components/IconButton.bs
On this page

components_IconButton.bs

sub init()
+    
On this page

components_IconButton.bs

sub init()
     m.buttonBackground = m.top.findNode("buttonBackground")
     m.buttonIcon = m.top.findNode("buttonIcon")
     m.buttonText = m.top.findNode("buttonText")
@@ -81,4 +81,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_ItemGrid_Alpha.bs.html b/docs/api/components_ItemGrid_Alpha.bs.html index 3040ab345..d91693d6e 100644 --- a/docs/api/components_ItemGrid_Alpha.bs.html +++ b/docs/api/components_ItemGrid_Alpha.bs.html @@ -1,6 +1,6 @@ Source: components/ItemGrid/Alpha.bs
On this page

components_ItemGrid_Alpha.bs

sub init()
+    
On this page

components_ItemGrid_Alpha.bs

sub init()
     m.top.visible = true
     m.Alphamenu = m.top.findNode("Alphamenu")
     m.Alphamenu.focusable = true
@@ -43,4 +43,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_ItemGrid_FavoriteItemsTask.bs.html b/docs/api/components_ItemGrid_FavoriteItemsTask.bs.html index 9b79f0f56..f6c0ceb9e 100644 --- a/docs/api/components_ItemGrid_FavoriteItemsTask.bs.html +++ b/docs/api/components_ItemGrid_FavoriteItemsTask.bs.html @@ -1,6 +1,6 @@ Source: components/ItemGrid/FavoriteItemsTask.bs
On this page

components_ItemGrid_FavoriteItemsTask.bs

import "pkg:/source/api/UserLibrary.bs"
+    
On this page

components_ItemGrid_FavoriteItemsTask.bs

import "pkg:/source/api/UserLibrary.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
@@ -19,4 +19,4 @@
     end if
 
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_ItemGrid_GridItem.bs.html b/docs/api/components_ItemGrid_GridItem.bs.html index 0e4b7a168..4f0a8079b 100644 --- a/docs/api/components_ItemGrid_GridItem.bs.html +++ b/docs/api/components_ItemGrid_GridItem.bs.html @@ -1,6 +1,6 @@ Source: components/ItemGrid/GridItem.bs
On this page

components_ItemGrid_GridItem.bs

import "pkg:/source/utils/config.bs"
+    
On this page

components_ItemGrid_GridItem.bs

import "pkg:/source/utils/config.bs"
 import "pkg:/source/utils/misc.bs"
 import "pkg:/source/roku_modules/log/LogMixin.brs"
 
@@ -171,4 +171,4 @@
         m.posterText.visible = false
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_ItemGrid_GridItemSmall.bs.html b/docs/api/components_ItemGrid_GridItemSmall.bs.html index 03a081474..e182a54d5 100644 --- a/docs/api/components_ItemGrid_GridItemSmall.bs.html +++ b/docs/api/components_ItemGrid_GridItemSmall.bs.html @@ -1,6 +1,6 @@ Source: components/ItemGrid/GridItemSmall.bs
On this page

components_ItemGrid_GridItemSmall.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_ItemGrid_GridItemSmall.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/utils/config.bs"
 
 sub init()
@@ -71,4 +71,4 @@
         m.posterText.visible = false
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_ItemGrid_ItemGrid.bs.html b/docs/api/components_ItemGrid_ItemGrid.bs.html index f6cbb96f5..41b861086 100644 --- a/docs/api/components_ItemGrid_ItemGrid.bs.html +++ b/docs/api/components_ItemGrid_ItemGrid.bs.html @@ -1,6 +1,6 @@ Source: components/ItemGrid/ItemGrid.bs
On this page

components_ItemGrid_ItemGrid.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_ItemGrid_ItemGrid.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/deviceCapabilities.bs"
@@ -900,4 +900,4 @@
     end if
 
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_ItemGrid_ItemGridOptions.bs.html b/docs/api/components_ItemGrid_ItemGridOptions.bs.html index 390abbbc9..277ec0f00 100644 --- a/docs/api/components_ItemGrid_ItemGridOptions.bs.html +++ b/docs/api/components_ItemGrid_ItemGridOptions.bs.html @@ -1,6 +1,6 @@ Source: components/ItemGrid/ItemGridOptions.bs
On this page

components_ItemGrid_ItemGridOptions.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_ItemGrid_ItemGridOptions.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/roku_modules/log/LogMixin.brs"
 
 sub init()
@@ -388,4 +388,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_ItemGrid_LoadItemsTask2.bs.html b/docs/api/components_ItemGrid_LoadItemsTask2.bs.html index f4b849dbc..a4feaa6ff 100644 --- a/docs/api/components_ItemGrid_LoadItemsTask2.bs.html +++ b/docs/api/components_ItemGrid_LoadItemsTask2.bs.html @@ -1,6 +1,6 @@ Source: components/ItemGrid/LoadItemsTask2.bs
On this page

components_ItemGrid_LoadItemsTask2.bs

import "pkg:/source/api/Items.bs"
+    
On this page

components_ItemGrid_LoadItemsTask2.bs

import "pkg:/source/api/Items.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/utils/misc.bs"
@@ -265,4 +265,4 @@
     end if
     m.top.content = results
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_ItemGrid_LoadVideoContentTask.bs.html b/docs/api/components_ItemGrid_LoadVideoContentTask.bs.html index d6e3e0f45..e050d2c43 100644 --- a/docs/api/components_ItemGrid_LoadVideoContentTask.bs.html +++ b/docs/api/components_ItemGrid_LoadVideoContentTask.bs.html @@ -1,6 +1,6 @@ Source: components/ItemGrid/LoadVideoContentTask.bs
On this page

components_ItemGrid_LoadVideoContentTask.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_ItemGrid_LoadVideoContentTask.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/api/Items.bs"
 import "pkg:/source/api/UserLibrary.bs"
 import "pkg:/source/api/baserequest.bs"
@@ -909,4 +909,4 @@
         "zza": "Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki"
     }
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_ItemGrid_MovieLibraryView.bs.html b/docs/api/components_ItemGrid_MovieLibraryView.bs.html index f4aec8e18..8dc6ddc8f 100644 --- a/docs/api/components_ItemGrid_MovieLibraryView.bs.html +++ b/docs/api/components_ItemGrid_MovieLibraryView.bs.html @@ -1,6 +1,6 @@ Source: components/ItemGrid/MovieLibraryView.bs
On this page

components_ItemGrid_MovieLibraryView.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_ItemGrid_MovieLibraryView.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/api/Image.bs"
@@ -942,4 +942,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_ItemGrid_MusicArtistGridItem.bs.html b/docs/api/components_ItemGrid_MusicArtistGridItem.bs.html index 263edb4a9..069b920c2 100644 --- a/docs/api/components_ItemGrid_MusicArtistGridItem.bs.html +++ b/docs/api/components_ItemGrid_MusicArtistGridItem.bs.html @@ -1,6 +1,6 @@ Source: components/ItemGrid/MusicArtistGridItem.bs
On this page

components_ItemGrid_MusicArtistGridItem.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_ItemGrid_MusicArtistGridItem.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/utils/config.bs"
 
 sub init()
@@ -83,4 +83,4 @@
         m.backdrop.visible = false
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_ItemGrid_MusicLibraryView.bs.html b/docs/api/components_ItemGrid_MusicLibraryView.bs.html index 23de76b96..a4f816a94 100644 --- a/docs/api/components_ItemGrid_MusicLibraryView.bs.html +++ b/docs/api/components_ItemGrid_MusicLibraryView.bs.html @@ -1,6 +1,6 @@ Source: components/ItemGrid/MusicLibraryView.bs
On this page

components_ItemGrid_MusicLibraryView.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_ItemGrid_MusicLibraryView.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/api/Image.bs"
@@ -804,4 +804,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_JFButton.bs.html b/docs/api/components_JFButton.bs.html index 6ac8e3cb8..3ce6e6a0c 100644 --- a/docs/api/components_JFButton.bs.html +++ b/docs/api/components_JFButton.bs.html @@ -1,6 +1,6 @@ Source: components/JFButton.bs
On this page

components_JFButton.bs

sub init()
+    
On this page

components_JFButton.bs

sub init()
     m.top.observeFieldScoped("text", "onTextChanged")
     m.top.iconUri = ""
     m.top.focusedIconUri = ""
@@ -24,4 +24,4 @@
         addSpaceAfter = addSpaceAfter = false
     end while
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_JFGroup.bs.html b/docs/api/components_JFGroup.bs.html index 9db3d1e9d..5a169c757 100644 --- a/docs/api/components_JFGroup.bs.html +++ b/docs/api/components_JFGroup.bs.html @@ -1,6 +1,6 @@ Source: components/JFGroup.bs
On this page

components_JFGroup.bs

sub init()
+    
On this page

components_JFGroup.bs

sub init()
 end sub
 
 function onKeyEvent(key as string, press as boolean) as boolean
@@ -8,4 +8,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_JFMessageDialog.bs.html b/docs/api/components_JFMessageDialog.bs.html index 20fc62265..71c88dab2 100644 --- a/docs/api/components_JFMessageDialog.bs.html +++ b/docs/api/components_JFMessageDialog.bs.html @@ -1,6 +1,6 @@ Source: components/JFMessageDialog.bs
On this page

components_JFMessageDialog.bs

sub init()
+    
On this page

components_JFMessageDialog.bs

sub init()
     options = m.top.findNode("optionList")
     options.focusBitmapBlendColor = "0x0cb0e8"
     options.color = "0xffffff"
@@ -73,4 +73,4 @@
 
     m.top.translation = [(1920 - boxWidth) / 2, (1080 - boxHeight) / 2]
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_JFOverhang.bs.html b/docs/api/components_JFOverhang.bs.html index 16d08a0c6..41f250100 100644 --- a/docs/api/components_JFOverhang.bs.html +++ b/docs/api/components_JFOverhang.bs.html @@ -1,6 +1,6 @@ Source: components/JFOverhang.bs
On this page

components_JFOverhang.bs

import "pkg:/source/utils/config.bs"
+    
On this page

components_JFOverhang.bs

import "pkg:/source/utils/config.bs"
 
 sub init()
     m.top.id = "overhang"
@@ -147,4 +147,4 @@
         m.optionStar.visible = false
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_JFScene.bs.html b/docs/api/components_JFScene.bs.html index ec964d154..a50202261 100644 --- a/docs/api/components_JFScene.bs.html +++ b/docs/api/components_JFScene.bs.html @@ -1,6 +1,6 @@ Source: components/JFScene.bs
On this page

components_JFScene.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_JFScene.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
     m.top.backgroundColor = "#262626" '"#101010"
@@ -26,4 +26,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_JFScreen.bs.html b/docs/api/components_JFScreen.bs.html index 5fa8271c4..f6f301bf1 100644 --- a/docs/api/components_JFScreen.bs.html +++ b/docs/api/components_JFScreen.bs.html @@ -1,6 +1,6 @@ Source: components/JFScreen.bs
On this page

components_JFScreen.bs

import "pkg:/source/roku_modules/log/LogMixin.brs"
+    
On this page

components_JFScreen.bs

import "pkg:/source/roku_modules/log/LogMixin.brs"
 
 sub init()
     ' initialize the log manager. second param sets log output:
@@ -24,4 +24,4 @@
 sub OnScreenHidden()
 end sub
 
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_JFVideo.bs.html b/docs/api/components_JFVideo.bs.html index bf38e5360..66c40bc8b 100644 --- a/docs/api/components_JFVideo.bs.html +++ b/docs/api/components_JFVideo.bs.html @@ -1,6 +1,6 @@ Source: components/JFVideo.bs
On this page

components_JFVideo.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_JFVideo.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/utils/config.bs"
 
 sub init()
@@ -313,4 +313,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_ListPoster.bs.html b/docs/api/components_ListPoster.bs.html index b0cf213de..5b1c7375c 100644 --- a/docs/api/components_ListPoster.bs.html +++ b/docs/api/components_ListPoster.bs.html @@ -1,6 +1,6 @@ Source: components/ListPoster.bs
On this page

components_ListPoster.bs

import "pkg:/source/utils/config.bs"
+    
On this page

components_ListPoster.bs

import "pkg:/source/utils/config.bs"
 import "pkg:/source/utils/misc.bs"
 
 sub init()
@@ -116,4 +116,4 @@
         m.title.visible = false
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_OverviewDialog.bs.html b/docs/api/components_OverviewDialog.bs.html index 79a246c37..ff1799016 100644 --- a/docs/api/components_OverviewDialog.bs.html +++ b/docs/api/components_OverviewDialog.bs.html @@ -1,6 +1,6 @@ Source: components/OverviewDialog.bs
On this page

components_OverviewDialog.bs

sub setTitle()
+    
On this page

components_OverviewDialog.bs

sub setTitle()
     m.top.findNode("titleArea").primaryTitle = m.top.title
 end sub
 
@@ -17,4 +17,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_PersonDetails.bs.html b/docs/api/components_PersonDetails.bs.html index 990df4ac3..e964a9a89 100644 --- a/docs/api/components_PersonDetails.bs.html +++ b/docs/api/components_PersonDetails.bs.html @@ -1,6 +1,6 @@ Source: components/PersonDetails.bs
On this page

components_PersonDetails.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_PersonDetails.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
@@ -174,4 +174,4 @@
     myDate.FromISO8601String(isoDate)
     return myDate.AsDateString("short-month-no-weekday")
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_PlaybackDialog.bs.html b/docs/api/components_PlaybackDialog.bs.html index f075a4789..9e79faefe 100644 --- a/docs/api/components_PlaybackDialog.bs.html +++ b/docs/api/components_PlaybackDialog.bs.html @@ -1,6 +1,6 @@ Source: components/PlaybackDialog.bs
On this page

components_PlaybackDialog.bs

function onKeyEvent(key as string, press as boolean) as boolean
+    
On this page

components_PlaybackDialog.bs

function onKeyEvent(key as string, press as boolean) as boolean
 
     if key = "OK"
         m.top.close = true
@@ -9,4 +9,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_PlayedCheckmark.bs.html b/docs/api/components_PlayedCheckmark.bs.html index 620cabb13..59e34eb95 100644 --- a/docs/api/components_PlayedCheckmark.bs.html +++ b/docs/api/components_PlayedCheckmark.bs.html @@ -1,7 +1,7 @@ Source: components/PlayedCheckmark.bs
On this page

components_PlayedCheckmark.bs

sub init()
+    
On this page

components_PlayedCheckmark.bs

sub init()
     checkmark = m.top.findNode("checkmark")
     checkmark.font.size = 48
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_PlaystateTask.bs.html b/docs/api/components_PlaystateTask.bs.html index 18282b1f6..2caaec888 100644 --- a/docs/api/components_PlaystateTask.bs.html +++ b/docs/api/components_PlaystateTask.bs.html @@ -1,6 +1,6 @@ Source: components/PlaystateTask.bs
On this page

components_PlaystateTask.bs

import "pkg:/source/api/baserequest.bs"
+    
On this page

components_PlaystateTask.bs

import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
 sub init()
@@ -54,4 +54,4 @@
     end for
     return FormatJson(new_params)
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_RadioDialog.bs.html b/docs/api/components_RadioDialog.bs.html index ea088d36b..058f831b3 100644 --- a/docs/api/components_RadioDialog.bs.html +++ b/docs/api/components_RadioDialog.bs.html @@ -1,6 +1,6 @@ Source: components/RadioDialog.bs
On this page

components_RadioDialog.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_RadioDialog.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
     m.contentArea = m.top.findNode("contentArea")
@@ -138,4 +138,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_SearchBox.bs.html b/docs/api/components_SearchBox.bs.html index bf994cda6..60ec95d91 100644 --- a/docs/api/components_SearchBox.bs.html +++ b/docs/api/components_SearchBox.bs.html @@ -1,6 +1,6 @@ Source: components/SearchBox.bs
On this page

components_SearchBox.bs

import "pkg:/source/api/Items.bs"
+    
On this page

components_SearchBox.bs

import "pkg:/source/api/Items.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/api/Image.bs"
@@ -33,4 +33,4 @@
         m.searchText.textEditBox.leadingEllipsis = false
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_Spinner.bs.html b/docs/api/components_Spinner.bs.html index 58b3fbee0..eafce627c 100644 --- a/docs/api/components_Spinner.bs.html +++ b/docs/api/components_Spinner.bs.html @@ -1,9 +1,9 @@ Source: components/Spinner.bs
On this page

components_Spinner.bs

sub init()
+    
On this page

components_Spinner.bs

sub init()
     m.top.poster.uri = "pkg:/images/spinner.png"
     m.top.control = "start"
     m.top.clockwise = true
     m.top.spinInterval = 3
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_StandardDialog.bs.html b/docs/api/components_StandardDialog.bs.html index af96fabeb..079ee8585 100644 --- a/docs/api/components_StandardDialog.bs.html +++ b/docs/api/components_StandardDialog.bs.html @@ -1,6 +1,6 @@ Source: components/StandardDialog.bs
On this page

components_StandardDialog.bs

sub init()
+    
On this page

components_StandardDialog.bs

sub init()
     m.content = m.top.findNode("content")
     m.top.observeField("contentData", "onContentDataChanged")
 
@@ -36,4 +36,4 @@
         textLine.text = item
     end for
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_WhatsNewDialog.bs.html b/docs/api/components_WhatsNewDialog.bs.html index ac425df44..c49b0dc37 100644 --- a/docs/api/components_WhatsNewDialog.bs.html +++ b/docs/api/components_WhatsNewDialog.bs.html @@ -1,6 +1,6 @@ Source: components/WhatsNewDialog.bs
On this page

components_WhatsNewDialog.bs

sub init()
+    
On this page

components_WhatsNewDialog.bs

sub init()
     m.content = m.top.findNode("content")
 
     setPalette()
@@ -46,4 +46,4 @@
 
     m.top.palette = dlgPalette
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_captionTask.bs.html b/docs/api/components_captionTask.bs.html index ec1babc19..ed9add921 100644 --- a/docs/api/components_captionTask.bs.html +++ b/docs/api/components_captionTask.bs.html @@ -1,6 +1,6 @@ Source: components/captionTask.bs
On this page

components_captionTask.bs

import "pkg:/source/utils/config.bs"
+    
On this page

components_captionTask.bs

import "pkg:/source/utils/config.bs"
 import "pkg:/source/api/baserequest.bs"
 
 sub init()
@@ -150,4 +150,4 @@
     end for
     return entries
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_config_ConfigData.bs.html b/docs/api/components_config_ConfigData.bs.html index 36c701119..40aa6ee28 100644 --- a/docs/api/components_config_ConfigData.bs.html +++ b/docs/api/components_config_ConfigData.bs.html @@ -1,5 +1,5 @@ Source: components/config/ConfigData.bs
On this page

components_config_ConfigData.bs

sub init()
+    
On this page

components_config_ConfigData.bs

sub init()
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_config_ConfigItem.bs.html b/docs/api/components_config_ConfigItem.bs.html index 1e81ec788..5d865c729 100644 --- a/docs/api/components_config_ConfigItem.bs.html +++ b/docs/api/components_config_ConfigItem.bs.html @@ -1,6 +1,6 @@ Source: components/config/ConfigItem.bs
On this page

components_config_ConfigItem.bs

sub init()
+    
On this page

components_config_ConfigItem.bs

sub init()
     m.name = m.top.findNode("label")
     m.value = m.top.findNode("value")
 
@@ -37,4 +37,4 @@
     m.value.textColor = color
 
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_config_ConfigList.bs.html b/docs/api/components_config_ConfigList.bs.html index ba1ddfca4..03d1de665 100644 --- a/docs/api/components_config_ConfigList.bs.html +++ b/docs/api/components_config_ConfigList.bs.html @@ -1,6 +1,6 @@ Source: components/config/ConfigList.bs
On this page

components_config_ConfigList.bs

import "pkg:/source/utils/config.bs"
+    
On this page

components_config_ConfigList.bs

import "pkg:/source/utils/config.bs"
 
 sub init()
     m.top.itemComponentName = "ConfigItem"
@@ -76,4 +76,4 @@
 sub dismiss_dialog()
     m.dialog.close = true
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_config_JFServer.bs.html b/docs/api/components_config_JFServer.bs.html index d48f71f21..b17c4b81f 100644 --- a/docs/api/components_config_JFServer.bs.html +++ b/docs/api/components_config_JFServer.bs.html @@ -1,6 +1,6 @@ Source: components/config/JFServer.bs
On this page

components_config_JFServer.bs

sub init() as void
+    
On this page

components_config_JFServer.bs

sub init() as void
     m.poster = m.top.findNode("poster")
     m.name = m.top.findNode("name")
     m.baseUrl = m.top.findNode("baseUrl")
@@ -34,4 +34,4 @@
         child.color = color
     end for
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_config_LoginScene.bs.html b/docs/api/components_config_LoginScene.bs.html index ad7ad6166..9ba8da8a7 100644 --- a/docs/api/components_config_LoginScene.bs.html +++ b/docs/api/components_config_LoginScene.bs.html @@ -1,6 +1,6 @@ Source: components/config/LoginScene.bs
On this page

components_config_LoginScene.bs

sub init()
+    
On this page

components_config_LoginScene.bs

sub init()
     m.top.setFocus(true)
     m.top.optionsAvailable = false
 end sub
@@ -46,4 +46,4 @@
     end if
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_config_ServerDiscoveryTask.bs.html b/docs/api/components_config_ServerDiscoveryTask.bs.html index 4feee201f..f3748a189 100644 --- a/docs/api/components_config_ServerDiscoveryTask.bs.html +++ b/docs/api/components_config_ServerDiscoveryTask.bs.html @@ -1,6 +1,6 @@ Source: components/config/ServerDiscoveryTask.bs
On this page

components_config_ServerDiscoveryTask.bs

import "pkg:/source/roku_modules/log/LogMixin.brs"
+    
On this page

components_config_ServerDiscoveryTask.bs

import "pkg:/source/roku_modules/log/LogMixin.brs"
 
 '
 ' Task used to discover jellyfin servers on the local network
@@ -171,4 +171,4 @@
         end if
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_config_SetServerScreen.bs.html b/docs/api/components_config_SetServerScreen.bs.html index 07c8126d3..e96767f9a 100644 --- a/docs/api/components_config_SetServerScreen.bs.html +++ b/docs/api/components_config_SetServerScreen.bs.html @@ -1,6 +1,6 @@ Source: components/config/SetServerScreen.bs
On this page

components_config_SetServerScreen.bs

import "pkg:/source/roku_modules/log/LogMixin.brs"
+    
On this page

components_config_SetServerScreen.bs

import "pkg:/source/roku_modules/log/LogMixin.brs"
 import "pkg:/source/utils/config.bs"
 
 sub init()
@@ -159,4 +159,4 @@
 sub clearErrorMessage()
     m.top.errorMessage = ""
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_AlbumData.bs.html b/docs/api/components_data_AlbumData.bs.html index dc389e739..e9151e685 100644 --- a/docs/api/components_data_AlbumData.bs.html +++ b/docs/api/components_data_AlbumData.bs.html @@ -1,10 +1,10 @@ Source: components/data/AlbumData.bs
On this page

components_data_AlbumData.bs

sub setFields()
+    
On this page

components_data_AlbumData.bs

sub setFields()
     datum = m.top.json
 
     m.top.id = datum.id
     m.top.title = datum.name
 end sub
 
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_ChannelData.bs.html b/docs/api/components_data_ChannelData.bs.html index ccf43464b..f5d483647 100644 --- a/docs/api/components_data_ChannelData.bs.html +++ b/docs/api/components_data_ChannelData.bs.html @@ -1,6 +1,6 @@ Source: components/data/ChannelData.bs
On this page

components_data_ChannelData.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_data_ChannelData.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
@@ -24,4 +24,4 @@
         m.top.posterURL = ImageURL(m.top.json.id, "Primary", imgParams)
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_CollectionData.bs.html b/docs/api/components_data_CollectionData.bs.html index 64e2fbe0b..6c4bf13e0 100644 --- a/docs/api/components_data_CollectionData.bs.html +++ b/docs/api/components_data_CollectionData.bs.html @@ -1,6 +1,6 @@ Source: components/data/CollectionData.bs
On this page

components_data_CollectionData.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_data_CollectionData.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
@@ -40,4 +40,4 @@
     end if
 
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_FolderData.bs.html b/docs/api/components_data_FolderData.bs.html index 3f0230d40..fd67e8748 100644 --- a/docs/api/components_data_FolderData.bs.html +++ b/docs/api/components_data_FolderData.bs.html @@ -1,6 +1,6 @@ Source: components/data/FolderData.bs
On this page

components_data_FolderData.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_data_FolderData.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
@@ -33,4 +33,4 @@
 end sub
 
 'TODO Set network Poster image
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_GetFiltersTask.bs.html b/docs/api/components_data_GetFiltersTask.bs.html index 2b55438d7..4aeade400 100644 --- a/docs/api/components_data_GetFiltersTask.bs.html +++ b/docs/api/components_data_GetFiltersTask.bs.html @@ -1,6 +1,6 @@ Source: components/data/GetFiltersTask.bs
On this page

components_data_GetFiltersTask.bs

import "pkg:/source/utils/config.bs"
+    
On this page

components_data_GetFiltersTask.bs

import "pkg:/source/utils/config.bs"
 import "pkg:/source/api/sdk.bs"
 
 sub init()
@@ -11,4 +11,4 @@
     m.filters = api.items.GetFilters(m.top.params)
     m.top.filters = m.filters
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_HomeData.bs.html b/docs/api/components_data_HomeData.bs.html index b80221793..11d831cae 100644 --- a/docs/api/components_data_HomeData.bs.html +++ b/docs/api/components_data_HomeData.bs.html @@ -1,6 +1,6 @@ Source: components/data/HomeData.bs
On this page

components_data_HomeData.bs

import "pkg:/source/api/baserequest.bs"
+    
On this page

components_data_HomeData.bs

import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/api/Image.bs"
 
@@ -136,4 +136,4 @@
         m.top.posterUrl = m.top.thumbnailURL
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_ImageData.bs.html b/docs/api/components_data_ImageData.bs.html index 27406e771..5a3635788 100644 --- a/docs/api/components_data_ImageData.bs.html +++ b/docs/api/components_data_ImageData.bs.html @@ -1,10 +1,10 @@ Source: components/data/ImageData.bs
On this page

components_data_ImageData.bs

sub setFields()
+    
On this page

components_data_ImageData.bs

sub setFields()
     json = m.top.json
     m.top.imagetype = json.imagetype
     m.top.size = json.size
     m.top.height = json.height
     m.top.width = json.width
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_MovieData.bs.html b/docs/api/components_data_MovieData.bs.html index da1c9135b..0bcdb1bfe 100644 --- a/docs/api/components_data_MovieData.bs.html +++ b/docs/api/components_data_MovieData.bs.html @@ -1,6 +1,6 @@ Source: components/data/MovieData.bs
On this page

components_data_MovieData.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_data_MovieData.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/utils/misc.bs"
@@ -80,4 +80,4 @@
         m.top.container = "mp4"
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_MusicAlbumData.bs.html b/docs/api/components_data_MusicAlbumData.bs.html index 530245171..72f7f78e8 100644 --- a/docs/api/components_data_MusicAlbumData.bs.html +++ b/docs/api/components_data_MusicAlbumData.bs.html @@ -1,6 +1,6 @@ Source: components/data/MusicAlbumData.bs
On this page

components_data_MusicAlbumData.bs

sub setFields()
+    
On this page

components_data_MusicAlbumData.bs

sub setFields()
     datum = m.top.json
 
     m.top.id = datum.id
@@ -15,4 +15,4 @@
         m.top.posterURL = ""
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_MusicAlbumSongListData.bs.html b/docs/api/components_data_MusicAlbumSongListData.bs.html index b84ed26e0..9fccebbe8 100644 --- a/docs/api/components_data_MusicAlbumSongListData.bs.html +++ b/docs/api/components_data_MusicAlbumSongListData.bs.html @@ -1,6 +1,6 @@ Source: components/data/MusicAlbumSongListData.bs
On this page

components_data_MusicAlbumSongListData.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_data_MusicAlbumSongListData.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
@@ -36,4 +36,4 @@
 
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_MusicArtistData.bs.html b/docs/api/components_data_MusicArtistData.bs.html index 885625ece..bab71de9b 100644 --- a/docs/api/components_data_MusicArtistData.bs.html +++ b/docs/api/components_data_MusicArtistData.bs.html @@ -1,6 +1,6 @@ Source: components/data/MusicArtistData.bs
On this page

components_data_MusicArtistData.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_data_MusicArtistData.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
@@ -39,4 +39,4 @@
 
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_MusicSongData.bs.html b/docs/api/components_data_MusicSongData.bs.html index 17e05c7b5..563abc735 100644 --- a/docs/api/components_data_MusicSongData.bs.html +++ b/docs/api/components_data_MusicSongData.bs.html @@ -1,6 +1,6 @@ Source: components/data/MusicSongData.bs
On this page

components_data_MusicSongData.bs

sub setFields()
+    
On this page

components_data_MusicSongData.bs

sub setFields()
     datum = m.top.json
 
     m.top.id = datum.id
@@ -17,4 +17,4 @@
         m.top.posterURL = ""
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_OptionsButton.bs.html b/docs/api/components_data_OptionsButton.bs.html index d44a6806c..56f8149bd 100644 --- a/docs/api/components_data_OptionsButton.bs.html +++ b/docs/api/components_data_OptionsButton.bs.html @@ -1,10 +1,10 @@ Source: components/data/OptionsButton.bs
On this page

components_data_OptionsButton.bs

import "pkg:/source/utils/config.bs"
+    
On this page

components_data_OptionsButton.bs

import "pkg:/source/utils/config.bs"
 
 sub init()
 end sub
 
 sub press()
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_OptionsData.bs.html b/docs/api/components_data_OptionsData.bs.html index 2d4000ef3..36418f52c 100644 --- a/docs/api/components_data_OptionsData.bs.html +++ b/docs/api/components_data_OptionsData.bs.html @@ -1,6 +1,6 @@ Source: components/data/OptionsData.bs
On this page

components_data_OptionsData.bs

import "pkg:/source/utils/config.bs"
+    
On this page

components_data_OptionsData.bs

import "pkg:/source/utils/config.bs"
 
 sub init()
     m.top.value_index = 0
@@ -40,4 +40,4 @@
         set_user_setting(m.top.config_key, m.top.value)
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_PersonData.bs.html b/docs/api/components_data_PersonData.bs.html index f3e5e5ad6..2cfef9f49 100644 --- a/docs/api/components_data_PersonData.bs.html +++ b/docs/api/components_data_PersonData.bs.html @@ -1,6 +1,6 @@ Source: components/data/PersonData.bs
On this page

components_data_PersonData.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_data_PersonData.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
@@ -36,4 +36,4 @@
 
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_PhotoData.bs.html b/docs/api/components_data_PhotoData.bs.html index bd72527da..f6c656dd2 100644 --- a/docs/api/components_data_PhotoData.bs.html +++ b/docs/api/components_data_PhotoData.bs.html @@ -1,6 +1,6 @@ Source: components/data/PhotoData.bs
On this page

components_data_PhotoData.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_data_PhotoData.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
@@ -38,4 +38,4 @@
 
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_PlaylistData.bs.html b/docs/api/components_data_PlaylistData.bs.html index bf336b5bf..0a03e06ff 100644 --- a/docs/api/components_data_PlaylistData.bs.html +++ b/docs/api/components_data_PlaylistData.bs.html @@ -1,6 +1,6 @@ Source: components/data/PlaylistData.bs
On this page

components_data_PlaylistData.bs

sub setFields()
+    
On this page

components_data_PlaylistData.bs

sub setFields()
     datum = m.top.json
 
     m.top.id = datum.id
@@ -15,4 +15,4 @@
         m.top.posterURL = ""
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_PublicUserData.bs.html b/docs/api/components_data_PublicUserData.bs.html index d1fc4f490..701b35935 100644 --- a/docs/api/components_data_PublicUserData.bs.html +++ b/docs/api/components_data_PublicUserData.bs.html @@ -1,5 +1,5 @@ Source: components/data/PublicUserData.bs
On this page

components_data_PublicUserData.bs

sub init()
+    
On this page

components_data_PublicUserData.bs

sub init()
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_SceneManager.bs.html b/docs/api/components_data_SceneManager.bs.html index 013c85a9d..44fa10f94 100644 --- a/docs/api/components_data_SceneManager.bs.html +++ b/docs/api/components_data_SceneManager.bs.html @@ -1,6 +1,6 @@ Source: components/data/SceneManager.bs
On this page

components_data_SceneManager.bs

import "pkg:/source/roku_modules/log/LogMixin.brs"
+    
On this page

components_data_SceneManager.bs

import "pkg:/source/roku_modules/log/LogMixin.brs"
 
 sub init()
     m.log = log.Logger("SceneManager")
@@ -354,4 +354,4 @@
 function isDialogOpen() as boolean
     return m.scene.dialog <> invalid
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_ScheduleProgramData.bs.html b/docs/api/components_data_ScheduleProgramData.bs.html index f5488080b..16905642a 100644 --- a/docs/api/components_data_ScheduleProgramData.bs.html +++ b/docs/api/components_data_ScheduleProgramData.bs.html @@ -1,6 +1,6 @@ Source: components/data/ScheduleProgramData.bs
On this page

components_data_ScheduleProgramData.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_data_ScheduleProgramData.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
@@ -47,4 +47,4 @@
         end if
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_SearchData.bs.html b/docs/api/components_data_SearchData.bs.html index 6da147ebc..48cab3b72 100644 --- a/docs/api/components_data_SearchData.bs.html +++ b/docs/api/components_data_SearchData.bs.html @@ -1,6 +1,6 @@ Source: components/data/SearchData.bs
On this page

components_data_SearchData.bs

sub setFields()
+    
On this page

components_data_SearchData.bs

sub setFields()
     datum = m.top.json
 
     m.top.id = datum.id
@@ -15,4 +15,4 @@
         m.top.posterURL = ""
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_SeriesData.bs.html b/docs/api/components_data_SeriesData.bs.html index 3648c66c5..1ccc0abbc 100644 --- a/docs/api/components_data_SeriesData.bs.html +++ b/docs/api/components_data_SeriesData.bs.html @@ -1,6 +1,6 @@ Source: components/data/SeriesData.bs
On this page

components_data_SeriesData.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_data_SeriesData.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
@@ -53,4 +53,4 @@
 
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_TVEpisode.bs.html b/docs/api/components_data_TVEpisode.bs.html index 5fbfec914..bc82b1e8a 100644 --- a/docs/api/components_data_TVEpisode.bs.html +++ b/docs/api/components_data_TVEpisode.bs.html @@ -1,6 +1,6 @@ Source: components/data/TVEpisode.bs
On this page

components_data_TVEpisode.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_data_TVEpisode.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
@@ -25,4 +25,4 @@
         m.top.posterURL = ImageURL(m.top.json.id, "Primary", imgParams)
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_TVEpisodeData.bs.html b/docs/api/components_data_TVEpisodeData.bs.html index 1d16a94f2..15c2ec0da 100644 --- a/docs/api/components_data_TVEpisodeData.bs.html +++ b/docs/api/components_data_TVEpisodeData.bs.html @@ -1,6 +1,6 @@ Source: components/data/TVEpisodeData.bs
On this page

components_data_TVEpisodeData.bs

sub setFields()
+    
On this page

components_data_TVEpisodeData.bs

sub setFields()
     datum = m.top.json
 
     m.top.id = datum.id
@@ -18,4 +18,4 @@
         m.top.posterURL = ""
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_TVSeasonData.bs.html b/docs/api/components_data_TVSeasonData.bs.html index 627addff7..6afd843ce 100644 --- a/docs/api/components_data_TVSeasonData.bs.html +++ b/docs/api/components_data_TVSeasonData.bs.html @@ -1,6 +1,6 @@ Source: components/data/TVSeasonData.bs
On this page

components_data_TVSeasonData.bs

sub setFields()
+    
On this page

components_data_TVSeasonData.bs

sub setFields()
     datum = m.top.json
 
     m.top.id = datum.id
@@ -18,4 +18,4 @@
     end if
 
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_UserData.bs.html b/docs/api/components_data_UserData.bs.html index 60186516e..3a829d460 100644 --- a/docs/api/components_data_UserData.bs.html +++ b/docs/api/components_data_UserData.bs.html @@ -1,6 +1,6 @@ Source: components/data/UserData.bs
On this page

components_data_UserData.bs

import "pkg:/source/utils/config.bs"
+    
On this page

components_data_UserData.bs

import "pkg:/source/utils/config.bs"
 
 sub setDataFromJSON()
     json = m.top.json
@@ -64,4 +64,4 @@
 sub setServer(hostname as string)
     m.top.server = hostname
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_data_VideoData.bs.html b/docs/api/components_data_VideoData.bs.html index 6c4019ee7..6902bc0e1 100644 --- a/docs/api/components_data_VideoData.bs.html +++ b/docs/api/components_data_VideoData.bs.html @@ -1,6 +1,6 @@ Source: components/data/VideoData.bs
On this page

components_data_VideoData.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_data_VideoData.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
@@ -25,4 +25,4 @@
         m.top.posterURL = ImageURL(m.top.json.id, "Primary", imgParams)
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_extras_ExtrasItem.bs.html b/docs/api/components_extras_ExtrasItem.bs.html index ea9e89b59..20cc6e3c5 100644 --- a/docs/api/components_extras_ExtrasItem.bs.html +++ b/docs/api/components_extras_ExtrasItem.bs.html @@ -1,6 +1,6 @@ Source: components/extras/ExtrasItem.bs
On this page

components_extras_ExtrasItem.bs

sub init()
+    
On this page

components_extras_ExtrasItem.bs

sub init()
     m.posterImg = m.top.findNode("posterImg")
     m.name = m.top.findNode("pLabel")
     m.role = m.top.findNode("subTitle")
@@ -37,4 +37,4 @@
         txt2Speech.Say(m.role.text)
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_extras_ExtrasRowList.bs.html b/docs/api/components_extras_ExtrasRowList.bs.html index 7f1f5b9bb..c7c007f54 100644 --- a/docs/api/components_extras_ExtrasRowList.bs.html +++ b/docs/api/components_extras_ExtrasRowList.bs.html @@ -1,6 +1,6 @@ Source: components/extras/ExtrasRowList.bs
On this page

components_extras_ExtrasRowList.bs

sub init()
+    
On this page

components_extras_ExtrasRowList.bs

sub init()
     m.top.visible = true
     updateSize()
     m.top.rowFocusAnimationStyle = "fixedFocus"
@@ -214,4 +214,4 @@
 sub onRowItemFocused()
     m.top.focusedItem = m.top.content.getChild(m.top.rowItemFocused[0]).getChild(m.top.rowItemFocused[1])
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_home_Home.bs.html b/docs/api/components_home_Home.bs.html index 8df73dc39..1fdd5248a 100644 --- a/docs/api/components_home_Home.bs.html +++ b/docs/api/components_home_Home.bs.html @@ -1,6 +1,6 @@ Source: components/home/Home.bs
On this page

components_home_Home.bs

import "pkg:/source/api/baserequest.bs"
+    
On this page

components_home_Home.bs

import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/utils/misc.bs"
 import "pkg:/source/utils/deviceCapabilities.bs"
@@ -54,4 +54,4 @@
     m.postTask.unobserveField("responseCode")
     m.postTask.callFunc("empty")
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_home_HomeItem.bs.html b/docs/api/components_home_HomeItem.bs.html index e72991a48..a6492827c 100644 --- a/docs/api/components_home_HomeItem.bs.html +++ b/docs/api/components_home_HomeItem.bs.html @@ -1,6 +1,6 @@ Source: components/home/HomeItem.bs
On this page

components_home_HomeItem.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_home_HomeItem.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/utils/misc.bs"
@@ -331,4 +331,4 @@
         m.itemIcon.visible = true
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_home_HomeRows.bs.html b/docs/api/components_home_HomeRows.bs.html index 902d9fbe7..f1b97f56e 100644 --- a/docs/api/components_home_HomeRows.bs.html +++ b/docs/api/components_home_HomeRows.bs.html @@ -1,6 +1,6 @@ Source: components/home/HomeRows.bs
On this page

components_home_HomeRows.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_home_HomeRows.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
     m.top.itemComponentName = "HomeItem"
@@ -592,4 +592,4 @@
     end for
     return newNodeArray
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_home_LoadItemsTask.bs.html b/docs/api/components_home_LoadItemsTask.bs.html index 1f6060623..66b20d1e3 100644 --- a/docs/api/components_home_LoadItemsTask.bs.html +++ b/docs/api/components_home_LoadItemsTask.bs.html @@ -1,6 +1,6 @@ Source: components/home/LoadItemsTask.bs
On this page

components_home_LoadItemsTask.bs

import "pkg:/source/api/Items.bs"
+    
On this page

components_home_LoadItemsTask.bs

import "pkg:/source/api/Items.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/utils/misc.bs"
@@ -268,4 +268,4 @@
         end for
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_keyboards_IntegerKeyboard.bs.html b/docs/api/components_keyboards_IntegerKeyboard.bs.html index e44c66aae..dd22e89db 100644 --- a/docs/api/components_keyboards_IntegerKeyboard.bs.html +++ b/docs/api/components_keyboards_IntegerKeyboard.bs.html @@ -1,6 +1,6 @@ Source: components/keyboards/IntegerKeyboard.bs
On this page

components_keyboards_IntegerKeyboard.bs

sub init()
+    
On this page

components_keyboards_IntegerKeyboard.bs

sub init()
     m.top.keyGrid.keyDefinitionUri = "pkg:/components/keyboards/IntegerKeyboardKDF.json"
 end sub
 
@@ -81,4 +81,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_liveTv_LoadChannelsTask.bs.html b/docs/api/components_liveTv_LoadChannelsTask.bs.html index 2778ed01b..674ad68ae 100644 --- a/docs/api/components_liveTv_LoadChannelsTask.bs.html +++ b/docs/api/components_liveTv_LoadChannelsTask.bs.html @@ -1,6 +1,6 @@ Source: components/liveTv/LoadChannelsTask.bs
On this page

components_liveTv_LoadChannelsTask.bs

import "pkg:/source/api/baserequest.bs"
+    
On this page

components_liveTv_LoadChannelsTask.bs

import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
 sub init()
@@ -72,4 +72,4 @@
     end for
     m.top.channels = results
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_liveTv_LoadProgramDetailsTask.bs.html b/docs/api/components_liveTv_LoadProgramDetailsTask.bs.html index 69d0782b4..925e44853 100644 --- a/docs/api/components_liveTv_LoadProgramDetailsTask.bs.html +++ b/docs/api/components_liveTv_LoadProgramDetailsTask.bs.html @@ -1,6 +1,6 @@ Source: components/liveTv/LoadProgramDetailsTask.bs
On this page

components_liveTv_LoadProgramDetailsTask.bs

import "pkg:/source/api/baserequest.bs"
+    
On this page

components_liveTv_LoadProgramDetailsTask.bs

import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
 sub init()
@@ -44,4 +44,4 @@
     m.top.programDetails = program
 
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_liveTv_LoadSheduleTask.bs.html b/docs/api/components_liveTv_LoadSheduleTask.bs.html index 7f9c256ef..d286e8502 100644 --- a/docs/api/components_liveTv_LoadSheduleTask.bs.html +++ b/docs/api/components_liveTv_LoadSheduleTask.bs.html @@ -1,6 +1,6 @@ Source: components/liveTv/LoadSheduleTask.bs
On this page

components_liveTv_LoadSheduleTask.bs

import "pkg:/source/api/baserequest.bs"
+    
On this page

components_liveTv_LoadSheduleTask.bs

import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
 sub init()
@@ -50,4 +50,4 @@
     m.top.schedule = results
 
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_liveTv_ProgramDetails.bs.html b/docs/api/components_liveTv_ProgramDetails.bs.html index 852fbfd25..9d25b51e9 100644 --- a/docs/api/components_liveTv_ProgramDetails.bs.html +++ b/docs/api/components_liveTv_ProgramDetails.bs.html @@ -1,6 +1,6 @@ Source: components/liveTv/ProgramDetails.bs
On this page

components_liveTv_ProgramDetails.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_liveTv_ProgramDetails.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/utils/config.bs"
 
 sub init()
@@ -374,4 +374,4 @@
     return false
 end function
 
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_liveTv_RecordProgramTask.bs.html b/docs/api/components_liveTv_RecordProgramTask.bs.html index 5f828a4b2..e966be186 100644 --- a/docs/api/components_liveTv_RecordProgramTask.bs.html +++ b/docs/api/components_liveTv_RecordProgramTask.bs.html @@ -1,6 +1,6 @@ Source: components/liveTv/RecordProgramTask.bs
On this page

components_liveTv_RecordProgramTask.bs

import "pkg:/source/api/baserequest.bs"
+    
On this page

components_liveTv_RecordProgramTask.bs

import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/roku_modules/log/LogMixin.brs"
 
@@ -60,4 +60,4 @@
 
     m.top.recordOperationDone = true
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_liveTv_schedule.bs.html b/docs/api/components_liveTv_schedule.bs.html index 4b50a2bfd..a11fe78f9 100644 --- a/docs/api/components_liveTv_schedule.bs.html +++ b/docs/api/components_liveTv_schedule.bs.html @@ -1,6 +1,6 @@ Source: components/liveTv/schedule.bs
On this page

components_liveTv_schedule.bs

sub init()
+    
On this page

components_liveTv_schedule.bs

sub init()
     m.EPGLaunchCompleteSignaled = false
     m.scheduleGrid = m.top.findNode("scheduleGrid")
     m.detailsPane = m.top.findNode("detailsPane")
@@ -305,4 +305,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_login_UserItem.bs.html b/docs/api/components_login_UserItem.bs.html index 46320f75d..9eea8084f 100644 --- a/docs/api/components_login_UserItem.bs.html +++ b/docs/api/components_login_UserItem.bs.html @@ -1,6 +1,6 @@ Source: components/login/UserItem.bs
On this page

components_login_UserItem.bs

sub init()
+    
On this page

components_login_UserItem.bs

sub init()
 end sub
 
 sub itemContentChanged()
@@ -17,4 +17,4 @@
     end if
     profileName.text = itemData.name
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_login_UserRow.bs.html b/docs/api/components_login_UserRow.bs.html index c696536b3..38637156e 100644 --- a/docs/api/components_login_UserRow.bs.html +++ b/docs/api/components_login_UserRow.bs.html @@ -1,6 +1,6 @@ Source: components/login/UserRow.bs
On this page

components_login_UserRow.bs

sub init()
+    
On this page

components_login_UserRow.bs

sub init()
     m.top.itemComponentName = "UserItem"
     m.top.content = SetData()
     m.top.observeField("itemSelected", "SetUser")
@@ -53,4 +53,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_login_UserSelect.bs.html b/docs/api/components_login_UserSelect.bs.html index 06d55335e..494c4c201 100644 --- a/docs/api/components_login_UserSelect.bs.html +++ b/docs/api/components_login_UserSelect.bs.html @@ -1,6 +1,6 @@ Source: components/login/UserSelect.bs
On this page

components_login_UserSelect.bs

sub init()
+    
On this page

components_login_UserSelect.bs

sub init()
     m.top.optionsAvailable = false
 end sub
 
@@ -41,4 +41,4 @@
     end if
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_manager_QueueManager.bs.html b/docs/api/components_manager_QueueManager.bs.html index d3f70ea56..9452fd69f 100644 --- a/docs/api/components_manager_QueueManager.bs.html +++ b/docs/api/components_manager_QueueManager.bs.html @@ -1,6 +1,6 @@ Source: components/manager/QueueManager.bs
On this page

components_manager_QueueManager.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_manager_QueueManager.bs

import "pkg:/source/utils/misc.bs"
 import "ViewCreator.bs"
 import "pkg:/source/api/Items.bs"
 import "pkg:/source/api/baserequest.bs"
@@ -260,4 +260,4 @@
 
     return ""
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_manager_ViewCreator.bs.html b/docs/api/components_manager_ViewCreator.bs.html index 3ffa14fea..0d9ab74f8 100644 --- a/docs/api/components_manager_ViewCreator.bs.html +++ b/docs/api/components_manager_ViewCreator.bs.html @@ -1,6 +1,6 @@ Source: components/manager/ViewCreator.bs
On this page

components_manager_ViewCreator.bs

' Play Audio
+    
On this page

components_manager_ViewCreator.bs

' Play Audio
 sub CreateAudioPlayerView()
     m.view = CreateObject("roSGNode", "AudioPlayerView")
     m.view.observeField("state", "onStateChange")
@@ -188,4 +188,4 @@
     end for
     return -1
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_mediaPlayers_AudioPlayer.bs.html b/docs/api/components_mediaPlayers_AudioPlayer.bs.html index 4cc511aec..5f4d257bc 100644 --- a/docs/api/components_mediaPlayers_AudioPlayer.bs.html +++ b/docs/api/components_mediaPlayers_AudioPlayer.bs.html @@ -1,6 +1,6 @@ Source: components/mediaPlayers/AudioPlayer.bs
On this page

components_mediaPlayers_AudioPlayer.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_mediaPlayers_AudioPlayer.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
     m.playReported = false
@@ -43,4 +43,4 @@
     playstateTask.setFields({ status: state, params: params })
     playstateTask.control = "RUN"
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_movies_AudioTrackListItem.bs.html b/docs/api/components_movies_AudioTrackListItem.bs.html index b8c380eba..f93701fa4 100644 --- a/docs/api/components_movies_AudioTrackListItem.bs.html +++ b/docs/api/components_movies_AudioTrackListItem.bs.html @@ -1,6 +1,6 @@ Source: components/movies/AudioTrackListItem.bs
On this page

components_movies_AudioTrackListItem.bs

sub init()
+    
On this page

components_movies_AudioTrackListItem.bs

sub init()
     m.title = m.top.findNode("title")
     m.description = m.top.findNode("description")
     m.selectedIcon = m.top.findNode("selectedIcon")
@@ -33,4 +33,4 @@
     end if
 
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_movies_MovieDetails.bs.html b/docs/api/components_movies_MovieDetails.bs.html index 4364ffda7..51b42dd8c 100644 --- a/docs/api/components_movies_MovieDetails.bs.html +++ b/docs/api/components_movies_MovieDetails.bs.html @@ -1,6 +1,6 @@ Source: components/movies/MovieDetails.bs
On this page

components_movies_MovieDetails.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_movies_MovieDetails.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/utils/config.bs"
 
 sub init()
@@ -396,4 +396,4 @@
     end if
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_movies_MovieOptions.bs.html b/docs/api/components_movies_MovieOptions.bs.html index 67f40027c..fd49e3761 100644 --- a/docs/api/components_movies_MovieOptions.bs.html +++ b/docs/api/components_movies_MovieOptions.bs.html @@ -1,6 +1,6 @@ Source: components/movies/MovieOptions.bs
On this page

components_movies_MovieOptions.bs

sub init()
+    
On this page

components_movies_MovieOptions.bs

sub init()
 
     m.buttons = m.top.findNode("buttons")
     m.buttons.buttons = [tr("Video"), tr("Audio")]
@@ -155,4 +155,4 @@
     return false
 
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_movies_VideoTrackListItem.bs.html b/docs/api/components_movies_VideoTrackListItem.bs.html index f9d7b49b9..feb66fa13 100644 --- a/docs/api/components_movies_VideoTrackListItem.bs.html +++ b/docs/api/components_movies_VideoTrackListItem.bs.html @@ -1,6 +1,6 @@ Source: components/movies/VideoTrackListItem.bs
On this page

components_movies_VideoTrackListItem.bs

sub init()
+    
On this page

components_movies_VideoTrackListItem.bs

sub init()
     m.title = m.top.findNode("title")
     m.description = m.top.findNode("description")
     m.selectedIcon = m.top.findNode("selectedIcon")
@@ -33,4 +33,4 @@
     end if
 
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_music_AlbumGrid.bs.html b/docs/api/components_music_AlbumGrid.bs.html index 101fbae2c..1fcdb3c30 100644 --- a/docs/api/components_music_AlbumGrid.bs.html +++ b/docs/api/components_music_AlbumGrid.bs.html @@ -1,6 +1,6 @@ Source: components/music/AlbumGrid.bs
On this page

components_music_AlbumGrid.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_music_AlbumGrid.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
     getData()
@@ -69,4 +69,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_music_AlbumTrackList.bs.html b/docs/api/components_music_AlbumTrackList.bs.html index 1051cccdc..e74ad48b0 100644 --- a/docs/api/components_music_AlbumTrackList.bs.html +++ b/docs/api/components_music_AlbumTrackList.bs.html @@ -1,6 +1,6 @@ Source: components/music/AlbumTrackList.bs
On this page

components_music_AlbumTrackList.bs

sub init()
+    
On this page

components_music_AlbumTrackList.bs

sub init()
     m.top.content = getData()
     m.top.setfocus(true)
 end sub
@@ -25,4 +25,4 @@
 
     return data
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_music_AlbumView.bs.html b/docs/api/components_music_AlbumView.bs.html index bdfe4e584..a6fb2cbe2 100644 --- a/docs/api/components_music_AlbumView.bs.html +++ b/docs/api/components_music_AlbumView.bs.html @@ -1,6 +1,6 @@ Source: components/music/AlbumView.bs
On this page

components_music_AlbumView.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_music_AlbumView.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
     m.top.optionsAvailable = false
@@ -177,4 +177,4 @@
 sub OnScreenHidden()
     m.spinner.visible = false
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_music_ArtistView.bs.html b/docs/api/components_music_ArtistView.bs.html index a80aed0c4..e2caebe04 100644 --- a/docs/api/components_music_ArtistView.bs.html +++ b/docs/api/components_music_ArtistView.bs.html @@ -1,6 +1,6 @@ Source: components/music/ArtistView.bs
On this page

components_music_ArtistView.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_music_ArtistView.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
     m.top.optionsAvailable = false
@@ -333,4 +333,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_music_AudioPlayerView.bs.html b/docs/api/components_music_AudioPlayerView.bs.html index 639e81c6c..891c09bf1 100644 --- a/docs/api/components_music_AudioPlayerView.bs.html +++ b/docs/api/components_music_AudioPlayerView.bs.html @@ -1,6 +1,6 @@ Source: components/music/AudioPlayerView.bs
On this page

components_music_AudioPlayerView.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_music_AudioPlayerView.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
@@ -598,4 +598,4 @@
     WriteAsciiFile("tmp:/scene.temp", "")
     MoveFile("tmp:/scene.temp", "tmp:/scene")
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_music_LoadScreenSaverTimeoutTask.bs.html b/docs/api/components_music_LoadScreenSaverTimeoutTask.bs.html index 129ebb6a3..fffef793b 100644 --- a/docs/api/components_music_LoadScreenSaverTimeoutTask.bs.html +++ b/docs/api/components_music_LoadScreenSaverTimeoutTask.bs.html @@ -1,6 +1,6 @@ Source: components/music/LoadScreenSaverTimeoutTask.bs
On this page

components_music_LoadScreenSaverTimeoutTask.bs

sub init()
+    
On this page

components_music_LoadScreenSaverTimeoutTask.bs

sub init()
     m.top.functionName = "getScreensaverTimeout"
 end sub
 
@@ -8,4 +8,4 @@
     appinfo = CreateObject("roAppManager")
     m.top.content = appinfo.GetScreensaverTimeout() * 60
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_music_PlaylistView.bs.html b/docs/api/components_music_PlaylistView.bs.html index 7e64dc79f..d9e183cd5 100644 --- a/docs/api/components_music_PlaylistView.bs.html +++ b/docs/api/components_music_PlaylistView.bs.html @@ -1,6 +1,6 @@ Source: components/music/PlaylistView.bs
On this page

components_music_PlaylistView.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_music_PlaylistView.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
     m.top.optionsAvailable = false
@@ -168,4 +168,4 @@
 sub OnScreenHidden()
     m.spinner.visible = false
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_music_SongItem.bs.html b/docs/api/components_music_SongItem.bs.html index d5bb17b73..ba862db18 100644 --- a/docs/api/components_music_SongItem.bs.html +++ b/docs/api/components_music_SongItem.bs.html @@ -1,6 +1,6 @@ Source: components/music/SongItem.bs
On this page

components_music_SongItem.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_music_SongItem.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
     m.itemText = m.top.findNode("itemText")
@@ -31,4 +31,4 @@
     m.trackNumber.color = color
     m.tracklength.color = color
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_options_OptionNode.bs.html b/docs/api/components_options_OptionNode.bs.html index e8f205fe1..709ac2b21 100644 --- a/docs/api/components_options_OptionNode.bs.html +++ b/docs/api/components_options_OptionNode.bs.html @@ -1,5 +1,5 @@ Source: components/options/OptionNode.bs
On this page

components_options_OptionNode.bs

sub init()
+    
On this page

components_options_OptionNode.bs

sub init()
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_options_OptionsSlider.bs.html b/docs/api/components_options_OptionsSlider.bs.html index 836c1aed9..a0b46a1bc 100644 --- a/docs/api/components_options_OptionsSlider.bs.html +++ b/docs/api/components_options_OptionsSlider.bs.html @@ -1,6 +1,6 @@ Source: components/options/OptionsSlider.bs
On this page

components_options_OptionsSlider.bs

sub init()
+    
On this page

components_options_OptionsSlider.bs

sub init()
     m.top.visible = false
 
     panel = m.top.findNode("panel")
@@ -41,4 +41,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_photos_LoadPhotoTask.bs.html b/docs/api/components_photos_LoadPhotoTask.bs.html index 80e4622e2..ab591eff1 100644 --- a/docs/api/components_photos_LoadPhotoTask.bs.html +++ b/docs/api/components_photos_LoadPhotoTask.bs.html @@ -1,6 +1,6 @@ Source: components/photos/LoadPhotoTask.bs
On this page

components_photos_LoadPhotoTask.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_photos_LoadPhotoTask.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/misc.bs"
@@ -28,4 +28,4 @@
 
 
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_photos_PhotoDetails.bs.html b/docs/api/components_photos_PhotoDetails.bs.html index bf3f3c03b..d961e5564 100644 --- a/docs/api/components_photos_PhotoDetails.bs.html +++ b/docs/api/components_photos_PhotoDetails.bs.html @@ -1,6 +1,6 @@ Source: components/photos/PhotoDetails.bs
On this page

components_photos_PhotoDetails.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_photos_PhotoDetails.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/utils/config.bs"
 
 sub init()
@@ -176,4 +176,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_quickConnect_QuickConnect.bs.html b/docs/api/components_quickConnect_QuickConnect.bs.html index bc7d07b9a..568164c06 100644 --- a/docs/api/components_quickConnect_QuickConnect.bs.html +++ b/docs/api/components_quickConnect_QuickConnect.bs.html @@ -1,6 +1,6 @@ Source: components/quickConnect/QuickConnect.bs
On this page

components_quickConnect_QuickConnect.bs

import "pkg:/source/api/userauth.bs"
+    
On this page

components_quickConnect_QuickConnect.bs

import "pkg:/source/api/userauth.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 
@@ -17,4 +17,4 @@
         m.top.authenticated = -1
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_quickConnect_QuickConnectDialog.bs.html b/docs/api/components_quickConnect_QuickConnectDialog.bs.html index 6c30111e7..f8e5defaa 100644 --- a/docs/api/components_quickConnect_QuickConnectDialog.bs.html +++ b/docs/api/components_quickConnect_QuickConnectDialog.bs.html @@ -1,6 +1,6 @@ Source: components/quickConnect/QuickConnectDialog.bs
On this page

components_quickConnect_QuickConnectDialog.bs

import "pkg:/source/api/userauth.bs"
+    
On this page

components_quickConnect_QuickConnectDialog.bs

import "pkg:/source/api/userauth.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/utils/session.bs"
@@ -71,4 +71,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_search_SearchResults.bs.html b/docs/api/components_search_SearchResults.bs.html index 64d667a97..be93ea77c 100644 --- a/docs/api/components_search_SearchResults.bs.html +++ b/docs/api/components_search_SearchResults.bs.html @@ -1,6 +1,6 @@ Source: components/search/SearchResults.bs
On this page

components_search_SearchResults.bs

import "pkg:/source/api/Items.bs"
+    
On this page

components_search_SearchResults.bs

import "pkg:/source/api/Items.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/api/Image.bs"
@@ -85,4 +85,4 @@
     return false
 
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_search_SearchRow.bs.html b/docs/api/components_search_SearchRow.bs.html index 672290053..305609664 100644 --- a/docs/api/components_search_SearchRow.bs.html +++ b/docs/api/components_search_SearchRow.bs.html @@ -1,6 +1,6 @@ Source: components/search/SearchRow.bs
On this page

components_search_SearchRow.bs

import "pkg:/source/api/Items.bs"
+    
On this page

components_search_SearchRow.bs

import "pkg:/source/api/Items.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/api/Image.bs"
@@ -94,4 +94,4 @@
         end if
     end for
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_search_SearchTask.bs.html b/docs/api/components_search_SearchTask.bs.html index 6e9cd88eb..888423d2f 100644 --- a/docs/api/components_search_SearchTask.bs.html +++ b/docs/api/components_search_SearchTask.bs.html @@ -1,6 +1,6 @@ Source: components/search/SearchTask.bs
On this page

components_search_SearchTask.bs

import "pkg:/source/api/Items.bs"
+    
On this page

components_search_SearchTask.bs

import "pkg:/source/api/Items.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/api/Image.bs"
@@ -15,4 +15,4 @@
         m.top.results = searchMedia(m.top.query)
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_section_section.bs.html b/docs/api/components_section_section.bs.html index 277aebfd9..db9a2f4f9 100644 --- a/docs/api/components_section_section.bs.html +++ b/docs/api/components_section_section.bs.html @@ -1,6 +1,6 @@ Source: components/section/section.bs
On this page

components_section_section.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_section_section.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
     m.showFromBottomAnimation = m.top.findNode("showFromBottomAnimation")
@@ -97,4 +97,4 @@
         end if
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_section_sectionScroller.bs.html b/docs/api/components_section_sectionScroller.bs.html index 09ec0e049..2cb0986e7 100644 --- a/docs/api/components_section_sectionScroller.bs.html +++ b/docs/api/components_section_sectionScroller.bs.html @@ -1,6 +1,6 @@ Source: components/section/sectionScroller.bs
On this page

components_section_sectionScroller.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_section_sectionScroller.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
     m.previouslyDisplayedSection = 0
@@ -60,4 +60,4 @@
 
     m.previouslyDisplayedSection = m.top.displayedIndex
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_settings_settings.bs.html b/docs/api/components_settings_settings.bs.html index ea61f44d3..93c01ea20 100644 --- a/docs/api/components_settings_settings.bs.html +++ b/docs/api/components_settings_settings.bs.html @@ -1,6 +1,6 @@ Source: components/settings/settings.bs
On this page

components_settings_settings.bs

import "pkg:/source/utils/config.bs"
+    
On this page

components_settings_settings.bs

import "pkg:/source/utils/config.bs"
 import "pkg:/source/utils/misc.bs"
 import "pkg:/source/roku_modules/log/LogMixin.brs"
 ' post device profile
@@ -254,4 +254,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_tasks_PostTask.bs.html b/docs/api/components_tasks_PostTask.bs.html index ad3e97f3a..c08339c2a 100644 --- a/docs/api/components_tasks_PostTask.bs.html +++ b/docs/api/components_tasks_PostTask.bs.html @@ -1,6 +1,6 @@ Source: components/tasks/PostTask.bs
On this page

components_tasks_PostTask.bs

import "pkg:/source/api/baserequest.bs"
+    
On this page

components_tasks_PostTask.bs

import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/misc.bs"
 
 sub init()
@@ -79,4 +79,4 @@
     m.top.responseHeaders = {}
     m.top.failureReason = ""
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_tvshows_TVEpisodeRow.bs.html b/docs/api/components_tvshows_TVEpisodeRow.bs.html index 5dedc9773..e67a0fe2a 100644 --- a/docs/api/components_tvshows_TVEpisodeRow.bs.html +++ b/docs/api/components_tvshows_TVEpisodeRow.bs.html @@ -1,6 +1,6 @@ Source: components/tvshows/TVEpisodeRow.bs
On this page

components_tvshows_TVEpisodeRow.bs

sub init()
+    
On this page

components_tvshows_TVEpisodeRow.bs

sub init()
     m.top.itemComponentName = "TVListDetails"
     m.top.content = setData()
 
@@ -62,4 +62,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_tvshows_TVEpisodeRowWithOptions.bs.html b/docs/api/components_tvshows_TVEpisodeRowWithOptions.bs.html index d4c4b00bb..4e1b374de 100644 --- a/docs/api/components_tvshows_TVEpisodeRowWithOptions.bs.html +++ b/docs/api/components_tvshows_TVEpisodeRowWithOptions.bs.html @@ -1,6 +1,6 @@ Source: components/tvshows/TVEpisodeRowWithOptions.bs
On this page

components_tvshows_TVEpisodeRowWithOptions.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_tvshows_TVEpisodeRowWithOptions.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
     m.rows = m.top.findNode("tvEpisodeRow")
@@ -123,4 +123,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_tvshows_TVEpisodes.bs.html b/docs/api/components_tvshows_TVEpisodes.bs.html index 76675d79e..a75d3ef92 100644 --- a/docs/api/components_tvshows_TVEpisodes.bs.html +++ b/docs/api/components_tvshows_TVEpisodes.bs.html @@ -1,6 +1,6 @@ Source: components/tvshows/TVEpisodes.bs
On this page

components_tvshows_TVEpisodes.bs

import "pkg:/source/api/Image.bs"
+    
On this page

components_tvshows_TVEpisodes.bs

import "pkg:/source/api/Image.bs"
 import "pkg:/source/api/baserequest.bs"
 import "pkg:/source/utils/config.bs"
 import "pkg:/source/utils/misc.bs"
@@ -118,4 +118,4 @@
     end if
     return handled
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_tvshows_TVListDetails.bs.html b/docs/api/components_tvshows_TVListDetails.bs.html index bb5fc01b3..477356e34 100644 --- a/docs/api/components_tvshows_TVListDetails.bs.html +++ b/docs/api/components_tvshows_TVListDetails.bs.html @@ -1,6 +1,6 @@ Source: components/tvshows/TVListDetails.bs
On this page

components_tvshows_TVListDetails.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_tvshows_TVListDetails.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/utils/config.bs"
 
 sub init()
@@ -191,4 +191,4 @@
         end if
     end if
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_tvshows_TVListOptions.bs.html b/docs/api/components_tvshows_TVListOptions.bs.html index bc2e6e47a..ffd356763 100644 --- a/docs/api/components_tvshows_TVListOptions.bs.html +++ b/docs/api/components_tvshows_TVListOptions.bs.html @@ -1,6 +1,6 @@ Source: components/tvshows/TVListOptions.bs
On this page

components_tvshows_TVListOptions.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_tvshows_TVListOptions.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
 
@@ -154,4 +154,4 @@
     return false
 
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_tvshows_TVSeasonRow.bs.html b/docs/api/components_tvshows_TVSeasonRow.bs.html index de37364cf..c4a6aa6a8 100644 --- a/docs/api/components_tvshows_TVSeasonRow.bs.html +++ b/docs/api/components_tvshows_TVSeasonRow.bs.html @@ -1,6 +1,6 @@ Source: components/tvshows/TVSeasonRow.bs
On this page

components_tvshows_TVSeasonRow.bs

sub init()
+    
On this page

components_tvshows_TVSeasonRow.bs

sub init()
     m.top.itemComponentName = "ListPoster"
     m.top.content = getData()
 
@@ -48,4 +48,4 @@
     m.top.content = data
     return data
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_tvshows_TVShowDescription.bs.html b/docs/api/components_tvshows_TVShowDescription.bs.html index 16e21a81a..e2854507a 100644 --- a/docs/api/components_tvshows_TVShowDescription.bs.html +++ b/docs/api/components_tvshows_TVShowDescription.bs.html @@ -1,6 +1,6 @@ Source: components/tvshows/TVShowDescription.bs
On this page

components_tvshows_TVShowDescription.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_tvshows_TVShowDescription.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
     buttons = m.top.findNode("buttons")
@@ -132,4 +132,4 @@
     end if
 end function
 
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_tvshows_TVShowDetails.bs.html b/docs/api/components_tvshows_TVShowDetails.bs.html index c051fcaaa..217daac9c 100644 --- a/docs/api/components_tvshows_TVShowDetails.bs.html +++ b/docs/api/components_tvshows_TVShowDetails.bs.html @@ -1,6 +1,6 @@ Source: components/tvshows/TVShowDetails.bs
On this page

components_tvshows_TVShowDetails.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_tvshows_TVShowDetails.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/utils/config.bs"
 
 sub init()
@@ -244,4 +244,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_video_PauseMenu.bs.html b/docs/api/components_video_OSD.bs.html similarity index 62% rename from docs/api/components_video_PauseMenu.bs.html rename to docs/api/components_video_OSD.bs.html index b45b308a6..e6220725e 100644 --- a/docs/api/components_video_PauseMenu.bs.html +++ b/docs/api/components_video_OSD.bs.html @@ -1,6 +1,6 @@ -Source: components/video/PauseMenu.bs
On this page

components_video_PauseMenu.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_video_OSD.bs

import "pkg:/source/utils/misc.bs"
 
 sub init()
     m.videoControls = m.top.findNode("videoControls")
@@ -81,7 +81,7 @@
     m.optionControls.buttonFocused = m.optionControls.getChildCount() - 1
 end sub
 
-' onVisibleChanged: Handler for changes to the visibility of this pause menu.
+' onVisibleChanged: Handler for changes to the visibility of this menu.
 '
 sub onVisibleChanged()
     if m.top.visible
@@ -95,7 +95,7 @@
     m.inactivityTimer.control = "stop"
 end sub
 
-' onFocusChanged: Handler for changes to the focus of this pause menu.
+' onFocusChanged: Handler for changes to the focus of this menu.
 '
 sub onFocusChanged()
     if m.top.hasfocus
@@ -109,7 +109,7 @@
     end if
 end sub
 
-' inactiveCheck: Checks if the time since last keypress is greater than or equal to the allowed inactive time of the pause menu.
+' inactiveCheck: Checks if the time since last keypress is greater than or equal to the allowed inactive time of the menu.
 '
 sub inactiveCheck()
     if m.deviceInfo.timeSinceLastKeypress() >= m.top.inactiveTimeout
@@ -117,7 +117,7 @@
     end if
 end sub
 
-' onButtonSelected: Handler for selection of buttons from the pause menu.
+' onButtonSelected: Handler for selection of buttons from the menu.
 '
 sub onButtonSelected()
     if m.optionControls.isInFocusChain()
@@ -240,4 +240,4 @@
     m.top.action = "hide"
     return true
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/components_video_VideoPlayerView.bs.html b/docs/api/components_video_VideoPlayerView.bs.html index 99335bea1..a99318286 100644 --- a/docs/api/components_video_VideoPlayerView.bs.html +++ b/docs/api/components_video_VideoPlayerView.bs.html @@ -1,6 +1,6 @@ Source: components/video/VideoPlayerView.bs
On this page

components_video_VideoPlayerView.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

components_video_VideoPlayerView.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/utils/config.bs"
 
 sub init()
@@ -26,8 +26,8 @@
     m.chapterList = m.top.findNode("chapterList")
     m.chapterMenu = m.top.findNode("chapterMenu")
     m.chapterContent = m.top.findNode("chapterContent")
-    m.pauseMenu = m.top.findNode("pauseMenu")
-    m.pauseMenu.observeField("action", "onPauseMenuAction")
+    m.osd = m.top.findNode("osd")
+    m.osd.observeField("action", "onOSDAction")
 
     m.playbackTimer = m.top.findNode("playbackTimer")
     m.bufferCheckTimer = m.top.findNode("bufferCheckTimer")
@@ -93,17 +93,17 @@
     end if
 end sub
 
-' handleHideAction: Handles action to hide pause menu
+' handleHideAction: Handles action to hide OSD menu
 '
 ' @param {boolean} resume - controls whether or not to resume video playback when sub is called
 '
 sub handleHideAction(resume as boolean)
-    m.pauseMenu.visible = false
+    m.osd.visible = false
     m.chapterList.visible = false
-    m.pauseMenu.showChapterList = false
+    m.osd.showChapterList = false
     m.chapterList.setFocus(false)
-    m.pauseMenu.hasFocus = false
-    m.pauseMenu.setFocus(false)
+    m.osd.hasFocus = false
+    m.osd.setFocus(false)
     m.top.setFocus(true)
     if resume
         m.top.control = "resume"
@@ -113,14 +113,14 @@
 ' handleChapterListAction: Handles action to show chapter list
 '
 sub handleChapterListAction()
-    m.chapterList.visible = m.pauseMenu.showChapterList
+    m.chapterList.visible = m.osd.showChapterList
 
     if not m.chapterList.visible then return
 
     m.chapterMenu.jumpToItem = getCurrentChapterIndex()
 
-    m.pauseMenu.hasFocus = false
-    m.pauseMenu.setFocus(false)
+    m.osd.hasFocus = false
+    m.osd.setFocus(false)
     m.chapterMenu.setFocus(true)
 end sub
 
@@ -173,10 +173,10 @@
     handleHideAction(false)
 end sub
 
-' onPauseMenuAction: Process action events from pause menu to their respective handlers
+' onOSDAction: Process action events from OSD to their respective handlers
 '
-sub onPauseMenuAction()
-    action = LCase(m.pauseMenu.action)
+sub onOSDAction()
+    action = LCase(m.osd.action)
 
     if action = "hide"
         handleHideAction(false)
@@ -322,7 +322,7 @@
     m.top.transcodeParams = videoContent[0].transcodeparams
     m.chapters = videoContent[0].chapters
 
-    m.pauseMenu.itemTitleText = m.top.content.title
+    m.osd.itemTitleText = m.top.content.title
 
     populateChapterMenu()
 
@@ -382,7 +382,7 @@
 '
 ' Runs Next Episode button animation and sets focus to button
 sub showNextEpisodeButton()
-    if m.pauseMenu.visible then return
+    if m.osd.visible then 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?
 
@@ -440,10 +440,10 @@
 ' When Video Player state changes
 sub onPositionChanged()
 
-    ' Pass video position data into pause menu
-    m.pauseMenu.progressPercentage = m.top.position / m.top.duration
-    m.pauseMenu.positionTime = m.top.position
-    m.pauseMenu.remainingPositionTime = m.top.duration - m.top.position
+    ' Pass video position data into OSD
+    m.osd.progressPercentage = m.top.position / m.top.duration
+    m.osd.positionTime = m.top.position
+    m.osd.remainingPositionTime = m.top.duration - m.top.position
 
     if isValid(m.captionTask)
         m.captionTask.currentPos = Int(m.top.position * 1000)
@@ -466,8 +466,8 @@
         m.captionTask.playerState = m.top.state + m.top.globalCaptionMode
     end if
 
-    ' Pass video state into pause menu
-    m.pauseMenu.playbackState = m.top.state
+    ' Pass video state into OSD
+    m.osd.playbackState = m.top.state
 
     ' When buffering, start timer to monitor buffering process
     if m.top.state = "buffering" and m.bufferCheckTimer <> invalid
@@ -570,10 +570,10 @@
 
 end sub
 
-' stateAllowsPauseMenu: Check if current video state allows showing the pause menu
+' stateAllowsOSD: Check if current video state allows showing the OSD
 '
-' @return {boolean} indicating if video state allows the pause menu to show
-function stateAllowsPauseMenu() as boolean
+' @return {boolean} indicating if video state allows the OSD to show
+function stateAllowsOSD() as boolean
     validStates = ["playing", "paused", "stopped"]
     return inArray(validStates, m.top.state)
 end function
@@ -598,10 +598,10 @@
 
         if key = "back" or key = "replay"
             m.chapterList.visible = false
-            m.pauseMenu.showChapterList = false
+            m.osd.showChapterList = false
             m.chapterMenu.setFocus(false)
-            m.pauseMenu.hasFocus = true
-            m.pauseMenu.setFocus(true)
+            m.osd.hasFocus = true
+            m.osd.setFocus(true)
             return true
         end if
 
@@ -631,58 +631,58 @@
     if key = "down" and not m.top.trickPlayBar.visible
         if not m.LoadMetaDataTask.isIntro
             ' Don't allow user to open menu prior to video loading
-            if not stateAllowsPauseMenu() then return true
+            if not stateAllowsOSD() then return true
 
-            m.pauseMenu.visible = true
-            m.pauseMenu.hasFocus = true
-            m.pauseMenu.setFocus(true)
+            m.osd.visible = true
+            m.osd.hasFocus = true
+            m.osd.setFocus(true)
             return true
         end if
 
     else if key = "up" and not m.top.trickPlayBar.visible
         if not m.LoadMetaDataTask.isIntro
             ' Don't allow user to open menu prior to video loading
-            if not stateAllowsPauseMenu() then return true
+            if not stateAllowsOSD() then return true
 
-            m.pauseMenu.visible = true
-            m.pauseMenu.hasFocus = true
-            m.pauseMenu.setFocus(true)
+            m.osd.visible = true
+            m.osd.hasFocus = true
+            m.osd.setFocus(true)
             return true
         end if
 
     else if key = "OK" and not m.top.trickPlayBar.visible
         if not m.LoadMetaDataTask.isIntro
             ' Don't allow user to open menu prior to video loading
-            if not stateAllowsPauseMenu() then return true
+            if not stateAllowsOSD() then return true
 
-            ' Show pause menu, but don't pause video
-            m.pauseMenu.visible = true
-            m.pauseMenu.hasFocus = true
-            m.pauseMenu.setFocus(true)
+            ' Show OSD, but don't pause video
+            m.osd.visible = true
+            m.osd.hasFocus = true
+            m.osd.setFocus(true)
             return true
         end if
 
         return false
     end if
 
-    ' Disable pause menu for intro videos
+    ' Disable OSD for intro videos
     if not m.LoadMetaDataTask.isIntro
         if key = "play" and not m.top.trickPlayBar.visible
 
             ' Don't allow user to open menu prior to video loading
-            if not stateAllowsPauseMenu() then return true
+            if not stateAllowsOSD() then return true
 
-            ' If video is paused, resume it and don't show pause menu
+            ' If video is paused, resume it and don't show OSD
             if m.top.state = "paused"
                 m.top.control = "resume"
                 return true
             end if
 
-            ' Pause video and show pause menu
+            ' Pause video and show OSD
             m.top.control = "pause"
-            m.pauseMenu.visible = true
-            m.pauseMenu.hasFocus = true
-            m.pauseMenu.setFocus(true)
+            m.osd.visible = true
+            m.osd.hasFocus = true
+            m.osd.setFocus(true)
             return true
         end if
     end if
@@ -693,4 +693,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/data/search.json b/docs/api/data/search.json index 63a08bf28..6de4a40e5 100644 --- a/docs/api/data/search.json +++ b/docs/api/data/search.json @@ -1 +1 @@ -{"list":[{"title":"module:AlbumData","link":"AlbumData"},{"title":"module:AlbumData.setFields","link":"setFields"},{"title":"module:AlbumGrid","link":"AlbumGrid"},{"title":"module:AlbumGrid.getData","link":"getData"},{"title":"module:AlbumGrid.init","link":"init"},{"title":"module:AlbumGrid.onKeyEvent","link":"onKeyEvent"},{"title":"module:AlbumTrackList","link":"AlbumTrackList"},{"title":"module:AlbumTrackList.getData","link":"getData"},{"title":"module:AlbumTrackList.init","link":"init"},{"title":"module:AlbumView","link":"AlbumView"},{"title":"module:AlbumView.OnScreenHidden","link":"OnScreenHidden"},{"title":"module:AlbumView.adjustScreenForNoOverview","link":"adjustScreenForNoOverview","description":"

Adjust scene by removing overview node and showing more songs

"},{"title":"module:AlbumView.createDialogPallete","link":"createDialogPallete"},{"title":"module:AlbumView.createFullDscrDlg","link":"createFullDscrDlg"},{"title":"module:AlbumView.init","link":"init"},{"title":"module:AlbumView.onDoneLoading","link":"onDoneLoading"},{"title":"module:AlbumView.onKeyEvent","link":"onKeyEvent"},{"title":"module:AlbumView.pageContentChanged","link":"pageContentChanged","description":"

Set values for displayed values on screen

"},{"title":"module:AlbumView.setOnScreenTextValues","link":"setOnScreenTextValues","description":"

Populate on screen text variables

"},{"title":"module:AlbumView.setPosterImage","link":"setPosterImage","description":"

Set poster image on screen

"},{"title":"module:AlbumView.setScreenTitle","link":"setScreenTitle","description":"

Set screen's title text

"},{"title":"module:AlbumView.setupMainNode","link":"setupMainNode"},{"title":"module:Alpha","link":"Alpha"},{"title":"module:Alpha.init","link":"init"},{"title":"module:Alpha.onKeyEvent","link":"onKeyEvent"},{"title":"module:ArtistView","link":"ArtistView"},{"title":"module:ArtistView.OnScreenHidden","link":"OnScreenHidden"},{"title":"module:ArtistView.OnScreenShown","link":"OnScreenShown"},{"title":"module:ArtistView.artistOverviewChanged","link":"artistOverviewChanged","description":"

Event fired when page data is loaded

"},{"title":"module:ArtistView.createDialogPallete","link":"createDialogPallete"},{"title":"module:ArtistView.createFullDscrDlg","link":"createFullDscrDlg"},{"title":"module:ArtistView.dscrShowFocus","link":"dscrShowFocus"},{"title":"module:ArtistView.init","link":"init"},{"title":"module:ArtistView.onAlbumsData","link":"onAlbumsData"},{"title":"module:ArtistView.onAlbumsEscape","link":"onAlbumsEscape"},{"title":"module:ArtistView.onAppearsOnData","link":"onAppearsOnData"},{"title":"module:ArtistView.onAppearsOnEscape","link":"onAppearsOnEscape"},{"title":"module:ArtistView.onBackdropImageLoaded","link":"onBackdropImageLoaded"},{"title":"module:ArtistView.onButtonSelectedChange","link":"onButtonSelectedChange","description":"

Event handler when user selected a different playback button

"},{"title":"module:ArtistView.onEllipsisChanged","link":"onEllipsisChanged"},{"title":"module:ArtistView.onKeyEvent","link":"onKeyEvent"},{"title":"module:ArtistView.onSectionNavigationEscape","link":"onSectionNavigationEscape"},{"title":"module:ArtistView.onSectionNavigationSelected","link":"onSectionNavigationSelected"},{"title":"module:ArtistView.onSectionScrollerChange","link":"onSectionScrollerChange"},{"title":"module:ArtistView.pageContentChanged","link":"pageContentChanged","description":"

Event fired when page data is loaded

"},{"title":"module:ArtistView.setBackdropImage","link":"setBackdropImage","description":"

Add backdrop image to screen

"},{"title":"module:ArtistView.setPosterImage","link":"setPosterImage"},{"title":"module:ArtistView.setScreenTitle","link":"setScreenTitle"},{"title":"module:ArtistView.setupButtons","link":"setupButtons","description":"

Setup playback buttons, default to Play button selected

"},{"title":"module:ArtistView.setupMainNode","link":"setupMainNode"},{"title":"module:AudioPlayer","link":"AudioPlayer"},{"title":"module:AudioPlayer.ReportPlayback","link":"ReportPlayback","description":"

Report playback to server

"},{"title":"module:AudioPlayer.audioStateChanged","link":"audioStateChanged","description":"

State Change Event Handler

"},{"title":"module:AudioPlayer.init","link":"init"},{"title":"module:AudioPlayerView","link":"AudioPlayerView"},{"title":"module:AudioPlayerView.LoadNextSong","link":"LoadNextSong"},{"title":"module:AudioPlayerView.OnScreenHidden","link":"OnScreenHidden"},{"title":"module:AudioPlayerView.audioPositionChanged","link":"audioPositionChanged"},{"title":"module:AudioPlayerView.audioStateChanged","link":"audioStateChanged"},{"title":"module:AudioPlayerView.bufferPositionChanged","link":"bufferPositionChanged"},{"title":"module:AudioPlayerView.endScreenSaver","link":"endScreenSaver"},{"title":"module:AudioPlayerView.findCurrentSongIndex","link":"findCurrentSongIndex"},{"title":"module:AudioPlayerView.init","link":"init"},{"title":"module:AudioPlayerView.loadButtons","link":"loadButtons","description":"

If we have more and 1 song to play, fade in the next and previous controls

"},{"title":"module:AudioPlayerView.loopClicked","link":"loopClicked"},{"title":"module:AudioPlayerView.nextClicked","link":"nextClicked"},{"title":"module:AudioPlayerView.onAudioStreamLoaded","link":"onAudioStreamLoaded"},{"title":"module:AudioPlayerView.onBackdropImageLoaded","link":"onBackdropImageLoaded"},{"title":"module:AudioPlayerView.onButtonSelectedChange","link":"onButtonSelectedChange","description":"

Event handler when user selected a different playback button

"},{"title":"module:AudioPlayerView.onKeyEvent","link":"onKeyEvent","description":"

Process key press events

"},{"title":"module:AudioPlayerView.onMetaDataLoaded","link":"onMetaDataLoaded"},{"title":"module:AudioPlayerView.onScreensaverTimeoutLoaded","link":"onScreensaverTimeoutLoaded"},{"title":"module:AudioPlayerView.pageContentChanged","link":"pageContentChanged","description":"

Update values on screen when page content changes

"},{"title":"module:AudioPlayerView.playAction","link":"playAction"},{"title":"module:AudioPlayerView.previousClicked","link":"previousClicked"},{"title":"module:AudioPlayerView.resetLoopModeToDefault","link":"resetLoopModeToDefault"},{"title":"module:AudioPlayerView.screenSaverActive","link":"screenSaverActive"},{"title":"module:AudioPlayerView.setBackdropImage","link":"setBackdropImage","description":"

Add backdrop image to screen

"},{"title":"module:AudioPlayerView.setLoopButtonImage","link":"setLoopButtonImage"},{"title":"module:AudioPlayerView.setOnScreenTextValues","link":"setOnScreenTextValues","description":"

Populate on screen text variables

"},{"title":"module:AudioPlayerView.setPosterImage","link":"setPosterImage","description":"

Set poster image on screen

"},{"title":"module:AudioPlayerView.setScreenTitle","link":"setScreenTitle","description":"

Set screen's title text

"},{"title":"module:AudioPlayerView.setShuffleIconState","link":"setShuffleIconState"},{"title":"module:AudioPlayerView.setTrackNumberDisplay","link":"setTrackNumberDisplay"},{"title":"module:AudioPlayerView.setupAnimationTasks","link":"setupAnimationTasks"},{"title":"module:AudioPlayerView.setupAudioNode","link":"setupAudioNode","description":"

Creates audio node used to play song(s)

"},{"title":"module:AudioPlayerView.setupButtons","link":"setupButtons","description":"

Setup playback buttons, default to Play button selected

"},{"title":"module:AudioPlayerView.setupDataTasks","link":"setupDataTasks","description":"

Creates tasks to gather data needed to render Scene and play song

"},{"title":"module:AudioPlayerView.setupInfoNodes","link":"setupInfoNodes"},{"title":"module:AudioPlayerView.setupScreenSaver","link":"setupScreenSaver"},{"title":"module:AudioPlayerView.shuffleClicked","link":"shuffleClicked"},{"title":"module:AudioPlayerView.startScreenSaver","link":"startScreenSaver"},{"title":"module:AudioPlayerView.toggleShuffleEnabled","link":"toggleShuffleEnabled"},{"title":"module:AudioTrackListItem","link":"AudioTrackListItem"},{"title":"module:AudioTrackListItem.focusChanged","link":"focusChanged","description":"

Scroll description if focused

"},{"title":"module:AudioTrackListItem.init","link":"init"},{"title":"module:AudioTrackListItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:ButtonGroupHoriz","link":"ButtonGroupHoriz"},{"title":"module:ButtonGroupHoriz.init","link":"init"},{"title":"module:ButtonGroupHoriz.onKeyEvent","link":"onKeyEvent"},{"title":"module:ButtonGroupVert","link":"ButtonGroupVert"},{"title":"module:ButtonGroupVert.init","link":"init"},{"title":"module:ButtonGroupVert.onFocusButtonChanged","link":"onFocusButtonChanged"},{"title":"module:ButtonGroupVert.onFocusChanged","link":"onFocusChanged"},{"title":"module:ButtonGroupVert.onKeyEvent","link":"onKeyEvent"},{"title":"module:ChannelData","link":"ChannelData"},{"title":"module:ChannelData.setFields","link":"setFields"},{"title":"module:ChannelData.setPoster","link":"setPoster"},{"title":"module:Clock","link":"Clock"},{"title":"module:Clock.init","link":"init"},{"title":"module:Clock.onCurrentTimeTimerFire","link":"onCurrentTimeTimerFire","description":"

onCurrentTimeTimerFire: Code that runs every time the currentTimeTimer fires

"},{"title":"module:CollectionData","link":"CollectionData"},{"title":"module:CollectionData.setFields","link":"setFields"},{"title":"module:CollectionData.setPoster","link":"setPoster"},{"title":"module:ConfigData","link":"ConfigData"},{"title":"module:ConfigData.init","link":"init"},{"title":"module:ConfigItem","link":"ConfigItem"},{"title":"module:ConfigItem.init","link":"init"},{"title":"module:ConfigItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:ConfigItem.setColors","link":"setColors"},{"title":"module:ConfigList","link":"ConfigList"},{"title":"module:ConfigList.configListShowDialog","link":"configListShowDialog"},{"title":"module:ConfigList.dismiss_dialog","link":"dismiss_dialog"},{"title":"module:ConfigList.init","link":"init"},{"title":"module:ConfigList.onDialogButton","link":"onDialogButton"},{"title":"module:ConfigList.onItemSelected","link":"onItemSelected"},{"title":"module:ConfigList.setData","link":"setData"},{"title":"module:ExtrasItem","link":"ExtrasItem"},{"title":"module:ExtrasItem.focusChanged","link":"focusChanged"},{"title":"module:ExtrasItem.init","link":"init"},{"title":"module:ExtrasItem.showContent","link":"showContent"},{"title":"module:ExtrasRowList","link":"ExtrasRowList"},{"title":"module:ExtrasRowList.addRowSize","link":"addRowSize"},{"title":"module:ExtrasRowList.buildRow","link":"buildRow"},{"title":"module:ExtrasRowList.init","link":"init"},{"title":"module:ExtrasRowList.loadParts","link":"loadParts"},{"title":"module:ExtrasRowList.loadPersonVideos","link":"loadPersonVideos"},{"title":"module:ExtrasRowList.onAdditionalPartsLoaded","link":"onAdditionalPartsLoaded"},{"title":"module:ExtrasRowList.onLikeThisLoaded","link":"onLikeThisLoaded"},{"title":"module:ExtrasRowList.onMoviesLoaded","link":"onMoviesLoaded"},{"title":"module:ExtrasRowList.onPeopleLoaded","link":"onPeopleLoaded"},{"title":"module:ExtrasRowList.onRowItemFocused","link":"onRowItemFocused"},{"title":"module:ExtrasRowList.onRowItemSelected","link":"onRowItemSelected"},{"title":"module:ExtrasRowList.onSeriesLoaded","link":"onSeriesLoaded"},{"title":"module:ExtrasRowList.onShowsLoaded","link":"onShowsLoaded"},{"title":"module:ExtrasRowList.onSpecialFeaturesLoaded","link":"onSpecialFeaturesLoaded"},{"title":"module:ExtrasRowList.updateSize","link":"updateSize"},{"title":"module:FavoriteItemsTask","link":"FavoriteItemsTask"},{"title":"module:FavoriteItemsTask.init","link":"init"},{"title":"module:FavoriteItemsTask.setFavoriteStatus","link":"setFavoriteStatus"},{"title":"module:FolderData","link":"FolderData"},{"title":"module:FolderData.setFields","link":"setFields"},{"title":"module:FolderData.setPoster","link":"setPoster"},{"title":"module:GetFiltersTask","link":"GetFiltersTask"},{"title":"module:GetFiltersTask.getFiltersTask","link":"getFiltersTask"},{"title":"module:GetFiltersTask.init","link":"init"},{"title":"module:GetNextEpisodeTask","link":"GetNextEpisodeTask"},{"title":"module:GetNextEpisodeTask.getNextEpisodeTask","link":"getNextEpisodeTask"},{"title":"module:GetNextEpisodeTask.init","link":"init"},{"title":"module:GetPlaybackInfoTask","link":"GetPlaybackInfoTask"},{"title":"module:GetPlaybackInfoTask.GetTranscodingStats","link":"GetTranscodingStats"},{"title":"module:GetPlaybackInfoTask.ItemPostPlaybackInfo","link":"ItemPostPlaybackInfo"},{"title":"module:GetPlaybackInfoTask.getDisplayBitrate","link":"getDisplayBitrate"},{"title":"module:GetPlaybackInfoTask.getPlaybackInfoTask","link":"getPlaybackInfoTask","description":"

Returns an array of playback info to be displayed during playback.\nIn the future, with a custom playback info view, we can return an associated array.

"},{"title":"module:GetPlaybackInfoTask.havePlaybackInfo","link":"havePlaybackInfo"},{"title":"module:GetPlaybackInfoTask.init","link":"init"},{"title":"module:GetShuffleEpisodesTask","link":"GetShuffleEpisodesTask"},{"title":"module:GetShuffleEpisodesTask.getShuffleEpisodesTask","link":"getShuffleEpisodesTask"},{"title":"module:GetShuffleEpisodesTask.init","link":"init"},{"title":"module:GridItem","link":"GridItem"},{"title":"module:GridItem.focusChanged","link":"focusChanged","description":"

Display or hide title Visibility on focus change

"},{"title":"module:GridItem.focusChanging","link":"focusChanging","description":"

Use FocusPercent to animate scaling of Poser Image

"},{"title":"module:GridItem.init","link":"init"},{"title":"module:GridItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:GridItem.onPosterLoadStatusChanged","link":"onPosterLoadStatusChanged","description":"

Hide backdrop and text when poster loaded

"},{"title":"module:GridItemSmall","link":"GridItemSmall"},{"title":"module:GridItemSmall.focusChanged","link":"focusChanged"},{"title":"module:GridItemSmall.init","link":"init"},{"title":"module:GridItemSmall.itemContentChanged","link":"itemContentChanged"},{"title":"module:GridItemSmall.onPosterLoadStatusChanged","link":"onPosterLoadStatusChanged","description":"

Hide backdrop and text when poster loaded

"},{"title":"module:Home","link":"Home"},{"title":"module:Home.OnScreenShown","link":"OnScreenShown","description":"

JFScreen hook that gets ran as needed.\nUsed to update the focus, the state of the data, and tells the server about the device profile

"},{"title":"module:Home.init","link":"init"},{"title":"module:Home.loadLibraries","link":"loadLibraries"},{"title":"module:Home.postFinished","link":"postFinished","description":"

Triggered by m.postTask after completing a post.\nEmpty the task data when finished.

"},{"title":"module:Home.refresh","link":"refresh"},{"title":"module:HomeData","link":"HomeData"},{"title":"module:HomeData.setData","link":"setData"},{"title":"module:HomeItem","link":"HomeItem"},{"title":"module:HomeItem.drawProgressBar","link":"drawProgressBar","description":"

Draws and animates item progress bar

"},{"title":"module:HomeItem.focusChanged","link":"focusChanged","description":"

Enable title scrolling based on item Focus

"},{"title":"module:HomeItem.init","link":"init"},{"title":"module:HomeItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:HomeItem.onPosterLoadStatusChanged","link":"onPosterLoadStatusChanged","description":"

Hide backdrop and icon when poster loaded

"},{"title":"module:HomeRows","link":"HomeRows"},{"title":"module:HomeRows.addHomeSection","link":"addHomeSection","description":"

Adds a new home section to the home rows.\nReturns a boolean indicating whether the section was handled.

"},{"title":"module:HomeRows.createContinueWatchingRow","link":"createContinueWatchingRow","description":"

Create a row displaying items the user can continue watching

"},{"title":"module:HomeRows.createFavoritesRow","link":"createFavoritesRow","description":"

Create a row displaying items from the user's favorites list

"},{"title":"module:HomeRows.createLatestInRows","link":"createLatestInRows","description":"

Create a row displaying latest items in each of the user's libraries

"},{"title":"module:HomeRows.createLibraryRow","link":"createLibraryRow","description":"

Create a row displaying the user's libraries

"},{"title":"module:HomeRows.createLiveTVRow","link":"createLiveTVRow","description":"

Create a row displaying the live tv now on section

"},{"title":"module:HomeRows.createNextUpRow","link":"createNextUpRow","description":"

Create a row displaying next episodes up to watch

"},{"title":"module:HomeRows.filterNodeArray","link":"filterNodeArray"},{"title":"module:HomeRows.init","link":"init"},{"title":"module:HomeRows.itemSelected","link":"itemSelected"},{"title":"module:HomeRows.loadLibraries","link":"loadLibraries"},{"title":"module:HomeRows.onKeyEvent","link":"onKeyEvent"},{"title":"module:HomeRows.onLibrariesLoaded","link":"onLibrariesLoaded"},{"title":"module:HomeRows.removeHomeSection","link":"removeHomeSection","description":"

Removes a home section from the home rows

"},{"title":"module:HomeRows.updateContinueWatchingItems","link":"updateContinueWatchingItems"},{"title":"module:HomeRows.updateFavoritesItems","link":"updateFavoritesItems"},{"title":"module:HomeRows.updateHomeRows","link":"updateHomeRows","description":"

Update home row data

"},{"title":"module:HomeRows.updateLatestInRows","link":"updateLatestInRows","description":"

Iterate over user's libraries and update data for each Latest In section

"},{"title":"module:HomeRows.updateLatestItems","link":"updateLatestItems"},{"title":"module:HomeRows.updateNextUpItems","link":"updateNextUpItems"},{"title":"module:HomeRows.updateOnNowItems","link":"updateOnNowItems"},{"title":"module:HomeRows.updateSize","link":"updateSize"},{"title":"module:HomeRows.updateSizeArray","link":"updateSizeArray"},{"title":"module:IconButton","link":"IconButton"},{"title":"module:IconButton.init","link":"init"},{"title":"module:IconButton.onBackgroundChanged","link":"onBackgroundChanged"},{"title":"module:IconButton.onFocusChanged","link":"onFocusChanged"},{"title":"module:IconButton.onHeightChanged","link":"onHeightChanged"},{"title":"module:IconButton.onIconChanged","link":"onIconChanged"},{"title":"module:IconButton.onKeyEvent","link":"onKeyEvent"},{"title":"module:IconButton.onPaddingChanged","link":"onPaddingChanged"},{"title":"module:IconButton.onTextChanged","link":"onTextChanged"},{"title":"module:IconButton.onWidthChanged","link":"onWidthChanged"},{"title":"module:IconButton.setIconSize","link":"setIconSize"},{"title":"module:Image","link":"Image"},{"title":"module:Image.ImageURL","link":"ImageURL"},{"title":"module:Image.ItemImages","link":"ItemImages"},{"title":"module:Image.PosterImage","link":"PosterImage"},{"title":"module:Image.UserImageURL","link":"UserImageURL"},{"title":"module:ImageData","link":"ImageData"},{"title":"module:ImageData.setFields","link":"setFields"},{"title":"module:IntegerKeyboard","link":"IntegerKeyboard"},{"title":"module:IntegerKeyboard.init","link":"init"},{"title":"module:IntegerKeyboard.keySelected","link":"keySelected"},{"title":"module:IntegerKeyboard.onKeyEvent","link":"onKeyEvent"},{"title":"module:ItemGrid","link":"ItemGrid"},{"title":"module:ItemGrid.ItemDataLoaded","link":"ItemDataLoaded","description":"

Handle loaded data, and add to Grid

"},{"title":"module:ItemGrid.SetBackground","link":"SetBackground","description":"

Set Background Image

"},{"title":"module:ItemGrid.SetUpOptions","link":"SetUpOptions","description":"

Data to display when options button selected

"},{"title":"module:ItemGrid.getCollectionType","link":"getCollectionType","description":"

Return parent collection type

"},{"title":"module:ItemGrid.getItemFocused","link":"getItemFocused","description":"

Returns Focused Item

"},{"title":"module:ItemGrid.inStringArray","link":"inStringArray","description":"

Search string array for search value. Return if it's found

"},{"title":"module:ItemGrid.init","link":"init"},{"title":"module:ItemGrid.loadInitialItems","link":"loadInitialItems","description":"

Load initial set of Data

"},{"title":"module:ItemGrid.loadMoreData","link":"loadMoreData","description":"

Load next set of items

"},{"title":"module:ItemGrid.newBGLoaded","link":"newBGLoaded","description":"

When Image Loading Status changes

"},{"title":"module:ItemGrid.onChannelFocused","link":"onChannelFocused"},{"title":"module:ItemGrid.onChannelSelected","link":"onChannelSelected"},{"title":"module:ItemGrid.onGenreItemSelected","link":"onGenreItemSelected","description":"

Genre Item Selected

"},{"title":"module:ItemGrid.onItemFocused","link":"onItemFocused","description":"

Handle new item being focused

"},{"title":"module:ItemGrid.onItemSelected","link":"onItemSelected","description":"

Item Selected

"},{"title":"module:ItemGrid.onItemalphaSelected","link":"onItemalphaSelected"},{"title":"module:ItemGrid.onKeyEvent","link":"onKeyEvent"},{"title":"module:ItemGrid.onvoiceFilter","link":"onvoiceFilter"},{"title":"module:ItemGrid.optionsClosed","link":"optionsClosed","description":"

Check if options updated and any reloading required

"},{"title":"module:ItemGrid.setBoxsetsOptions","link":"setBoxsetsOptions","description":"

Set Boxset view, sort, and filter options

"},{"title":"module:ItemGrid.setDefaultOptions","link":"setDefaultOptions","description":"

Set Default view, sort, and filter options

"},{"title":"module:ItemGrid.setLiveTvOptions","link":"setLiveTvOptions","description":"

Set Live TV view, sort, and filter options

"},{"title":"module:ItemGrid.setMoviesOptions","link":"setMoviesOptions","description":"

Set Movies view, sort, and filter options

"},{"title":"module:ItemGrid.setMusicOptions","link":"setMusicOptions","description":"

Set Music view, sort, and filter options

"},{"title":"module:ItemGrid.setPhotoAlbumOptions","link":"setPhotoAlbumOptions","description":"

Set Photo Album view, sort, and filter options

"},{"title":"module:ItemGrid.setTvShowsOptions","link":"setTvShowsOptions","description":"

Set TV Show view, sort, and filter options

"},{"title":"module:ItemGrid.showTVGuide","link":"showTVGuide"},{"title":"module:ItemGrid.swapDone","link":"swapDone","description":"

Swap Complete

"},{"title":"module:ItemGrid.updateTitle","link":"updateTitle"},{"title":"module:ItemGridOptions","link":"ItemGridOptions"},{"title":"module:ItemGridOptions.buttonFocusChanged","link":"buttonFocusChanged","description":"

Switch menu shown when button focus changes

"},{"title":"module:ItemGridOptions.hideChecklist","link":"hideChecklist"},{"title":"module:ItemGridOptions.init","link":"init"},{"title":"module:ItemGridOptions.isFilterMenuDataValid","link":"isFilterMenuDataValid","description":"

Check if data for Filter Menu is valid

"},{"title":"module:ItemGridOptions.onFilterFocusChange","link":"onFilterFocusChange"},{"title":"module:ItemGridOptions.onKeyEvent","link":"onKeyEvent"},{"title":"module:ItemGridOptions.optionsSet","link":"optionsSet"},{"title":"module:ItemGridOptions.saveFavoriteItemSelected","link":"saveFavoriteItemSelected"},{"title":"module:ItemGridOptions.setHeartColor","link":"setHeartColor"},{"title":"module:ItemGridOptions.showChecklist","link":"showChecklist"},{"title":"module:ItemGridOptions.toggleFavorite","link":"toggleFavorite"},{"title":"module:Items","link":"Items"},{"title":"module:Items.AppearsOnList","link":"AppearsOnList","description":"

Get list of albums an artist appears on

"},{"title":"module:Items.ArtistOverview","link":"ArtistOverview","description":"

Music Artist Data

"},{"title":"module:Items.AudioItem","link":"AudioItem","description":"

Get Songs that are on an Album

"},{"title":"module:Items.AudioStream","link":"AudioStream"},{"title":"module:Items.BackdropImage","link":"BackdropImage"},{"title":"module:Items.CreateArtistMix","link":"CreateArtistMix","description":"

Get Instant Mix based on item

"},{"title":"module:Items.CreateInstantMix","link":"CreateInstantMix","description":"

Get Instant Mix based on item

"},{"title":"module:Items.GetIntroVideos","link":"GetIntroVideos","description":"

Get Intro Videos for an item

"},{"title":"module:Items.GetSongsByArtist","link":"GetSongsByArtist","description":"

Get list of songs belonging to an artist

"},{"title":"module:Items.ItemGetPlaybackInfo","link":"ItemGetPlaybackInfo"},{"title":"module:Items.ItemMetaData","link":"ItemMetaData","description":"

MetaData about an item

"},{"title":"module:Items.ItemPostPlaybackInfo","link":"ItemPostPlaybackInfo"},{"title":"module:Items.MusicAlbumList","link":"MusicAlbumList","description":"

Get list of albums belonging to an artist

"},{"title":"module:Items.MusicSongList","link":"MusicSongList","description":"

Get Songs that are on an Album

"},{"title":"module:Items.PlaylistItemList","link":"PlaylistItemList","description":"

Get Items that are under the provided item

"},{"title":"module:Items.TVEpisodeShuffleList","link":"TVEpisodeShuffleList"},{"title":"module:Items.TVEpisodes","link":"TVEpisodes","description":"

Returns a list of TV Shows for a given TV Show and season\nAccepts strings for the TV Show Id and the season Id

"},{"title":"module:Items.TVSeasonExtras","link":"TVSeasonExtras","description":"

Returns a list of extra features for a TV Show season\nAccepts a string that is a TV Show season id

"},{"title":"module:Items.TVSeasons","link":"TVSeasons","description":"

Seasons for a TV Show

"},{"title":"module:Items.searchMedia","link":"searchMedia","description":"

Search across all libraries

"},{"title":"module:Items.useTranscodeAudioStream","link":"useTranscodeAudioStream"},{"title":"module:JFButton","link":"JFButton"},{"title":"module:JFButton.init","link":"init"},{"title":"module:JFButton.onTextChanged","link":"onTextChanged","description":"

Whenever the text changes, pad both sides with whitespace so we can center the button text

"},{"title":"module:JFButtons","link":"JFButtons"},{"title":"module:JFButtons.focusChanged","link":"focusChanged","description":"

Change opacity of the highlighted menu item based on focus

"},{"title":"module:JFButtons.highlightSelected","link":"highlightSelected","description":"

Highlight selected menu option

"},{"title":"module:JFButtons.init","link":"init"},{"title":"module:JFButtons.onKeyEvent","link":"onKeyEvent"},{"title":"module:JFButtons.renderChanged","link":"renderChanged","description":"

When options are fully displayed, set focus and selected option

"},{"title":"module:JFButtons.selectedIndexChanged","link":"selectedIndexChanged","description":"

When Selected Index set, ensure it is the one Focused

"},{"title":"module:JFButtons.showButtons","link":"showButtons"},{"title":"module:JFButtons.updateButtons","link":"updateButtons"},{"title":"module:JFGroup","link":"JFGroup"},{"title":"module:JFGroup.init","link":"init"},{"title":"module:JFGroup.onKeyEvent","link":"onKeyEvent"},{"title":"module:JFMessageDialog","link":"JFMessageDialog"},{"title":"module:JFMessageDialog.init","link":"init"},{"title":"module:JFMessageDialog.onKeyEvent","link":"onKeyEvent"},{"title":"module:JFMessageDialog.redraw","link":"redraw"},{"title":"module:JFMessageDialog.updateMessage","link":"updateMessage"},{"title":"module:JFMessageDialog.updateOptions","link":"updateOptions"},{"title":"module:JFOverhang","link":"JFOverhang"},{"title":"module:JFOverhang.init","link":"init"},{"title":"module:JFOverhang.onVisibleChange","link":"onVisibleChange"},{"title":"module:JFOverhang.resetTime","link":"resetTime"},{"title":"module:JFOverhang.setClockVisibility","link":"setClockVisibility"},{"title":"module:JFOverhang.setRightSeperatorVisibility","link":"setRightSeperatorVisibility"},{"title":"module:JFOverhang.updateOptions","link":"updateOptions"},{"title":"module:JFOverhang.updateTime","link":"updateTime"},{"title":"module:JFOverhang.updateTimeDisplay","link":"updateTimeDisplay"},{"title":"module:JFOverhang.updateTitle","link":"updateTitle"},{"title":"module:JFOverhang.updateUser","link":"updateUser"},{"title":"module:JFScene","link":"JFScene"},{"title":"module:JFScene.init","link":"init"},{"title":"module:JFScene.onKeyEvent","link":"onKeyEvent"},{"title":"module:JFScreen","link":"JFScreen"},{"title":"module:JFScreen.OnScreenHidden","link":"OnScreenHidden","description":"

Function called when the screen is hidden by the screen manager\nIt is expected that screens override this function if required,\nto handle focus any actions required on the screen being hidden

"},{"title":"module:JFScreen.OnScreenShown","link":"OnScreenShown","description":"

Function called when the screen is displayed by the screen manager\nIt is expected that screens override this function to handle focus\nmanagmenet and any other actions required on screen shown

"},{"title":"module:JFScreen.init","link":"init"},{"title":"module:JFServer","link":"JFServer"},{"title":"module:JFServer.init","link":"init"},{"title":"module:JFServer.itemContentChanged","link":"itemContentChanged"},{"title":"module:JFServer.onFocusPercentChange","link":"onFocusPercentChange"},{"title":"module:JFServer.setTextColor","link":"setTextColor"},{"title":"module:JFVideo","link":"JFVideo"},{"title":"module:JFVideo.ReportPlayback","link":"ReportPlayback","description":"

Report playback to server

"},{"title":"module:JFVideo.bufferCheck","link":"bufferCheck","description":"

Check the the buffering has not hung

"},{"title":"module:JFVideo.checkTimeToDisplayNextEpisode","link":"checkTimeToDisplayNextEpisode","description":"

Checks if we need to display the Next Episode button

"},{"title":"module:JFVideo.hideNextEpisodeButton","link":"hideNextEpisodeButton","description":"

Runs hide Next Episode button animation and sets focus back to video

"},{"title":"module:JFVideo.init","link":"init"},{"title":"module:JFVideo.loadCaption","link":"loadCaption"},{"title":"module:JFVideo.onAllowCaptionsChange","link":"onAllowCaptionsChange"},{"title":"module:JFVideo.onContentChange","link":"onContentChange","description":"

Event handler for when video content field changes

"},{"title":"module:JFVideo.onKeyEvent","link":"onKeyEvent"},{"title":"module:JFVideo.onNextEpisodeDataLoaded","link":"onNextEpisodeDataLoaded"},{"title":"module:JFVideo.onPositionChanged","link":"onPositionChanged","description":"

When Video Player state changes

"},{"title":"module:JFVideo.onState","link":"onState","description":"

When Video Player state changes

"},{"title":"module:JFVideo.showNextEpisodeButton","link":"showNextEpisodeButton","description":"

Runs Next Episode button animation and sets focus to button

"},{"title":"module:JFVideo.toggleCaption","link":"toggleCaption"},{"title":"module:JFVideo.updateCaption","link":"updateCaption"},{"title":"module:JFVideo.updateCount","link":"updateCount","description":"

Update count down text

"},{"title":"module:ListPoster","link":"ListPoster"},{"title":"module:ListPoster.focusChanged","link":"focusChanged","description":"

Enable title scrolling based on item Focus

"},{"title":"module:ListPoster.init","link":"init"},{"title":"module:ListPoster.itemContentChanged","link":"itemContentChanged"},{"title":"module:ListPoster.updateSize","link":"updateSize"},{"title":"module:LoadChannelsTask","link":"LoadChannelsTask"},{"title":"module:LoadChannelsTask.init","link":"init"},{"title":"module:LoadChannelsTask.loadChannels","link":"loadChannels"},{"title":"module:LoadItemsTask","link":"LoadItemsTask"},{"title":"module:LoadItemsTask.getPersonVideos","link":"getPersonVideos"},{"title":"module:LoadItemsTask.init","link":"init"},{"title":"module:LoadItemsTask.loadItems","link":"loadItems"},{"title":"module:LoadItemsTask2","link":"LoadItemsTask2"},{"title":"module:LoadItemsTask2.init","link":"init"},{"title":"module:LoadItemsTask2.loadItems","link":"loadItems"},{"title":"module:LoadPhotoTask","link":"LoadPhotoTask"},{"title":"module:LoadPhotoTask.init","link":"init"},{"title":"module:LoadPhotoTask.loadItems","link":"loadItems"},{"title":"module:LoadProgramDetailsTask","link":"LoadProgramDetailsTask"},{"title":"module:LoadProgramDetailsTask.init","link":"init"},{"title":"module:LoadProgramDetailsTask.loadProgramDetails","link":"loadProgramDetails"},{"title":"module:LoadScreenSaverTimeoutTask","link":"LoadScreenSaverTimeoutTask"},{"title":"module:LoadScreenSaverTimeoutTask.getScreensaverTimeout","link":"getScreensaverTimeout"},{"title":"module:LoadScreenSaverTimeoutTask.init","link":"init"},{"title":"module:LoadSheduleTask","link":"LoadSheduleTask"},{"title":"module:LoadSheduleTask.init","link":"init"},{"title":"module:LoadSheduleTask.loadSchedule","link":"loadSchedule"},{"title":"module:LoadVideoContentTask","link":"LoadVideoContentTask"},{"title":"module:LoadVideoContentTask.FindPreferredAudioStream","link":"FindPreferredAudioStream"},{"title":"module:LoadVideoContentTask.LoadItems_AddVideoContent","link":"LoadItems_AddVideoContent"},{"title":"module:LoadVideoContentTask.LoadItems_VideoPlayer","link":"LoadItems_VideoPlayer"},{"title":"module:LoadVideoContentTask.addNextEpisodesToQueue","link":"addNextEpisodesToQueue","description":"

Add next episodes to the playback queue

"},{"title":"module:LoadVideoContentTask.addSubtitlesToVideo","link":"addSubtitlesToVideo"},{"title":"module:LoadVideoContentTask.addVideoContentURL","link":"addVideoContentURL"},{"title":"module:LoadVideoContentTask.directPlaySupported","link":"directPlaySupported"},{"title":"module:LoadVideoContentTask.getContainerType","link":"getContainerType"},{"title":"module:LoadVideoContentTask.getSubtitleLanguages","link":"getSubtitleLanguages"},{"title":"module:LoadVideoContentTask.getTranscodeReasons","link":"getTranscodeReasons","description":"

Extract array of Transcode Reasons from the content URL

"},{"title":"module:LoadVideoContentTask.init","link":"init"},{"title":"module:LoadVideoContentTask.loadItems","link":"loadItems"},{"title":"module:LoadVideoContentTask.sortSubtitles","link":"sortSubtitles","description":"

Checks available subtitle tracks and puts subtitles in forced, default, and non-default/forced but preferred language at the top

"},{"title":"module:LoginScene","link":"LoginScene"},{"title":"module:LoginScene.init","link":"init"},{"title":"module:LoginScene.onKeyEvent","link":"onKeyEvent"},{"title":"module:Main","link":"Main"},{"title":"module:Main.Main","link":"Main"},{"title":"module:MovieData","link":"MovieData"},{"title":"module:MovieData.setContainer","link":"setContainer"},{"title":"module:MovieData.setFields","link":"setFields"},{"title":"module:MovieData.setPoster","link":"setPoster"},{"title":"module:MovieDetails","link":"MovieDetails"},{"title":"module:MovieDetails.OnScreenShown","link":"OnScreenShown"},{"title":"module:MovieDetails.SetDefaultAudioTrack","link":"SetDefaultAudioTrack"},{"title":"module:MovieDetails.SetUpAudioOptions","link":"SetUpAudioOptions"},{"title":"module:MovieDetails.SetUpVideoOptions","link":"SetUpVideoOptions"},{"title":"module:MovieDetails.audioOptionsClosed","link":"audioOptionsClosed","description":"

Check if options updated and any reloading required

"},{"title":"module:MovieDetails.getEndTime","link":"getEndTime"},{"title":"module:MovieDetails.getRuntime","link":"getRuntime"},{"title":"module:MovieDetails.init","link":"init"},{"title":"module:MovieDetails.itemContentChanged","link":"itemContentChanged"},{"title":"module:MovieDetails.onKeyEvent","link":"onKeyEvent"},{"title":"module:MovieDetails.round","link":"round"},{"title":"module:MovieDetails.setFavoriteColor","link":"setFavoriteColor"},{"title":"module:MovieDetails.setFieldText","link":"setFieldText"},{"title":"module:MovieDetails.setWatchedColor","link":"setWatchedColor"},{"title":"module:MovieDetails.trailerAvailableChanged","link":"trailerAvailableChanged"},{"title":"module:MovieDetails.videoOptionsClosed","link":"videoOptionsClosed","description":"

Check if options were updated and if any reloding is needed...

"},{"title":"module:MovieLibraryView","link":"MovieLibraryView"},{"title":"module:MovieLibraryView.FilterDataLoaded","link":"FilterDataLoaded","description":"

Logo Image Loaded Event Handler

"},{"title":"module:MovieLibraryView.ItemDataLoaded","link":"ItemDataLoaded","description":"

Handle loaded data, and add to Grid

"},{"title":"module:MovieLibraryView.LogoImageLoaded","link":"LogoImageLoaded","description":"

Logo Image Loaded Event Handler

"},{"title":"module:MovieLibraryView.OnScreenHidden","link":"OnScreenHidden"},{"title":"module:MovieLibraryView.OnScreenShown","link":"OnScreenShown"},{"title":"module:MovieLibraryView.SetBackground","link":"SetBackground","description":"

Set Background Image

"},{"title":"module:MovieLibraryView.SetName","link":"SetName","description":"

Set Selected Movie Name

"},{"title":"module:MovieLibraryView.SetOfficialRating","link":"SetOfficialRating","description":"

Set Selected Movie OfficialRating

"},{"title":"module:MovieLibraryView.SetOverview","link":"SetOverview","description":"

Set Selected Movie Overview

"},{"title":"module:MovieLibraryView.SetProductionYear","link":"SetProductionYear","description":"

Set Selected Movie ProductionYear

"},{"title":"module:MovieLibraryView.getCollectionType","link":"getCollectionType","description":"

Return parent collection type

"},{"title":"module:MovieLibraryView.getItemFocused","link":"getItemFocused","description":"

Returns Focused Item

"},{"title":"module:MovieLibraryView.getRuntime","link":"getRuntime"},{"title":"module:MovieLibraryView.inStringArray","link":"inStringArray","description":"

Search string array for search value. Return if it's found

"},{"title":"module:MovieLibraryView.init","link":"init"},{"title":"module:MovieLibraryView.loadInitialItems","link":"loadInitialItems","description":"

Load initial set of Data

"},{"title":"module:MovieLibraryView.loadMoreData","link":"loadMoreData","description":"

Load next set of items

"},{"title":"module:MovieLibraryView.newBGLoaded","link":"newBGLoaded","description":"

When Image Loading Status changes

"},{"title":"module:MovieLibraryView.onChannelSelected","link":"onChannelSelected"},{"title":"module:MovieLibraryView.onGenreItemSelected","link":"onGenreItemSelected","description":"

Genre Item Selected

"},{"title":"module:MovieLibraryView.onItemFocused","link":"onItemFocused","description":"

Handle new item being focused

"},{"title":"module:MovieLibraryView.onItemSelected","link":"onItemSelected","description":"

Item Selected

"},{"title":"module:MovieLibraryView.onItemalphaSelected","link":"onItemalphaSelected"},{"title":"module:MovieLibraryView.onKeyEvent","link":"onKeyEvent"},{"title":"module:MovieLibraryView.onvoiceFilter","link":"onvoiceFilter"},{"title":"module:MovieLibraryView.optionsClosed","link":"optionsClosed","description":"

Check if options updated and any reloading required

"},{"title":"module:MovieLibraryView.round","link":"round"},{"title":"module:MovieLibraryView.setFieldText","link":"setFieldText"},{"title":"module:MovieLibraryView.setMoviesOptions","link":"setMoviesOptions","description":"

Set Movies view, sort, and filter options

"},{"title":"module:MovieLibraryView.setSelectedOptions","link":"setSelectedOptions","description":"

Data to display when options button selected

"},{"title":"module:MovieLibraryView.setupNodes","link":"setupNodes"},{"title":"module:MovieLibraryView.swapDone","link":"swapDone","description":"

Swap Complete

"},{"title":"module:MovieOptions","link":"MovieOptions"},{"title":"module:MovieOptions.buttonFocusChanged","link":"buttonFocusChanged","description":"

Switch menu shown when button focus changes

"},{"title":"module:MovieOptions.init","link":"init"},{"title":"module:MovieOptions.onKeyEvent","link":"onKeyEvent"},{"title":"module:MovieOptions.optionsSet","link":"optionsSet"},{"title":"module:MusicAlbumData","link":"MusicAlbumData"},{"title":"module:MusicAlbumData.setFields","link":"setFields"},{"title":"module:MusicAlbumData.setPoster","link":"setPoster"},{"title":"module:MusicAlbumSongListData","link":"MusicAlbumSongListData"},{"title":"module:MusicAlbumSongListData.setFields","link":"setFields"},{"title":"module:MusicAlbumSongListData.setPoster","link":"setPoster"},{"title":"module:MusicArtistData","link":"MusicArtistData"},{"title":"module:MusicArtistData.setFields","link":"setFields"},{"title":"module:MusicArtistData.setPoster","link":"setPoster"},{"title":"module:MusicArtistGridItem","link":"MusicArtistGridItem"},{"title":"module:MusicArtistGridItem.focusChanged","link":"focusChanged","description":"

Display or hide title Visibility on focus change

"},{"title":"module:MusicArtistGridItem.init","link":"init"},{"title":"module:MusicArtistGridItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:MusicArtistGridItem.onPosterLoadStatusChanged","link":"onPosterLoadStatusChanged","description":"

Hide backdrop and text when poster loaded

"},{"title":"module:MusicLibraryView","link":"MusicLibraryView"},{"title":"module:MusicLibraryView.ItemDataLoaded","link":"ItemDataLoaded","description":"

Handle loaded data, and add to Grid

"},{"title":"module:MusicLibraryView.LogoImageLoaded","link":"LogoImageLoaded","description":"

Logo Image Loaded Event Handler

"},{"title":"module:MusicLibraryView.OnScreenHidden","link":"OnScreenHidden"},{"title":"module:MusicLibraryView.OnScreenShown","link":"OnScreenShown"},{"title":"module:MusicLibraryView.SetAlbumCount","link":"SetAlbumCount","description":"

Set Selected Artist Album Count

"},{"title":"module:MusicLibraryView.SetBackground","link":"SetBackground","description":"

Set Background Image

"},{"title":"module:MusicLibraryView.SetGenres","link":"SetGenres","description":"

Set Selected Artist Genres

"},{"title":"module:MusicLibraryView.SetName","link":"SetName","description":"

Set Selected Artist Name

"},{"title":"module:MusicLibraryView.SetSongCount","link":"SetSongCount","description":"

Set Selected Artist Song Count

"},{"title":"module:MusicLibraryView.SetUpOptions","link":"SetUpOptions","description":"

Data to display when options button selected

"},{"title":"module:MusicLibraryView.getCollectionType","link":"getCollectionType","description":"

Return parent collection type

"},{"title":"module:MusicLibraryView.getItemFocused","link":"getItemFocused","description":"

Returns Focused Item

"},{"title":"module:MusicLibraryView.inStringArray","link":"inStringArray","description":"

Search string array for search value. Return if it's found

"},{"title":"module:MusicLibraryView.init","link":"init"},{"title":"module:MusicLibraryView.loadInitialItems","link":"loadInitialItems","description":"

Load initial set of Data

"},{"title":"module:MusicLibraryView.loadMoreData","link":"loadMoreData","description":"

Load next set of items

"},{"title":"module:MusicLibraryView.newBGLoaded","link":"newBGLoaded","description":"

When Image Loading Status changes

"},{"title":"module:MusicLibraryView.onChannelSelected","link":"onChannelSelected"},{"title":"module:MusicLibraryView.onGenreItemFocused","link":"onGenreItemFocused","description":"

Genre Item Focused

"},{"title":"module:MusicLibraryView.onGenreItemSelected","link":"onGenreItemSelected","description":"

Genre Item Selected

"},{"title":"module:MusicLibraryView.onItemFocused","link":"onItemFocused","description":"

Handle new item being focused

"},{"title":"module:MusicLibraryView.onItemSelected","link":"onItemSelected","description":"

Item Selected

"},{"title":"module:MusicLibraryView.onItemalphaSelected","link":"onItemalphaSelected"},{"title":"module:MusicLibraryView.onKeyEvent","link":"onKeyEvent"},{"title":"module:MusicLibraryView.onvoiceFilter","link":"onvoiceFilter"},{"title":"module:MusicLibraryView.optionsClosed","link":"optionsClosed","description":"

Check if options updated and any reloading required

"},{"title":"module:MusicLibraryView.setFieldText","link":"setFieldText"},{"title":"module:MusicLibraryView.setMusicOptions","link":"setMusicOptions","description":"

Set Music view, sort, and filter options

"},{"title":"module:MusicLibraryView.setupNodes","link":"setupNodes"},{"title":"module:MusicLibraryView.swapDone","link":"swapDone","description":"

Swap Complete

"},{"title":"module:MusicSongData","link":"MusicSongData"},{"title":"module:MusicSongData.setFields","link":"setFields"},{"title":"module:MusicSongData.setPoster","link":"setPoster"},{"title":"module:OptionNode","link":"OptionNode"},{"title":"module:OptionNode.init","link":"init"},{"title":"module:OptionsButton","link":"OptionsButton"},{"title":"module:OptionsButton.init","link":"init"},{"title":"module:OptionsButton.press","link":"press"},{"title":"module:OptionsData","link":"OptionsData"},{"title":"module:OptionsData.init","link":"init"},{"title":"module:OptionsData.press","link":"press"},{"title":"module:OptionsData.update_title","link":"update_title"},{"title":"module:OptionsSlider","link":"OptionsSlider"},{"title":"module:OptionsSlider.init","link":"init"},{"title":"module:OptionsSlider.onKeyEvent","link":"onKeyEvent"},{"title":"module:OptionsSlider.setFields","link":"setFields"},{"title":"module:OverviewDialog","link":"OverviewDialog"},{"title":"module:OverviewDialog.onKeyEvent","link":"onKeyEvent"},{"title":"module:OverviewDialog.setOverview","link":"setOverview"},{"title":"module:OverviewDialog.setTitle","link":"setTitle"},{"title":"module:PauseMenu","link":"PauseMenu"},{"title":"module:PauseMenu.inactiveCheck","link":"inactiveCheck","description":"

inactiveCheck: Checks if the time since last keypress is greater than or equal to the allowed inactive time of the pause menu.

"},{"title":"module:PauseMenu.init","link":"init"},{"title":"module:PauseMenu.onButtonSelected","link":"onButtonSelected","description":"

onButtonSelected: Handler for selection of buttons from the pause menu.

"},{"title":"module:PauseMenu.onFocusChanged","link":"onFocusChanged","description":"

onFocusChanged: Handler for changes to the focus of this pause menu.

"},{"title":"module:PauseMenu.onItemTitleTextChanged","link":"onItemTitleTextChanged","description":"

onItemTitleTextChanged: Handler for changes to m.top.itemTitleText param.

"},{"title":"module:PauseMenu.onKeyEvent","link":"onKeyEvent"},{"title":"module:PauseMenu.onPlaybackStateChanged","link":"onPlaybackStateChanged","description":"

onPlaybackStateChanged: Handler for changes to m.top.playbackState param

"},{"title":"module:PauseMenu.onProgressPercentageChanged","link":"onProgressPercentageChanged","description":"

onProgressPercentageChanged: Handler for changes to m.top.progressPercentage param

"},{"title":"module:PauseMenu.onVisibleChanged","link":"onVisibleChanged","description":"

onVisibleChanged: Handler for changes to the visibility of this pause menu.

"},{"title":"module:PauseMenu.resetFocusToDefaultButton","link":"resetFocusToDefaultButton","description":"

resetFocusToDefaultButton: Reset focus back to the default button

"},{"title":"module:PersonData","link":"PersonData"},{"title":"module:PersonData.setFields","link":"setFields"},{"title":"module:PersonData.setPoster","link":"setPoster"},{"title":"module:PersonDetails","link":"PersonDetails"},{"title":"module:PersonDetails.createDialogPallete","link":"createDialogPallete"},{"title":"module:PersonDetails.createFullDscrDlg","link":"createFullDscrDlg"},{"title":"module:PersonDetails.dscrShowFocus","link":"dscrShowFocus"},{"title":"module:PersonDetails.init","link":"init"},{"title":"module:PersonDetails.loadPerson","link":"loadPerson"},{"title":"module:PersonDetails.onButtonGroupEscaped","link":"onButtonGroupEscaped"},{"title":"module:PersonDetails.onKeyEvent","link":"onKeyEvent"},{"title":"module:PersonDetails.setFavoriteColor","link":"setFavoriteColor"},{"title":"module:PersonDetails.shortDate","link":"shortDate"},{"title":"module:PhotoData","link":"PhotoData"},{"title":"module:PhotoData.setFields","link":"setFields"},{"title":"module:PhotoData.setPoster","link":"setPoster"},{"title":"module:PhotoDetails","link":"PhotoDetails"},{"title":"module:PhotoDetails.OnScreenHidden","link":"OnScreenHidden","description":"

JFScreen hook.\nUsed to ensure tasks are stopped

"},{"title":"module:PhotoDetails.init","link":"init"},{"title":"module:PhotoDetails.isRandomChanged","link":"isRandomChanged","description":"

isRandom component field has changed

"},{"title":"module:PhotoDetails.isSlideshowChanged","link":"isSlideshowChanged","description":"

isSlideshow component field has changed

"},{"title":"module:PhotoDetails.isValidToContinue","link":"isValidToContinue"},{"title":"module:PhotoDetails.itemContentChanged","link":"itemContentChanged"},{"title":"module:PhotoDetails.nextSlide","link":"nextSlide"},{"title":"module:PhotoDetails.onKeyEvent","link":"onKeyEvent"},{"title":"module:PhotoDetails.onPhotoLoaded","link":"onPhotoLoaded"},{"title":"module:PhotoDetails.statusUpdate","link":"statusUpdate"},{"title":"module:PlaybackDialog","link":"PlaybackDialog"},{"title":"module:PlaybackDialog.onKeyEvent","link":"onKeyEvent"},{"title":"module:PlayedCheckmark","link":"PlayedCheckmark"},{"title":"module:PlayedCheckmark.init","link":"init"},{"title":"module:PlaylistData","link":"PlaylistData"},{"title":"module:PlaylistData.setFields","link":"setFields"},{"title":"module:PlaylistData.setPoster","link":"setPoster"},{"title":"module:PlaylistView","link":"PlaylistView"},{"title":"module:PlaylistView.OnScreenHidden","link":"OnScreenHidden"},{"title":"module:PlaylistView.adjustScreenForNoOverview","link":"adjustScreenForNoOverview","description":"

Adjust scene by removing overview node and showing more songs

"},{"title":"module:PlaylistView.createDialogPallete","link":"createDialogPallete"},{"title":"module:PlaylistView.createFullDscrDlg","link":"createFullDscrDlg"},{"title":"module:PlaylistView.init","link":"init"},{"title":"module:PlaylistView.onDoneLoading","link":"onDoneLoading"},{"title":"module:PlaylistView.onKeyEvent","link":"onKeyEvent"},{"title":"module:PlaylistView.pageContentChanged","link":"pageContentChanged","description":"

Set values for displayed values on screen

"},{"title":"module:PlaylistView.setOnScreenTextValues","link":"setOnScreenTextValues","description":"

Populate on screen text variables

"},{"title":"module:PlaylistView.setPosterImage","link":"setPosterImage","description":"

Set poster image on screen

"},{"title":"module:PlaylistView.setScreenTitle","link":"setScreenTitle","description":"

Set screen's title text

"},{"title":"module:PlaylistView.setupMainNode","link":"setupMainNode"},{"title":"module:PlaystateTask","link":"PlaystateTask"},{"title":"module:PlaystateTask.PlaystateDefaults","link":"PlaystateDefaults"},{"title":"module:PlaystateTask.PlaystateUpdate","link":"PlaystateUpdate"},{"title":"module:PlaystateTask.init","link":"init"},{"title":"module:PostTask","link":"PostTask"},{"title":"module:PostTask.asyncPost","link":"asyncPost","description":"

Post data and wait for response code

"},{"title":"module:PostTask.empty","link":"empty","description":"

Revert PostTask to default state

"},{"title":"module:PostTask.init","link":"init"},{"title":"module:PostTask.postItems","link":"postItems","description":"

Main function for PostTask.\nPosts either an array of data\nor a string of data to an API endpoint.\nSaves the response information

"},{"title":"module:ProgramDetails","link":"ProgramDetails"},{"title":"module:ProgramDetails.channelUpdated","link":"channelUpdated"},{"title":"module:ProgramDetails.focusChanged","link":"focusChanged","description":"

Show view channel button when item has Focus

"},{"title":"module:ProgramDetails.getDurationStringFromSeconds","link":"getDurationStringFromSeconds","description":"

Get program duration string (e.g. 1h 20m)

"},{"title":"module:ProgramDetails.getRelativeDayName","link":"getRelativeDayName","description":"

Get relative date name for a date (yesterday, today, tomorrow, or otherwise weekday name )

"},{"title":"module:ProgramDetails.init","link":"init"},{"title":"module:ProgramDetails.onAnimationComplete","link":"onAnimationComplete"},{"title":"module:ProgramDetails.onKeyEvent","link":"onKeyEvent"},{"title":"module:ProgramDetails.programUpdated","link":"programUpdated"},{"title":"module:ProgramDetails.setupLabels","link":"setupLabels","description":"

Set up Live and Repeat label sizes

"},{"title":"module:ProgramDetails.updateLabels","link":"updateLabels"},{"title":"module:PublicUserData","link":"PublicUserData"},{"title":"module:PublicUserData.init","link":"init"},{"title":"module:QueueManager","link":"QueueManager"},{"title":"module:QueueManager.clear","link":"clear","description":"

Clear all content from play queue

"},{"title":"module:QueueManager.clearHold","link":"clearHold","description":"

Clear all hold content

"},{"title":"module:QueueManager.deleteAtIndex","link":"deleteAtIndex","description":"

Delete item from play queue at passed index

"},{"title":"module:QueueManager.getCount","link":"getCount","description":"

Return the number of items in the play queue

"},{"title":"module:QueueManager.getCurrentItem","link":"getCurrentItem","description":"

Return the item currently in focus from the play queue

"},{"title":"module:QueueManager.getHold","link":"getHold","description":"

Return the items in the hold

"},{"title":"module:QueueManager.getIsShuffled","link":"getIsShuffled","description":"

Return whether or not shuffle is enabled

"},{"title":"module:QueueManager.getItemByIndex","link":"getItemByIndex","description":"

Return the item in the passed index from the play queue

"},{"title":"module:QueueManager.getItemType","link":"getItemType"},{"title":"module:QueueManager.getPosition","link":"getPosition","description":"

Returns current playback position within the queue

"},{"title":"module:QueueManager.getQueue","link":"getQueue","description":"

Return the current play queue

"},{"title":"module:QueueManager.getQueueTypes","link":"getQueueTypes","description":"

Return the types of items in current play queue

"},{"title":"module:QueueManager.getQueueUniqueTypes","link":"getQueueUniqueTypes","description":"

Return the unique types of items in current play queue

"},{"title":"module:QueueManager.getUnshuffledQueue","link":"getUnshuffledQueue","description":"

Return original, unshuffled queue

"},{"title":"module:QueueManager.hold","link":"hold","description":"

Hold an item

"},{"title":"module:QueueManager.init","link":"init"},{"title":"module:QueueManager.isPrerollActive","link":"isPrerollActive","description":"

Return isPrerollActive status

"},{"title":"module:QueueManager.moveBack","link":"moveBack","description":"

Move queue position back one

"},{"title":"module:QueueManager.moveForward","link":"moveForward","description":"

Move queue position ahead one

"},{"title":"module:QueueManager.peek","link":"peek","description":"

Return item at end of play queue without removing

"},{"title":"module:QueueManager.playQueue","link":"playQueue","description":"

Play items in queue

"},{"title":"module:QueueManager.pop","link":"pop","description":"

Remove item at end of play queue

"},{"title":"module:QueueManager.push","link":"push","description":"

Push new items to the play queue

"},{"title":"module:QueueManager.resetQueueItemOrder","link":"resetQueueItemOrder","description":"

Reset queue items back to original, unshuffled order

"},{"title":"module:QueueManager.resetShuffle","link":"resetShuffle","description":"

Reset shuffle to off state

"},{"title":"module:QueueManager.set","link":"set","description":"

Replace play queue with passed array

"},{"title":"module:QueueManager.setPosition","link":"setPosition","description":"

Set the queue position

"},{"title":"module:QueueManager.setPrerollStatus","link":"setPrerollStatus","description":"

Set prerollActive status

"},{"title":"module:QueueManager.setTopStartingPoint","link":"setTopStartingPoint","description":"

Set starting point for top item in the queue

"},{"title":"module:QueueManager.shuffleQueueItems","link":"shuffleQueueItems","description":"

Save a copy of the original queue and randomize order of queue items

"},{"title":"module:QueueManager.toggleShuffle","link":"toggleShuffle","description":"

Toggle shuffleEnabled state

"},{"title":"module:QueueManager.top","link":"top","description":"

Return the fitst item in the play queue

"},{"title":"module:QuickConnect","link":"QuickConnect"},{"title":"module:QuickConnect.init","link":"init"},{"title":"module:QuickConnect.monitorQuickConnect","link":"monitorQuickConnect"},{"title":"module:QuickConnectDialog","link":"QuickConnectDialog"},{"title":"module:QuickConnectDialog.OnAuthenticated","link":"OnAuthenticated"},{"title":"module:QuickConnectDialog.init","link":"init"},{"title":"module:QuickConnectDialog.onButtonSelected","link":"onButtonSelected"},{"title":"module:QuickConnectDialog.onKeyEvent","link":"onKeyEvent"},{"title":"module:QuickConnectDialog.quickConnectClosed","link":"quickConnectClosed"},{"title":"module:QuickConnectDialog.quickConnectStatus","link":"quickConnectStatus"},{"title":"module:RadioDialog","link":"RadioDialog"},{"title":"module:RadioDialog.init","link":"init"},{"title":"module:RadioDialog.moveScrollBar","link":"moveScrollBar","description":"

Move the popup's scroll bar

"},{"title":"module:RadioDialog.onButtonSelected","link":"onButtonSelected","description":"

Event handler for when user selected a button

"},{"title":"module:RadioDialog.onContentDataChanged","link":"onContentDataChanged"},{"title":"module:RadioDialog.onItemFocused","link":"onItemFocused","description":"

Event handler for when user's cursor highlights an option in the option list

"},{"title":"module:RadioDialog.onItemSelected","link":"onItemSelected","description":"

Once user selected an item, move cursor down to OK button

"},{"title":"module:RadioDialog.onKeyEvent","link":"onKeyEvent"},{"title":"module:RadioDialog.onScrollBarFocus","link":"onScrollBarFocus","description":"

If somehow the scrollbar gains focus, set focus back to the option list

"},{"title":"module:RecordProgramTask","link":"RecordProgramTask"},{"title":"module:RecordProgramTask.RecordOrCancelProgram","link":"RecordOrCancelProgram"},{"title":"module:RecordProgramTask.init","link":"init"},{"title":"module:SceneManager","link":"SceneManager"},{"title":"module:SceneManager.clearPreviousScene","link":"clearPreviousScene","description":"

Clear previous scene from group stack

"},{"title":"module:SceneManager.clearScenes","link":"clearScenes","description":"

Clear all content from group stack

"},{"title":"module:SceneManager.deleteSceneAtIndex","link":"deleteSceneAtIndex","description":"

Delete scene from group stack at passed index

"},{"title":"module:SceneManager.dismissDialog","link":"dismissDialog","description":"

Close currently displayed dialog

"},{"title":"module:SceneManager.getActiveScene","link":"getActiveScene","description":"

Return group at top of stack without removing

"},{"title":"module:SceneManager.init","link":"init"},{"title":"module:SceneManager.isDialogOpen","link":"isDialogOpen","description":"

Returns bool indicating if dialog is currently displayed

"},{"title":"module:SceneManager.optionClosed","link":"optionClosed","description":"

Return button the user selected

"},{"title":"module:SceneManager.optionDialog","link":"optionDialog","description":"

Display dialog to user with an OK button

"},{"title":"module:SceneManager.optionSelected","link":"optionSelected","description":"

Return button the user selected

"},{"title":"module:SceneManager.popScene","link":"popScene","description":"

Remove the current group and load the last group from the stack

"},{"title":"module:SceneManager.pushScene","link":"pushScene","description":"

Push a new group onto the stack, replacing the existing group on the screen

"},{"title":"module:SceneManager.radioDialog","link":"radioDialog","description":"

Display dialog to user with an OK button

"},{"title":"module:SceneManager.registerOverhangData","link":"registerOverhangData","description":"

Register observers for overhang data

"},{"title":"module:SceneManager.resetTime","link":"resetTime","description":"

Reset time

"},{"title":"module:SceneManager.settings","link":"settings","description":"

Display user/device settings screen

"},{"title":"module:SceneManager.standardDialog","link":"standardDialog","description":"

Display dialog to user with an OK button

"},{"title":"module:SceneManager.unregisterOverhangData","link":"unregisterOverhangData","description":"

Remove observers for overhang data

"},{"title":"module:SceneManager.updateOptions","link":"updateOptions","description":"

Update options availability

"},{"title":"module:SceneManager.updateOverhangTitle","link":"updateOverhangTitle","description":"

Update overhang title

"},{"title":"module:SceneManager.updateOverhangVisible","link":"updateOverhangVisible","description":"

Update whether the overhang is visible or not

"},{"title":"module:SceneManager.updateUser","link":"updateUser","description":"

Update username in overhang

"},{"title":"module:SceneManager.userMessage","link":"userMessage","description":"

Display dialog to user with an OK button

"},{"title":"module:ScheduleProgramData","link":"ScheduleProgramData"},{"title":"module:ScheduleProgramData.setFields","link":"setFields"},{"title":"module:ScheduleProgramData.setPoster","link":"setPoster"},{"title":"module:SearchBox","link":"SearchBox"},{"title":"module:SearchBox.init","link":"init"},{"title":"module:SearchBox.searchMedias","link":"searchMedias"},{"title":"module:SearchData","link":"SearchData"},{"title":"module:SearchData.setFields","link":"setFields"},{"title":"module:SearchData.setPoster","link":"setPoster"},{"title":"module:SearchResults","link":"SearchResults"},{"title":"module:SearchResults.init","link":"init"},{"title":"module:SearchResults.loadResults","link":"loadResults"},{"title":"module:SearchResults.onKeyEvent","link":"onKeyEvent"},{"title":"module:SearchResults.searchMedias","link":"searchMedias"},{"title":"module:SearchRow","link":"SearchRow"},{"title":"module:SearchRow.addRow","link":"addRow"},{"title":"module:SearchRow.getData","link":"getData"},{"title":"module:SearchRow.init","link":"init"},{"title":"module:SearchRow.updateSize","link":"updateSize"},{"title":"module:SearchTask","link":"SearchTask"},{"title":"module:SearchTask.init","link":"init"},{"title":"module:SearchTask.search","link":"search"},{"title":"module:SeriesData","link":"SeriesData"},{"title":"module:SeriesData.setFields","link":"setFields"},{"title":"module:SeriesData.setPoster","link":"setPoster"},{"title":"module:ServerDiscoveryTask","link":"ServerDiscoveryTask"},{"title":"module:ServerDiscoveryTask.AddServer","link":"AddServer"},{"title":"module:ServerDiscoveryTask.ProcessClientDiscoveryResponse","link":"ProcessClientDiscoveryResponse"},{"title":"module:ServerDiscoveryTask.ProcessSSDPResponse","link":"ProcessSSDPResponse"},{"title":"module:ServerDiscoveryTask.SendClientDiscoveryBroadcast","link":"SendClientDiscoveryBroadcast"},{"title":"module:ServerDiscoveryTask.SendSSDPBroadcast","link":"SendSSDPBroadcast"},{"title":"module:ServerDiscoveryTask.execute","link":"execute"},{"title":"module:ServerDiscoveryTask.init","link":"init","description":"

Task used to discover jellyfin servers on the local network

"},{"title":"module:SetServerScreen","link":"SetServerScreen"},{"title":"module:SetServerScreen.ScanForServers","link":"ScanForServers"},{"title":"module:SetServerScreen.ScanForServersComplete","link":"ScanForServersComplete"},{"title":"module:SetServerScreen.ShowKeyboard","link":"ShowKeyboard"},{"title":"module:SetServerScreen.clearErrorMessage","link":"clearErrorMessage"},{"title":"module:SetServerScreen.init","link":"init"},{"title":"module:SetServerScreen.onDialogButton","link":"onDialogButton"},{"title":"module:SetServerScreen.onKeyEvent","link":"onKeyEvent"},{"title":"module:ShowScenes","link":"ShowScenes"},{"title":"module:ShowScenes.CreateAlbumView","link":"CreateAlbumView","description":"

Shows details on selected album. Description text, image, and list of available songs

"},{"title":"module:ShowScenes.CreateArtistView","link":"CreateArtistView","description":"

Shows details on selected artist. Bio, image, and list of available albums

"},{"title":"module:ShowScenes.CreateHomeGroup","link":"CreateHomeGroup"},{"title":"module:ShowScenes.CreateItemGrid","link":"CreateItemGrid"},{"title":"module:ShowScenes.CreateMovieDetailsGroup","link":"CreateMovieDetailsGroup"},{"title":"module:ShowScenes.CreateMovieLibraryView","link":"CreateMovieLibraryView"},{"title":"module:ShowScenes.CreateMusicLibraryView","link":"CreateMusicLibraryView"},{"title":"module:ShowScenes.CreatePersonView","link":"CreatePersonView"},{"title":"module:ShowScenes.CreatePlaylistView","link":"CreatePlaylistView","description":"

Shows details on selected playlist. Description text, image, and list of available items

"},{"title":"module:ShowScenes.CreateSearchPage","link":"CreateSearchPage"},{"title":"module:ShowScenes.CreateSeasonDetailsGroup","link":"CreateSeasonDetailsGroup"},{"title":"module:ShowScenes.CreateSeasonDetailsGroupByID","link":"CreateSeasonDetailsGroupByID"},{"title":"module:ShowScenes.CreateSeriesDetailsGroup","link":"CreateSeriesDetailsGroup"},{"title":"module:ShowScenes.CreateServerGroup","link":"CreateServerGroup"},{"title":"module:ShowScenes.CreateSigninGroup","link":"CreateSigninGroup"},{"title":"module:ShowScenes.CreateUserSelectGroup","link":"CreateUserSelectGroup"},{"title":"module:ShowScenes.CreateVideoPlayerGroup","link":"CreateVideoPlayerGroup"},{"title":"module:ShowScenes.DeleteFromServerList","link":"DeleteFromServerList"},{"title":"module:ShowScenes.LoginFlow","link":"LoginFlow"},{"title":"module:ShowScenes.SaveServerList","link":"SaveServerList"},{"title":"module:ShowScenes.SendPerformanceBeacon","link":"SendPerformanceBeacon","description":"

Roku Performance monitoring

"},{"title":"module:ShowScenes.playbackOptionDialog","link":"playbackOptionDialog","description":"

Opens dialog asking user if they want to resume video or start playback over only on the home screen

"},{"title":"module:SlideOutButton","link":"SlideOutButton"},{"title":"module:SlideOutButton.init","link":"init"},{"title":"module:SlideOutButton.onBackgroundChanged","link":"onBackgroundChanged"},{"title":"module:SlideOutButton.onFocusChanged","link":"onFocusChanged"},{"title":"module:SlideOutButton.onHeightChanged","link":"onHeightChanged"},{"title":"module:SlideOutButton.onHighlightChanged","link":"onHighlightChanged"},{"title":"module:SlideOutButton.onIconChanged","link":"onIconChanged"},{"title":"module:SlideOutButton.onKeyEvent","link":"onKeyEvent"},{"title":"module:SlideOutButton.onPaddingChanged","link":"onPaddingChanged"},{"title":"module:SlideOutButton.onTextChanged","link":"onTextChanged"},{"title":"module:SlideOutButton.onWidthChanged","link":"onWidthChanged"},{"title":"module:SlideOutButton.setIconSize","link":"setIconSize"},{"title":"module:SongItem","link":"SongItem"},{"title":"module:SongItem.focusChanged","link":"focusChanged"},{"title":"module:SongItem.init","link":"init"},{"title":"module:SongItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:Spinner","link":"Spinner"},{"title":"module:Spinner.init","link":"init"},{"title":"module:StandardDialog","link":"StandardDialog"},{"title":"module:StandardDialog.init","link":"init"},{"title":"module:StandardDialog.onContentDataChanged","link":"onContentDataChanged"},{"title":"module:Subtitles","link":"Subtitles"},{"title":"module:Subtitles.availSubtitleTrackIdx","link":"availSubtitleTrackIdx","description":"

Roku translates the info provided in subtitleTracks into availableSubtitleTracks\nIncluding ignoring tracks, if they are not understood, thus making indexing unpredictable.\nThis function translates between our internel selected subtitle index\nand the corresponding index in availableSubtitleTracks.

"},{"title":"module:Subtitles.changeSubtitleDuringPlayback","link":"changeSubtitleDuringPlayback"},{"title":"module:Subtitles.defaultSubtitleTrack","link":"defaultSubtitleTrack","description":"

Identify the default subtitle track\nif "requires_text" is true, only return a track if it is textual\nThis allows forcing text subs, since roku requires transcoding of non-text subs\nreturns the server-side track index for the appriate subtitle

"},{"title":"module:Subtitles.defaultSubtitleTrackFromVid","link":"defaultSubtitleTrackFromVid","description":"

Identify the default subtitle track for a given video id\nreturns the server-side track index for the appriate subtitle

"},{"title":"module:Subtitles.getSubtitleLanguages","link":"getSubtitleLanguages"},{"title":"module:Subtitles.getSubtitleSelIdxFromSubIdx","link":"getSubtitleSelIdxFromSubIdx","description":"

The subtitle index on the server differs from the index we track locally\nThis function converts the former into the latter

"},{"title":"module:Subtitles.selectSubtitleTrack","link":"selectSubtitleTrack"},{"title":"module:Subtitles.selectSubtitleTrackDialog","link":"selectSubtitleTrackDialog","description":"

Present Dialog to user to select subtitle track

"},{"title":"module:Subtitles.setupSubtitle","link":"setupSubtitle","description":"

Given a set of subtitles, and a subtitle index (the index on the server, not in the list provided)\nthis will set all relevant settings for roku (mainly closed captions) and return the index of the\nsubtitle track specified, but indexed based on the provided list of subtitles

"},{"title":"module:Subtitles.sortSubtitles","link":"sortSubtitles","description":"

Checks available subtitle tracks and puts subtitles in forced, default, and non-default/forced but preferred language at the top

"},{"title":"module:Subtitles.turnoffSubtitles","link":"turnoffSubtitles"},{"title":"module:TVEpisode","link":"TVEpisode"},{"title":"module:TVEpisode.setFields","link":"setFields"},{"title":"module:TVEpisode.setPoster","link":"setPoster"},{"title":"module:TVEpisodeData","link":"TVEpisodeData"},{"title":"module:TVEpisodeData.setFields","link":"setFields"},{"title":"module:TVEpisodeData.setPoster","link":"setPoster"},{"title":"module:TVEpisodeRow","link":"TVEpisodeRow"},{"title":"module:TVEpisodeRow.init","link":"init"},{"title":"module:TVEpisodeRow.onKeyEvent","link":"onKeyEvent"},{"title":"module:TVEpisodeRow.setData","link":"setData"},{"title":"module:TVEpisodeRow.setupRows","link":"setupRows"},{"title":"module:TVEpisodeRow.updateSize","link":"updateSize"},{"title":"module:TVEpisodeRowWithOptions","link":"TVEpisodeRowWithOptions"},{"title":"module:TVEpisodeRowWithOptions.SetUpAudioOptions","link":"SetUpAudioOptions","description":"

List of audio tracks to choose from

"},{"title":"module:TVEpisodeRowWithOptions.SetUpVideoOptions","link":"SetUpVideoOptions","description":"

List of video versions to choose from

"},{"title":"module:TVEpisodeRowWithOptions.audioOptionsClosed","link":"audioOptionsClosed"},{"title":"module:TVEpisodeRowWithOptions.init","link":"init"},{"title":"module:TVEpisodeRowWithOptions.onKeyEvent","link":"onKeyEvent"},{"title":"module:TVEpisodeRowWithOptions.rowsDoneLoading","link":"rowsDoneLoading"},{"title":"module:TVEpisodeRowWithOptions.setupRows","link":"setupRows"},{"title":"module:TVEpisodeRowWithOptions.videoOptionsClosed","link":"videoOptionsClosed"},{"title":"module:TVEpisodes","link":"TVEpisodes"},{"title":"module:TVEpisodes.init","link":"init"},{"title":"module:TVEpisodes.onKeyEvent","link":"onKeyEvent","description":"

Handle navigation input from the remote and act on it

"},{"title":"module:TVEpisodes.setExtraButtonVisibility","link":"setExtraButtonVisibility","description":"

Updates the visibility of the Extras button based on if this season has any extra features

"},{"title":"module:TVEpisodes.setSeasonLoading","link":"setSeasonLoading"},{"title":"module:TVEpisodes.updateSeason","link":"updateSeason"},{"title":"module:TVListDetails","link":"TVListDetails"},{"title":"module:TVListDetails.DisplayAudioAvailable","link":"DisplayAudioAvailable","description":"

Adds "+N" (e.g. +1) if there is more than one audio track to choose from

"},{"title":"module:TVListDetails.DisplayVideoAvailable","link":"DisplayVideoAvailable","description":"

Adds "+N" (e.g. +1) if there is more than one video version to choose from

"},{"title":"module:TVListDetails.SetupAudioDisplay","link":"SetupAudioDisplay","description":"

Display current audio_codec and check if there is more than one audio track to choose from...

"},{"title":"module:TVListDetails.focusChanged","link":"focusChanged"},{"title":"module:TVListDetails.getEndTime","link":"getEndTime"},{"title":"module:TVListDetails.getRuntime","link":"getRuntime"},{"title":"module:TVListDetails.init","link":"init"},{"title":"module:TVListDetails.itemContentChanged","link":"itemContentChanged"},{"title":"module:TVListOptions","link":"TVListOptions"},{"title":"module:TVListOptions.buttonFocusChanged","link":"buttonFocusChanged","description":"

Switch menu shown when button focus changes

"},{"title":"module:TVListOptions.init","link":"init"},{"title":"module:TVListOptions.onKeyEvent","link":"onKeyEvent"},{"title":"module:TVListOptions.optionsSet","link":"optionsSet"},{"title":"module:TVSeasonData","link":"TVSeasonData"},{"title":"module:TVSeasonData.setFields","link":"setFields"},{"title":"module:TVSeasonData.setPoster","link":"setPoster"},{"title":"module:TVSeasonRow","link":"TVSeasonRow"},{"title":"module:TVSeasonRow.getData","link":"getData"},{"title":"module:TVSeasonRow.init","link":"init"},{"title":"module:TVSeasonRow.updateSize","link":"updateSize"},{"title":"module:TVShowDescription","link":"TVShowDescription"},{"title":"module:TVShowDescription.getEndTime","link":"getEndTime"},{"title":"module:TVShowDescription.getHistory","link":"getHistory"},{"title":"module:TVShowDescription.getRuntime","link":"getRuntime"},{"title":"module:TVShowDescription.init","link":"init"},{"title":"module:TVShowDescription.itemContentChanged","link":"itemContentChanged"},{"title":"module:TVShowDescription.round","link":"round"},{"title":"module:TVShowDescription.setFieldText","link":"setFieldText"},{"title":"module:TVShowDetails","link":"TVShowDetails"},{"title":"module:TVShowDetails.getEndTime","link":"getEndTime"},{"title":"module:TVShowDetails.getHistory","link":"getHistory"},{"title":"module:TVShowDetails.getRuntime","link":"getRuntime"},{"title":"module:TVShowDetails.init","link":"init"},{"title":"module:TVShowDetails.itemContentChanged","link":"itemContentChanged"},{"title":"module:TVShowDetails.onKeyEvent","link":"onKeyEvent"},{"title":"module:TVShowDetails.onShuffleEpisodeDataLoaded","link":"onShuffleEpisodeDataLoaded"},{"title":"module:TVShowDetails.round","link":"round"},{"title":"module:TVShowDetails.setFieldText","link":"setFieldText"},{"title":"module:TextSizeTask","link":"TextSizeTask"},{"title":"module:TextSizeTask.getTextSize","link":"getTextSize"},{"title":"module:TextSizeTask.init","link":"init"},{"title":"module:UserData","link":"UserData"},{"title":"module:UserData.getPreference","link":"getPreference"},{"title":"module:UserData.loadFromJSON","link":"loadFromJSON"},{"title":"module:UserData.loadFromRegistry","link":"loadFromRegistry"},{"title":"module:UserData.removeFromRegistry","link":"removeFromRegistry"},{"title":"module:UserData.saveToRegistry","link":"saveToRegistry"},{"title":"module:UserData.setActive","link":"setActive"},{"title":"module:UserData.setDataFromJSON","link":"setDataFromJSON"},{"title":"module:UserData.setPreference","link":"setPreference"},{"title":"module:UserData.setServer","link":"setServer"},{"title":"module:UserItem","link":"UserItem"},{"title":"module:UserItem.init","link":"init"},{"title":"module:UserItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:UserLibrary","link":"UserLibrary"},{"title":"module:UserLibrary.MarkItemFavorite","link":"MarkItemFavorite"},{"title":"module:UserLibrary.MarkItemWatched","link":"MarkItemWatched"},{"title":"module:UserLibrary.UnmarkItemFavorite","link":"UnmarkItemFavorite"},{"title":"module:UserLibrary.UnmarkItemWatched","link":"UnmarkItemWatched"},{"title":"module:UserRow","link":"UserRow"},{"title":"module:UserRow.init","link":"init"},{"title":"module:UserRow.onKeyEvent","link":"onKeyEvent"},{"title":"module:UserRow.setData","link":"setData"},{"title":"module:UserRow.setUser","link":"setUser"},{"title":"module:UserRow.updateSize","link":"updateSize"},{"title":"module:UserSelect","link":"UserSelect"},{"title":"module:UserSelect.init","link":"init"},{"title":"module:UserSelect.itemContentChanged","link":"itemContentChanged"},{"title":"module:UserSelect.onKeyEvent","link":"onKeyEvent"},{"title":"module:UserSelect.redraw","link":"redraw"},{"title":"module:VideoData","link":"VideoData"},{"title":"module:VideoData.setFields","link":"setFields"},{"title":"module:VideoData.setPoster","link":"setPoster"},{"title":"module:VideoPlayer","link":"VideoPlayer"},{"title":"module:VideoPlayer.AddVideoContent","link":"AddVideoContent"},{"title":"module:VideoPlayer.GetPlaybackInfo","link":"GetPlaybackInfo","description":"

Returns an array of playback info to be displayed during playback.\nIn the future, with a custom playback info view, we can return an associated array.

"},{"title":"module:VideoPlayer.GetTranscodingStats","link":"GetTranscodingStats"},{"title":"module:VideoPlayer.PlayIntroVideo","link":"PlayIntroVideo"},{"title":"module:VideoPlayer.VideoPlayer","link":"VideoPlayer"},{"title":"module:VideoPlayer.autoPlayNextEpisode","link":"autoPlayNextEpisode"},{"title":"module:VideoPlayer.directPlaySupported","link":"directPlaySupported"},{"title":"module:VideoPlayer.getAudioFormat","link":"getAudioFormat"},{"title":"module:VideoPlayer.getAudioInfo","link":"getAudioInfo"},{"title":"module:VideoPlayer.getContainerType","link":"getContainerType"},{"title":"module:VideoPlayer.getDisplayBitrate","link":"getDisplayBitrate"},{"title":"module:VideoPlayer.getTranscodeReasons","link":"getTranscodeReasons","description":"

Extract array of Transcode Reasons from the content URL

"},{"title":"module:VideoPlayer.havePlaybackInfo","link":"havePlaybackInfo"},{"title":"module:VideoPlayer.startPlayBackOver","link":"startPlayBackOver","description":"

Opens dialog asking user if they want to resume video or start playback over only on the home screen

"},{"title":"module:VideoPlayerView","link":"VideoPlayerView"},{"title":"module:VideoPlayerView.ReportPlayback","link":"ReportPlayback","description":"

Report playback to server

"},{"title":"module:VideoPlayerView.bufferCheck","link":"bufferCheck","description":"

Check the the buffering has not hung

"},{"title":"module:VideoPlayerView.checkTimeToDisplayNextEpisode","link":"checkTimeToDisplayNextEpisode","description":"

Checks if we need to display the Next Episode button

"},{"title":"module:VideoPlayerView.getCurrentChapterIndex","link":"getCurrentChapterIndex","description":"

getCurrentChapterIndex: Finds current chapter index

"},{"title":"module:VideoPlayerView.handleChapterListAction","link":"handleChapterListAction","description":"

handleChapterListAction: Handles action to show chapter list

"},{"title":"module:VideoPlayerView.handleChapterSkipAction","link":"handleChapterSkipAction","description":"

handleChapterSkipAction: Handles user command to skip chapters in playing video

"},{"title":"module:VideoPlayerView.handleHideAction","link":"handleHideAction","description":"

handleHideAction: Handles action to hide pause menu

"},{"title":"module:VideoPlayerView.handleShowSubtitleMenuAction","link":"handleShowSubtitleMenuAction","description":"

handleShowSubtitleMenuAction: Handles action to show subtitle selection menu

"},{"title":"module:VideoPlayerView.handleShowVideoInfoPopupAction","link":"handleShowVideoInfoPopupAction","description":"

handleShowVideoInfoPopupAction: Handles action to show video info popup

"},{"title":"module:VideoPlayerView.handleVideoPlayPauseAction","link":"handleVideoPlayPauseAction","description":"

handleVideoPlayPauseAction: Handles action to either play or pause the video content

"},{"title":"module:VideoPlayerView.hideNextEpisodeButton","link":"hideNextEpisodeButton","description":"

Runs hide Next Episode button animation and sets focus back to video

"},{"title":"module:VideoPlayerView.init","link":"init"},{"title":"module:VideoPlayerView.loadCaption","link":"loadCaption","description":"

Set caption url to server subtitle track

"},{"title":"module:VideoPlayerView.onAllowCaptionsChange","link":"onAllowCaptionsChange","description":"

Only setup caption items if captions are allowed

"},{"title":"module:VideoPlayerView.onContentChange","link":"onContentChange","description":"

Event handler for when video content field changes

"},{"title":"module:VideoPlayerView.onKeyEvent","link":"onKeyEvent"},{"title":"module:VideoPlayerView.onNextEpisodeDataLoaded","link":"onNextEpisodeDataLoaded"},{"title":"module:VideoPlayerView.onPauseMenuAction","link":"onPauseMenuAction","description":"

onPauseMenuAction: Process action events from pause menu to their respective handlers

"},{"title":"module:VideoPlayerView.onPlaybackErrorButtonSelected","link":"onPlaybackErrorButtonSelected"},{"title":"module:VideoPlayerView.onPlaybackErrorDialogClosed","link":"onPlaybackErrorDialogClosed"},{"title":"module:VideoPlayerView.onPositionChanged","link":"onPositionChanged","description":"

When Video Player state changes

"},{"title":"module:VideoPlayerView.onState","link":"onState","description":"

When Video Player state changes

"},{"title":"module:VideoPlayerView.onSubtitleChange","link":"onSubtitleChange","description":"

Event handler for when selectedSubtitle changes

"},{"title":"module:VideoPlayerView.onVideoContentLoaded","link":"onVideoContentLoaded"},{"title":"module:VideoPlayerView.populateChapterMenu","link":"populateChapterMenu","description":"

populateChapterMenu: ' Parse chapter data from API and appeand to chapter list menu

"},{"title":"module:VideoPlayerView.showNextEpisodeButton","link":"showNextEpisodeButton","description":"

Runs Next Episode button animation and sets focus to button

"},{"title":"module:VideoPlayerView.showPlaybackErrorDialog","link":"showPlaybackErrorDialog"},{"title":"module:VideoPlayerView.stateAllowsPauseMenu","link":"stateAllowsPauseMenu","description":"

stateAllowsPauseMenu: Check if current video state allows showing the pause menu

"},{"title":"module:VideoPlayerView.toggleCaption","link":"toggleCaption","description":"

Toggles visibility of custom subtitles and sets captionTask's player state

"},{"title":"module:VideoPlayerView.updateCaption","link":"updateCaption","description":"

Removes old subtitle lines and adds new subtitle lines

"},{"title":"module:VideoPlayerView.updateCount","link":"updateCount","description":"

Update count down text

"},{"title":"module:VideoTrackListItem","link":"VideoTrackListItem"},{"title":"module:VideoTrackListItem.focusChanged","link":"focusChanged","description":"

Scroll description if focused

"},{"title":"module:VideoTrackListItem.init","link":"init"},{"title":"module:VideoTrackListItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:ViewCreator","link":"ViewCreator"},{"title":"module:ViewCreator.CreateAudioPlayerView","link":"CreateAudioPlayerView","description":"

Play Audio

"},{"title":"module:ViewCreator.CreateVideoPlayerView","link":"CreateVideoPlayerView","description":"

Play Video

"},{"title":"module:ViewCreator.availSubtitleTrackIdx","link":"availSubtitleTrackIdx","description":"

Roku translates the info provided in subtitleTracks into availableSubtitleTracks\nIncluding ignoring tracks, if they are not understood, thus making indexing unpredictable.\nThis function translates between our internel selected subtitle index\nand the corresponding index in availableSubtitleTracks.

"},{"title":"module:ViewCreator.onPlaybackInfoLoaded","link":"onPlaybackInfoLoaded","description":"

The playback info task has returned data

"},{"title":"module:ViewCreator.onSelectPlaybackInfoPressed","link":"onSelectPlaybackInfoPressed","description":"

User requested playback info

"},{"title":"module:ViewCreator.onSelectSubtitlePressed","link":"onSelectSubtitlePressed","description":"

User requested subtitle selection popup

"},{"title":"module:ViewCreator.onSelectionMade","link":"onSelectionMade","description":"

User has selected something from the radioDialog popup

"},{"title":"module:ViewCreator.onStateChange","link":"onStateChange","description":"

Playback state change event handlers

"},{"title":"module:ViewCreator.processSubtitleSelection","link":"processSubtitleSelection"},{"title":"module:WhatsNewDialog","link":"WhatsNewDialog"},{"title":"module:WhatsNewDialog.init","link":"init"},{"title":"module:WhatsNewDialog.setPalette","link":"setPalette"},{"title":"module:baserequest","link":"baserequest"},{"title":"module:baserequest.APIRequest","link":"APIRequest"},{"title":"module:baserequest.authRequest","link":"authRequest","description":"

Takes and returns a roUrlTransfer object after adding a Jellyfin "Authorization" header

"},{"title":"module:baserequest.buildAuthHeader","link":"buildAuthHeader","description":"

Returns a string containing the "Authorization" header payload

"},{"title":"module:baserequest.buildParams","link":"buildParams","description":"

Functions for making requests to the API

"},{"title":"module:baserequest.buildURL","link":"buildURL"},{"title":"module:baserequest.deleteVoid","link":"deleteVoid"},{"title":"module:baserequest.getJson","link":"getJson"},{"title":"module:baserequest.getString","link":"getString"},{"title":"module:baserequest.getVoid","link":"getVoid"},{"title":"module:baserequest.get_url","link":"get_url"},{"title":"module:baserequest.headVoid","link":"headVoid"},{"title":"module:baserequest.postJson","link":"postJson"},{"title":"module:baserequest.postString","link":"postString"},{"title":"module:baserequest.postVoid","link":"postVoid"},{"title":"module:baserequest.setCertificateAuthority","link":"setCertificateAuthority","description":"

sets the certificate authority by file path on the passed node

"},{"title":"module:captionTask","link":"captionTask"},{"title":"module:captionTask.fetchCaption","link":"fetchCaption"},{"title":"module:captionTask.init","link":"init"},{"title":"module:captionTask.isTime","link":"isTime"},{"title":"module:captionTask.newLayoutGroup","link":"newLayoutGroup"},{"title":"module:captionTask.newRect","link":"newRect"},{"title":"module:captionTask.newlabel","link":"newlabel"},{"title":"module:captionTask.parseVTT","link":"parseVTT"},{"title":"module:captionTask.setFont","link":"setFont"},{"title":"module:captionTask.toMs","link":"toMs"},{"title":"module:captionTask.updateCaption","link":"updateCaption"},{"title":"module:config","link":"config"},{"title":"module:config.GetConfigTree","link":"GetConfigTree","description":"

Read config tree from json config file and return

"},{"title":"module:config.RegistryReadAll","link":"RegistryReadAll","description":"

Return all data found inside a registry section

"},{"title":"module:config.findConfigTreeKey","link":"findConfigTreeKey","description":"

Recursivly search the config tree for entry with settingname equal to key

"},{"title":"module:config.getRegistrySections","link":"getRegistrySections","description":"

Return an array of all the registry section keys

"},{"title":"module:config.getSavedUsers","link":"getSavedUsers","description":"

Returns an array of saved users from the registry\nthat belong to the active server

"},{"title":"module:config.get_setting","link":"get_setting","description":"

"Jellyfin" registry accessors for the default global settings

"},{"title":"module:config.get_user_setting","link":"get_user_setting","description":"

User registry accessors for the currently active user

"},{"title":"module:config.registry_delete","link":"registry_delete"},{"title":"module:config.registry_read","link":"registry_read","description":"

Generic registry accessors

"},{"title":"module:config.registry_write","link":"registry_write"},{"title":"module:config.set_setting","link":"set_setting"},{"title":"module:config.set_user_setting","link":"set_user_setting"},{"title":"module:config.unset_setting","link":"unset_setting"},{"title":"module:config.unset_user_setting","link":"unset_user_setting"},{"title":"module:deviceCapabilities","link":"deviceCapabilities"},{"title":"module:deviceCapabilities.GetBitRateLimit","link":"GetBitRateLimit"},{"title":"module:deviceCapabilities.GetDirectPlayProfiles","link":"GetDirectPlayProfiles"},{"title":"module:deviceCapabilities.getCodecProfiles","link":"getCodecProfiles"},{"title":"module:deviceCapabilities.getContainerProfiles","link":"getContainerProfiles"},{"title":"module:deviceCapabilities.getDeviceCapabilities","link":"getDeviceCapabilities","description":"

Returns the Device Capabilities for Roku.\nAlso prints out the device profile for debugging

"},{"title":"module:deviceCapabilities.getDeviceProfile","link":"getDeviceProfile"},{"title":"module:deviceCapabilities.getMaxHeightArray","link":"getMaxHeightArray"},{"title":"module:deviceCapabilities.getMaxWidthArray","link":"getMaxWidthArray"},{"title":"module:deviceCapabilities.getSubtitleProfiles","link":"getSubtitleProfiles"},{"title":"module:deviceCapabilities.getTranscodingProfiles","link":"getTranscodingProfiles"},{"title":"module:deviceCapabilities.printDeviceProfile","link":"printDeviceProfile","description":"

Print out the deviceProfile for debugging

"},{"title":"module:deviceCapabilities.removeDecimals","link":"removeDecimals","description":"

Remove all decimals from a string

"},{"title":"module:deviceCapabilities.setPreferredCodec","link":"setPreferredCodec","description":"

Takes and returns a comma delimited string of codecs.\nMoves the preferred codec to the front of the string

"},{"title":"module:deviceCapabilities.updateProfileArray","link":"updateProfileArray","description":"

Recieves and returns an assArray of supported profiles and levels for each video codec

"},{"title":"module:globals","link":"globals"},{"title":"module:globals.SaveAppToGlobal","link":"SaveAppToGlobal","description":"

Save information from roAppInfo to m.global.app

"},{"title":"module:globals.SaveDeviceToGlobal","link":"SaveDeviceToGlobal","description":"

Save information from roDeviceInfo to m.global.device

"},{"title":"module:globals.setConstants","link":"setConstants","description":"

Set global constants

"},{"title":"module:migrations","link":"migrations"},{"title":"module:migrations.runGlobalMigrations","link":"runGlobalMigrations","description":"

Run all necessary registry mirations on the "global" Jellyfin registry section

"},{"title":"module:migrations.runRegistryUserMigrations","link":"runRegistryUserMigrations"},{"title":"module:misc","link":"misc"},{"title":"module:misc.AssocArrayEqual","link":"AssocArrayEqual"},{"title":"module:misc.arrayHasValue","link":"arrayHasValue","description":"

Check if a specific value is inside of an array

"},{"title":"module:misc.div_ceiling","link":"div_ceiling"},{"title":"module:misc.findNodeBySubtype","link":"findNodeBySubtype"},{"title":"module:misc.formatTime","link":"formatTime","description":"

Format time as 12 or 24 hour format based on system clock setting

"},{"title":"module:misc.getButton","link":"getButton"},{"title":"module:misc.getMinutes","link":"getMinutes","description":"

Converts ticks to minutes

"},{"title":"module:misc.getMsgPicker","link":"getMsgPicker"},{"title":"module:misc.get_dialog_result","link":"get_dialog_result","description":"

Returns the item selected or -1 on backpress or other unhandled closure of dialog.

"},{"title":"module:misc.inArray","link":"inArray","description":"

Search string array for search value. Return if it's found

"},{"title":"module:misc.inferServerUrl","link":"inferServerUrl","description":"

take an incomplete url string and use it to make educated guesses about\nthe complete url. then tests these guesses to see if it can find a jf server\nreturns the url of the server it found, or an empty string

"},{"title":"module:misc.isJellyfinServer","link":"isJellyfinServer","description":"

accepts the raw json string of /system/info/public and returns\na boolean indicating if ProductName is "Jellyfin Server"

"},{"title":"module:misc.isLocalhost","link":"isLocalhost","description":"

Returns true if the string is a loopback, such as 'localhost' or '127.0.0.1'

"},{"title":"module:misc.isNodeEvent","link":"isNodeEvent"},{"title":"module:misc.isValid","link":"isValid","description":"

Returns whether or not passed value is valid

"},{"title":"module:misc.isValidAndNotEmpty","link":"isValidAndNotEmpty","description":"

Returns whether or not passed value is valid and not empty\nAccepts a string, or any countable type (arrays and lists)

"},{"title":"module:misc.lastFocusedChild","link":"lastFocusedChild"},{"title":"module:misc.leftPad","link":"leftPad"},{"title":"module:misc.message_dialog","link":"message_dialog"},{"title":"module:misc.option_dialog","link":"option_dialog"},{"title":"module:misc.parseUrl","link":"parseUrl","description":"

Returns an array from a url = [ url, proto, host, port, subdir+params ]\nIf port or subdir are not found, an empty string will be added to the array\nProto must be declared or array will be empty

"},{"title":"module:misc.roundNumber","link":"roundNumber","description":"

Rounds number to nearest integer

"},{"title":"module:misc.secondsToHuman","link":"secondsToHuman"},{"title":"module:misc.setFieldTextValue","link":"setFieldTextValue"},{"title":"module:misc.show_dialog","link":"show_dialog"},{"title":"module:misc.shuffleArray","link":"shuffleArray","description":"

Takes an array of data, shuffles the order, then returns the array\nuses the Fisher-Yates shuffling algorithm

"},{"title":"module:misc.startLoadingSpinner","link":"startLoadingSpinner"},{"title":"module:misc.startMediaLoadingSpinner","link":"startMediaLoadingSpinner"},{"title":"module:misc.stopLoadingSpinner","link":"stopLoadingSpinner"},{"title":"module:misc.ticksToHuman","link":"ticksToHuman"},{"title":"module:misc.toString","link":"toString"},{"title":"module:misc.urlCandidates","link":"urlCandidates","description":"

this is the "educated guess" logic for inferServerUrl that generates a list of complete url's as candidates\nfor the tests in inferServerUrl. takes an incomplete url as an arg and returns a list of extrapolated\nfull urls.

"},{"title":"module:misc.versionChecker","link":"versionChecker","description":"

Returns whether or not a version number (e.g. 10.7.7) is greater or equal\nto some minimum version allowed (e.g. 10.8.0)

"},{"title":"module:quickplay","link":"quickplay"},{"title":"module:quickplay.album","link":"album","description":"

A music album.\nPlay the entire album starting with track 1.

"},{"title":"module:quickplay.artist","link":"artist","description":"

A music artist.\nShuffle play all songs by artist.

"},{"title":"module:quickplay.audio","link":"audio","description":"

A single audio file.

"},{"title":"module:quickplay.boxset","link":"boxset","description":"

A boxset.\nPlay all items inside.

"},{"title":"module:quickplay.collectionFolder","link":"collectionFolder","description":"

Quick Play A CollectionFolder.\nShuffle play the items inside\nwith some differences based on collectionType.

"},{"title":"module:quickplay.folder","link":"folder","description":"

Quick Play A folder.\nShuffle play all items found

"},{"title":"module:quickplay.multipleSeries","link":"multipleSeries","description":"

More than one TV Show Series.\nShuffle play all watched episodes

"},{"title":"module:quickplay.musicVideo","link":"musicVideo","description":"

A single music video file.

"},{"title":"module:quickplay.person","link":"person","description":"

Quick Play A Person.\nShuffle play all videos found

"},{"title":"module:quickplay.photo","link":"photo","description":"

A single photo.

"},{"title":"module:quickplay.photoAlbum","link":"photoAlbum","description":"

A photo album.

"},{"title":"module:quickplay.playlist","link":"playlist","description":"

Quick Play A Playlist.\nPlay the first unwatched episode.\nIf none, play the whole season starting with episode 1.

"},{"title":"module:quickplay.program","link":"program","description":"

Quick Play A Live Program

"},{"title":"module:quickplay.pushToQueue","link":"pushToQueue","description":"

Takes an array of items and adds to global queue.\nAlso shuffles the playlist if asked

"},{"title":"module:quickplay.season","link":"season","description":"

A TV Show Season.\nPlay the first unwatched episode.\nIf none, play the whole season starting with episode 1.

"},{"title":"module:quickplay.series","link":"series","description":"

A TV Show Series.\nPlay the first unwatched episode.\nIf none, shuffle play the whole series.

"},{"title":"module:quickplay.tvChannel","link":"tvChannel","description":"

Quick Play A TVChannel

"},{"title":"module:quickplay.userView","link":"userView","description":"

Quick Play A UserView.\nPlay logic depends on "collectionType".

"},{"title":"module:quickplay.video","link":"video","description":"

A single video file.

"},{"title":"module:schedule","link":"schedule"},{"title":"module:schedule.channelFilterSet","link":"channelFilterSet"},{"title":"module:schedule.channelsearchTermSet","link":"channelsearchTermSet","description":"

Voice Search set

"},{"title":"module:schedule.focusProgramDetails","link":"focusProgramDetails","description":"

Move the TV Guide Grid down or up depending whether details are selected

"},{"title":"module:schedule.init","link":"init"},{"title":"module:schedule.onChannelsLoaded","link":"onChannelsLoaded","description":"

Initial list of channels loaded

"},{"title":"module:schedule.onGridScrolled","link":"onGridScrolled","description":"

As user scrolls grid, check if more data requries to be loaded

"},{"title":"module:schedule.onKeyEvent","link":"onKeyEvent"},{"title":"module:schedule.onProgramDetailsLoaded","link":"onProgramDetailsLoaded","description":"

Update the Program Details with full information

"},{"title":"module:schedule.onProgramFocused","link":"onProgramFocused"},{"title":"module:schedule.onProgramSelected","link":"onProgramSelected"},{"title":"module:schedule.onRecordChannelSelected","link":"onRecordChannelSelected","description":"

Handle user selecting "Record Channel" from Program Details

"},{"title":"module:schedule.onRecordOperationDone","link":"onRecordOperationDone"},{"title":"module:schedule.onRecordSeriesChannelSelected","link":"onRecordSeriesChannelSelected","description":"

Handle user selecting "Record Series" from Program Details

"},{"title":"module:schedule.onScheduleLoaded","link":"onScheduleLoaded","description":"

When LoadScheduleTask completes (initial or more data) and we have a schedule to display

"},{"title":"module:schedule.onWatchChannelSelected","link":"onWatchChannelSelected","description":"

Handle user selecting "Watch Channel" from Program Details

"},{"title":"module:section","link":"section"},{"title":"module:section.init","link":"init"},{"title":"module:section.onFocusChange","link":"onFocusChange"},{"title":"module:section.onIDChange","link":"onIDChange"},{"title":"module:section.onTranslationChange","link":"onTranslationChange"},{"title":"module:section.scrollDownToOnDeck","link":"scrollDownToOnDeck"},{"title":"module:section.scrollOffBottom","link":"scrollOffBottom"},{"title":"module:section.scrollOffOnDeck","link":"scrollOffOnDeck"},{"title":"module:section.scrollOffTop","link":"scrollOffTop"},{"title":"module:section.scrollUpToOnDeck","link":"scrollUpToOnDeck"},{"title":"module:section.showFromBottom","link":"showFromBottom"},{"title":"module:section.showFromTop","link":"showFromTop"},{"title":"module:sectionScroller","link":"sectionScroller"},{"title":"module:sectionScroller.displayedIndexChanged","link":"displayedIndexChanged"},{"title":"module:sectionScroller.init","link":"init"},{"title":"module:sectionScroller.onFocusChange","link":"onFocusChange"},{"title":"module:settings","link":"settings"},{"title":"module:settings.LoadMenu","link":"LoadMenu"},{"title":"module:settings.OnScreenHidden","link":"OnScreenHidden","description":"

JFScreen hook that gets ran as needed.\nAssumes settings were changed and they affect the device profile.\nPosts a new device profile to the server using the task thread

"},{"title":"module:settings.boolSettingChanged","link":"boolSettingChanged"},{"title":"module:settings.init","link":"init"},{"title":"module:settings.isFormInFocus","link":"isFormInFocus","description":"

Returns true if any of the data entry forms are in focus

"},{"title":"module:settings.onKeyEvent","link":"onKeyEvent"},{"title":"module:settings.onKeyGridEscape","link":"onKeyGridEscape"},{"title":"module:settings.onKeyGridSubmit","link":"onKeyGridSubmit"},{"title":"module:settings.postFinished","link":"postFinished","description":"

Triggered by m.postTask after completing a post.\nEmpty the task data when finished.

"},{"title":"module:settings.radioSettingChanged","link":"radioSettingChanged"},{"title":"module:settings.settingFocused","link":"settingFocused"},{"title":"module:settings.settingSelected","link":"settingSelected"},{"title":"module:userauth","link":"userauth"},{"title":"module:userauth.AboutMe","link":"AboutMe"},{"title":"module:userauth.AuthenticateViaQuickConnect","link":"AuthenticateViaQuickConnect"},{"title":"module:userauth.AvailableUsers","link":"AvailableUsers"},{"title":"module:userauth.GetPublicUsers","link":"GetPublicUsers"},{"title":"module:userauth.LoadUserAbilities","link":"LoadUserAbilities"},{"title":"module:userauth.ServerInfo","link":"ServerInfo"},{"title":"module:userauth.SignOut","link":"SignOut"},{"title":"module:userauth.checkQuickConnect","link":"checkQuickConnect"},{"title":"module:userauth.get_token","link":"get_token"},{"title":"module:userauth.initQuickConnect","link":"initQuickConnect"}]} \ No newline at end of file +{"list":[{"title":"module:AlbumData","link":"AlbumData"},{"title":"module:AlbumData.setFields","link":"setFields"},{"title":"module:AlbumGrid","link":"AlbumGrid"},{"title":"module:AlbumGrid.getData","link":"getData"},{"title":"module:AlbumGrid.init","link":"init"},{"title":"module:AlbumGrid.onKeyEvent","link":"onKeyEvent"},{"title":"module:AlbumTrackList","link":"AlbumTrackList"},{"title":"module:AlbumTrackList.getData","link":"getData"},{"title":"module:AlbumTrackList.init","link":"init"},{"title":"module:AlbumView","link":"AlbumView"},{"title":"module:AlbumView.OnScreenHidden","link":"OnScreenHidden"},{"title":"module:AlbumView.adjustScreenForNoOverview","link":"adjustScreenForNoOverview","description":"

Adjust scene by removing overview node and showing more songs

"},{"title":"module:AlbumView.createDialogPallete","link":"createDialogPallete"},{"title":"module:AlbumView.createFullDscrDlg","link":"createFullDscrDlg"},{"title":"module:AlbumView.init","link":"init"},{"title":"module:AlbumView.onDoneLoading","link":"onDoneLoading"},{"title":"module:AlbumView.onKeyEvent","link":"onKeyEvent"},{"title":"module:AlbumView.pageContentChanged","link":"pageContentChanged","description":"

Set values for displayed values on screen

"},{"title":"module:AlbumView.setOnScreenTextValues","link":"setOnScreenTextValues","description":"

Populate on screen text variables

"},{"title":"module:AlbumView.setPosterImage","link":"setPosterImage","description":"

Set poster image on screen

"},{"title":"module:AlbumView.setScreenTitle","link":"setScreenTitle","description":"

Set screen's title text

"},{"title":"module:AlbumView.setupMainNode","link":"setupMainNode"},{"title":"module:Alpha","link":"Alpha"},{"title":"module:Alpha.init","link":"init"},{"title":"module:Alpha.onKeyEvent","link":"onKeyEvent"},{"title":"module:ArtistView","link":"ArtistView"},{"title":"module:ArtistView.OnScreenHidden","link":"OnScreenHidden"},{"title":"module:ArtistView.OnScreenShown","link":"OnScreenShown"},{"title":"module:ArtistView.artistOverviewChanged","link":"artistOverviewChanged","description":"

Event fired when page data is loaded

"},{"title":"module:ArtistView.createDialogPallete","link":"createDialogPallete"},{"title":"module:ArtistView.createFullDscrDlg","link":"createFullDscrDlg"},{"title":"module:ArtistView.dscrShowFocus","link":"dscrShowFocus"},{"title":"module:ArtistView.init","link":"init"},{"title":"module:ArtistView.onAlbumsData","link":"onAlbumsData"},{"title":"module:ArtistView.onAlbumsEscape","link":"onAlbumsEscape"},{"title":"module:ArtistView.onAppearsOnData","link":"onAppearsOnData"},{"title":"module:ArtistView.onAppearsOnEscape","link":"onAppearsOnEscape"},{"title":"module:ArtistView.onBackdropImageLoaded","link":"onBackdropImageLoaded"},{"title":"module:ArtistView.onButtonSelectedChange","link":"onButtonSelectedChange","description":"

Event handler when user selected a different playback button

"},{"title":"module:ArtistView.onEllipsisChanged","link":"onEllipsisChanged"},{"title":"module:ArtistView.onKeyEvent","link":"onKeyEvent"},{"title":"module:ArtistView.onSectionNavigationEscape","link":"onSectionNavigationEscape"},{"title":"module:ArtistView.onSectionNavigationSelected","link":"onSectionNavigationSelected"},{"title":"module:ArtistView.onSectionScrollerChange","link":"onSectionScrollerChange"},{"title":"module:ArtistView.pageContentChanged","link":"pageContentChanged","description":"

Event fired when page data is loaded

"},{"title":"module:ArtistView.setBackdropImage","link":"setBackdropImage","description":"

Add backdrop image to screen

"},{"title":"module:ArtistView.setPosterImage","link":"setPosterImage"},{"title":"module:ArtistView.setScreenTitle","link":"setScreenTitle"},{"title":"module:ArtistView.setupButtons","link":"setupButtons","description":"

Setup playback buttons, default to Play button selected

"},{"title":"module:ArtistView.setupMainNode","link":"setupMainNode"},{"title":"module:AudioPlayer","link":"AudioPlayer"},{"title":"module:AudioPlayer.ReportPlayback","link":"ReportPlayback","description":"

Report playback to server

"},{"title":"module:AudioPlayer.audioStateChanged","link":"audioStateChanged","description":"

State Change Event Handler

"},{"title":"module:AudioPlayer.init","link":"init"},{"title":"module:AudioPlayerView","link":"AudioPlayerView"},{"title":"module:AudioPlayerView.LoadNextSong","link":"LoadNextSong"},{"title":"module:AudioPlayerView.OnScreenHidden","link":"OnScreenHidden"},{"title":"module:AudioPlayerView.audioPositionChanged","link":"audioPositionChanged"},{"title":"module:AudioPlayerView.audioStateChanged","link":"audioStateChanged"},{"title":"module:AudioPlayerView.bufferPositionChanged","link":"bufferPositionChanged"},{"title":"module:AudioPlayerView.endScreenSaver","link":"endScreenSaver"},{"title":"module:AudioPlayerView.findCurrentSongIndex","link":"findCurrentSongIndex"},{"title":"module:AudioPlayerView.init","link":"init"},{"title":"module:AudioPlayerView.loadButtons","link":"loadButtons","description":"

If we have more and 1 song to play, fade in the next and previous controls

"},{"title":"module:AudioPlayerView.loopClicked","link":"loopClicked"},{"title":"module:AudioPlayerView.nextClicked","link":"nextClicked"},{"title":"module:AudioPlayerView.onAudioStreamLoaded","link":"onAudioStreamLoaded"},{"title":"module:AudioPlayerView.onBackdropImageLoaded","link":"onBackdropImageLoaded"},{"title":"module:AudioPlayerView.onButtonSelectedChange","link":"onButtonSelectedChange","description":"

Event handler when user selected a different playback button

"},{"title":"module:AudioPlayerView.onKeyEvent","link":"onKeyEvent","description":"

Process key press events

"},{"title":"module:AudioPlayerView.onMetaDataLoaded","link":"onMetaDataLoaded"},{"title":"module:AudioPlayerView.onScreensaverTimeoutLoaded","link":"onScreensaverTimeoutLoaded"},{"title":"module:AudioPlayerView.pageContentChanged","link":"pageContentChanged","description":"

Update values on screen when page content changes

"},{"title":"module:AudioPlayerView.playAction","link":"playAction"},{"title":"module:AudioPlayerView.previousClicked","link":"previousClicked"},{"title":"module:AudioPlayerView.resetLoopModeToDefault","link":"resetLoopModeToDefault"},{"title":"module:AudioPlayerView.screenSaverActive","link":"screenSaverActive"},{"title":"module:AudioPlayerView.setBackdropImage","link":"setBackdropImage","description":"

Add backdrop image to screen

"},{"title":"module:AudioPlayerView.setLoopButtonImage","link":"setLoopButtonImage"},{"title":"module:AudioPlayerView.setOnScreenTextValues","link":"setOnScreenTextValues","description":"

Populate on screen text variables

"},{"title":"module:AudioPlayerView.setPosterImage","link":"setPosterImage","description":"

Set poster image on screen

"},{"title":"module:AudioPlayerView.setScreenTitle","link":"setScreenTitle","description":"

Set screen's title text

"},{"title":"module:AudioPlayerView.setShuffleIconState","link":"setShuffleIconState"},{"title":"module:AudioPlayerView.setTrackNumberDisplay","link":"setTrackNumberDisplay"},{"title":"module:AudioPlayerView.setupAnimationTasks","link":"setupAnimationTasks"},{"title":"module:AudioPlayerView.setupAudioNode","link":"setupAudioNode","description":"

Creates audio node used to play song(s)

"},{"title":"module:AudioPlayerView.setupButtons","link":"setupButtons","description":"

Setup playback buttons, default to Play button selected

"},{"title":"module:AudioPlayerView.setupDataTasks","link":"setupDataTasks","description":"

Creates tasks to gather data needed to render Scene and play song

"},{"title":"module:AudioPlayerView.setupInfoNodes","link":"setupInfoNodes"},{"title":"module:AudioPlayerView.setupScreenSaver","link":"setupScreenSaver"},{"title":"module:AudioPlayerView.shuffleClicked","link":"shuffleClicked"},{"title":"module:AudioPlayerView.startScreenSaver","link":"startScreenSaver"},{"title":"module:AudioPlayerView.toggleShuffleEnabled","link":"toggleShuffleEnabled"},{"title":"module:AudioTrackListItem","link":"AudioTrackListItem"},{"title":"module:AudioTrackListItem.focusChanged","link":"focusChanged","description":"

Scroll description if focused

"},{"title":"module:AudioTrackListItem.init","link":"init"},{"title":"module:AudioTrackListItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:ButtonGroupHoriz","link":"ButtonGroupHoriz"},{"title":"module:ButtonGroupHoriz.init","link":"init"},{"title":"module:ButtonGroupHoriz.onKeyEvent","link":"onKeyEvent"},{"title":"module:ButtonGroupVert","link":"ButtonGroupVert"},{"title":"module:ButtonGroupVert.init","link":"init"},{"title":"module:ButtonGroupVert.onFocusButtonChanged","link":"onFocusButtonChanged"},{"title":"module:ButtonGroupVert.onFocusChanged","link":"onFocusChanged"},{"title":"module:ButtonGroupVert.onKeyEvent","link":"onKeyEvent"},{"title":"module:ChannelData","link":"ChannelData"},{"title":"module:ChannelData.setFields","link":"setFields"},{"title":"module:ChannelData.setPoster","link":"setPoster"},{"title":"module:Clock","link":"Clock"},{"title":"module:Clock.init","link":"init"},{"title":"module:Clock.onCurrentTimeTimerFire","link":"onCurrentTimeTimerFire","description":"

onCurrentTimeTimerFire: Code that runs every time the currentTimeTimer fires

"},{"title":"module:CollectionData","link":"CollectionData"},{"title":"module:CollectionData.setFields","link":"setFields"},{"title":"module:CollectionData.setPoster","link":"setPoster"},{"title":"module:ConfigData","link":"ConfigData"},{"title":"module:ConfigData.init","link":"init"},{"title":"module:ConfigItem","link":"ConfigItem"},{"title":"module:ConfigItem.init","link":"init"},{"title":"module:ConfigItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:ConfigItem.setColors","link":"setColors"},{"title":"module:ConfigList","link":"ConfigList"},{"title":"module:ConfigList.configListShowDialog","link":"configListShowDialog"},{"title":"module:ConfigList.dismiss_dialog","link":"dismiss_dialog"},{"title":"module:ConfigList.init","link":"init"},{"title":"module:ConfigList.onDialogButton","link":"onDialogButton"},{"title":"module:ConfigList.onItemSelected","link":"onItemSelected"},{"title":"module:ConfigList.setData","link":"setData"},{"title":"module:ExtrasItem","link":"ExtrasItem"},{"title":"module:ExtrasItem.focusChanged","link":"focusChanged"},{"title":"module:ExtrasItem.init","link":"init"},{"title":"module:ExtrasItem.showContent","link":"showContent"},{"title":"module:ExtrasRowList","link":"ExtrasRowList"},{"title":"module:ExtrasRowList.addRowSize","link":"addRowSize"},{"title":"module:ExtrasRowList.buildRow","link":"buildRow"},{"title":"module:ExtrasRowList.init","link":"init"},{"title":"module:ExtrasRowList.loadParts","link":"loadParts"},{"title":"module:ExtrasRowList.loadPersonVideos","link":"loadPersonVideos"},{"title":"module:ExtrasRowList.onAdditionalPartsLoaded","link":"onAdditionalPartsLoaded"},{"title":"module:ExtrasRowList.onLikeThisLoaded","link":"onLikeThisLoaded"},{"title":"module:ExtrasRowList.onMoviesLoaded","link":"onMoviesLoaded"},{"title":"module:ExtrasRowList.onPeopleLoaded","link":"onPeopleLoaded"},{"title":"module:ExtrasRowList.onRowItemFocused","link":"onRowItemFocused"},{"title":"module:ExtrasRowList.onRowItemSelected","link":"onRowItemSelected"},{"title":"module:ExtrasRowList.onSeriesLoaded","link":"onSeriesLoaded"},{"title":"module:ExtrasRowList.onShowsLoaded","link":"onShowsLoaded"},{"title":"module:ExtrasRowList.onSpecialFeaturesLoaded","link":"onSpecialFeaturesLoaded"},{"title":"module:ExtrasRowList.updateSize","link":"updateSize"},{"title":"module:FavoriteItemsTask","link":"FavoriteItemsTask"},{"title":"module:FavoriteItemsTask.init","link":"init"},{"title":"module:FavoriteItemsTask.setFavoriteStatus","link":"setFavoriteStatus"},{"title":"module:FolderData","link":"FolderData"},{"title":"module:FolderData.setFields","link":"setFields"},{"title":"module:FolderData.setPoster","link":"setPoster"},{"title":"module:GetFiltersTask","link":"GetFiltersTask"},{"title":"module:GetFiltersTask.getFiltersTask","link":"getFiltersTask"},{"title":"module:GetFiltersTask.init","link":"init"},{"title":"module:GetNextEpisodeTask","link":"GetNextEpisodeTask"},{"title":"module:GetNextEpisodeTask.getNextEpisodeTask","link":"getNextEpisodeTask"},{"title":"module:GetNextEpisodeTask.init","link":"init"},{"title":"module:GetPlaybackInfoTask","link":"GetPlaybackInfoTask"},{"title":"module:GetPlaybackInfoTask.GetTranscodingStats","link":"GetTranscodingStats"},{"title":"module:GetPlaybackInfoTask.ItemPostPlaybackInfo","link":"ItemPostPlaybackInfo"},{"title":"module:GetPlaybackInfoTask.getDisplayBitrate","link":"getDisplayBitrate"},{"title":"module:GetPlaybackInfoTask.getPlaybackInfoTask","link":"getPlaybackInfoTask","description":"

Returns an array of playback info to be displayed during playback.\nIn the future, with a custom playback info view, we can return an associated array.

"},{"title":"module:GetPlaybackInfoTask.havePlaybackInfo","link":"havePlaybackInfo"},{"title":"module:GetPlaybackInfoTask.init","link":"init"},{"title":"module:GetShuffleEpisodesTask","link":"GetShuffleEpisodesTask"},{"title":"module:GetShuffleEpisodesTask.getShuffleEpisodesTask","link":"getShuffleEpisodesTask"},{"title":"module:GetShuffleEpisodesTask.init","link":"init"},{"title":"module:GridItem","link":"GridItem"},{"title":"module:GridItem.focusChanged","link":"focusChanged","description":"

Display or hide title Visibility on focus change

"},{"title":"module:GridItem.focusChanging","link":"focusChanging","description":"

Use FocusPercent to animate scaling of Poser Image

"},{"title":"module:GridItem.init","link":"init"},{"title":"module:GridItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:GridItem.onPosterLoadStatusChanged","link":"onPosterLoadStatusChanged","description":"

Hide backdrop and text when poster loaded

"},{"title":"module:GridItemSmall","link":"GridItemSmall"},{"title":"module:GridItemSmall.focusChanged","link":"focusChanged"},{"title":"module:GridItemSmall.init","link":"init"},{"title":"module:GridItemSmall.itemContentChanged","link":"itemContentChanged"},{"title":"module:GridItemSmall.onPosterLoadStatusChanged","link":"onPosterLoadStatusChanged","description":"

Hide backdrop and text when poster loaded

"},{"title":"module:Home","link":"Home"},{"title":"module:Home.OnScreenShown","link":"OnScreenShown","description":"

JFScreen hook that gets ran as needed.\nUsed to update the focus, the state of the data, and tells the server about the device profile

"},{"title":"module:Home.init","link":"init"},{"title":"module:Home.loadLibraries","link":"loadLibraries"},{"title":"module:Home.postFinished","link":"postFinished","description":"

Triggered by m.postTask after completing a post.\nEmpty the task data when finished.

"},{"title":"module:Home.refresh","link":"refresh"},{"title":"module:HomeData","link":"HomeData"},{"title":"module:HomeData.setData","link":"setData"},{"title":"module:HomeItem","link":"HomeItem"},{"title":"module:HomeItem.drawProgressBar","link":"drawProgressBar","description":"

Draws and animates item progress bar

"},{"title":"module:HomeItem.focusChanged","link":"focusChanged","description":"

Enable title scrolling based on item Focus

"},{"title":"module:HomeItem.init","link":"init"},{"title":"module:HomeItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:HomeItem.onPosterLoadStatusChanged","link":"onPosterLoadStatusChanged","description":"

Hide backdrop and icon when poster loaded

"},{"title":"module:HomeRows","link":"HomeRows"},{"title":"module:HomeRows.addHomeSection","link":"addHomeSection","description":"

Adds a new home section to the home rows.\nReturns a boolean indicating whether the section was handled.

"},{"title":"module:HomeRows.createContinueWatchingRow","link":"createContinueWatchingRow","description":"

Create a row displaying items the user can continue watching

"},{"title":"module:HomeRows.createFavoritesRow","link":"createFavoritesRow","description":"

Create a row displaying items from the user's favorites list

"},{"title":"module:HomeRows.createLatestInRows","link":"createLatestInRows","description":"

Create a row displaying latest items in each of the user's libraries

"},{"title":"module:HomeRows.createLibraryRow","link":"createLibraryRow","description":"

Create a row displaying the user's libraries

"},{"title":"module:HomeRows.createLiveTVRow","link":"createLiveTVRow","description":"

Create a row displaying the live tv now on section

"},{"title":"module:HomeRows.createNextUpRow","link":"createNextUpRow","description":"

Create a row displaying next episodes up to watch

"},{"title":"module:HomeRows.filterNodeArray","link":"filterNodeArray"},{"title":"module:HomeRows.init","link":"init"},{"title":"module:HomeRows.itemSelected","link":"itemSelected"},{"title":"module:HomeRows.loadLibraries","link":"loadLibraries"},{"title":"module:HomeRows.onKeyEvent","link":"onKeyEvent"},{"title":"module:HomeRows.onLibrariesLoaded","link":"onLibrariesLoaded"},{"title":"module:HomeRows.removeHomeSection","link":"removeHomeSection","description":"

Removes a home section from the home rows

"},{"title":"module:HomeRows.updateContinueWatchingItems","link":"updateContinueWatchingItems"},{"title":"module:HomeRows.updateFavoritesItems","link":"updateFavoritesItems"},{"title":"module:HomeRows.updateHomeRows","link":"updateHomeRows","description":"

Update home row data

"},{"title":"module:HomeRows.updateLatestInRows","link":"updateLatestInRows","description":"

Iterate over user's libraries and update data for each Latest In section

"},{"title":"module:HomeRows.updateLatestItems","link":"updateLatestItems"},{"title":"module:HomeRows.updateNextUpItems","link":"updateNextUpItems"},{"title":"module:HomeRows.updateOnNowItems","link":"updateOnNowItems"},{"title":"module:HomeRows.updateSize","link":"updateSize"},{"title":"module:HomeRows.updateSizeArray","link":"updateSizeArray"},{"title":"module:IconButton","link":"IconButton"},{"title":"module:IconButton.init","link":"init"},{"title":"module:IconButton.onBackgroundChanged","link":"onBackgroundChanged"},{"title":"module:IconButton.onFocusChanged","link":"onFocusChanged"},{"title":"module:IconButton.onHeightChanged","link":"onHeightChanged"},{"title":"module:IconButton.onIconChanged","link":"onIconChanged"},{"title":"module:IconButton.onKeyEvent","link":"onKeyEvent"},{"title":"module:IconButton.onPaddingChanged","link":"onPaddingChanged"},{"title":"module:IconButton.onTextChanged","link":"onTextChanged"},{"title":"module:IconButton.onWidthChanged","link":"onWidthChanged"},{"title":"module:IconButton.setIconSize","link":"setIconSize"},{"title":"module:Image","link":"Image"},{"title":"module:Image.ImageURL","link":"ImageURL"},{"title":"module:Image.ItemImages","link":"ItemImages"},{"title":"module:Image.PosterImage","link":"PosterImage"},{"title":"module:Image.UserImageURL","link":"UserImageURL"},{"title":"module:ImageData","link":"ImageData"},{"title":"module:ImageData.setFields","link":"setFields"},{"title":"module:IntegerKeyboard","link":"IntegerKeyboard"},{"title":"module:IntegerKeyboard.init","link":"init"},{"title":"module:IntegerKeyboard.keySelected","link":"keySelected"},{"title":"module:IntegerKeyboard.onKeyEvent","link":"onKeyEvent"},{"title":"module:ItemGrid","link":"ItemGrid"},{"title":"module:ItemGrid.ItemDataLoaded","link":"ItemDataLoaded","description":"

Handle loaded data, and add to Grid

"},{"title":"module:ItemGrid.SetBackground","link":"SetBackground","description":"

Set Background Image

"},{"title":"module:ItemGrid.SetUpOptions","link":"SetUpOptions","description":"

Data to display when options button selected

"},{"title":"module:ItemGrid.getCollectionType","link":"getCollectionType","description":"

Return parent collection type

"},{"title":"module:ItemGrid.getItemFocused","link":"getItemFocused","description":"

Returns Focused Item

"},{"title":"module:ItemGrid.inStringArray","link":"inStringArray","description":"

Search string array for search value. Return if it's found

"},{"title":"module:ItemGrid.init","link":"init"},{"title":"module:ItemGrid.loadInitialItems","link":"loadInitialItems","description":"

Load initial set of Data

"},{"title":"module:ItemGrid.loadMoreData","link":"loadMoreData","description":"

Load next set of items

"},{"title":"module:ItemGrid.newBGLoaded","link":"newBGLoaded","description":"

When Image Loading Status changes

"},{"title":"module:ItemGrid.onChannelFocused","link":"onChannelFocused"},{"title":"module:ItemGrid.onChannelSelected","link":"onChannelSelected"},{"title":"module:ItemGrid.onGenreItemSelected","link":"onGenreItemSelected","description":"

Genre Item Selected

"},{"title":"module:ItemGrid.onItemFocused","link":"onItemFocused","description":"

Handle new item being focused

"},{"title":"module:ItemGrid.onItemSelected","link":"onItemSelected","description":"

Item Selected

"},{"title":"module:ItemGrid.onItemalphaSelected","link":"onItemalphaSelected"},{"title":"module:ItemGrid.onKeyEvent","link":"onKeyEvent"},{"title":"module:ItemGrid.onvoiceFilter","link":"onvoiceFilter"},{"title":"module:ItemGrid.optionsClosed","link":"optionsClosed","description":"

Check if options updated and any reloading required

"},{"title":"module:ItemGrid.setBoxsetsOptions","link":"setBoxsetsOptions","description":"

Set Boxset view, sort, and filter options

"},{"title":"module:ItemGrid.setDefaultOptions","link":"setDefaultOptions","description":"

Set Default view, sort, and filter options

"},{"title":"module:ItemGrid.setLiveTvOptions","link":"setLiveTvOptions","description":"

Set Live TV view, sort, and filter options

"},{"title":"module:ItemGrid.setMoviesOptions","link":"setMoviesOptions","description":"

Set Movies view, sort, and filter options

"},{"title":"module:ItemGrid.setMusicOptions","link":"setMusicOptions","description":"

Set Music view, sort, and filter options

"},{"title":"module:ItemGrid.setPhotoAlbumOptions","link":"setPhotoAlbumOptions","description":"

Set Photo Album view, sort, and filter options

"},{"title":"module:ItemGrid.setTvShowsOptions","link":"setTvShowsOptions","description":"

Set TV Show view, sort, and filter options

"},{"title":"module:ItemGrid.showTVGuide","link":"showTVGuide"},{"title":"module:ItemGrid.swapDone","link":"swapDone","description":"

Swap Complete

"},{"title":"module:ItemGrid.updateTitle","link":"updateTitle"},{"title":"module:ItemGridOptions","link":"ItemGridOptions"},{"title":"module:ItemGridOptions.buttonFocusChanged","link":"buttonFocusChanged","description":"

Switch menu shown when button focus changes

"},{"title":"module:ItemGridOptions.hideChecklist","link":"hideChecklist"},{"title":"module:ItemGridOptions.init","link":"init"},{"title":"module:ItemGridOptions.isFilterMenuDataValid","link":"isFilterMenuDataValid","description":"

Check if data for Filter Menu is valid

"},{"title":"module:ItemGridOptions.onFilterFocusChange","link":"onFilterFocusChange"},{"title":"module:ItemGridOptions.onKeyEvent","link":"onKeyEvent"},{"title":"module:ItemGridOptions.optionsSet","link":"optionsSet"},{"title":"module:ItemGridOptions.saveFavoriteItemSelected","link":"saveFavoriteItemSelected"},{"title":"module:ItemGridOptions.setHeartColor","link":"setHeartColor"},{"title":"module:ItemGridOptions.showChecklist","link":"showChecklist"},{"title":"module:ItemGridOptions.toggleFavorite","link":"toggleFavorite"},{"title":"module:Items","link":"Items"},{"title":"module:Items.AppearsOnList","link":"AppearsOnList","description":"

Get list of albums an artist appears on

"},{"title":"module:Items.ArtistOverview","link":"ArtistOverview","description":"

Music Artist Data

"},{"title":"module:Items.AudioItem","link":"AudioItem","description":"

Get Songs that are on an Album

"},{"title":"module:Items.AudioStream","link":"AudioStream"},{"title":"module:Items.BackdropImage","link":"BackdropImage"},{"title":"module:Items.CreateArtistMix","link":"CreateArtistMix","description":"

Get Instant Mix based on item

"},{"title":"module:Items.CreateInstantMix","link":"CreateInstantMix","description":"

Get Instant Mix based on item

"},{"title":"module:Items.GetIntroVideos","link":"GetIntroVideos","description":"

Get Intro Videos for an item

"},{"title":"module:Items.GetSongsByArtist","link":"GetSongsByArtist","description":"

Get list of songs belonging to an artist

"},{"title":"module:Items.ItemGetPlaybackInfo","link":"ItemGetPlaybackInfo"},{"title":"module:Items.ItemMetaData","link":"ItemMetaData","description":"

MetaData about an item

"},{"title":"module:Items.ItemPostPlaybackInfo","link":"ItemPostPlaybackInfo"},{"title":"module:Items.MusicAlbumList","link":"MusicAlbumList","description":"

Get list of albums belonging to an artist

"},{"title":"module:Items.MusicSongList","link":"MusicSongList","description":"

Get Songs that are on an Album

"},{"title":"module:Items.PlaylistItemList","link":"PlaylistItemList","description":"

Get Items that are under the provided item

"},{"title":"module:Items.TVEpisodeShuffleList","link":"TVEpisodeShuffleList"},{"title":"module:Items.TVEpisodes","link":"TVEpisodes","description":"

Returns a list of TV Shows for a given TV Show and season\nAccepts strings for the TV Show Id and the season Id

"},{"title":"module:Items.TVSeasonExtras","link":"TVSeasonExtras","description":"

Returns a list of extra features for a TV Show season\nAccepts a string that is a TV Show season id

"},{"title":"module:Items.TVSeasons","link":"TVSeasons","description":"

Seasons for a TV Show

"},{"title":"module:Items.searchMedia","link":"searchMedia","description":"

Search across all libraries

"},{"title":"module:Items.useTranscodeAudioStream","link":"useTranscodeAudioStream"},{"title":"module:JFButton","link":"JFButton"},{"title":"module:JFButton.init","link":"init"},{"title":"module:JFButton.onTextChanged","link":"onTextChanged","description":"

Whenever the text changes, pad both sides with whitespace so we can center the button text

"},{"title":"module:JFButtons","link":"JFButtons"},{"title":"module:JFButtons.focusChanged","link":"focusChanged","description":"

Change opacity of the highlighted menu item based on focus

"},{"title":"module:JFButtons.highlightSelected","link":"highlightSelected","description":"

Highlight selected menu option

"},{"title":"module:JFButtons.init","link":"init"},{"title":"module:JFButtons.onKeyEvent","link":"onKeyEvent"},{"title":"module:JFButtons.renderChanged","link":"renderChanged","description":"

When options are fully displayed, set focus and selected option

"},{"title":"module:JFButtons.selectedIndexChanged","link":"selectedIndexChanged","description":"

When Selected Index set, ensure it is the one Focused

"},{"title":"module:JFButtons.showButtons","link":"showButtons"},{"title":"module:JFButtons.updateButtons","link":"updateButtons"},{"title":"module:JFGroup","link":"JFGroup"},{"title":"module:JFGroup.init","link":"init"},{"title":"module:JFGroup.onKeyEvent","link":"onKeyEvent"},{"title":"module:JFMessageDialog","link":"JFMessageDialog"},{"title":"module:JFMessageDialog.init","link":"init"},{"title":"module:JFMessageDialog.onKeyEvent","link":"onKeyEvent"},{"title":"module:JFMessageDialog.redraw","link":"redraw"},{"title":"module:JFMessageDialog.updateMessage","link":"updateMessage"},{"title":"module:JFMessageDialog.updateOptions","link":"updateOptions"},{"title":"module:JFOverhang","link":"JFOverhang"},{"title":"module:JFOverhang.init","link":"init"},{"title":"module:JFOverhang.onVisibleChange","link":"onVisibleChange"},{"title":"module:JFOverhang.resetTime","link":"resetTime"},{"title":"module:JFOverhang.setClockVisibility","link":"setClockVisibility"},{"title":"module:JFOverhang.setRightSeperatorVisibility","link":"setRightSeperatorVisibility"},{"title":"module:JFOverhang.updateOptions","link":"updateOptions"},{"title":"module:JFOverhang.updateTime","link":"updateTime"},{"title":"module:JFOverhang.updateTimeDisplay","link":"updateTimeDisplay"},{"title":"module:JFOverhang.updateTitle","link":"updateTitle"},{"title":"module:JFOverhang.updateUser","link":"updateUser"},{"title":"module:JFScene","link":"JFScene"},{"title":"module:JFScene.init","link":"init"},{"title":"module:JFScene.onKeyEvent","link":"onKeyEvent"},{"title":"module:JFScreen","link":"JFScreen"},{"title":"module:JFScreen.OnScreenHidden","link":"OnScreenHidden","description":"

Function called when the screen is hidden by the screen manager\nIt is expected that screens override this function if required,\nto handle focus any actions required on the screen being hidden

"},{"title":"module:JFScreen.OnScreenShown","link":"OnScreenShown","description":"

Function called when the screen is displayed by the screen manager\nIt is expected that screens override this function to handle focus\nmanagmenet and any other actions required on screen shown

"},{"title":"module:JFScreen.init","link":"init"},{"title":"module:JFServer","link":"JFServer"},{"title":"module:JFServer.init","link":"init"},{"title":"module:JFServer.itemContentChanged","link":"itemContentChanged"},{"title":"module:JFServer.onFocusPercentChange","link":"onFocusPercentChange"},{"title":"module:JFServer.setTextColor","link":"setTextColor"},{"title":"module:JFVideo","link":"JFVideo"},{"title":"module:JFVideo.ReportPlayback","link":"ReportPlayback","description":"

Report playback to server

"},{"title":"module:JFVideo.bufferCheck","link":"bufferCheck","description":"

Check the the buffering has not hung

"},{"title":"module:JFVideo.checkTimeToDisplayNextEpisode","link":"checkTimeToDisplayNextEpisode","description":"

Checks if we need to display the Next Episode button

"},{"title":"module:JFVideo.hideNextEpisodeButton","link":"hideNextEpisodeButton","description":"

Runs hide Next Episode button animation and sets focus back to video

"},{"title":"module:JFVideo.init","link":"init"},{"title":"module:JFVideo.loadCaption","link":"loadCaption"},{"title":"module:JFVideo.onAllowCaptionsChange","link":"onAllowCaptionsChange"},{"title":"module:JFVideo.onContentChange","link":"onContentChange","description":"

Event handler for when video content field changes

"},{"title":"module:JFVideo.onKeyEvent","link":"onKeyEvent"},{"title":"module:JFVideo.onNextEpisodeDataLoaded","link":"onNextEpisodeDataLoaded"},{"title":"module:JFVideo.onPositionChanged","link":"onPositionChanged","description":"

When Video Player state changes

"},{"title":"module:JFVideo.onState","link":"onState","description":"

When Video Player state changes

"},{"title":"module:JFVideo.showNextEpisodeButton","link":"showNextEpisodeButton","description":"

Runs Next Episode button animation and sets focus to button

"},{"title":"module:JFVideo.toggleCaption","link":"toggleCaption"},{"title":"module:JFVideo.updateCaption","link":"updateCaption"},{"title":"module:JFVideo.updateCount","link":"updateCount","description":"

Update count down text

"},{"title":"module:ListPoster","link":"ListPoster"},{"title":"module:ListPoster.focusChanged","link":"focusChanged","description":"

Enable title scrolling based on item Focus

"},{"title":"module:ListPoster.init","link":"init"},{"title":"module:ListPoster.itemContentChanged","link":"itemContentChanged"},{"title":"module:ListPoster.updateSize","link":"updateSize"},{"title":"module:LoadChannelsTask","link":"LoadChannelsTask"},{"title":"module:LoadChannelsTask.init","link":"init"},{"title":"module:LoadChannelsTask.loadChannels","link":"loadChannels"},{"title":"module:LoadItemsTask","link":"LoadItemsTask"},{"title":"module:LoadItemsTask.getPersonVideos","link":"getPersonVideos"},{"title":"module:LoadItemsTask.init","link":"init"},{"title":"module:LoadItemsTask.loadItems","link":"loadItems"},{"title":"module:LoadItemsTask2","link":"LoadItemsTask2"},{"title":"module:LoadItemsTask2.init","link":"init"},{"title":"module:LoadItemsTask2.loadItems","link":"loadItems"},{"title":"module:LoadPhotoTask","link":"LoadPhotoTask"},{"title":"module:LoadPhotoTask.init","link":"init"},{"title":"module:LoadPhotoTask.loadItems","link":"loadItems"},{"title":"module:LoadProgramDetailsTask","link":"LoadProgramDetailsTask"},{"title":"module:LoadProgramDetailsTask.init","link":"init"},{"title":"module:LoadProgramDetailsTask.loadProgramDetails","link":"loadProgramDetails"},{"title":"module:LoadScreenSaverTimeoutTask","link":"LoadScreenSaverTimeoutTask"},{"title":"module:LoadScreenSaverTimeoutTask.getScreensaverTimeout","link":"getScreensaverTimeout"},{"title":"module:LoadScreenSaverTimeoutTask.init","link":"init"},{"title":"module:LoadSheduleTask","link":"LoadSheduleTask"},{"title":"module:LoadSheduleTask.init","link":"init"},{"title":"module:LoadSheduleTask.loadSchedule","link":"loadSchedule"},{"title":"module:LoadVideoContentTask","link":"LoadVideoContentTask"},{"title":"module:LoadVideoContentTask.FindPreferredAudioStream","link":"FindPreferredAudioStream"},{"title":"module:LoadVideoContentTask.LoadItems_AddVideoContent","link":"LoadItems_AddVideoContent"},{"title":"module:LoadVideoContentTask.LoadItems_VideoPlayer","link":"LoadItems_VideoPlayer"},{"title":"module:LoadVideoContentTask.addNextEpisodesToQueue","link":"addNextEpisodesToQueue","description":"

Add next episodes to the playback queue

"},{"title":"module:LoadVideoContentTask.addSubtitlesToVideo","link":"addSubtitlesToVideo"},{"title":"module:LoadVideoContentTask.addVideoContentURL","link":"addVideoContentURL"},{"title":"module:LoadVideoContentTask.directPlaySupported","link":"directPlaySupported"},{"title":"module:LoadVideoContentTask.getContainerType","link":"getContainerType"},{"title":"module:LoadVideoContentTask.getSubtitleLanguages","link":"getSubtitleLanguages"},{"title":"module:LoadVideoContentTask.getTranscodeReasons","link":"getTranscodeReasons","description":"

Extract array of Transcode Reasons from the content URL

"},{"title":"module:LoadVideoContentTask.init","link":"init"},{"title":"module:LoadVideoContentTask.loadItems","link":"loadItems"},{"title":"module:LoadVideoContentTask.sortSubtitles","link":"sortSubtitles","description":"

Checks available subtitle tracks and puts subtitles in forced, default, and non-default/forced but preferred language at the top

"},{"title":"module:LoginScene","link":"LoginScene"},{"title":"module:LoginScene.init","link":"init"},{"title":"module:LoginScene.onKeyEvent","link":"onKeyEvent"},{"title":"module:Main","link":"Main"},{"title":"module:Main.Main","link":"Main"},{"title":"module:MovieData","link":"MovieData"},{"title":"module:MovieData.setContainer","link":"setContainer"},{"title":"module:MovieData.setFields","link":"setFields"},{"title":"module:MovieData.setPoster","link":"setPoster"},{"title":"module:MovieDetails","link":"MovieDetails"},{"title":"module:MovieDetails.OnScreenShown","link":"OnScreenShown"},{"title":"module:MovieDetails.SetDefaultAudioTrack","link":"SetDefaultAudioTrack"},{"title":"module:MovieDetails.SetUpAudioOptions","link":"SetUpAudioOptions"},{"title":"module:MovieDetails.SetUpVideoOptions","link":"SetUpVideoOptions"},{"title":"module:MovieDetails.audioOptionsClosed","link":"audioOptionsClosed","description":"

Check if options updated and any reloading required

"},{"title":"module:MovieDetails.getEndTime","link":"getEndTime"},{"title":"module:MovieDetails.getRuntime","link":"getRuntime"},{"title":"module:MovieDetails.init","link":"init"},{"title":"module:MovieDetails.itemContentChanged","link":"itemContentChanged"},{"title":"module:MovieDetails.onKeyEvent","link":"onKeyEvent"},{"title":"module:MovieDetails.round","link":"round"},{"title":"module:MovieDetails.setFavoriteColor","link":"setFavoriteColor"},{"title":"module:MovieDetails.setFieldText","link":"setFieldText"},{"title":"module:MovieDetails.setWatchedColor","link":"setWatchedColor"},{"title":"module:MovieDetails.trailerAvailableChanged","link":"trailerAvailableChanged"},{"title":"module:MovieDetails.videoOptionsClosed","link":"videoOptionsClosed","description":"

Check if options were updated and if any reloding is needed...

"},{"title":"module:MovieLibraryView","link":"MovieLibraryView"},{"title":"module:MovieLibraryView.FilterDataLoaded","link":"FilterDataLoaded","description":"

Logo Image Loaded Event Handler

"},{"title":"module:MovieLibraryView.ItemDataLoaded","link":"ItemDataLoaded","description":"

Handle loaded data, and add to Grid

"},{"title":"module:MovieLibraryView.LogoImageLoaded","link":"LogoImageLoaded","description":"

Logo Image Loaded Event Handler

"},{"title":"module:MovieLibraryView.OnScreenHidden","link":"OnScreenHidden"},{"title":"module:MovieLibraryView.OnScreenShown","link":"OnScreenShown"},{"title":"module:MovieLibraryView.SetBackground","link":"SetBackground","description":"

Set Background Image

"},{"title":"module:MovieLibraryView.SetName","link":"SetName","description":"

Set Selected Movie Name

"},{"title":"module:MovieLibraryView.SetOfficialRating","link":"SetOfficialRating","description":"

Set Selected Movie OfficialRating

"},{"title":"module:MovieLibraryView.SetOverview","link":"SetOverview","description":"

Set Selected Movie Overview

"},{"title":"module:MovieLibraryView.SetProductionYear","link":"SetProductionYear","description":"

Set Selected Movie ProductionYear

"},{"title":"module:MovieLibraryView.getCollectionType","link":"getCollectionType","description":"

Return parent collection type

"},{"title":"module:MovieLibraryView.getItemFocused","link":"getItemFocused","description":"

Returns Focused Item

"},{"title":"module:MovieLibraryView.getRuntime","link":"getRuntime"},{"title":"module:MovieLibraryView.inStringArray","link":"inStringArray","description":"

Search string array for search value. Return if it's found

"},{"title":"module:MovieLibraryView.init","link":"init"},{"title":"module:MovieLibraryView.loadInitialItems","link":"loadInitialItems","description":"

Load initial set of Data

"},{"title":"module:MovieLibraryView.loadMoreData","link":"loadMoreData","description":"

Load next set of items

"},{"title":"module:MovieLibraryView.newBGLoaded","link":"newBGLoaded","description":"

When Image Loading Status changes

"},{"title":"module:MovieLibraryView.onChannelSelected","link":"onChannelSelected"},{"title":"module:MovieLibraryView.onGenreItemSelected","link":"onGenreItemSelected","description":"

Genre Item Selected

"},{"title":"module:MovieLibraryView.onItemFocused","link":"onItemFocused","description":"

Handle new item being focused

"},{"title":"module:MovieLibraryView.onItemSelected","link":"onItemSelected","description":"

Item Selected

"},{"title":"module:MovieLibraryView.onItemalphaSelected","link":"onItemalphaSelected"},{"title":"module:MovieLibraryView.onKeyEvent","link":"onKeyEvent"},{"title":"module:MovieLibraryView.onvoiceFilter","link":"onvoiceFilter"},{"title":"module:MovieLibraryView.optionsClosed","link":"optionsClosed","description":"

Check if options updated and any reloading required

"},{"title":"module:MovieLibraryView.round","link":"round"},{"title":"module:MovieLibraryView.setFieldText","link":"setFieldText"},{"title":"module:MovieLibraryView.setMoviesOptions","link":"setMoviesOptions","description":"

Set Movies view, sort, and filter options

"},{"title":"module:MovieLibraryView.setSelectedOptions","link":"setSelectedOptions","description":"

Data to display when options button selected

"},{"title":"module:MovieLibraryView.setupNodes","link":"setupNodes"},{"title":"module:MovieLibraryView.swapDone","link":"swapDone","description":"

Swap Complete

"},{"title":"module:MovieOptions","link":"MovieOptions"},{"title":"module:MovieOptions.buttonFocusChanged","link":"buttonFocusChanged","description":"

Switch menu shown when button focus changes

"},{"title":"module:MovieOptions.init","link":"init"},{"title":"module:MovieOptions.onKeyEvent","link":"onKeyEvent"},{"title":"module:MovieOptions.optionsSet","link":"optionsSet"},{"title":"module:MusicAlbumData","link":"MusicAlbumData"},{"title":"module:MusicAlbumData.setFields","link":"setFields"},{"title":"module:MusicAlbumData.setPoster","link":"setPoster"},{"title":"module:MusicAlbumSongListData","link":"MusicAlbumSongListData"},{"title":"module:MusicAlbumSongListData.setFields","link":"setFields"},{"title":"module:MusicAlbumSongListData.setPoster","link":"setPoster"},{"title":"module:MusicArtistData","link":"MusicArtistData"},{"title":"module:MusicArtistData.setFields","link":"setFields"},{"title":"module:MusicArtistData.setPoster","link":"setPoster"},{"title":"module:MusicArtistGridItem","link":"MusicArtistGridItem"},{"title":"module:MusicArtistGridItem.focusChanged","link":"focusChanged","description":"

Display or hide title Visibility on focus change

"},{"title":"module:MusicArtistGridItem.init","link":"init"},{"title":"module:MusicArtistGridItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:MusicArtistGridItem.onPosterLoadStatusChanged","link":"onPosterLoadStatusChanged","description":"

Hide backdrop and text when poster loaded

"},{"title":"module:MusicLibraryView","link":"MusicLibraryView"},{"title":"module:MusicLibraryView.ItemDataLoaded","link":"ItemDataLoaded","description":"

Handle loaded data, and add to Grid

"},{"title":"module:MusicLibraryView.LogoImageLoaded","link":"LogoImageLoaded","description":"

Logo Image Loaded Event Handler

"},{"title":"module:MusicLibraryView.OnScreenHidden","link":"OnScreenHidden"},{"title":"module:MusicLibraryView.OnScreenShown","link":"OnScreenShown"},{"title":"module:MusicLibraryView.SetAlbumCount","link":"SetAlbumCount","description":"

Set Selected Artist Album Count

"},{"title":"module:MusicLibraryView.SetBackground","link":"SetBackground","description":"

Set Background Image

"},{"title":"module:MusicLibraryView.SetGenres","link":"SetGenres","description":"

Set Selected Artist Genres

"},{"title":"module:MusicLibraryView.SetName","link":"SetName","description":"

Set Selected Artist Name

"},{"title":"module:MusicLibraryView.SetSongCount","link":"SetSongCount","description":"

Set Selected Artist Song Count

"},{"title":"module:MusicLibraryView.SetUpOptions","link":"SetUpOptions","description":"

Data to display when options button selected

"},{"title":"module:MusicLibraryView.getCollectionType","link":"getCollectionType","description":"

Return parent collection type

"},{"title":"module:MusicLibraryView.getItemFocused","link":"getItemFocused","description":"

Returns Focused Item

"},{"title":"module:MusicLibraryView.inStringArray","link":"inStringArray","description":"

Search string array for search value. Return if it's found

"},{"title":"module:MusicLibraryView.init","link":"init"},{"title":"module:MusicLibraryView.loadInitialItems","link":"loadInitialItems","description":"

Load initial set of Data

"},{"title":"module:MusicLibraryView.loadMoreData","link":"loadMoreData","description":"

Load next set of items

"},{"title":"module:MusicLibraryView.newBGLoaded","link":"newBGLoaded","description":"

When Image Loading Status changes

"},{"title":"module:MusicLibraryView.onChannelSelected","link":"onChannelSelected"},{"title":"module:MusicLibraryView.onGenreItemFocused","link":"onGenreItemFocused","description":"

Genre Item Focused

"},{"title":"module:MusicLibraryView.onGenreItemSelected","link":"onGenreItemSelected","description":"

Genre Item Selected

"},{"title":"module:MusicLibraryView.onItemFocused","link":"onItemFocused","description":"

Handle new item being focused

"},{"title":"module:MusicLibraryView.onItemSelected","link":"onItemSelected","description":"

Item Selected

"},{"title":"module:MusicLibraryView.onItemalphaSelected","link":"onItemalphaSelected"},{"title":"module:MusicLibraryView.onKeyEvent","link":"onKeyEvent"},{"title":"module:MusicLibraryView.onvoiceFilter","link":"onvoiceFilter"},{"title":"module:MusicLibraryView.optionsClosed","link":"optionsClosed","description":"

Check if options updated and any reloading required

"},{"title":"module:MusicLibraryView.setFieldText","link":"setFieldText"},{"title":"module:MusicLibraryView.setMusicOptions","link":"setMusicOptions","description":"

Set Music view, sort, and filter options

"},{"title":"module:MusicLibraryView.setupNodes","link":"setupNodes"},{"title":"module:MusicLibraryView.swapDone","link":"swapDone","description":"

Swap Complete

"},{"title":"module:MusicSongData","link":"MusicSongData"},{"title":"module:MusicSongData.setFields","link":"setFields"},{"title":"module:MusicSongData.setPoster","link":"setPoster"},{"title":"module:OSD","link":"OSD"},{"title":"module:OSD.inactiveCheck","link":"inactiveCheck","description":"

inactiveCheck: Checks if the time since last keypress is greater than or equal to the allowed inactive time of the menu.

"},{"title":"module:OSD.init","link":"init"},{"title":"module:OSD.onButtonSelected","link":"onButtonSelected","description":"

onButtonSelected: Handler for selection of buttons from the menu.

"},{"title":"module:OSD.onFocusChanged","link":"onFocusChanged","description":"

onFocusChanged: Handler for changes to the focus of this menu.

"},{"title":"module:OSD.onItemTitleTextChanged","link":"onItemTitleTextChanged","description":"

onItemTitleTextChanged: Handler for changes to m.top.itemTitleText param.

"},{"title":"module:OSD.onKeyEvent","link":"onKeyEvent"},{"title":"module:OSD.onPlaybackStateChanged","link":"onPlaybackStateChanged","description":"

onPlaybackStateChanged: Handler for changes to m.top.playbackState param

"},{"title":"module:OSD.onProgressPercentageChanged","link":"onProgressPercentageChanged","description":"

onProgressPercentageChanged: Handler for changes to m.top.progressPercentage param

"},{"title":"module:OSD.onVisibleChanged","link":"onVisibleChanged","description":"

onVisibleChanged: Handler for changes to the visibility of this menu.

"},{"title":"module:OSD.resetFocusToDefaultButton","link":"resetFocusToDefaultButton","description":"

resetFocusToDefaultButton: Reset focus back to the default button

"},{"title":"module:OptionNode","link":"OptionNode"},{"title":"module:OptionNode.init","link":"init"},{"title":"module:OptionsButton","link":"OptionsButton"},{"title":"module:OptionsButton.init","link":"init"},{"title":"module:OptionsButton.press","link":"press"},{"title":"module:OptionsData","link":"OptionsData"},{"title":"module:OptionsData.init","link":"init"},{"title":"module:OptionsData.press","link":"press"},{"title":"module:OptionsData.update_title","link":"update_title"},{"title":"module:OptionsSlider","link":"OptionsSlider"},{"title":"module:OptionsSlider.init","link":"init"},{"title":"module:OptionsSlider.onKeyEvent","link":"onKeyEvent"},{"title":"module:OptionsSlider.setFields","link":"setFields"},{"title":"module:OverviewDialog","link":"OverviewDialog"},{"title":"module:OverviewDialog.onKeyEvent","link":"onKeyEvent"},{"title":"module:OverviewDialog.setOverview","link":"setOverview"},{"title":"module:OverviewDialog.setTitle","link":"setTitle"},{"title":"module:PersonData","link":"PersonData"},{"title":"module:PersonData.setFields","link":"setFields"},{"title":"module:PersonData.setPoster","link":"setPoster"},{"title":"module:PersonDetails","link":"PersonDetails"},{"title":"module:PersonDetails.createDialogPallete","link":"createDialogPallete"},{"title":"module:PersonDetails.createFullDscrDlg","link":"createFullDscrDlg"},{"title":"module:PersonDetails.dscrShowFocus","link":"dscrShowFocus"},{"title":"module:PersonDetails.init","link":"init"},{"title":"module:PersonDetails.loadPerson","link":"loadPerson"},{"title":"module:PersonDetails.onButtonGroupEscaped","link":"onButtonGroupEscaped"},{"title":"module:PersonDetails.onKeyEvent","link":"onKeyEvent"},{"title":"module:PersonDetails.setFavoriteColor","link":"setFavoriteColor"},{"title":"module:PersonDetails.shortDate","link":"shortDate"},{"title":"module:PhotoData","link":"PhotoData"},{"title":"module:PhotoData.setFields","link":"setFields"},{"title":"module:PhotoData.setPoster","link":"setPoster"},{"title":"module:PhotoDetails","link":"PhotoDetails"},{"title":"module:PhotoDetails.OnScreenHidden","link":"OnScreenHidden","description":"

JFScreen hook.\nUsed to ensure tasks are stopped

"},{"title":"module:PhotoDetails.init","link":"init"},{"title":"module:PhotoDetails.isRandomChanged","link":"isRandomChanged","description":"

isRandom component field has changed

"},{"title":"module:PhotoDetails.isSlideshowChanged","link":"isSlideshowChanged","description":"

isSlideshow component field has changed

"},{"title":"module:PhotoDetails.isValidToContinue","link":"isValidToContinue"},{"title":"module:PhotoDetails.itemContentChanged","link":"itemContentChanged"},{"title":"module:PhotoDetails.nextSlide","link":"nextSlide"},{"title":"module:PhotoDetails.onKeyEvent","link":"onKeyEvent"},{"title":"module:PhotoDetails.onPhotoLoaded","link":"onPhotoLoaded"},{"title":"module:PhotoDetails.statusUpdate","link":"statusUpdate"},{"title":"module:PlaybackDialog","link":"PlaybackDialog"},{"title":"module:PlaybackDialog.onKeyEvent","link":"onKeyEvent"},{"title":"module:PlayedCheckmark","link":"PlayedCheckmark"},{"title":"module:PlayedCheckmark.init","link":"init"},{"title":"module:PlaylistData","link":"PlaylistData"},{"title":"module:PlaylistData.setFields","link":"setFields"},{"title":"module:PlaylistData.setPoster","link":"setPoster"},{"title":"module:PlaylistView","link":"PlaylistView"},{"title":"module:PlaylistView.OnScreenHidden","link":"OnScreenHidden"},{"title":"module:PlaylistView.adjustScreenForNoOverview","link":"adjustScreenForNoOverview","description":"

Adjust scene by removing overview node and showing more songs

"},{"title":"module:PlaylistView.createDialogPallete","link":"createDialogPallete"},{"title":"module:PlaylistView.createFullDscrDlg","link":"createFullDscrDlg"},{"title":"module:PlaylistView.init","link":"init"},{"title":"module:PlaylistView.onDoneLoading","link":"onDoneLoading"},{"title":"module:PlaylistView.onKeyEvent","link":"onKeyEvent"},{"title":"module:PlaylistView.pageContentChanged","link":"pageContentChanged","description":"

Set values for displayed values on screen

"},{"title":"module:PlaylistView.setOnScreenTextValues","link":"setOnScreenTextValues","description":"

Populate on screen text variables

"},{"title":"module:PlaylistView.setPosterImage","link":"setPosterImage","description":"

Set poster image on screen

"},{"title":"module:PlaylistView.setScreenTitle","link":"setScreenTitle","description":"

Set screen's title text

"},{"title":"module:PlaylistView.setupMainNode","link":"setupMainNode"},{"title":"module:PlaystateTask","link":"PlaystateTask"},{"title":"module:PlaystateTask.PlaystateDefaults","link":"PlaystateDefaults"},{"title":"module:PlaystateTask.PlaystateUpdate","link":"PlaystateUpdate"},{"title":"module:PlaystateTask.init","link":"init"},{"title":"module:PostTask","link":"PostTask"},{"title":"module:PostTask.asyncPost","link":"asyncPost","description":"

Post data and wait for response code

"},{"title":"module:PostTask.empty","link":"empty","description":"

Revert PostTask to default state

"},{"title":"module:PostTask.init","link":"init"},{"title":"module:PostTask.postItems","link":"postItems","description":"

Main function for PostTask.\nPosts either an array of data\nor a string of data to an API endpoint.\nSaves the response information

"},{"title":"module:ProgramDetails","link":"ProgramDetails"},{"title":"module:ProgramDetails.channelUpdated","link":"channelUpdated"},{"title":"module:ProgramDetails.focusChanged","link":"focusChanged","description":"

Show view channel button when item has Focus

"},{"title":"module:ProgramDetails.getDurationStringFromSeconds","link":"getDurationStringFromSeconds","description":"

Get program duration string (e.g. 1h 20m)

"},{"title":"module:ProgramDetails.getRelativeDayName","link":"getRelativeDayName","description":"

Get relative date name for a date (yesterday, today, tomorrow, or otherwise weekday name )

"},{"title":"module:ProgramDetails.init","link":"init"},{"title":"module:ProgramDetails.onAnimationComplete","link":"onAnimationComplete"},{"title":"module:ProgramDetails.onKeyEvent","link":"onKeyEvent"},{"title":"module:ProgramDetails.programUpdated","link":"programUpdated"},{"title":"module:ProgramDetails.setupLabels","link":"setupLabels","description":"

Set up Live and Repeat label sizes

"},{"title":"module:ProgramDetails.updateLabels","link":"updateLabels"},{"title":"module:PublicUserData","link":"PublicUserData"},{"title":"module:PublicUserData.init","link":"init"},{"title":"module:QueueManager","link":"QueueManager"},{"title":"module:QueueManager.clear","link":"clear","description":"

Clear all content from play queue

"},{"title":"module:QueueManager.clearHold","link":"clearHold","description":"

Clear all hold content

"},{"title":"module:QueueManager.deleteAtIndex","link":"deleteAtIndex","description":"

Delete item from play queue at passed index

"},{"title":"module:QueueManager.getCount","link":"getCount","description":"

Return the number of items in the play queue

"},{"title":"module:QueueManager.getCurrentItem","link":"getCurrentItem","description":"

Return the item currently in focus from the play queue

"},{"title":"module:QueueManager.getHold","link":"getHold","description":"

Return the items in the hold

"},{"title":"module:QueueManager.getIsShuffled","link":"getIsShuffled","description":"

Return whether or not shuffle is enabled

"},{"title":"module:QueueManager.getItemByIndex","link":"getItemByIndex","description":"

Return the item in the passed index from the play queue

"},{"title":"module:QueueManager.getItemType","link":"getItemType"},{"title":"module:QueueManager.getPosition","link":"getPosition","description":"

Returns current playback position within the queue

"},{"title":"module:QueueManager.getQueue","link":"getQueue","description":"

Return the current play queue

"},{"title":"module:QueueManager.getQueueTypes","link":"getQueueTypes","description":"

Return the types of items in current play queue

"},{"title":"module:QueueManager.getQueueUniqueTypes","link":"getQueueUniqueTypes","description":"

Return the unique types of items in current play queue

"},{"title":"module:QueueManager.getUnshuffledQueue","link":"getUnshuffledQueue","description":"

Return original, unshuffled queue

"},{"title":"module:QueueManager.hold","link":"hold","description":"

Hold an item

"},{"title":"module:QueueManager.init","link":"init"},{"title":"module:QueueManager.isPrerollActive","link":"isPrerollActive","description":"

Return isPrerollActive status

"},{"title":"module:QueueManager.moveBack","link":"moveBack","description":"

Move queue position back one

"},{"title":"module:QueueManager.moveForward","link":"moveForward","description":"

Move queue position ahead one

"},{"title":"module:QueueManager.peek","link":"peek","description":"

Return item at end of play queue without removing

"},{"title":"module:QueueManager.playQueue","link":"playQueue","description":"

Play items in queue

"},{"title":"module:QueueManager.pop","link":"pop","description":"

Remove item at end of play queue

"},{"title":"module:QueueManager.push","link":"push","description":"

Push new items to the play queue

"},{"title":"module:QueueManager.resetQueueItemOrder","link":"resetQueueItemOrder","description":"

Reset queue items back to original, unshuffled order

"},{"title":"module:QueueManager.resetShuffle","link":"resetShuffle","description":"

Reset shuffle to off state

"},{"title":"module:QueueManager.set","link":"set","description":"

Replace play queue with passed array

"},{"title":"module:QueueManager.setPosition","link":"setPosition","description":"

Set the queue position

"},{"title":"module:QueueManager.setPrerollStatus","link":"setPrerollStatus","description":"

Set prerollActive status

"},{"title":"module:QueueManager.setTopStartingPoint","link":"setTopStartingPoint","description":"

Set starting point for top item in the queue

"},{"title":"module:QueueManager.shuffleQueueItems","link":"shuffleQueueItems","description":"

Save a copy of the original queue and randomize order of queue items

"},{"title":"module:QueueManager.toggleShuffle","link":"toggleShuffle","description":"

Toggle shuffleEnabled state

"},{"title":"module:QueueManager.top","link":"top","description":"

Return the fitst item in the play queue

"},{"title":"module:QuickConnect","link":"QuickConnect"},{"title":"module:QuickConnect.init","link":"init"},{"title":"module:QuickConnect.monitorQuickConnect","link":"monitorQuickConnect"},{"title":"module:QuickConnectDialog","link":"QuickConnectDialog"},{"title":"module:QuickConnectDialog.OnAuthenticated","link":"OnAuthenticated"},{"title":"module:QuickConnectDialog.init","link":"init"},{"title":"module:QuickConnectDialog.onButtonSelected","link":"onButtonSelected"},{"title":"module:QuickConnectDialog.onKeyEvent","link":"onKeyEvent"},{"title":"module:QuickConnectDialog.quickConnectClosed","link":"quickConnectClosed"},{"title":"module:QuickConnectDialog.quickConnectStatus","link":"quickConnectStatus"},{"title":"module:RadioDialog","link":"RadioDialog"},{"title":"module:RadioDialog.init","link":"init"},{"title":"module:RadioDialog.moveScrollBar","link":"moveScrollBar","description":"

Move the popup's scroll bar

"},{"title":"module:RadioDialog.onButtonSelected","link":"onButtonSelected","description":"

Event handler for when user selected a button

"},{"title":"module:RadioDialog.onContentDataChanged","link":"onContentDataChanged"},{"title":"module:RadioDialog.onItemFocused","link":"onItemFocused","description":"

Event handler for when user's cursor highlights an option in the option list

"},{"title":"module:RadioDialog.onItemSelected","link":"onItemSelected","description":"

Once user selected an item, move cursor down to OK button

"},{"title":"module:RadioDialog.onKeyEvent","link":"onKeyEvent"},{"title":"module:RadioDialog.onScrollBarFocus","link":"onScrollBarFocus","description":"

If somehow the scrollbar gains focus, set focus back to the option list

"},{"title":"module:RecordProgramTask","link":"RecordProgramTask"},{"title":"module:RecordProgramTask.RecordOrCancelProgram","link":"RecordOrCancelProgram"},{"title":"module:RecordProgramTask.init","link":"init"},{"title":"module:SceneManager","link":"SceneManager"},{"title":"module:SceneManager.clearPreviousScene","link":"clearPreviousScene","description":"

Clear previous scene from group stack

"},{"title":"module:SceneManager.clearScenes","link":"clearScenes","description":"

Clear all content from group stack

"},{"title":"module:SceneManager.deleteSceneAtIndex","link":"deleteSceneAtIndex","description":"

Delete scene from group stack at passed index

"},{"title":"module:SceneManager.dismissDialog","link":"dismissDialog","description":"

Close currently displayed dialog

"},{"title":"module:SceneManager.getActiveScene","link":"getActiveScene","description":"

Return group at top of stack without removing

"},{"title":"module:SceneManager.init","link":"init"},{"title":"module:SceneManager.isDialogOpen","link":"isDialogOpen","description":"

Returns bool indicating if dialog is currently displayed

"},{"title":"module:SceneManager.optionClosed","link":"optionClosed","description":"

Return button the user selected

"},{"title":"module:SceneManager.optionDialog","link":"optionDialog","description":"

Display dialog to user with an OK button

"},{"title":"module:SceneManager.optionSelected","link":"optionSelected","description":"

Return button the user selected

"},{"title":"module:SceneManager.popScene","link":"popScene","description":"

Remove the current group and load the last group from the stack

"},{"title":"module:SceneManager.pushScene","link":"pushScene","description":"

Push a new group onto the stack, replacing the existing group on the screen

"},{"title":"module:SceneManager.radioDialog","link":"radioDialog","description":"

Display dialog to user with an OK button

"},{"title":"module:SceneManager.registerOverhangData","link":"registerOverhangData","description":"

Register observers for overhang data

"},{"title":"module:SceneManager.resetTime","link":"resetTime","description":"

Reset time

"},{"title":"module:SceneManager.settings","link":"settings","description":"

Display user/device settings screen

"},{"title":"module:SceneManager.standardDialog","link":"standardDialog","description":"

Display dialog to user with an OK button

"},{"title":"module:SceneManager.unregisterOverhangData","link":"unregisterOverhangData","description":"

Remove observers for overhang data

"},{"title":"module:SceneManager.updateOptions","link":"updateOptions","description":"

Update options availability

"},{"title":"module:SceneManager.updateOverhangTitle","link":"updateOverhangTitle","description":"

Update overhang title

"},{"title":"module:SceneManager.updateOverhangVisible","link":"updateOverhangVisible","description":"

Update whether the overhang is visible or not

"},{"title":"module:SceneManager.updateUser","link":"updateUser","description":"

Update username in overhang

"},{"title":"module:SceneManager.userMessage","link":"userMessage","description":"

Display dialog to user with an OK button

"},{"title":"module:ScheduleProgramData","link":"ScheduleProgramData"},{"title":"module:ScheduleProgramData.setFields","link":"setFields"},{"title":"module:ScheduleProgramData.setPoster","link":"setPoster"},{"title":"module:SearchBox","link":"SearchBox"},{"title":"module:SearchBox.init","link":"init"},{"title":"module:SearchBox.searchMedias","link":"searchMedias"},{"title":"module:SearchData","link":"SearchData"},{"title":"module:SearchData.setFields","link":"setFields"},{"title":"module:SearchData.setPoster","link":"setPoster"},{"title":"module:SearchResults","link":"SearchResults"},{"title":"module:SearchResults.init","link":"init"},{"title":"module:SearchResults.loadResults","link":"loadResults"},{"title":"module:SearchResults.onKeyEvent","link":"onKeyEvent"},{"title":"module:SearchResults.searchMedias","link":"searchMedias"},{"title":"module:SearchRow","link":"SearchRow"},{"title":"module:SearchRow.addRow","link":"addRow"},{"title":"module:SearchRow.getData","link":"getData"},{"title":"module:SearchRow.init","link":"init"},{"title":"module:SearchRow.updateSize","link":"updateSize"},{"title":"module:SearchTask","link":"SearchTask"},{"title":"module:SearchTask.init","link":"init"},{"title":"module:SearchTask.search","link":"search"},{"title":"module:SeriesData","link":"SeriesData"},{"title":"module:SeriesData.setFields","link":"setFields"},{"title":"module:SeriesData.setPoster","link":"setPoster"},{"title":"module:ServerDiscoveryTask","link":"ServerDiscoveryTask"},{"title":"module:ServerDiscoveryTask.AddServer","link":"AddServer"},{"title":"module:ServerDiscoveryTask.ProcessClientDiscoveryResponse","link":"ProcessClientDiscoveryResponse"},{"title":"module:ServerDiscoveryTask.ProcessSSDPResponse","link":"ProcessSSDPResponse"},{"title":"module:ServerDiscoveryTask.SendClientDiscoveryBroadcast","link":"SendClientDiscoveryBroadcast"},{"title":"module:ServerDiscoveryTask.SendSSDPBroadcast","link":"SendSSDPBroadcast"},{"title":"module:ServerDiscoveryTask.execute","link":"execute"},{"title":"module:ServerDiscoveryTask.init","link":"init","description":"

Task used to discover jellyfin servers on the local network

"},{"title":"module:SetServerScreen","link":"SetServerScreen"},{"title":"module:SetServerScreen.ScanForServers","link":"ScanForServers"},{"title":"module:SetServerScreen.ScanForServersComplete","link":"ScanForServersComplete"},{"title":"module:SetServerScreen.ShowKeyboard","link":"ShowKeyboard"},{"title":"module:SetServerScreen.clearErrorMessage","link":"clearErrorMessage"},{"title":"module:SetServerScreen.init","link":"init"},{"title":"module:SetServerScreen.onDialogButton","link":"onDialogButton"},{"title":"module:SetServerScreen.onKeyEvent","link":"onKeyEvent"},{"title":"module:ShowScenes","link":"ShowScenes"},{"title":"module:ShowScenes.CreateAlbumView","link":"CreateAlbumView","description":"

Shows details on selected album. Description text, image, and list of available songs

"},{"title":"module:ShowScenes.CreateArtistView","link":"CreateArtistView","description":"

Shows details on selected artist. Bio, image, and list of available albums

"},{"title":"module:ShowScenes.CreateHomeGroup","link":"CreateHomeGroup"},{"title":"module:ShowScenes.CreateItemGrid","link":"CreateItemGrid"},{"title":"module:ShowScenes.CreateMovieDetailsGroup","link":"CreateMovieDetailsGroup"},{"title":"module:ShowScenes.CreateMovieLibraryView","link":"CreateMovieLibraryView"},{"title":"module:ShowScenes.CreateMusicLibraryView","link":"CreateMusicLibraryView"},{"title":"module:ShowScenes.CreatePersonView","link":"CreatePersonView"},{"title":"module:ShowScenes.CreatePlaylistView","link":"CreatePlaylistView","description":"

Shows details on selected playlist. Description text, image, and list of available items

"},{"title":"module:ShowScenes.CreateSearchPage","link":"CreateSearchPage"},{"title":"module:ShowScenes.CreateSeasonDetailsGroup","link":"CreateSeasonDetailsGroup"},{"title":"module:ShowScenes.CreateSeasonDetailsGroupByID","link":"CreateSeasonDetailsGroupByID"},{"title":"module:ShowScenes.CreateSeriesDetailsGroup","link":"CreateSeriesDetailsGroup"},{"title":"module:ShowScenes.CreateServerGroup","link":"CreateServerGroup"},{"title":"module:ShowScenes.CreateSigninGroup","link":"CreateSigninGroup"},{"title":"module:ShowScenes.CreateUserSelectGroup","link":"CreateUserSelectGroup"},{"title":"module:ShowScenes.CreateVideoPlayerGroup","link":"CreateVideoPlayerGroup"},{"title":"module:ShowScenes.DeleteFromServerList","link":"DeleteFromServerList"},{"title":"module:ShowScenes.LoginFlow","link":"LoginFlow"},{"title":"module:ShowScenes.SaveServerList","link":"SaveServerList"},{"title":"module:ShowScenes.SendPerformanceBeacon","link":"SendPerformanceBeacon","description":"

Roku Performance monitoring

"},{"title":"module:ShowScenes.playbackOptionDialog","link":"playbackOptionDialog","description":"

Opens dialog asking user if they want to resume video or start playback over only on the home screen

"},{"title":"module:SlideOutButton","link":"SlideOutButton"},{"title":"module:SlideOutButton.init","link":"init"},{"title":"module:SlideOutButton.onBackgroundChanged","link":"onBackgroundChanged"},{"title":"module:SlideOutButton.onFocusChanged","link":"onFocusChanged"},{"title":"module:SlideOutButton.onHeightChanged","link":"onHeightChanged"},{"title":"module:SlideOutButton.onHighlightChanged","link":"onHighlightChanged"},{"title":"module:SlideOutButton.onIconChanged","link":"onIconChanged"},{"title":"module:SlideOutButton.onKeyEvent","link":"onKeyEvent"},{"title":"module:SlideOutButton.onPaddingChanged","link":"onPaddingChanged"},{"title":"module:SlideOutButton.onTextChanged","link":"onTextChanged"},{"title":"module:SlideOutButton.onWidthChanged","link":"onWidthChanged"},{"title":"module:SlideOutButton.setIconSize","link":"setIconSize"},{"title":"module:SongItem","link":"SongItem"},{"title":"module:SongItem.focusChanged","link":"focusChanged"},{"title":"module:SongItem.init","link":"init"},{"title":"module:SongItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:Spinner","link":"Spinner"},{"title":"module:Spinner.init","link":"init"},{"title":"module:StandardDialog","link":"StandardDialog"},{"title":"module:StandardDialog.init","link":"init"},{"title":"module:StandardDialog.onContentDataChanged","link":"onContentDataChanged"},{"title":"module:Subtitles","link":"Subtitles"},{"title":"module:Subtitles.availSubtitleTrackIdx","link":"availSubtitleTrackIdx","description":"

Roku translates the info provided in subtitleTracks into availableSubtitleTracks\nIncluding ignoring tracks, if they are not understood, thus making indexing unpredictable.\nThis function translates between our internel selected subtitle index\nand the corresponding index in availableSubtitleTracks.

"},{"title":"module:Subtitles.changeSubtitleDuringPlayback","link":"changeSubtitleDuringPlayback"},{"title":"module:Subtitles.defaultSubtitleTrack","link":"defaultSubtitleTrack","description":"

Identify the default subtitle track\nif "requires_text" is true, only return a track if it is textual\nThis allows forcing text subs, since roku requires transcoding of non-text subs\nreturns the server-side track index for the appriate subtitle

"},{"title":"module:Subtitles.defaultSubtitleTrackFromVid","link":"defaultSubtitleTrackFromVid","description":"

Identify the default subtitle track for a given video id\nreturns the server-side track index for the appriate subtitle

"},{"title":"module:Subtitles.getSubtitleLanguages","link":"getSubtitleLanguages"},{"title":"module:Subtitles.getSubtitleSelIdxFromSubIdx","link":"getSubtitleSelIdxFromSubIdx","description":"

The subtitle index on the server differs from the index we track locally\nThis function converts the former into the latter

"},{"title":"module:Subtitles.selectSubtitleTrack","link":"selectSubtitleTrack"},{"title":"module:Subtitles.selectSubtitleTrackDialog","link":"selectSubtitleTrackDialog","description":"

Present Dialog to user to select subtitle track

"},{"title":"module:Subtitles.setupSubtitle","link":"setupSubtitle","description":"

Given a set of subtitles, and a subtitle index (the index on the server, not in the list provided)\nthis will set all relevant settings for roku (mainly closed captions) and return the index of the\nsubtitle track specified, but indexed based on the provided list of subtitles

"},{"title":"module:Subtitles.sortSubtitles","link":"sortSubtitles","description":"

Checks available subtitle tracks and puts subtitles in forced, default, and non-default/forced but preferred language at the top

"},{"title":"module:Subtitles.turnoffSubtitles","link":"turnoffSubtitles"},{"title":"module:TVEpisode","link":"TVEpisode"},{"title":"module:TVEpisode.setFields","link":"setFields"},{"title":"module:TVEpisode.setPoster","link":"setPoster"},{"title":"module:TVEpisodeData","link":"TVEpisodeData"},{"title":"module:TVEpisodeData.setFields","link":"setFields"},{"title":"module:TVEpisodeData.setPoster","link":"setPoster"},{"title":"module:TVEpisodeRow","link":"TVEpisodeRow"},{"title":"module:TVEpisodeRow.init","link":"init"},{"title":"module:TVEpisodeRow.onKeyEvent","link":"onKeyEvent"},{"title":"module:TVEpisodeRow.setData","link":"setData"},{"title":"module:TVEpisodeRow.setupRows","link":"setupRows"},{"title":"module:TVEpisodeRow.updateSize","link":"updateSize"},{"title":"module:TVEpisodeRowWithOptions","link":"TVEpisodeRowWithOptions"},{"title":"module:TVEpisodeRowWithOptions.SetUpAudioOptions","link":"SetUpAudioOptions","description":"

List of audio tracks to choose from

"},{"title":"module:TVEpisodeRowWithOptions.SetUpVideoOptions","link":"SetUpVideoOptions","description":"

List of video versions to choose from

"},{"title":"module:TVEpisodeRowWithOptions.audioOptionsClosed","link":"audioOptionsClosed"},{"title":"module:TVEpisodeRowWithOptions.init","link":"init"},{"title":"module:TVEpisodeRowWithOptions.onKeyEvent","link":"onKeyEvent"},{"title":"module:TVEpisodeRowWithOptions.rowsDoneLoading","link":"rowsDoneLoading"},{"title":"module:TVEpisodeRowWithOptions.setupRows","link":"setupRows"},{"title":"module:TVEpisodeRowWithOptions.videoOptionsClosed","link":"videoOptionsClosed"},{"title":"module:TVEpisodes","link":"TVEpisodes"},{"title":"module:TVEpisodes.init","link":"init"},{"title":"module:TVEpisodes.onKeyEvent","link":"onKeyEvent","description":"

Handle navigation input from the remote and act on it

"},{"title":"module:TVEpisodes.setExtraButtonVisibility","link":"setExtraButtonVisibility","description":"

Updates the visibility of the Extras button based on if this season has any extra features

"},{"title":"module:TVEpisodes.setSeasonLoading","link":"setSeasonLoading"},{"title":"module:TVEpisodes.updateSeason","link":"updateSeason"},{"title":"module:TVListDetails","link":"TVListDetails"},{"title":"module:TVListDetails.DisplayAudioAvailable","link":"DisplayAudioAvailable","description":"

Adds "+N" (e.g. +1) if there is more than one audio track to choose from

"},{"title":"module:TVListDetails.DisplayVideoAvailable","link":"DisplayVideoAvailable","description":"

Adds "+N" (e.g. +1) if there is more than one video version to choose from

"},{"title":"module:TVListDetails.SetupAudioDisplay","link":"SetupAudioDisplay","description":"

Display current audio_codec and check if there is more than one audio track to choose from...

"},{"title":"module:TVListDetails.focusChanged","link":"focusChanged"},{"title":"module:TVListDetails.getEndTime","link":"getEndTime"},{"title":"module:TVListDetails.getRuntime","link":"getRuntime"},{"title":"module:TVListDetails.init","link":"init"},{"title":"module:TVListDetails.itemContentChanged","link":"itemContentChanged"},{"title":"module:TVListOptions","link":"TVListOptions"},{"title":"module:TVListOptions.buttonFocusChanged","link":"buttonFocusChanged","description":"

Switch menu shown when button focus changes

"},{"title":"module:TVListOptions.init","link":"init"},{"title":"module:TVListOptions.onKeyEvent","link":"onKeyEvent"},{"title":"module:TVListOptions.optionsSet","link":"optionsSet"},{"title":"module:TVSeasonData","link":"TVSeasonData"},{"title":"module:TVSeasonData.setFields","link":"setFields"},{"title":"module:TVSeasonData.setPoster","link":"setPoster"},{"title":"module:TVSeasonRow","link":"TVSeasonRow"},{"title":"module:TVSeasonRow.getData","link":"getData"},{"title":"module:TVSeasonRow.init","link":"init"},{"title":"module:TVSeasonRow.updateSize","link":"updateSize"},{"title":"module:TVShowDescription","link":"TVShowDescription"},{"title":"module:TVShowDescription.getEndTime","link":"getEndTime"},{"title":"module:TVShowDescription.getHistory","link":"getHistory"},{"title":"module:TVShowDescription.getRuntime","link":"getRuntime"},{"title":"module:TVShowDescription.init","link":"init"},{"title":"module:TVShowDescription.itemContentChanged","link":"itemContentChanged"},{"title":"module:TVShowDescription.round","link":"round"},{"title":"module:TVShowDescription.setFieldText","link":"setFieldText"},{"title":"module:TVShowDetails","link":"TVShowDetails"},{"title":"module:TVShowDetails.getEndTime","link":"getEndTime"},{"title":"module:TVShowDetails.getHistory","link":"getHistory"},{"title":"module:TVShowDetails.getRuntime","link":"getRuntime"},{"title":"module:TVShowDetails.init","link":"init"},{"title":"module:TVShowDetails.itemContentChanged","link":"itemContentChanged"},{"title":"module:TVShowDetails.onKeyEvent","link":"onKeyEvent"},{"title":"module:TVShowDetails.onShuffleEpisodeDataLoaded","link":"onShuffleEpisodeDataLoaded"},{"title":"module:TVShowDetails.round","link":"round"},{"title":"module:TVShowDetails.setFieldText","link":"setFieldText"},{"title":"module:TextSizeTask","link":"TextSizeTask"},{"title":"module:TextSizeTask.getTextSize","link":"getTextSize"},{"title":"module:TextSizeTask.init","link":"init"},{"title":"module:UserData","link":"UserData"},{"title":"module:UserData.getPreference","link":"getPreference"},{"title":"module:UserData.loadFromJSON","link":"loadFromJSON"},{"title":"module:UserData.loadFromRegistry","link":"loadFromRegistry"},{"title":"module:UserData.removeFromRegistry","link":"removeFromRegistry"},{"title":"module:UserData.saveToRegistry","link":"saveToRegistry"},{"title":"module:UserData.setActive","link":"setActive"},{"title":"module:UserData.setDataFromJSON","link":"setDataFromJSON"},{"title":"module:UserData.setPreference","link":"setPreference"},{"title":"module:UserData.setServer","link":"setServer"},{"title":"module:UserItem","link":"UserItem"},{"title":"module:UserItem.init","link":"init"},{"title":"module:UserItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:UserLibrary","link":"UserLibrary"},{"title":"module:UserLibrary.MarkItemFavorite","link":"MarkItemFavorite"},{"title":"module:UserLibrary.MarkItemWatched","link":"MarkItemWatched"},{"title":"module:UserLibrary.UnmarkItemFavorite","link":"UnmarkItemFavorite"},{"title":"module:UserLibrary.UnmarkItemWatched","link":"UnmarkItemWatched"},{"title":"module:UserRow","link":"UserRow"},{"title":"module:UserRow.init","link":"init"},{"title":"module:UserRow.onKeyEvent","link":"onKeyEvent"},{"title":"module:UserRow.setData","link":"setData"},{"title":"module:UserRow.setUser","link":"setUser"},{"title":"module:UserRow.updateSize","link":"updateSize"},{"title":"module:UserSelect","link":"UserSelect"},{"title":"module:UserSelect.init","link":"init"},{"title":"module:UserSelect.itemContentChanged","link":"itemContentChanged"},{"title":"module:UserSelect.onKeyEvent","link":"onKeyEvent"},{"title":"module:UserSelect.redraw","link":"redraw"},{"title":"module:VideoData","link":"VideoData"},{"title":"module:VideoData.setFields","link":"setFields"},{"title":"module:VideoData.setPoster","link":"setPoster"},{"title":"module:VideoPlayer","link":"VideoPlayer"},{"title":"module:VideoPlayer.AddVideoContent","link":"AddVideoContent"},{"title":"module:VideoPlayer.GetPlaybackInfo","link":"GetPlaybackInfo","description":"

Returns an array of playback info to be displayed during playback.\nIn the future, with a custom playback info view, we can return an associated array.

"},{"title":"module:VideoPlayer.GetTranscodingStats","link":"GetTranscodingStats"},{"title":"module:VideoPlayer.PlayIntroVideo","link":"PlayIntroVideo"},{"title":"module:VideoPlayer.VideoPlayer","link":"VideoPlayer"},{"title":"module:VideoPlayer.autoPlayNextEpisode","link":"autoPlayNextEpisode"},{"title":"module:VideoPlayer.directPlaySupported","link":"directPlaySupported"},{"title":"module:VideoPlayer.getAudioFormat","link":"getAudioFormat"},{"title":"module:VideoPlayer.getAudioInfo","link":"getAudioInfo"},{"title":"module:VideoPlayer.getContainerType","link":"getContainerType"},{"title":"module:VideoPlayer.getDisplayBitrate","link":"getDisplayBitrate"},{"title":"module:VideoPlayer.getTranscodeReasons","link":"getTranscodeReasons","description":"

Extract array of Transcode Reasons from the content URL

"},{"title":"module:VideoPlayer.havePlaybackInfo","link":"havePlaybackInfo"},{"title":"module:VideoPlayer.startPlayBackOver","link":"startPlayBackOver","description":"

Opens dialog asking user if they want to resume video or start playback over only on the home screen

"},{"title":"module:VideoPlayerView","link":"VideoPlayerView"},{"title":"module:VideoPlayerView.ReportPlayback","link":"ReportPlayback","description":"

Report playback to server

"},{"title":"module:VideoPlayerView.bufferCheck","link":"bufferCheck","description":"

Check the the buffering has not hung

"},{"title":"module:VideoPlayerView.checkTimeToDisplayNextEpisode","link":"checkTimeToDisplayNextEpisode","description":"

Checks if we need to display the Next Episode button

"},{"title":"module:VideoPlayerView.getCurrentChapterIndex","link":"getCurrentChapterIndex","description":"

getCurrentChapterIndex: Finds current chapter index

"},{"title":"module:VideoPlayerView.handleChapterListAction","link":"handleChapterListAction","description":"

handleChapterListAction: Handles action to show chapter list

"},{"title":"module:VideoPlayerView.handleChapterSkipAction","link":"handleChapterSkipAction","description":"

handleChapterSkipAction: Handles user command to skip chapters in playing video

"},{"title":"module:VideoPlayerView.handleHideAction","link":"handleHideAction","description":"

handleHideAction: Handles action to hide OSD menu

"},{"title":"module:VideoPlayerView.handleShowSubtitleMenuAction","link":"handleShowSubtitleMenuAction","description":"

handleShowSubtitleMenuAction: Handles action to show subtitle selection menu

"},{"title":"module:VideoPlayerView.handleShowVideoInfoPopupAction","link":"handleShowVideoInfoPopupAction","description":"

handleShowVideoInfoPopupAction: Handles action to show video info popup

"},{"title":"module:VideoPlayerView.handleVideoPlayPauseAction","link":"handleVideoPlayPauseAction","description":"

handleVideoPlayPauseAction: Handles action to either play or pause the video content

"},{"title":"module:VideoPlayerView.hideNextEpisodeButton","link":"hideNextEpisodeButton","description":"

Runs hide Next Episode button animation and sets focus back to video

"},{"title":"module:VideoPlayerView.init","link":"init"},{"title":"module:VideoPlayerView.loadCaption","link":"loadCaption","description":"

Set caption url to server subtitle track

"},{"title":"module:VideoPlayerView.onAllowCaptionsChange","link":"onAllowCaptionsChange","description":"

Only setup caption items if captions are allowed

"},{"title":"module:VideoPlayerView.onContentChange","link":"onContentChange","description":"

Event handler for when video content field changes

"},{"title":"module:VideoPlayerView.onKeyEvent","link":"onKeyEvent"},{"title":"module:VideoPlayerView.onNextEpisodeDataLoaded","link":"onNextEpisodeDataLoaded"},{"title":"module:VideoPlayerView.onOSDAction","link":"onOSDAction","description":"

onOSDAction: Process action events from OSD to their respective handlers

"},{"title":"module:VideoPlayerView.onPlaybackErrorButtonSelected","link":"onPlaybackErrorButtonSelected"},{"title":"module:VideoPlayerView.onPlaybackErrorDialogClosed","link":"onPlaybackErrorDialogClosed"},{"title":"module:VideoPlayerView.onPositionChanged","link":"onPositionChanged","description":"

When Video Player state changes

"},{"title":"module:VideoPlayerView.onState","link":"onState","description":"

When Video Player state changes

"},{"title":"module:VideoPlayerView.onSubtitleChange","link":"onSubtitleChange","description":"

Event handler for when selectedSubtitle changes

"},{"title":"module:VideoPlayerView.onVideoContentLoaded","link":"onVideoContentLoaded"},{"title":"module:VideoPlayerView.populateChapterMenu","link":"populateChapterMenu","description":"

populateChapterMenu: ' Parse chapter data from API and appeand to chapter list menu

"},{"title":"module:VideoPlayerView.showNextEpisodeButton","link":"showNextEpisodeButton","description":"

Runs Next Episode button animation and sets focus to button

"},{"title":"module:VideoPlayerView.showPlaybackErrorDialog","link":"showPlaybackErrorDialog"},{"title":"module:VideoPlayerView.stateAllowsOSD","link":"stateAllowsOSD","description":"

stateAllowsOSD: Check if current video state allows showing the OSD

"},{"title":"module:VideoPlayerView.toggleCaption","link":"toggleCaption","description":"

Toggles visibility of custom subtitles and sets captionTask's player state

"},{"title":"module:VideoPlayerView.updateCaption","link":"updateCaption","description":"

Removes old subtitle lines and adds new subtitle lines

"},{"title":"module:VideoPlayerView.updateCount","link":"updateCount","description":"

Update count down text

"},{"title":"module:VideoTrackListItem","link":"VideoTrackListItem"},{"title":"module:VideoTrackListItem.focusChanged","link":"focusChanged","description":"

Scroll description if focused

"},{"title":"module:VideoTrackListItem.init","link":"init"},{"title":"module:VideoTrackListItem.itemContentChanged","link":"itemContentChanged"},{"title":"module:ViewCreator","link":"ViewCreator"},{"title":"module:ViewCreator.CreateAudioPlayerView","link":"CreateAudioPlayerView","description":"

Play Audio

"},{"title":"module:ViewCreator.CreateVideoPlayerView","link":"CreateVideoPlayerView","description":"

Play Video

"},{"title":"module:ViewCreator.availSubtitleTrackIdx","link":"availSubtitleTrackIdx","description":"

Roku translates the info provided in subtitleTracks into availableSubtitleTracks\nIncluding ignoring tracks, if they are not understood, thus making indexing unpredictable.\nThis function translates between our internel selected subtitle index\nand the corresponding index in availableSubtitleTracks.

"},{"title":"module:ViewCreator.onPlaybackInfoLoaded","link":"onPlaybackInfoLoaded","description":"

The playback info task has returned data

"},{"title":"module:ViewCreator.onSelectPlaybackInfoPressed","link":"onSelectPlaybackInfoPressed","description":"

User requested playback info

"},{"title":"module:ViewCreator.onSelectSubtitlePressed","link":"onSelectSubtitlePressed","description":"

User requested subtitle selection popup

"},{"title":"module:ViewCreator.onSelectionMade","link":"onSelectionMade","description":"

User has selected something from the radioDialog popup

"},{"title":"module:ViewCreator.onStateChange","link":"onStateChange","description":"

Playback state change event handlers

"},{"title":"module:ViewCreator.processSubtitleSelection","link":"processSubtitleSelection"},{"title":"module:WhatsNewDialog","link":"WhatsNewDialog"},{"title":"module:WhatsNewDialog.init","link":"init"},{"title":"module:WhatsNewDialog.setPalette","link":"setPalette"},{"title":"module:baserequest","link":"baserequest"},{"title":"module:baserequest.APIRequest","link":"APIRequest"},{"title":"module:baserequest.authRequest","link":"authRequest","description":"

Takes and returns a roUrlTransfer object after adding a Jellyfin "Authorization" header

"},{"title":"module:baserequest.buildAuthHeader","link":"buildAuthHeader","description":"

Returns a string containing the "Authorization" header payload

"},{"title":"module:baserequest.buildParams","link":"buildParams","description":"

Functions for making requests to the API

"},{"title":"module:baserequest.buildURL","link":"buildURL"},{"title":"module:baserequest.deleteVoid","link":"deleteVoid"},{"title":"module:baserequest.getJson","link":"getJson"},{"title":"module:baserequest.getString","link":"getString"},{"title":"module:baserequest.getVoid","link":"getVoid"},{"title":"module:baserequest.get_url","link":"get_url"},{"title":"module:baserequest.headVoid","link":"headVoid"},{"title":"module:baserequest.postJson","link":"postJson"},{"title":"module:baserequest.postString","link":"postString"},{"title":"module:baserequest.postVoid","link":"postVoid"},{"title":"module:baserequest.setCertificateAuthority","link":"setCertificateAuthority","description":"

sets the certificate authority by file path on the passed node

"},{"title":"module:captionTask","link":"captionTask"},{"title":"module:captionTask.fetchCaption","link":"fetchCaption"},{"title":"module:captionTask.init","link":"init"},{"title":"module:captionTask.isTime","link":"isTime"},{"title":"module:captionTask.newLayoutGroup","link":"newLayoutGroup"},{"title":"module:captionTask.newRect","link":"newRect"},{"title":"module:captionTask.newlabel","link":"newlabel"},{"title":"module:captionTask.parseVTT","link":"parseVTT"},{"title":"module:captionTask.setFont","link":"setFont"},{"title":"module:captionTask.toMs","link":"toMs"},{"title":"module:captionTask.updateCaption","link":"updateCaption"},{"title":"module:config","link":"config"},{"title":"module:config.GetConfigTree","link":"GetConfigTree","description":"

Read config tree from json config file and return

"},{"title":"module:config.RegistryReadAll","link":"RegistryReadAll","description":"

Return all data found inside a registry section

"},{"title":"module:config.findConfigTreeKey","link":"findConfigTreeKey","description":"

Recursivly search the config tree for entry with settingname equal to key

"},{"title":"module:config.getRegistrySections","link":"getRegistrySections","description":"

Return an array of all the registry section keys

"},{"title":"module:config.getSavedUsers","link":"getSavedUsers","description":"

Returns an array of saved users from the registry\nthat belong to the active server

"},{"title":"module:config.get_setting","link":"get_setting","description":"

"Jellyfin" registry accessors for the default global settings

"},{"title":"module:config.get_user_setting","link":"get_user_setting","description":"

User registry accessors for the currently active user

"},{"title":"module:config.registry_delete","link":"registry_delete"},{"title":"module:config.registry_read","link":"registry_read","description":"

Generic registry accessors

"},{"title":"module:config.registry_write","link":"registry_write"},{"title":"module:config.set_setting","link":"set_setting"},{"title":"module:config.set_user_setting","link":"set_user_setting"},{"title":"module:config.unset_setting","link":"unset_setting"},{"title":"module:config.unset_user_setting","link":"unset_user_setting"},{"title":"module:deviceCapabilities","link":"deviceCapabilities"},{"title":"module:deviceCapabilities.GetBitRateLimit","link":"GetBitRateLimit"},{"title":"module:deviceCapabilities.GetDirectPlayProfiles","link":"GetDirectPlayProfiles"},{"title":"module:deviceCapabilities.getCodecProfiles","link":"getCodecProfiles"},{"title":"module:deviceCapabilities.getContainerProfiles","link":"getContainerProfiles"},{"title":"module:deviceCapabilities.getDeviceCapabilities","link":"getDeviceCapabilities","description":"

Returns the Device Capabilities for Roku.\nAlso prints out the device profile for debugging

"},{"title":"module:deviceCapabilities.getDeviceProfile","link":"getDeviceProfile"},{"title":"module:deviceCapabilities.getMaxHeightArray","link":"getMaxHeightArray"},{"title":"module:deviceCapabilities.getMaxWidthArray","link":"getMaxWidthArray"},{"title":"module:deviceCapabilities.getSubtitleProfiles","link":"getSubtitleProfiles"},{"title":"module:deviceCapabilities.getTranscodingProfiles","link":"getTranscodingProfiles"},{"title":"module:deviceCapabilities.printDeviceProfile","link":"printDeviceProfile","description":"

Print out the deviceProfile for debugging

"},{"title":"module:deviceCapabilities.removeDecimals","link":"removeDecimals","description":"

Remove all decimals from a string

"},{"title":"module:deviceCapabilities.setPreferredCodec","link":"setPreferredCodec","description":"

Takes and returns a comma delimited string of codecs.\nMoves the preferred codec to the front of the string

"},{"title":"module:deviceCapabilities.updateProfileArray","link":"updateProfileArray","description":"

Recieves and returns an assArray of supported profiles and levels for each video codec

"},{"title":"module:globals","link":"globals"},{"title":"module:globals.SaveAppToGlobal","link":"SaveAppToGlobal","description":"

Save information from roAppInfo to m.global.app

"},{"title":"module:globals.SaveDeviceToGlobal","link":"SaveDeviceToGlobal","description":"

Save information from roDeviceInfo to m.global.device

"},{"title":"module:globals.setConstants","link":"setConstants","description":"

Set global constants

"},{"title":"module:migrations","link":"migrations"},{"title":"module:migrations.runGlobalMigrations","link":"runGlobalMigrations","description":"

Run all necessary registry mirations on the "global" Jellyfin registry section

"},{"title":"module:migrations.runRegistryUserMigrations","link":"runRegistryUserMigrations"},{"title":"module:misc","link":"misc"},{"title":"module:misc.AssocArrayEqual","link":"AssocArrayEqual"},{"title":"module:misc.arrayHasValue","link":"arrayHasValue","description":"

Check if a specific value is inside of an array

"},{"title":"module:misc.div_ceiling","link":"div_ceiling"},{"title":"module:misc.findNodeBySubtype","link":"findNodeBySubtype"},{"title":"module:misc.formatTime","link":"formatTime","description":"

Format time as 12 or 24 hour format based on system clock setting

"},{"title":"module:misc.getButton","link":"getButton"},{"title":"module:misc.getMinutes","link":"getMinutes","description":"

Converts ticks to minutes

"},{"title":"module:misc.getMsgPicker","link":"getMsgPicker"},{"title":"module:misc.get_dialog_result","link":"get_dialog_result","description":"

Returns the item selected or -1 on backpress or other unhandled closure of dialog.

"},{"title":"module:misc.inArray","link":"inArray","description":"

Search string array for search value. Return if it's found

"},{"title":"module:misc.inferServerUrl","link":"inferServerUrl","description":"

take an incomplete url string and use it to make educated guesses about\nthe complete url. then tests these guesses to see if it can find a jf server\nreturns the url of the server it found, or an empty string

"},{"title":"module:misc.isJellyfinServer","link":"isJellyfinServer","description":"

accepts the raw json string of /system/info/public and returns\na boolean indicating if ProductName is "Jellyfin Server"

"},{"title":"module:misc.isLocalhost","link":"isLocalhost","description":"

Returns true if the string is a loopback, such as 'localhost' or '127.0.0.1'

"},{"title":"module:misc.isNodeEvent","link":"isNodeEvent"},{"title":"module:misc.isValid","link":"isValid","description":"

Returns whether or not passed value is valid

"},{"title":"module:misc.isValidAndNotEmpty","link":"isValidAndNotEmpty","description":"

Returns whether or not passed value is valid and not empty\nAccepts a string, or any countable type (arrays and lists)

"},{"title":"module:misc.lastFocusedChild","link":"lastFocusedChild"},{"title":"module:misc.leftPad","link":"leftPad"},{"title":"module:misc.message_dialog","link":"message_dialog"},{"title":"module:misc.option_dialog","link":"option_dialog"},{"title":"module:misc.parseUrl","link":"parseUrl","description":"

Returns an array from a url = [ url, proto, host, port, subdir+params ]\nIf port or subdir are not found, an empty string will be added to the array\nProto must be declared or array will be empty

"},{"title":"module:misc.roundNumber","link":"roundNumber","description":"

Rounds number to nearest integer

"},{"title":"module:misc.secondsToHuman","link":"secondsToHuman"},{"title":"module:misc.setFieldTextValue","link":"setFieldTextValue"},{"title":"module:misc.show_dialog","link":"show_dialog"},{"title":"module:misc.shuffleArray","link":"shuffleArray","description":"

Takes an array of data, shuffles the order, then returns the array\nuses the Fisher-Yates shuffling algorithm

"},{"title":"module:misc.startLoadingSpinner","link":"startLoadingSpinner"},{"title":"module:misc.startMediaLoadingSpinner","link":"startMediaLoadingSpinner"},{"title":"module:misc.stopLoadingSpinner","link":"stopLoadingSpinner"},{"title":"module:misc.ticksToHuman","link":"ticksToHuman"},{"title":"module:misc.toString","link":"toString"},{"title":"module:misc.urlCandidates","link":"urlCandidates","description":"

this is the "educated guess" logic for inferServerUrl that generates a list of complete url's as candidates\nfor the tests in inferServerUrl. takes an incomplete url as an arg and returns a list of extrapolated\nfull urls.

"},{"title":"module:misc.versionChecker","link":"versionChecker","description":"

Returns whether or not a version number (e.g. 10.7.7) is greater or equal\nto some minimum version allowed (e.g. 10.8.0)

"},{"title":"module:quickplay","link":"quickplay"},{"title":"module:quickplay.album","link":"album","description":"

A music album.\nPlay the entire album starting with track 1.

"},{"title":"module:quickplay.artist","link":"artist","description":"

A music artist.\nShuffle play all songs by artist.

"},{"title":"module:quickplay.audio","link":"audio","description":"

A single audio file.

"},{"title":"module:quickplay.boxset","link":"boxset","description":"

A boxset.\nPlay all items inside.

"},{"title":"module:quickplay.collectionFolder","link":"collectionFolder","description":"

Quick Play A CollectionFolder.\nShuffle play the items inside\nwith some differences based on collectionType.

"},{"title":"module:quickplay.folder","link":"folder","description":"

Quick Play A folder.\nShuffle play all items found

"},{"title":"module:quickplay.multipleSeries","link":"multipleSeries","description":"

More than one TV Show Series.\nShuffle play all watched episodes

"},{"title":"module:quickplay.musicVideo","link":"musicVideo","description":"

A single music video file.

"},{"title":"module:quickplay.person","link":"person","description":"

Quick Play A Person.\nShuffle play all videos found

"},{"title":"module:quickplay.photo","link":"photo","description":"

A single photo.

"},{"title":"module:quickplay.photoAlbum","link":"photoAlbum","description":"

A photo album.

"},{"title":"module:quickplay.playlist","link":"playlist","description":"

Quick Play A Playlist.\nPlay the first unwatched episode.\nIf none, play the whole season starting with episode 1.

"},{"title":"module:quickplay.program","link":"program","description":"

Quick Play A Live Program

"},{"title":"module:quickplay.pushToQueue","link":"pushToQueue","description":"

Takes an array of items and adds to global queue.\nAlso shuffles the playlist if asked

"},{"title":"module:quickplay.season","link":"season","description":"

A TV Show Season.\nPlay the first unwatched episode.\nIf none, play the whole season starting with episode 1.

"},{"title":"module:quickplay.series","link":"series","description":"

A TV Show Series.\nPlay the first unwatched episode.\nIf none, shuffle play the whole series.

"},{"title":"module:quickplay.tvChannel","link":"tvChannel","description":"

Quick Play A TVChannel

"},{"title":"module:quickplay.userView","link":"userView","description":"

Quick Play A UserView.\nPlay logic depends on "collectionType".

"},{"title":"module:quickplay.video","link":"video","description":"

A single video file.

"},{"title":"module:schedule","link":"schedule"},{"title":"module:schedule.channelFilterSet","link":"channelFilterSet"},{"title":"module:schedule.channelsearchTermSet","link":"channelsearchTermSet","description":"

Voice Search set

"},{"title":"module:schedule.focusProgramDetails","link":"focusProgramDetails","description":"

Move the TV Guide Grid down or up depending whether details are selected

"},{"title":"module:schedule.init","link":"init"},{"title":"module:schedule.onChannelsLoaded","link":"onChannelsLoaded","description":"

Initial list of channels loaded

"},{"title":"module:schedule.onGridScrolled","link":"onGridScrolled","description":"

As user scrolls grid, check if more data requries to be loaded

"},{"title":"module:schedule.onKeyEvent","link":"onKeyEvent"},{"title":"module:schedule.onProgramDetailsLoaded","link":"onProgramDetailsLoaded","description":"

Update the Program Details with full information

"},{"title":"module:schedule.onProgramFocused","link":"onProgramFocused"},{"title":"module:schedule.onProgramSelected","link":"onProgramSelected"},{"title":"module:schedule.onRecordChannelSelected","link":"onRecordChannelSelected","description":"

Handle user selecting "Record Channel" from Program Details

"},{"title":"module:schedule.onRecordOperationDone","link":"onRecordOperationDone"},{"title":"module:schedule.onRecordSeriesChannelSelected","link":"onRecordSeriesChannelSelected","description":"

Handle user selecting "Record Series" from Program Details

"},{"title":"module:schedule.onScheduleLoaded","link":"onScheduleLoaded","description":"

When LoadScheduleTask completes (initial or more data) and we have a schedule to display

"},{"title":"module:schedule.onWatchChannelSelected","link":"onWatchChannelSelected","description":"

Handle user selecting "Watch Channel" from Program Details

"},{"title":"module:section","link":"section"},{"title":"module:section.init","link":"init"},{"title":"module:section.onFocusChange","link":"onFocusChange"},{"title":"module:section.onIDChange","link":"onIDChange"},{"title":"module:section.onTranslationChange","link":"onTranslationChange"},{"title":"module:section.scrollDownToOnDeck","link":"scrollDownToOnDeck"},{"title":"module:section.scrollOffBottom","link":"scrollOffBottom"},{"title":"module:section.scrollOffOnDeck","link":"scrollOffOnDeck"},{"title":"module:section.scrollOffTop","link":"scrollOffTop"},{"title":"module:section.scrollUpToOnDeck","link":"scrollUpToOnDeck"},{"title":"module:section.showFromBottom","link":"showFromBottom"},{"title":"module:section.showFromTop","link":"showFromTop"},{"title":"module:sectionScroller","link":"sectionScroller"},{"title":"module:sectionScroller.displayedIndexChanged","link":"displayedIndexChanged"},{"title":"module:sectionScroller.init","link":"init"},{"title":"module:sectionScroller.onFocusChange","link":"onFocusChange"},{"title":"module:settings","link":"settings"},{"title":"module:settings.LoadMenu","link":"LoadMenu"},{"title":"module:settings.OnScreenHidden","link":"OnScreenHidden","description":"

JFScreen hook that gets ran as needed.\nAssumes settings were changed and they affect the device profile.\nPosts a new device profile to the server using the task thread

"},{"title":"module:settings.boolSettingChanged","link":"boolSettingChanged"},{"title":"module:settings.init","link":"init"},{"title":"module:settings.isFormInFocus","link":"isFormInFocus","description":"

Returns true if any of the data entry forms are in focus

"},{"title":"module:settings.onKeyEvent","link":"onKeyEvent"},{"title":"module:settings.onKeyGridEscape","link":"onKeyGridEscape"},{"title":"module:settings.onKeyGridSubmit","link":"onKeyGridSubmit"},{"title":"module:settings.postFinished","link":"postFinished","description":"

Triggered by m.postTask after completing a post.\nEmpty the task data when finished.

"},{"title":"module:settings.radioSettingChanged","link":"radioSettingChanged"},{"title":"module:settings.settingFocused","link":"settingFocused"},{"title":"module:settings.settingSelected","link":"settingSelected"},{"title":"module:userauth","link":"userauth"},{"title":"module:userauth.AboutMe","link":"AboutMe"},{"title":"module:userauth.AuthenticateViaQuickConnect","link":"AuthenticateViaQuickConnect"},{"title":"module:userauth.AvailableUsers","link":"AvailableUsers"},{"title":"module:userauth.GetPublicUsers","link":"GetPublicUsers"},{"title":"module:userauth.LoadUserAbilities","link":"LoadUserAbilities"},{"title":"module:userauth.ServerInfo","link":"ServerInfo"},{"title":"module:userauth.SignOut","link":"SignOut"},{"title":"module:userauth.checkQuickConnect","link":"checkQuickConnect"},{"title":"module:userauth.get_token","link":"get_token"},{"title":"module:userauth.initQuickConnect","link":"initQuickConnect"}]} \ No newline at end of file diff --git a/docs/api/index.html b/docs/api/index.html index ea6895856..c67f1a98f 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -1,3 +1,3 @@ jellyfin-roku Code Documentation
On this page

Welcome

Use the Modules dropdown or the search feature to find functions and files to inspect

Known Issues

  • BrighterScript namespaces:
    • Duplicate function names will prevent the entire file from being parsed by JSDoc i.e. having namespace.red.Delete() and namespace.blue.Delete()
  • The line numbers listed for functions are incorrect.
  • The syntax highlighter treats all source files as JavaScript.
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Welcome

Use the Modules dropdown or the search feature to find functions and files to inspect

Known Issues

  • BrighterScript namespaces:
    • Duplicate function names will prevent the entire file from being parsed by JSDoc i.e. having namespace.red.Delete() and namespace.blue.Delete()
  • The line numbers listed for functions are incorrect.
  • The syntax highlighter treats all source files as JavaScript.
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-AlbumData.html b/docs/api/module-AlbumData.html index a04d2adb5..5e365fa94 100644 --- a/docs/api/module-AlbumData.html +++ b/docs/api/module-AlbumData.html @@ -1,3 +1,3 @@ Module: AlbumData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-AlbumGrid.html b/docs/api/module-AlbumGrid.html index e884b5f04..913131fbc 100644 --- a/docs/api/module-AlbumGrid.html +++ b/docs/api/module-AlbumGrid.html @@ -1,3 +1,3 @@ Module: AlbumGrid
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-AlbumTrackList.html b/docs/api/module-AlbumTrackList.html index d0cc64c53..2df455703 100644 --- a/docs/api/module-AlbumTrackList.html +++ b/docs/api/module-AlbumTrackList.html @@ -1,3 +1,3 @@ Module: AlbumTrackList
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-AlbumView.html b/docs/api/module-AlbumView.html index 67464390f..f6f08af06 100644 --- a/docs/api/module-AlbumView.html +++ b/docs/api/module-AlbumView.html @@ -1,3 +1,3 @@ Module: AlbumView
On this page

Methods

(static) OnScreenHidden() → {void}

Returns:
Type: 
void

(static) adjustScreenForNoOverview() → {void}

Adjust scene by removing overview node and showing more songs

Returns:
Type: 
void

(static) createDialogPallete() → {void}

Returns:
Type: 
void

(static) createFullDscrDlg() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onDoneLoading() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) pageContentChanged() → {void}

Set values for displayed values on screen

Returns:
Type: 
void

(static) setOnScreenTextValues(json) → {void}

Populate on screen text variables

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) setPosterImage(posterURL) → {void}

Set poster image on screen

Parameters:
NameTypeDescription
posterURLdynamic
Returns:
Type: 
void

(static) setScreenTitle(json) → {void}

Set screen's title text

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) setupMainNode() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) OnScreenHidden() → {void}

Returns:
Type: 
void

(static) adjustScreenForNoOverview() → {void}

Adjust scene by removing overview node and showing more songs

Returns:
Type: 
void

(static) createDialogPallete() → {void}

Returns:
Type: 
void

(static) createFullDscrDlg() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onDoneLoading() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) pageContentChanged() → {void}

Set values for displayed values on screen

Returns:
Type: 
void

(static) setOnScreenTextValues(json) → {void}

Populate on screen text variables

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) setPosterImage(posterURL) → {void}

Set poster image on screen

Parameters:
NameTypeDescription
posterURLdynamic
Returns:
Type: 
void

(static) setScreenTitle(json) → {void}

Set screen's title text

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) setupMainNode() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-Alpha.html b/docs/api/module-Alpha.html index 787932f56..2502612f2 100644 --- a/docs/api/module-Alpha.html +++ b/docs/api/module-Alpha.html @@ -1,3 +1,3 @@ Module: Alpha
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ArtistView.html b/docs/api/module-ArtistView.html index 3044f4e33..0633105c2 100644 --- a/docs/api/module-ArtistView.html +++ b/docs/api/module-ArtistView.html @@ -1,3 +1,3 @@ Module: ArtistView
On this page

Methods

(static) OnScreenHidden() → {void}

Returns:
Type: 
void

(static) OnScreenShown() → {void}

Returns:
Type: 
void

(static) artistOverviewChanged() → {void}

Event fired when page data is loaded

Returns:
Type: 
void

(static) createDialogPallete() → {void}

Returns:
Type: 
void

(static) createFullDscrDlg() → {void}

Returns:
Type: 
void

(static) dscrShowFocus() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onAlbumsData() → {void}

Returns:
Type: 
void

(static) onAlbumsEscape() → {void}

Returns:
Type: 
void

(static) onAppearsOnData() → {void}

Returns:
Type: 
void

(static) onAppearsOnEscape() → {void}

Returns:
Type: 
void

(static) onBackdropImageLoaded() → {void}

Returns:
Type: 
void

(static) onButtonSelectedChange() → {void}

Event handler when user selected a different playback button

Returns:
Type: 
void

(static) onEllipsisChanged() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onSectionNavigationEscape() → {void}

Returns:
Type: 
void

(static) onSectionNavigationSelected() → {void}

Returns:
Type: 
void

(static) onSectionScrollerChange() → {void}

Returns:
Type: 
void

(static) pageContentChanged() → {void}

Event fired when page data is loaded

Returns:
Type: 
void

(static) setBackdropImage(data) → {void}

Add backdrop image to screen

Parameters:
NameTypeDescription
datadynamic
Returns:
Type: 
void

(static) setPosterImage(posterURL) → {void}

Parameters:
NameTypeDescription
posterURLdynamic
Returns:
Type: 
void

(static) setScreenTitle(json) → {void}

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) setupButtons() → {void}

Setup playback buttons, default to Play button selected

Returns:
Type: 
void

(static) setupMainNode() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) OnScreenHidden() → {void}

Returns:
Type: 
void

(static) OnScreenShown() → {void}

Returns:
Type: 
void

(static) artistOverviewChanged() → {void}

Event fired when page data is loaded

Returns:
Type: 
void

(static) createDialogPallete() → {void}

Returns:
Type: 
void

(static) createFullDscrDlg() → {void}

Returns:
Type: 
void

(static) dscrShowFocus() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onAlbumsData() → {void}

Returns:
Type: 
void

(static) onAlbumsEscape() → {void}

Returns:
Type: 
void

(static) onAppearsOnData() → {void}

Returns:
Type: 
void

(static) onAppearsOnEscape() → {void}

Returns:
Type: 
void

(static) onBackdropImageLoaded() → {void}

Returns:
Type: 
void

(static) onButtonSelectedChange() → {void}

Event handler when user selected a different playback button

Returns:
Type: 
void

(static) onEllipsisChanged() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onSectionNavigationEscape() → {void}

Returns:
Type: 
void

(static) onSectionNavigationSelected() → {void}

Returns:
Type: 
void

(static) onSectionScrollerChange() → {void}

Returns:
Type: 
void

(static) pageContentChanged() → {void}

Event fired when page data is loaded

Returns:
Type: 
void

(static) setBackdropImage(data) → {void}

Add backdrop image to screen

Parameters:
NameTypeDescription
datadynamic
Returns:
Type: 
void

(static) setPosterImage(posterURL) → {void}

Parameters:
NameTypeDescription
posterURLdynamic
Returns:
Type: 
void

(static) setScreenTitle(json) → {void}

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) setupButtons() → {void}

Setup playback buttons, default to Play button selected

Returns:
Type: 
void

(static) setupMainNode() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-AudioPlayer.html b/docs/api/module-AudioPlayer.html index 4730fe525..6ca3674cd 100644 --- a/docs/api/module-AudioPlayer.html +++ b/docs/api/module-AudioPlayer.html @@ -1,3 +1,3 @@ Module: AudioPlayer
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-AudioPlayerView.html b/docs/api/module-AudioPlayerView.html index 75b5cf90a..85d5fe2c4 100644 --- a/docs/api/module-AudioPlayerView.html +++ b/docs/api/module-AudioPlayerView.html @@ -1,3 +1,3 @@ Module: AudioPlayerView
On this page

Methods

(static) LoadNextSong() → {void}

Returns:
Type: 
void

(static) OnScreenHidden() → {void}

Returns:
Type: 
void

(static) audioPositionChanged() → {void}

Returns:
Type: 
void

(static) audioStateChanged() → {void}

Returns:
Type: 
void

(static) bufferPositionChanged() → {void}

Returns:
Type: 
void

(static) endScreenSaver() → {void}

Returns:
Type: 
void

(static) findCurrentSongIndex(songList) → {integer}

Parameters:
NameTypeDescription
songListdynamic
Returns:
Type: 
integer

(static) init() → {void}

Returns:
Type: 
void

(static) loadButtons() → {void}

If we have more and 1 song to play, fade in the next and previous controls

Returns:
Type: 
void

(static) loopClicked() → {boolean}

Returns:
Type: 
boolean

(static) nextClicked() → {boolean}

Returns:
Type: 
boolean

(static) onAudioStreamLoaded() → {void}

Returns:
Type: 
void

(static) onBackdropImageLoaded() → {void}

Returns:
Type: 
void

(static) onButtonSelectedChange() → {void}

Event handler when user selected a different playback button

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Process key press events

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onMetaDataLoaded() → {void}

Returns:
Type: 
void

(static) onScreensaverTimeoutLoaded() → {void}

Returns:
Type: 
void

(static) pageContentChanged() → {void}

Update values on screen when page content changes

Returns:
Type: 
void

(static) playAction() → {boolean}

Returns:
Type: 
boolean

(static) previousClicked() → {boolean}

Returns:
Type: 
boolean

(static) resetLoopModeToDefault() → {void}

Returns:
Type: 
void

(static) screenSaverActive() → {boolean}

Returns:
Type: 
boolean

(static) setBackdropImage(data) → {void}

Add backdrop image to screen

Parameters:
NameTypeDescription
datadynamic
Returns:
Type: 
void

(static) setLoopButtonImage() → {void}

Returns:
Type: 
void

(static) setOnScreenTextValues(json) → {void}

Populate on screen text variables

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) setPosterImage(posterURL) → {void}

Set poster image on screen

Parameters:
NameTypeDescription
posterURLdynamic
Returns:
Type: 
void

(static) setScreenTitle(json) → {void}

Set screen's title text

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) setShuffleIconState() → {void}

Returns:
Type: 
void

(static) setTrackNumberDisplay() → {void}

Returns:
Type: 
void

(static) setupAnimationTasks() → {void}

Returns:
Type: 
void

(static) setupAudioNode() → {void}

Creates audio node used to play song(s)

Returns:
Type: 
void

(static) setupButtons() → {void}

Setup playback buttons, default to Play button selected

Returns:
Type: 
void

(static) setupDataTasks() → {void}

Creates tasks to gather data needed to render Scene and play song

Returns:
Type: 
void

(static) setupInfoNodes() → {void}

Returns:
Type: 
void

(static) setupScreenSaver() → {void}

Returns:
Type: 
void

(static) shuffleClicked() → {boolean}

Returns:
Type: 
boolean

(static) startScreenSaver() → {void}

Returns:
Type: 
void

(static) toggleShuffleEnabled() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) LoadNextSong() → {void}

Returns:
Type: 
void

(static) OnScreenHidden() → {void}

Returns:
Type: 
void

(static) audioPositionChanged() → {void}

Returns:
Type: 
void

(static) audioStateChanged() → {void}

Returns:
Type: 
void

(static) bufferPositionChanged() → {void}

Returns:
Type: 
void

(static) endScreenSaver() → {void}

Returns:
Type: 
void

(static) findCurrentSongIndex(songList) → {integer}

Parameters:
NameTypeDescription
songListdynamic
Returns:
Type: 
integer

(static) init() → {void}

Returns:
Type: 
void

(static) loadButtons() → {void}

If we have more and 1 song to play, fade in the next and previous controls

Returns:
Type: 
void

(static) loopClicked() → {boolean}

Returns:
Type: 
boolean

(static) nextClicked() → {boolean}

Returns:
Type: 
boolean

(static) onAudioStreamLoaded() → {void}

Returns:
Type: 
void

(static) onBackdropImageLoaded() → {void}

Returns:
Type: 
void

(static) onButtonSelectedChange() → {void}

Event handler when user selected a different playback button

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Process key press events

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onMetaDataLoaded() → {void}

Returns:
Type: 
void

(static) onScreensaverTimeoutLoaded() → {void}

Returns:
Type: 
void

(static) pageContentChanged() → {void}

Update values on screen when page content changes

Returns:
Type: 
void

(static) playAction() → {boolean}

Returns:
Type: 
boolean

(static) previousClicked() → {boolean}

Returns:
Type: 
boolean

(static) resetLoopModeToDefault() → {void}

Returns:
Type: 
void

(static) screenSaverActive() → {boolean}

Returns:
Type: 
boolean

(static) setBackdropImage(data) → {void}

Add backdrop image to screen

Parameters:
NameTypeDescription
datadynamic
Returns:
Type: 
void

(static) setLoopButtonImage() → {void}

Returns:
Type: 
void

(static) setOnScreenTextValues(json) → {void}

Populate on screen text variables

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) setPosterImage(posterURL) → {void}

Set poster image on screen

Parameters:
NameTypeDescription
posterURLdynamic
Returns:
Type: 
void

(static) setScreenTitle(json) → {void}

Set screen's title text

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) setShuffleIconState() → {void}

Returns:
Type: 
void

(static) setTrackNumberDisplay() → {void}

Returns:
Type: 
void

(static) setupAnimationTasks() → {void}

Returns:
Type: 
void

(static) setupAudioNode() → {void}

Creates audio node used to play song(s)

Returns:
Type: 
void

(static) setupButtons() → {void}

Setup playback buttons, default to Play button selected

Returns:
Type: 
void

(static) setupDataTasks() → {void}

Creates tasks to gather data needed to render Scene and play song

Returns:
Type: 
void

(static) setupInfoNodes() → {void}

Returns:
Type: 
void

(static) setupScreenSaver() → {void}

Returns:
Type: 
void

(static) shuffleClicked() → {boolean}

Returns:
Type: 
boolean

(static) startScreenSaver() → {void}

Returns:
Type: 
void

(static) toggleShuffleEnabled() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-AudioTrackListItem.html b/docs/api/module-AudioTrackListItem.html index c89c089c4..fb64cf582 100644 --- a/docs/api/module-AudioTrackListItem.html +++ b/docs/api/module-AudioTrackListItem.html @@ -1,3 +1,3 @@ Module: AudioTrackListItem
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ButtonGroupHoriz.html b/docs/api/module-ButtonGroupHoriz.html index 854d67cbb..9e2872eb9 100644 --- a/docs/api/module-ButtonGroupHoriz.html +++ b/docs/api/module-ButtonGroupHoriz.html @@ -1,3 +1,3 @@ Module: ButtonGroupHoriz
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ButtonGroupVert.html b/docs/api/module-ButtonGroupVert.html index 7e1eeaaae..2d4640de1 100644 --- a/docs/api/module-ButtonGroupVert.html +++ b/docs/api/module-ButtonGroupVert.html @@ -1,3 +1,3 @@ Module: ButtonGroupVert
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onFocusButtonChanged() → {void}

Returns:
Type: 
void

(static) onFocusChanged() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onFocusButtonChanged() → {void}

Returns:
Type: 
void

(static) onFocusChanged() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ChannelData.html b/docs/api/module-ChannelData.html index f8dddfc49..f059d0e6d 100644 --- a/docs/api/module-ChannelData.html +++ b/docs/api/module-ChannelData.html @@ -1,3 +1,3 @@ Module: ChannelData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-Clock.html b/docs/api/module-Clock.html index b0a22061c..8565ad1b2 100644 --- a/docs/api/module-Clock.html +++ b/docs/api/module-Clock.html @@ -1,3 +1,3 @@ Module: Clock
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-CollectionData.html b/docs/api/module-CollectionData.html index 9d4ba8f27..3c4237d8d 100644 --- a/docs/api/module-CollectionData.html +++ b/docs/api/module-CollectionData.html @@ -1,3 +1,3 @@ Module: CollectionData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ConfigData.html b/docs/api/module-ConfigData.html index 0ba58ebbf..c2636c122 100644 --- a/docs/api/module-ConfigData.html +++ b/docs/api/module-ConfigData.html @@ -1,3 +1,3 @@ Module: ConfigData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ConfigItem.html b/docs/api/module-ConfigItem.html index 76a31d9d0..7b9d2e770 100644 --- a/docs/api/module-ConfigItem.html +++ b/docs/api/module-ConfigItem.html @@ -1,3 +1,3 @@ Module: ConfigItem
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ConfigList.html b/docs/api/module-ConfigList.html index 9cc939441..9db28b2fe 100644 --- a/docs/api/module-ConfigList.html +++ b/docs/api/module-ConfigList.html @@ -1,3 +1,3 @@ Module: ConfigList
On this page

Methods

(static) configListShowDialog(configField) → {void}

Parameters:
NameTypeDescription
configFielddynamic
Returns:
Type: 
void

(static) dismiss_dialog() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onDialogButton() → {dynamic}

Returns:
Type: 
dynamic

(static) onItemSelected() → {void}

Returns:
Type: 
void

(static) setData() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) configListShowDialog(configField) → {void}

Parameters:
NameTypeDescription
configFielddynamic
Returns:
Type: 
void

(static) dismiss_dialog() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onDialogButton() → {dynamic}

Returns:
Type: 
dynamic

(static) onItemSelected() → {void}

Returns:
Type: 
void

(static) setData() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ExtrasItem.html b/docs/api/module-ExtrasItem.html index e19e20a39..cb2af28ce 100644 --- a/docs/api/module-ExtrasItem.html +++ b/docs/api/module-ExtrasItem.html @@ -1,3 +1,3 @@ Module: ExtrasItem
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ExtrasRowList.html b/docs/api/module-ExtrasRowList.html index 2cf89b3c7..26d40f224 100644 --- a/docs/api/module-ExtrasRowList.html +++ b/docs/api/module-ExtrasRowList.html @@ -1,3 +1,3 @@ Module: ExtrasRowList
On this page

Methods

(static) addRowSize(newRow) → {void}

Parameters:
NameTypeDescription
newRowdynamic
Returns:
Type: 
void

(static) buildRow(rowTitle, items, imgWdthopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
rowTitlestring
itemsdynamic
imgWdthdynamic<optional>
0
Returns:
Type: 
dynamic

(static) init() → {void}

Returns:
Type: 
void

(static) loadParts(data) → {void}

Parameters:
NameTypeDescription
dataobject
Returns:
Type: 
void

(static) loadPersonVideos(personId) → {void}

Parameters:
NameTypeDescription
personIddynamic
Returns:
Type: 
void

(static) onAdditionalPartsLoaded() → {void}

Returns:
Type: 
void

(static) onLikeThisLoaded() → {void}

Returns:
Type: 
void

(static) onMoviesLoaded() → {void}

Returns:
Type: 
void

(static) onPeopleLoaded() → {void}

Returns:
Type: 
void

(static) onRowItemFocused() → {void}

Returns:
Type: 
void

(static) onRowItemSelected() → {void}

Returns:
Type: 
void

(static) onSeriesLoaded() → {void}

Returns:
Type: 
void

(static) onShowsLoaded() → {void}

Returns:
Type: 
void

(static) onSpecialFeaturesLoaded() → {dynamic}

Returns:
Type: 
dynamic

(static) updateSize() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) addRowSize(newRow) → {void}

Parameters:
NameTypeDescription
newRowdynamic
Returns:
Type: 
void

(static) buildRow(rowTitle, items, imgWdthopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
rowTitlestring
itemsdynamic
imgWdthdynamic<optional>
0
Returns:
Type: 
dynamic

(static) init() → {void}

Returns:
Type: 
void

(static) loadParts(data) → {void}

Parameters:
NameTypeDescription
dataobject
Returns:
Type: 
void

(static) loadPersonVideos(personId) → {void}

Parameters:
NameTypeDescription
personIddynamic
Returns:
Type: 
void

(static) onAdditionalPartsLoaded() → {void}

Returns:
Type: 
void

(static) onLikeThisLoaded() → {void}

Returns:
Type: 
void

(static) onMoviesLoaded() → {void}

Returns:
Type: 
void

(static) onPeopleLoaded() → {void}

Returns:
Type: 
void

(static) onRowItemFocused() → {void}

Returns:
Type: 
void

(static) onRowItemSelected() → {void}

Returns:
Type: 
void

(static) onSeriesLoaded() → {void}

Returns:
Type: 
void

(static) onShowsLoaded() → {void}

Returns:
Type: 
void

(static) onSpecialFeaturesLoaded() → {dynamic}

Returns:
Type: 
dynamic

(static) updateSize() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-FavoriteItemsTask.html b/docs/api/module-FavoriteItemsTask.html index a09320d45..0dce7ae9a 100644 --- a/docs/api/module-FavoriteItemsTask.html +++ b/docs/api/module-FavoriteItemsTask.html @@ -1,3 +1,3 @@ Module: FavoriteItemsTask
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-FolderData.html b/docs/api/module-FolderData.html index 8094b50bc..54b7db5d4 100644 --- a/docs/api/module-FolderData.html +++ b/docs/api/module-FolderData.html @@ -1,3 +1,3 @@ Module: FolderData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-GetFiltersTask.html b/docs/api/module-GetFiltersTask.html index c91065fb6..55df1a0aa 100644 --- a/docs/api/module-GetFiltersTask.html +++ b/docs/api/module-GetFiltersTask.html @@ -1,3 +1,3 @@ Module: GetFiltersTask
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-GetNextEpisodeTask.html b/docs/api/module-GetNextEpisodeTask.html index 3ffbda319..dccdfdbc2 100644 --- a/docs/api/module-GetNextEpisodeTask.html +++ b/docs/api/module-GetNextEpisodeTask.html @@ -1,3 +1,3 @@ Module: GetNextEpisodeTask
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-GetPlaybackInfoTask.html b/docs/api/module-GetPlaybackInfoTask.html index b5b5fe54b..2674941a0 100644 --- a/docs/api/module-GetPlaybackInfoTask.html +++ b/docs/api/module-GetPlaybackInfoTask.html @@ -1,3 +1,3 @@ Module: GetPlaybackInfoTask
On this page

Methods

(static) GetTranscodingStats(deviceSession) → {dynamic}

Parameters:
NameTypeDescription
deviceSessiondynamic
Returns:
Type: 
dynamic

(static) ItemPostPlaybackInfo(id, mediaSourceIdopt, audioTrackIndexopt, startTimeTicksopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring
mediaSourceIdstring<optional>
""
audioTrackIndexinteger<optional>
-1
startTimeTickslonginteger<optional>
0
Returns:
Type: 
dynamic

(static) getDisplayBitrate(bitrate) → {dynamic}

Parameters:
NameTypeDescription
bitratedynamic
Returns:
Type: 
dynamic

(static) getPlaybackInfoTask() → {void}

Returns an array of playback info to be displayed during playback. In the future, with a custom playback info view, we can return an associated array.

Returns:
Type: 
void

(static) havePlaybackInfo() → {dynamic}

Returns:
Type: 
dynamic

(static) init() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) GetTranscodingStats(deviceSession) → {dynamic}

Parameters:
NameTypeDescription
deviceSessiondynamic
Returns:
Type: 
dynamic

(static) ItemPostPlaybackInfo(id, mediaSourceIdopt, audioTrackIndexopt, startTimeTicksopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring
mediaSourceIdstring<optional>
""
audioTrackIndexinteger<optional>
-1
startTimeTickslonginteger<optional>
0
Returns:
Type: 
dynamic

(static) getDisplayBitrate(bitrate) → {dynamic}

Parameters:
NameTypeDescription
bitratedynamic
Returns:
Type: 
dynamic

(static) getPlaybackInfoTask() → {void}

Returns an array of playback info to be displayed during playback. In the future, with a custom playback info view, we can return an associated array.

Returns:
Type: 
void

(static) havePlaybackInfo() → {dynamic}

Returns:
Type: 
dynamic

(static) init() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-GetShuffleEpisodesTask.html b/docs/api/module-GetShuffleEpisodesTask.html index 4584a8d0b..2d118e764 100644 --- a/docs/api/module-GetShuffleEpisodesTask.html +++ b/docs/api/module-GetShuffleEpisodesTask.html @@ -1,3 +1,3 @@ Module: GetShuffleEpisodesTask
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-GridItem.html b/docs/api/module-GridItem.html index 6f9da1e7d..f4bf168ce 100644 --- a/docs/api/module-GridItem.html +++ b/docs/api/module-GridItem.html @@ -1,3 +1,3 @@ Module: GridItem
On this page

Methods

(static) focusChanged() → {void}

Display or hide title Visibility on focus change

Returns:
Type: 
void

(static) focusChanging() → {void}

Use FocusPercent to animate scaling of Poser Image

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) onPosterLoadStatusChanged() → {void}

Hide backdrop and text when poster loaded

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) focusChanged() → {void}

Display or hide title Visibility on focus change

Returns:
Type: 
void

(static) focusChanging() → {void}

Use FocusPercent to animate scaling of Poser Image

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) onPosterLoadStatusChanged() → {void}

Hide backdrop and text when poster loaded

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-GridItemSmall.html b/docs/api/module-GridItemSmall.html index b65b12d31..82f80f2b3 100644 --- a/docs/api/module-GridItemSmall.html +++ b/docs/api/module-GridItemSmall.html @@ -1,3 +1,3 @@ Module: GridItemSmall
On this page

Methods

(static) focusChanged() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) onPosterLoadStatusChanged() → {void}

Hide backdrop and text when poster loaded

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) focusChanged() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) onPosterLoadStatusChanged() → {void}

Hide backdrop and text when poster loaded

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-Home.html b/docs/api/module-Home.html index f74da7eeb..fa7a27cf7 100644 --- a/docs/api/module-Home.html +++ b/docs/api/module-Home.html @@ -1,3 +1,3 @@ Module: Home
On this page

Methods

(static) OnScreenShown() → {void}

JFScreen hook that gets ran as needed. Used to update the focus, the state of the data, and tells the server about the device profile

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) loadLibraries() → {void}

Returns:
Type: 
void

(static) postFinished() → {void}

Triggered by m.postTask after completing a post. Empty the task data when finished.

Returns:
Type: 
void

(static) refresh() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) OnScreenShown() → {void}

JFScreen hook that gets ran as needed. Used to update the focus, the state of the data, and tells the server about the device profile

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) loadLibraries() → {void}

Returns:
Type: 
void

(static) postFinished() → {void}

Triggered by m.postTask after completing a post. Empty the task data when finished.

Returns:
Type: 
void

(static) refresh() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-HomeData.html b/docs/api/module-HomeData.html index 801218b62..2d3da02a8 100644 --- a/docs/api/module-HomeData.html +++ b/docs/api/module-HomeData.html @@ -1,3 +1,3 @@ Module: HomeData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-HomeItem.html b/docs/api/module-HomeItem.html index 2a5960e7a..ffc448f4f 100644 --- a/docs/api/module-HomeItem.html +++ b/docs/api/module-HomeItem.html @@ -1,3 +1,3 @@ Module: HomeItem
On this page

Methods

(static) drawProgressBar(itemData) → {void}

Draws and animates item progress bar

Parameters:
NameTypeDescription
itemDatadynamic
Returns:
Type: 
void

(static) focusChanged() → {void}

Enable title scrolling based on item Focus

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) onPosterLoadStatusChanged() → {void}

Hide backdrop and icon when poster loaded

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) drawProgressBar(itemData) → {void}

Draws and animates item progress bar

Parameters:
NameTypeDescription
itemDatadynamic
Returns:
Type: 
void

(static) focusChanged() → {void}

Enable title scrolling based on item Focus

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) onPosterLoadStatusChanged() → {void}

Hide backdrop and icon when poster loaded

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-HomeRows.html b/docs/api/module-HomeRows.html index 7aa028c41..ceadfc2d4 100644 --- a/docs/api/module-HomeRows.html +++ b/docs/api/module-HomeRows.html @@ -1,3 +1,3 @@ Module: HomeRows
On this page

Methods

(static) addHomeSection(content, sizeArray, sectionName) → {boolean}

Adds a new home section to the home rows. Returns a boolean indicating whether the section was handled.

Parameters:
NameTypeDescription
contentdynamic
sizeArraydynamic
sectionNamestring
Returns:
Type: 
boolean

(static) createContinueWatchingRow(content, sizeArray) → {void}

Create a row displaying items the user can continue watching

Parameters:
NameTypeDescription
contentdynamic
sizeArraydynamic
Returns:
Type: 
void

(static) createFavoritesRow(content, sizeArray) → {void}

Create a row displaying items from the user's favorites list

Parameters:
NameTypeDescription
contentdynamic
sizeArraydynamic
Returns:
Type: 
void

(static) createLatestInRows(content, sizeArray) → {void}

Create a row displaying latest items in each of the user's libraries

Parameters:
NameTypeDescription
contentdynamic
sizeArraydynamic
Returns:
Type: 
void

(static) createLibraryRow(content, sizeArray) → {void}

Create a row displaying the user's libraries

Parameters:
NameTypeDescription
contentdynamic
sizeArraydynamic
Returns:
Type: 
void

(static) createLiveTVRow(content, sizeArray) → {void}

Create a row displaying the live tv now on section

Parameters:
NameTypeDescription
contentdynamic
sizeArraydynamic
Returns:
Type: 
void

(static) createNextUpRow(content, sizeArray) → {void}

Create a row displaying next episodes up to watch

Parameters:
NameTypeDescription
contentdynamic
sizeArraydynamic
Returns:
Type: 
void

(static) filterNodeArray(nodeArray, nodeKey, excludeArray) → {object}

Parameters:
NameTypeDescription
nodeArrayobject
nodeKeystring
excludeArrayobject
Returns:
Type: 
object

(static) init() → {void}

Returns:
Type: 
void

(static) itemSelected() → {void}

Returns:
Type: 
void

(static) loadLibraries() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onLibrariesLoaded() → {void}

Returns:
Type: 
void

(static) removeHomeSection(sectionType) → {void}

Removes a home section from the home rows

Parameters:
NameTypeDescription
sectionTypestring
Returns:
Type: 
void

(static) updateContinueWatchingItems() → {void}

Returns:
Type: 
void

(static) updateFavoritesItems() → {void}

Returns:
Type: 
void

(static) updateHomeRows() → {void}

Update home row data

Returns:
Type: 
void

(static) updateLatestInRows() → {void}

Iterate over user's libraries and update data for each Latest In section

Returns:
Type: 
void

(static) updateLatestItems(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) updateNextUpItems() → {void}

Returns:
Type: 
void

(static) updateOnNowItems() → {void}

Returns:
Type: 
void

(static) updateSize() → {void}

Returns:
Type: 
void

(static) updateSizeArray(rowItemSize, rowIndexopt, actionopt) → {void}

Parameters:
NameTypeAttributesDefaultDescription
rowItemSizedynamic
rowIndexdynamic<optional>
invalid
actiondynamic<optional>
"insert"
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) addHomeSection(content, sizeArray, sectionName) → {boolean}

Adds a new home section to the home rows. Returns a boolean indicating whether the section was handled.

Parameters:
NameTypeDescription
contentdynamic
sizeArraydynamic
sectionNamestring
Returns:
Type: 
boolean

(static) createContinueWatchingRow(content, sizeArray) → {void}

Create a row displaying items the user can continue watching

Parameters:
NameTypeDescription
contentdynamic
sizeArraydynamic
Returns:
Type: 
void

(static) createFavoritesRow(content, sizeArray) → {void}

Create a row displaying items from the user's favorites list

Parameters:
NameTypeDescription
contentdynamic
sizeArraydynamic
Returns:
Type: 
void

(static) createLatestInRows(content, sizeArray) → {void}

Create a row displaying latest items in each of the user's libraries

Parameters:
NameTypeDescription
contentdynamic
sizeArraydynamic
Returns:
Type: 
void

(static) createLibraryRow(content, sizeArray) → {void}

Create a row displaying the user's libraries

Parameters:
NameTypeDescription
contentdynamic
sizeArraydynamic
Returns:
Type: 
void

(static) createLiveTVRow(content, sizeArray) → {void}

Create a row displaying the live tv now on section

Parameters:
NameTypeDescription
contentdynamic
sizeArraydynamic
Returns:
Type: 
void

(static) createNextUpRow(content, sizeArray) → {void}

Create a row displaying next episodes up to watch

Parameters:
NameTypeDescription
contentdynamic
sizeArraydynamic
Returns:
Type: 
void

(static) filterNodeArray(nodeArray, nodeKey, excludeArray) → {object}

Parameters:
NameTypeDescription
nodeArrayobject
nodeKeystring
excludeArrayobject
Returns:
Type: 
object

(static) init() → {void}

Returns:
Type: 
void

(static) itemSelected() → {void}

Returns:
Type: 
void

(static) loadLibraries() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onLibrariesLoaded() → {void}

Returns:
Type: 
void

(static) removeHomeSection(sectionType) → {void}

Removes a home section from the home rows

Parameters:
NameTypeDescription
sectionTypestring
Returns:
Type: 
void

(static) updateContinueWatchingItems() → {void}

Returns:
Type: 
void

(static) updateFavoritesItems() → {void}

Returns:
Type: 
void

(static) updateHomeRows() → {void}

Update home row data

Returns:
Type: 
void

(static) updateLatestInRows() → {void}

Iterate over user's libraries and update data for each Latest In section

Returns:
Type: 
void

(static) updateLatestItems(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) updateNextUpItems() → {void}

Returns:
Type: 
void

(static) updateOnNowItems() → {void}

Returns:
Type: 
void

(static) updateSize() → {void}

Returns:
Type: 
void

(static) updateSizeArray(rowItemSize, rowIndexopt, actionopt) → {void}

Parameters:
NameTypeAttributesDefaultDescription
rowItemSizedynamic
rowIndexdynamic<optional>
invalid
actiondynamic<optional>
"insert"
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-IconButton.html b/docs/api/module-IconButton.html index 41115949f..7358c39cf 100644 --- a/docs/api/module-IconButton.html +++ b/docs/api/module-IconButton.html @@ -1,3 +1,3 @@ Module: IconButton
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onBackgroundChanged() → {void}

Returns:
Type: 
void

(static) onFocusChanged() → {void}

Returns:
Type: 
void

(static) onHeightChanged() → {void}

Returns:
Type: 
void

(static) onIconChanged() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onPaddingChanged() → {void}

Returns:
Type: 
void

(static) onTextChanged() → {void}

Returns:
Type: 
void

(static) onWidthChanged() → {void}

Returns:
Type: 
void

(static) setIconSize() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onBackgroundChanged() → {void}

Returns:
Type: 
void

(static) onFocusChanged() → {void}

Returns:
Type: 
void

(static) onHeightChanged() → {void}

Returns:
Type: 
void

(static) onIconChanged() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onPaddingChanged() → {void}

Returns:
Type: 
void

(static) onTextChanged() → {void}

Returns:
Type: 
void

(static) onWidthChanged() → {void}

Returns:
Type: 
void

(static) setIconSize() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-Image.html b/docs/api/module-Image.html index 0c6fcd098..000708e7b 100644 --- a/docs/api/module-Image.html +++ b/docs/api/module-Image.html @@ -1,3 +1,3 @@ Module: Image
On this page

Methods

(static) ImageURL(id, versionopt, paramsopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
iddynamic
versiondynamic<optional>
"Primary"
paramsdynamic<optional>
{}
Returns:
Type: 
dynamic

(static) ItemImages(idopt, paramsopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring<optional>
""
paramsobject<optional>
{}
Returns:
Type: 
dynamic

(static) PosterImage(id, paramsopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring
paramsobject<optional>
{}
Returns:
Type: 
dynamic

(static) UserImageURL(id, paramsopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
iddynamic
paramsdynamic<optional>
{}
Returns:
Type: 
dynamic
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) ImageURL(id, versionopt, paramsopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
iddynamic
versiondynamic<optional>
"Primary"
paramsdynamic<optional>
{}
Returns:
Type: 
dynamic

(static) ItemImages(idopt, paramsopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring<optional>
""
paramsobject<optional>
{}
Returns:
Type: 
dynamic

(static) PosterImage(id, paramsopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring
paramsobject<optional>
{}
Returns:
Type: 
dynamic

(static) UserImageURL(id, paramsopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
iddynamic
paramsdynamic<optional>
{}
Returns:
Type: 
dynamic
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ImageData.html b/docs/api/module-ImageData.html index 8ba60cea2..f259438a5 100644 --- a/docs/api/module-ImageData.html +++ b/docs/api/module-ImageData.html @@ -1,3 +1,3 @@ Module: ImageData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-IntegerKeyboard.html b/docs/api/module-IntegerKeyboard.html index 833449ab6..94d0d3a4b 100644 --- a/docs/api/module-IntegerKeyboard.html +++ b/docs/api/module-IntegerKeyboard.html @@ -1,3 +1,3 @@ Module: IntegerKeyboard
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ItemGrid.html b/docs/api/module-ItemGrid.html index dc05173c8..e5bf0d79b 100644 --- a/docs/api/module-ItemGrid.html +++ b/docs/api/module-ItemGrid.html @@ -1,3 +1,3 @@ Module: ItemGrid
On this page

Methods

(static) ItemDataLoaded(msg) → {void}

Handle loaded data, and add to Grid

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) SetBackground(backgroundUri) → {void}

Set Background Image

Parameters:
NameTypeDescription
backgroundUristring
Returns:
Type: 
void

(static) SetUpOptions() → {void}

Data to display when options button selected

Returns:
Type: 
void

(static) getCollectionType() → {string}

Return parent collection type

Returns:
Type: 
string

(static) getItemFocused() → {dynamic}

Returns Focused Item

Returns:
Type: 
dynamic

(static) inStringArray(array, searchValue) → {boolean}

Search string array for search value. Return if it's found

Parameters:
NameTypeDescription
arraydynamic
searchValuedynamic
Returns:
Type: 
boolean

(static) init() → {void}

Returns:
Type: 
void

(static) loadInitialItems() → {void}

Load initial set of Data

Returns:
Type: 
void

(static) loadMoreData() → {void}

Load next set of items

Returns:
Type: 
void

(static) newBGLoaded() → {void}

When Image Loading Status changes

Returns:
Type: 
void

(static) onChannelFocused(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) onChannelSelected(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) onGenreItemSelected() → {void}

Genre Item Selected

Returns:
Type: 
void

(static) onItemFocused() → {void}

Handle new item being focused

Returns:
Type: 
void

(static) onItemSelected() → {void}

Item Selected

Returns:
Type: 
void

(static) onItemalphaSelected() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onvoiceFilter() → {void}

Returns:
Type: 
void

(static) optionsClosed() → {void}

Check if options updated and any reloading required

Returns:
Type: 
void

(static) setBoxsetsOptions(options) → {void}

Set Boxset view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setDefaultOptions(options) → {void}

Set Default view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setLiveTvOptions(options) → {void}

Set Live TV view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setMoviesOptions(options) → {void}

Set Movies view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setMusicOptions(options) → {void}

Set Music view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setPhotoAlbumOptions(options) → {void}

Set Photo Album view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setTvShowsOptions(options) → {void}

Set TV Show view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) showTVGuide() → {void}

Returns:
Type: 
void

(static) swapDone() → {void}

Swap Complete

Returns:
Type: 
void

(static) updateTitle() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) ItemDataLoaded(msg) → {void}

Handle loaded data, and add to Grid

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) SetBackground(backgroundUri) → {void}

Set Background Image

Parameters:
NameTypeDescription
backgroundUristring
Returns:
Type: 
void

(static) SetUpOptions() → {void}

Data to display when options button selected

Returns:
Type: 
void

(static) getCollectionType() → {string}

Return parent collection type

Returns:
Type: 
string

(static) getItemFocused() → {dynamic}

Returns Focused Item

Returns:
Type: 
dynamic

(static) inStringArray(array, searchValue) → {boolean}

Search string array for search value. Return if it's found

Parameters:
NameTypeDescription
arraydynamic
searchValuedynamic
Returns:
Type: 
boolean

(static) init() → {void}

Returns:
Type: 
void

(static) loadInitialItems() → {void}

Load initial set of Data

Returns:
Type: 
void

(static) loadMoreData() → {void}

Load next set of items

Returns:
Type: 
void

(static) newBGLoaded() → {void}

When Image Loading Status changes

Returns:
Type: 
void

(static) onChannelFocused(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) onChannelSelected(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) onGenreItemSelected() → {void}

Genre Item Selected

Returns:
Type: 
void

(static) onItemFocused() → {void}

Handle new item being focused

Returns:
Type: 
void

(static) onItemSelected() → {void}

Item Selected

Returns:
Type: 
void

(static) onItemalphaSelected() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onvoiceFilter() → {void}

Returns:
Type: 
void

(static) optionsClosed() → {void}

Check if options updated and any reloading required

Returns:
Type: 
void

(static) setBoxsetsOptions(options) → {void}

Set Boxset view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setDefaultOptions(options) → {void}

Set Default view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setLiveTvOptions(options) → {void}

Set Live TV view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setMoviesOptions(options) → {void}

Set Movies view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setMusicOptions(options) → {void}

Set Music view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setPhotoAlbumOptions(options) → {void}

Set Photo Album view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setTvShowsOptions(options) → {void}

Set TV Show view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) showTVGuide() → {void}

Returns:
Type: 
void

(static) swapDone() → {void}

Swap Complete

Returns:
Type: 
void

(static) updateTitle() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ItemGridOptions.html b/docs/api/module-ItemGridOptions.html index a57a521a6..e18edc4a3 100644 --- a/docs/api/module-ItemGridOptions.html +++ b/docs/api/module-ItemGridOptions.html @@ -1,3 +1,3 @@ Module: ItemGridOptions
On this page

Methods

(static) buttonFocusChanged() → {void}

Switch menu shown when button focus changes

Returns:
Type: 
void

(static) hideChecklist() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) isFilterMenuDataValid() → {boolean}

Check if data for Filter Menu is valid

Returns:
Type: 
boolean

(static) onFilterFocusChange() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) optionsSet() → {void}

Returns:
Type: 
void

(static) saveFavoriteItemSelected(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) setHeartColor(color) → {void}

Parameters:
NameTypeDescription
colorstring
Returns:
Type: 
void

(static) showChecklist() → {void}

Returns:
Type: 
void

(static) toggleFavorite() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) buttonFocusChanged() → {void}

Switch menu shown when button focus changes

Returns:
Type: 
void

(static) hideChecklist() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) isFilterMenuDataValid() → {boolean}

Check if data for Filter Menu is valid

Returns:
Type: 
boolean

(static) onFilterFocusChange() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) optionsSet() → {void}

Returns:
Type: 
void

(static) saveFavoriteItemSelected(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) setHeartColor(color) → {void}

Parameters:
NameTypeDescription
colorstring
Returns:
Type: 
void

(static) showChecklist() → {void}

Returns:
Type: 
void

(static) toggleFavorite() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-Items.html b/docs/api/module-Items.html index 88edac0a2..05afee7f5 100644 --- a/docs/api/module-Items.html +++ b/docs/api/module-Items.html @@ -1,3 +1,3 @@ Module: Items
On this page

Methods

(static) AppearsOnList(id) → {dynamic}

Get list of albums an artist appears on

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) ArtistOverview(name) → {dynamic}

Music Artist Data

Parameters:
NameTypeDescription
namestring
Returns:
Type: 
dynamic

(static) AudioItem(id) → {dynamic}

Get Songs that are on an Album

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) AudioStream(id) → {dynamic}

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) BackdropImage(id) → {dynamic}

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) CreateArtistMix(id) → {dynamic}

Get Instant Mix based on item

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) CreateInstantMix(id) → {dynamic}

Get Instant Mix based on item

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) GetIntroVideos(id) → {dynamic}

Get Intro Videos for an item

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) GetSongsByArtist(id, paramsopt) → {dynamic}

Get list of songs belonging to an artist

Parameters:
NameTypeAttributesDefaultDescription
idstring
paramsobject<optional>
{}
Returns:
Type: 
dynamic

(static) ItemGetPlaybackInfo(id, startTimeTicksopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring
startTimeTickslonginteger<optional>
0
Returns:
Type: 
dynamic

(static) ItemMetaData(id) → {dynamic}

MetaData about an item

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) ItemPostPlaybackInfo(id, mediaSourceIdopt, audioTrackIndexopt, subtitleTrackIndexopt, startTimeTicksopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring
mediaSourceIdstring<optional>
""
audioTrackIndexinteger<optional>
-1
subtitleTrackIndexinteger<optional>
-1
startTimeTickslonginteger<optional>
0
Returns:
Type: 
dynamic

(static) MusicAlbumList(id) → {dynamic}

Get list of albums belonging to an artist

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) MusicSongList(id) → {dynamic}

Get Songs that are on an Album

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) PlaylistItemList(id) → {dynamic}

Get Items that are under the provided item

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) TVEpisodeShuffleList(show_id) → {dynamic}

Parameters:
NameTypeDescription
show_idstring
Returns:
Type: 
dynamic

(static) TVEpisodes(showId, seasonId) → {dynamic}

Returns a list of TV Shows for a given TV Show and season Accepts strings for the TV Show Id and the season Id

Parameters:
NameTypeDescription
showIdstring
seasonIdstring
Returns:
Type: 
dynamic

(static) TVSeasonExtras(seasonId) → {dynamic}

Returns a list of extra features for a TV Show season Accepts a string that is a TV Show season id

Parameters:
NameTypeDescription
seasonIdstring
Returns:
Type: 
dynamic

(static) TVSeasons(id) → {dynamic}

Seasons for a TV Show

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) searchMedia(query) → {dynamic}

Search across all libraries

Parameters:
NameTypeDescription
querystring
Returns:
Type: 
dynamic

(static) useTranscodeAudioStream(playbackInfo) → {dynamic}

Parameters:
NameTypeDescription
playbackInfodynamic
Returns:
Type: 
dynamic
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) AppearsOnList(id) → {dynamic}

Get list of albums an artist appears on

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) ArtistOverview(name) → {dynamic}

Music Artist Data

Parameters:
NameTypeDescription
namestring
Returns:
Type: 
dynamic

(static) AudioItem(id) → {dynamic}

Get Songs that are on an Album

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) AudioStream(id) → {dynamic}

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) BackdropImage(id) → {dynamic}

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) CreateArtistMix(id) → {dynamic}

Get Instant Mix based on item

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) CreateInstantMix(id) → {dynamic}

Get Instant Mix based on item

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) GetIntroVideos(id) → {dynamic}

Get Intro Videos for an item

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) GetSongsByArtist(id, paramsopt) → {dynamic}

Get list of songs belonging to an artist

Parameters:
NameTypeAttributesDefaultDescription
idstring
paramsobject<optional>
{}
Returns:
Type: 
dynamic

(static) ItemGetPlaybackInfo(id, startTimeTicksopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring
startTimeTickslonginteger<optional>
0
Returns:
Type: 
dynamic

(static) ItemMetaData(id) → {dynamic}

MetaData about an item

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) ItemPostPlaybackInfo(id, mediaSourceIdopt, audioTrackIndexopt, subtitleTrackIndexopt, startTimeTicksopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring
mediaSourceIdstring<optional>
""
audioTrackIndexinteger<optional>
-1
subtitleTrackIndexinteger<optional>
-1
startTimeTickslonginteger<optional>
0
Returns:
Type: 
dynamic

(static) MusicAlbumList(id) → {dynamic}

Get list of albums belonging to an artist

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) MusicSongList(id) → {dynamic}

Get Songs that are on an Album

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) PlaylistItemList(id) → {dynamic}

Get Items that are under the provided item

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) TVEpisodeShuffleList(show_id) → {dynamic}

Parameters:
NameTypeDescription
show_idstring
Returns:
Type: 
dynamic

(static) TVEpisodes(showId, seasonId) → {dynamic}

Returns a list of TV Shows for a given TV Show and season Accepts strings for the TV Show Id and the season Id

Parameters:
NameTypeDescription
showIdstring
seasonIdstring
Returns:
Type: 
dynamic

(static) TVSeasonExtras(seasonId) → {dynamic}

Returns a list of extra features for a TV Show season Accepts a string that is a TV Show season id

Parameters:
NameTypeDescription
seasonIdstring
Returns:
Type: 
dynamic

(static) TVSeasons(id) → {dynamic}

Seasons for a TV Show

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) searchMedia(query) → {dynamic}

Search across all libraries

Parameters:
NameTypeDescription
querystring
Returns:
Type: 
dynamic

(static) useTranscodeAudioStream(playbackInfo) → {dynamic}

Parameters:
NameTypeDescription
playbackInfodynamic
Returns:
Type: 
dynamic
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-JFButton.html b/docs/api/module-JFButton.html index 231964641..1ad434dfc 100644 --- a/docs/api/module-JFButton.html +++ b/docs/api/module-JFButton.html @@ -1,3 +1,3 @@ Module: JFButton
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-JFButtons.html b/docs/api/module-JFButtons.html index c0111852f..04daf860a 100644 --- a/docs/api/module-JFButtons.html +++ b/docs/api/module-JFButtons.html @@ -1,3 +1,3 @@ Module: JFButtons
On this page

Methods

(static) focusChanged() → {void}

Change opacity of the highlighted menu item based on focus

Returns:
Type: 
void

(static) highlightSelected(index, animateopt) → {void}

Highlight selected menu option

Parameters:
NameTypeAttributesDefaultDescription
indexinteger
animatedynamic<optional>
true
Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) renderChanged() → {void}

When options are fully displayed, set focus and selected option

Returns:
Type: 
void

(static) selectedIndexChanged() → {void}

When Selected Index set, ensure it is the one Focused

Returns:
Type: 
void

(static) showButtons() → {void}

Returns:
Type: 
void

(static) updateButtons() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) focusChanged() → {void}

Change opacity of the highlighted menu item based on focus

Returns:
Type: 
void

(static) highlightSelected(index, animateopt) → {void}

Highlight selected menu option

Parameters:
NameTypeAttributesDefaultDescription
indexinteger
animatedynamic<optional>
true
Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) renderChanged() → {void}

When options are fully displayed, set focus and selected option

Returns:
Type: 
void

(static) selectedIndexChanged() → {void}

When Selected Index set, ensure it is the one Focused

Returns:
Type: 
void

(static) showButtons() → {void}

Returns:
Type: 
void

(static) updateButtons() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-JFGroup.html b/docs/api/module-JFGroup.html index cbd8c4ef3..ac47f54fc 100644 --- a/docs/api/module-JFGroup.html +++ b/docs/api/module-JFGroup.html @@ -1,3 +1,3 @@ Module: JFGroup
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-JFMessageDialog.html b/docs/api/module-JFMessageDialog.html index 097df6dc7..d3bff0475 100644 --- a/docs/api/module-JFMessageDialog.html +++ b/docs/api/module-JFMessageDialog.html @@ -1,3 +1,3 @@ Module: JFMessageDialog
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) redraw() → {void}

Returns:
Type: 
void

(static) updateMessage() → {void}

Returns:
Type: 
void

(static) updateOptions() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) redraw() → {void}

Returns:
Type: 
void

(static) updateMessage() → {void}

Returns:
Type: 
void

(static) updateOptions() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-JFOverhang.html b/docs/api/module-JFOverhang.html index 37e500928..359766293 100644 --- a/docs/api/module-JFOverhang.html +++ b/docs/api/module-JFOverhang.html @@ -1,3 +1,3 @@ Module: JFOverhang
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onVisibleChange() → {void}

Returns:
Type: 
void

(static) resetTime() → {void}

Returns:
Type: 
void

(static) setClockVisibility() → {void}

Returns:
Type: 
void

(static) setRightSeperatorVisibility() → {void}

Returns:
Type: 
void

(static) updateOptions() → {void}

Returns:
Type: 
void

(static) updateTime() → {void}

Returns:
Type: 
void

(static) updateTimeDisplay() → {void}

Returns:
Type: 
void

(static) updateTitle() → {void}

Returns:
Type: 
void

(static) updateUser() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onVisibleChange() → {void}

Returns:
Type: 
void

(static) resetTime() → {void}

Returns:
Type: 
void

(static) setClockVisibility() → {void}

Returns:
Type: 
void

(static) setRightSeperatorVisibility() → {void}

Returns:
Type: 
void

(static) updateOptions() → {void}

Returns:
Type: 
void

(static) updateTime() → {void}

Returns:
Type: 
void

(static) updateTimeDisplay() → {void}

Returns:
Type: 
void

(static) updateTitle() → {void}

Returns:
Type: 
void

(static) updateUser() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-JFScene.html b/docs/api/module-JFScene.html index c4412f06e..57b170b31 100644 --- a/docs/api/module-JFScene.html +++ b/docs/api/module-JFScene.html @@ -1,3 +1,3 @@ Module: JFScene
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-JFScreen.html b/docs/api/module-JFScreen.html index d7b357f3a..09164ffbf 100644 --- a/docs/api/module-JFScreen.html +++ b/docs/api/module-JFScreen.html @@ -1,3 +1,3 @@ Module: JFScreen
On this page

Methods

(static) OnScreenHidden() → {void}

Function called when the screen is hidden by the screen manager It is expected that screens override this function if required, to handle focus any actions required on the screen being hidden

Returns:
Type: 
void

(static) OnScreenShown() → {void}

Function called when the screen is displayed by the screen manager It is expected that screens override this function to handle focus managmenet and any other actions required on screen shown

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) OnScreenHidden() → {void}

Function called when the screen is hidden by the screen manager It is expected that screens override this function if required, to handle focus any actions required on the screen being hidden

Returns:
Type: 
void

(static) OnScreenShown() → {void}

Function called when the screen is displayed by the screen manager It is expected that screens override this function to handle focus managmenet and any other actions required on screen shown

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-JFServer.html b/docs/api/module-JFServer.html index 2cc5333bc..f9473c772 100644 --- a/docs/api/module-JFServer.html +++ b/docs/api/module-JFServer.html @@ -1,3 +1,3 @@ Module: JFServer
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) onFocusPercentChange(event) → {void}

Parameters:
NameTypeDescription
eventdynamic
Returns:
Type: 
void

(static) setTextColor(percentFocused) → {void}

Parameters:
NameTypeDescription
percentFocuseddynamic
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) onFocusPercentChange(event) → {void}

Parameters:
NameTypeDescription
eventdynamic
Returns:
Type: 
void

(static) setTextColor(percentFocused) → {void}

Parameters:
NameTypeDescription
percentFocuseddynamic
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-JFVideo.html b/docs/api/module-JFVideo.html index a6f56d543..481660bdd 100644 --- a/docs/api/module-JFVideo.html +++ b/docs/api/module-JFVideo.html @@ -1,3 +1,3 @@ Module: JFVideo
On this page

Methods

(static) ReportPlayback(stateopt) → {void}

Report playback to server

Parameters:
NameTypeAttributesDefaultDescription
statestring<optional>
"update"
Returns:
Type: 
void

(static) bufferCheck(msg) → {void}

Check the the buffering has not hung

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) checkTimeToDisplayNextEpisode() → {void}

Checks if we need to display the Next Episode button

Returns:
Type: 
void

(static) hideNextEpisodeButton() → {void}

Runs hide Next Episode button animation and sets focus back to video

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) loadCaption() → {void}

Returns:
Type: 
void

(static) onAllowCaptionsChange() → {void}

Returns:
Type: 
void

(static) onContentChange() → {void}

Event handler for when video content field changes

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onNextEpisodeDataLoaded() → {void}

Returns:
Type: 
void

(static) onPositionChanged() → {void}

When Video Player state changes

Returns:
Type: 
void

(static) onState(msg) → {void}

When Video Player state changes

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) showNextEpisodeButton() → {void}

Runs Next Episode button animation and sets focus to button

Returns:
Type: 
void

(static) toggleCaption() → {void}

Returns:
Type: 
void

(static) updateCaption() → {void}

Returns:
Type: 
void

(static) updateCount() → {void}

Update count down text

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) ReportPlayback(stateopt) → {void}

Report playback to server

Parameters:
NameTypeAttributesDefaultDescription
statestring<optional>
"update"
Returns:
Type: 
void

(static) bufferCheck(msg) → {void}

Check the the buffering has not hung

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) checkTimeToDisplayNextEpisode() → {void}

Checks if we need to display the Next Episode button

Returns:
Type: 
void

(static) hideNextEpisodeButton() → {void}

Runs hide Next Episode button animation and sets focus back to video

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) loadCaption() → {void}

Returns:
Type: 
void

(static) onAllowCaptionsChange() → {void}

Returns:
Type: 
void

(static) onContentChange() → {void}

Event handler for when video content field changes

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onNextEpisodeDataLoaded() → {void}

Returns:
Type: 
void

(static) onPositionChanged() → {void}

When Video Player state changes

Returns:
Type: 
void

(static) onState(msg) → {void}

When Video Player state changes

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) showNextEpisodeButton() → {void}

Runs Next Episode button animation and sets focus to button

Returns:
Type: 
void

(static) toggleCaption() → {void}

Returns:
Type: 
void

(static) updateCaption() → {void}

Returns:
Type: 
void

(static) updateCount() → {void}

Update count down text

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ListPoster.html b/docs/api/module-ListPoster.html index 07bec546f..79d2a4463 100644 --- a/docs/api/module-ListPoster.html +++ b/docs/api/module-ListPoster.html @@ -1,3 +1,3 @@ Module: ListPoster
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-LoadChannelsTask.html b/docs/api/module-LoadChannelsTask.html index f3db3da7f..b506404c8 100644 --- a/docs/api/module-LoadChannelsTask.html +++ b/docs/api/module-LoadChannelsTask.html @@ -1,3 +1,3 @@ Module: LoadChannelsTask
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-LoadItemsTask.html b/docs/api/module-LoadItemsTask.html index 72946834c..080b39a1e 100644 --- a/docs/api/module-LoadItemsTask.html +++ b/docs/api/module-LoadItemsTask.html @@ -1,3 +1,3 @@ Module: LoadItemsTask
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-LoadItemsTask2.html b/docs/api/module-LoadItemsTask2.html index 801600775..c0dd89522 100644 --- a/docs/api/module-LoadItemsTask2.html +++ b/docs/api/module-LoadItemsTask2.html @@ -1,3 +1,3 @@ Module: LoadItemsTask2
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-LoadPhotoTask.html b/docs/api/module-LoadPhotoTask.html index 5e9801449..e12256898 100644 --- a/docs/api/module-LoadPhotoTask.html +++ b/docs/api/module-LoadPhotoTask.html @@ -1,3 +1,3 @@ Module: LoadPhotoTask
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-LoadProgramDetailsTask.html b/docs/api/module-LoadProgramDetailsTask.html index 38c107bc0..71445d501 100644 --- a/docs/api/module-LoadProgramDetailsTask.html +++ b/docs/api/module-LoadProgramDetailsTask.html @@ -1,3 +1,3 @@ Module: LoadProgramDetailsTask
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-LoadScreenSaverTimeoutTask.html b/docs/api/module-LoadScreenSaverTimeoutTask.html index 8772ebd3d..d917fbd03 100644 --- a/docs/api/module-LoadScreenSaverTimeoutTask.html +++ b/docs/api/module-LoadScreenSaverTimeoutTask.html @@ -1,3 +1,3 @@ Module: LoadScreenSaverTimeoutTask
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-LoadSheduleTask.html b/docs/api/module-LoadSheduleTask.html index 9dc8f6731..b8339e00c 100644 --- a/docs/api/module-LoadSheduleTask.html +++ b/docs/api/module-LoadSheduleTask.html @@ -1,3 +1,3 @@ Module: LoadSheduleTask
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-LoadVideoContentTask.html b/docs/api/module-LoadVideoContentTask.html index b08bd1391..2371e59f9 100644 --- a/docs/api/module-LoadVideoContentTask.html +++ b/docs/api/module-LoadVideoContentTask.html @@ -1,3 +1,3 @@ Module: LoadVideoContentTask
On this page

Methods

(static) FindPreferredAudioStream(streams) → {integer}

Parameters:
NameTypeDescription
streamsdynamic
Returns:
Type: 
integer

(static) LoadItems_AddVideoContent(video, mediaSourceId, audio_stream_idxopt, subtitle_idxopt, forceTranscodingopt) → {void}

Parameters:
NameTypeAttributesDefaultDescription
videoobject
mediaSourceIddynamic
audio_stream_idxinteger<optional>
1
subtitle_idxinteger<optional>
-1
forceTranscodingboolean<optional>
false
Returns:
Type: 
void

(static) LoadItems_VideoPlayer(id, mediaSourceIdopt, audio_stream_idxopt, subtitle_idxopt, forceTranscodingopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring
mediaSourceIddynamic<optional>
invalid
audio_stream_idxinteger<optional>
1
subtitle_idxinteger<optional>
-1
forceTranscodingboolean<optional>
false
Returns:
Type: 
dynamic

(static) addNextEpisodesToQueue(showID) → {void}

Add next episodes to the playback queue

Parameters:
NameTypeDescription
showIDdynamic
Returns:
Type: 
void

(static) addSubtitlesToVideo(video, meta) → {void}

Parameters:
NameTypeDescription
videodynamic
metadynamic
Returns:
Type: 
void

(static) addVideoContentURL(video, mediaSourceId, audio_stream_idx, fully_external) → {void}

Parameters:
NameTypeDescription
videodynamic
mediaSourceIddynamic
audio_stream_idxdynamic
fully_externaldynamic
Returns:
Type: 
void

(static) directPlaySupported(meta) → {boolean}

Parameters:
NameTypeDescription
metaobject
Returns:
Type: 
boolean

(static) getContainerType(meta) → {string}

Parameters:
NameTypeDescription
metaobject
Returns:
Type: 
string

(static) getSubtitleLanguages() → {dynamic}

Returns:
Type: 
dynamic

(static) getTranscodeReasons(url) → {object}

Extract array of Transcode Reasons from the content URL

Parameters:
NameTypeDescription
urlstring
Returns:
  • Array of Strings
Type: 
object

(static) init() → {void}

Returns:
Type: 
void

(static) loadItems() → {void}

Returns:
Type: 
void

(static) sortSubtitles(id, MediaStreams) → {dynamic}

Checks available subtitle tracks and puts subtitles in forced, default, and non-default/forced but preferred language at the top

Parameters:
NameTypeDescription
idstring
MediaStreamsdynamic
Returns:
Type: 
dynamic
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) FindPreferredAudioStream(streams) → {integer}

Parameters:
NameTypeDescription
streamsdynamic
Returns:
Type: 
integer

(static) LoadItems_AddVideoContent(video, mediaSourceId, audio_stream_idxopt, subtitle_idxopt, forceTranscodingopt) → {void}

Parameters:
NameTypeAttributesDefaultDescription
videoobject
mediaSourceIddynamic
audio_stream_idxinteger<optional>
1
subtitle_idxinteger<optional>
-1
forceTranscodingboolean<optional>
false
Returns:
Type: 
void

(static) LoadItems_VideoPlayer(id, mediaSourceIdopt, audio_stream_idxopt, subtitle_idxopt, forceTranscodingopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring
mediaSourceIddynamic<optional>
invalid
audio_stream_idxinteger<optional>
1
subtitle_idxinteger<optional>
-1
forceTranscodingboolean<optional>
false
Returns:
Type: 
dynamic

(static) addNextEpisodesToQueue(showID) → {void}

Add next episodes to the playback queue

Parameters:
NameTypeDescription
showIDdynamic
Returns:
Type: 
void

(static) addSubtitlesToVideo(video, meta) → {void}

Parameters:
NameTypeDescription
videodynamic
metadynamic
Returns:
Type: 
void

(static) addVideoContentURL(video, mediaSourceId, audio_stream_idx, fully_external) → {void}

Parameters:
NameTypeDescription
videodynamic
mediaSourceIddynamic
audio_stream_idxdynamic
fully_externaldynamic
Returns:
Type: 
void

(static) directPlaySupported(meta) → {boolean}

Parameters:
NameTypeDescription
metaobject
Returns:
Type: 
boolean

(static) getContainerType(meta) → {string}

Parameters:
NameTypeDescription
metaobject
Returns:
Type: 
string

(static) getSubtitleLanguages() → {dynamic}

Returns:
Type: 
dynamic

(static) getTranscodeReasons(url) → {object}

Extract array of Transcode Reasons from the content URL

Parameters:
NameTypeDescription
urlstring
Returns:
  • Array of Strings
Type: 
object

(static) init() → {void}

Returns:
Type: 
void

(static) loadItems() → {void}

Returns:
Type: 
void

(static) sortSubtitles(id, MediaStreams) → {dynamic}

Checks available subtitle tracks and puts subtitles in forced, default, and non-default/forced but preferred language at the top

Parameters:
NameTypeDescription
idstring
MediaStreamsdynamic
Returns:
Type: 
dynamic
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-LoginScene.html b/docs/api/module-LoginScene.html index 6640cd1e0..03750860b 100644 --- a/docs/api/module-LoginScene.html +++ b/docs/api/module-LoginScene.html @@ -1,3 +1,3 @@ Module: LoginScene
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-Main.html b/docs/api/module-Main.html index 495d55bd0..9bfbbeb3e 100644 --- a/docs/api/module-Main.html +++ b/docs/api/module-Main.html @@ -1,3 +1,3 @@ Module: Main
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-MovieData.html b/docs/api/module-MovieData.html index 2dd231fcc..cb6eb2b04 100644 --- a/docs/api/module-MovieData.html +++ b/docs/api/module-MovieData.html @@ -1,3 +1,3 @@ Module: MovieData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-MovieDetails.html b/docs/api/module-MovieDetails.html index 170d71148..24d87b477 100644 --- a/docs/api/module-MovieDetails.html +++ b/docs/api/module-MovieDetails.html @@ -1,3 +1,3 @@ Module: MovieDetails
On this page

Methods

(static) OnScreenShown() → {void}

Returns:
Type: 
void

(static) SetDefaultAudioTrack(itemData) → {void}

Parameters:
NameTypeDescription
itemDatadynamic
Returns:
Type: 
void

(static) SetUpAudioOptions(streams) → {void}

Parameters:
NameTypeDescription
streamsdynamic
Returns:
Type: 
void

(static) SetUpVideoOptions(streams) → {void}

Parameters:
NameTypeDescription
streamsdynamic
Returns:
Type: 
void

(static) audioOptionsClosed() → {void}

Check if options updated and any reloading required

Returns:
Type: 
void

(static) getEndTime() → {string}

Returns:
Type: 
string

(static) getRuntime() → {integer}

Returns:
Type: 
integer

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) round(f) → {integer}

Parameters:
NameTypeDescription
ffloat
Returns:
Type: 
integer

(static) setFavoriteColor() → {void}

Returns:
Type: 
void

(static) setFieldText(field, value) → {void}

Parameters:
NameTypeDescription
fielddynamic
valuedynamic
Returns:
Type: 
void

(static) setWatchedColor() → {void}

Returns:
Type: 
void

(static) trailerAvailableChanged() → {void}

Returns:
Type: 
void

(static) videoOptionsClosed() → {void}

Check if options were updated and if any reloding is needed...

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) OnScreenShown() → {void}

Returns:
Type: 
void

(static) SetDefaultAudioTrack(itemData) → {void}

Parameters:
NameTypeDescription
itemDatadynamic
Returns:
Type: 
void

(static) SetUpAudioOptions(streams) → {void}

Parameters:
NameTypeDescription
streamsdynamic
Returns:
Type: 
void

(static) SetUpVideoOptions(streams) → {void}

Parameters:
NameTypeDescription
streamsdynamic
Returns:
Type: 
void

(static) audioOptionsClosed() → {void}

Check if options updated and any reloading required

Returns:
Type: 
void

(static) getEndTime() → {string}

Returns:
Type: 
string

(static) getRuntime() → {integer}

Returns:
Type: 
integer

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) round(f) → {integer}

Parameters:
NameTypeDescription
ffloat
Returns:
Type: 
integer

(static) setFavoriteColor() → {void}

Returns:
Type: 
void

(static) setFieldText(field, value) → {void}

Parameters:
NameTypeDescription
fielddynamic
valuedynamic
Returns:
Type: 
void

(static) setWatchedColor() → {void}

Returns:
Type: 
void

(static) trailerAvailableChanged() → {void}

Returns:
Type: 
void

(static) videoOptionsClosed() → {void}

Check if options were updated and if any reloding is needed...

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-MovieLibraryView.html b/docs/api/module-MovieLibraryView.html index a4c00d0c0..65676dfb0 100644 --- a/docs/api/module-MovieLibraryView.html +++ b/docs/api/module-MovieLibraryView.html @@ -1,3 +1,3 @@ Module: MovieLibraryView
On this page

Methods

(static) FilterDataLoaded(msg) → {void}

Logo Image Loaded Event Handler

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) ItemDataLoaded(msg) → {void}

Handle loaded data, and add to Grid

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) LogoImageLoaded(msg) → {void}

Logo Image Loaded Event Handler

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) OnScreenHidden() → {void}

Returns:
Type: 
void

(static) OnScreenShown() → {void}

Returns:
Type: 
void

(static) SetBackground(backgroundUri) → {void}

Set Background Image

Parameters:
NameTypeDescription
backgroundUristring
Returns:
Type: 
void

(static) SetName(movieName) → {void}

Set Selected Movie Name

Parameters:
NameTypeDescription
movieNamestring
Returns:
Type: 
void

(static) SetOfficialRating(movieOfficialRating) → {void}

Set Selected Movie OfficialRating

Parameters:
NameTypeDescription
movieOfficialRatingstring
Returns:
Type: 
void

(static) SetOverview(movieOverview) → {void}

Set Selected Movie Overview

Parameters:
NameTypeDescription
movieOverviewstring
Returns:
Type: 
void

(static) SetProductionYear(movieProductionYear) → {void}

Set Selected Movie ProductionYear

Parameters:
NameTypeDescription
movieProductionYeardynamic
Returns:
Type: 
void

(static) getCollectionType() → {string}

Return parent collection type

Returns:
Type: 
string

(static) getItemFocused() → {dynamic}

Returns Focused Item

Returns:
Type: 
dynamic

(static) getRuntime(runTimeTicks) → {integer}

Parameters:
NameTypeDescription
runTimeTicksdynamic
Returns:
Type: 
integer

(static) inStringArray(array, searchValue) → {boolean}

Search string array for search value. Return if it's found

Parameters:
NameTypeDescription
arraydynamic
searchValuedynamic
Returns:
Type: 
boolean

(static) init() → {void}

Returns:
Type: 
void

(static) loadInitialItems() → {void}

Load initial set of Data

Returns:
Type: 
void

(static) loadMoreData() → {void}

Load next set of items

Returns:
Type: 
void

(static) newBGLoaded() → {void}

When Image Loading Status changes

Returns:
Type: 
void

(static) onChannelSelected(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) onGenreItemSelected() → {void}

Genre Item Selected

Returns:
Type: 
void

(static) onItemFocused() → {void}

Handle new item being focused

Returns:
Type: 
void

(static) onItemSelected() → {void}

Item Selected

Returns:
Type: 
void

(static) onItemalphaSelected() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onvoiceFilter() → {void}

Returns:
Type: 
void

(static) optionsClosed() → {void}

Check if options updated and any reloading required

Returns:
Type: 
void

(static) round(f) → {integer}

Parameters:
NameTypeDescription
ffloat
Returns:
Type: 
integer

(static) setFieldText(field, value) → {void}

Parameters:
NameTypeDescription
fielddynamic
valuedynamic
Returns:
Type: 
void

(static) setMoviesOptions(options) → {void}

Set Movies view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setSelectedOptions(options) → {void}

Data to display when options button selected

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setupNodes() → {void}

Returns:
Type: 
void

(static) swapDone() → {void}

Swap Complete

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) FilterDataLoaded(msg) → {void}

Logo Image Loaded Event Handler

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) ItemDataLoaded(msg) → {void}

Handle loaded data, and add to Grid

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) LogoImageLoaded(msg) → {void}

Logo Image Loaded Event Handler

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) OnScreenHidden() → {void}

Returns:
Type: 
void

(static) OnScreenShown() → {void}

Returns:
Type: 
void

(static) SetBackground(backgroundUri) → {void}

Set Background Image

Parameters:
NameTypeDescription
backgroundUristring
Returns:
Type: 
void

(static) SetName(movieName) → {void}

Set Selected Movie Name

Parameters:
NameTypeDescription
movieNamestring
Returns:
Type: 
void

(static) SetOfficialRating(movieOfficialRating) → {void}

Set Selected Movie OfficialRating

Parameters:
NameTypeDescription
movieOfficialRatingstring
Returns:
Type: 
void

(static) SetOverview(movieOverview) → {void}

Set Selected Movie Overview

Parameters:
NameTypeDescription
movieOverviewstring
Returns:
Type: 
void

(static) SetProductionYear(movieProductionYear) → {void}

Set Selected Movie ProductionYear

Parameters:
NameTypeDescription
movieProductionYeardynamic
Returns:
Type: 
void

(static) getCollectionType() → {string}

Return parent collection type

Returns:
Type: 
string

(static) getItemFocused() → {dynamic}

Returns Focused Item

Returns:
Type: 
dynamic

(static) getRuntime(runTimeTicks) → {integer}

Parameters:
NameTypeDescription
runTimeTicksdynamic
Returns:
Type: 
integer

(static) inStringArray(array, searchValue) → {boolean}

Search string array for search value. Return if it's found

Parameters:
NameTypeDescription
arraydynamic
searchValuedynamic
Returns:
Type: 
boolean

(static) init() → {void}

Returns:
Type: 
void

(static) loadInitialItems() → {void}

Load initial set of Data

Returns:
Type: 
void

(static) loadMoreData() → {void}

Load next set of items

Returns:
Type: 
void

(static) newBGLoaded() → {void}

When Image Loading Status changes

Returns:
Type: 
void

(static) onChannelSelected(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) onGenreItemSelected() → {void}

Genre Item Selected

Returns:
Type: 
void

(static) onItemFocused() → {void}

Handle new item being focused

Returns:
Type: 
void

(static) onItemSelected() → {void}

Item Selected

Returns:
Type: 
void

(static) onItemalphaSelected() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onvoiceFilter() → {void}

Returns:
Type: 
void

(static) optionsClosed() → {void}

Check if options updated and any reloading required

Returns:
Type: 
void

(static) round(f) → {integer}

Parameters:
NameTypeDescription
ffloat
Returns:
Type: 
integer

(static) setFieldText(field, value) → {void}

Parameters:
NameTypeDescription
fielddynamic
valuedynamic
Returns:
Type: 
void

(static) setMoviesOptions(options) → {void}

Set Movies view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setSelectedOptions(options) → {void}

Data to display when options button selected

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setupNodes() → {void}

Returns:
Type: 
void

(static) swapDone() → {void}

Swap Complete

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-MovieOptions.html b/docs/api/module-MovieOptions.html index 7286026ce..1720df7e9 100644 --- a/docs/api/module-MovieOptions.html +++ b/docs/api/module-MovieOptions.html @@ -1,3 +1,3 @@ Module: MovieOptions
On this page

Methods

(static) buttonFocusChanged() → {void}

Switch menu shown when button focus changes

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) optionsSet() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) buttonFocusChanged() → {void}

Switch menu shown when button focus changes

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) optionsSet() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-MusicAlbumData.html b/docs/api/module-MusicAlbumData.html index 60edc5a8d..e726d5fea 100644 --- a/docs/api/module-MusicAlbumData.html +++ b/docs/api/module-MusicAlbumData.html @@ -1,3 +1,3 @@ Module: MusicAlbumData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-MusicAlbumSongListData.html b/docs/api/module-MusicAlbumSongListData.html index edf9fa20e..4dc8d3e79 100644 --- a/docs/api/module-MusicAlbumSongListData.html +++ b/docs/api/module-MusicAlbumSongListData.html @@ -1,3 +1,3 @@ Module: MusicAlbumSongListData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-MusicArtistData.html b/docs/api/module-MusicArtistData.html index 793681b37..dcac8a83a 100644 --- a/docs/api/module-MusicArtistData.html +++ b/docs/api/module-MusicArtistData.html @@ -1,3 +1,3 @@ Module: MusicArtistData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-MusicArtistGridItem.html b/docs/api/module-MusicArtistGridItem.html index d21cd0dbf..9ea271e88 100644 --- a/docs/api/module-MusicArtistGridItem.html +++ b/docs/api/module-MusicArtistGridItem.html @@ -1,3 +1,3 @@ Module: MusicArtistGridItem
On this page

Methods

(static) focusChanged() → {void}

Display or hide title Visibility on focus change

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) onPosterLoadStatusChanged() → {void}

Hide backdrop and text when poster loaded

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) focusChanged() → {void}

Display or hide title Visibility on focus change

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) onPosterLoadStatusChanged() → {void}

Hide backdrop and text when poster loaded

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-MusicLibraryView.html b/docs/api/module-MusicLibraryView.html index aaf73b2c0..5ad0117e2 100644 --- a/docs/api/module-MusicLibraryView.html +++ b/docs/api/module-MusicLibraryView.html @@ -1,3 +1,3 @@ Module: MusicLibraryView
On this page

Methods

(static) ItemDataLoaded(msg) → {void}

Handle loaded data, and add to Grid

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) LogoImageLoaded(msg) → {void}

Logo Image Loaded Event Handler

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) OnScreenHidden() → {void}

Returns:
Type: 
void

(static) OnScreenShown() → {void}

Returns:
Type: 
void

(static) SetAlbumCount(totalCount) → {void}

Set Selected Artist Album Count

Parameters:
NameTypeDescription
totalCountdynamic
Returns:
Type: 
void

(static) SetBackground(backgroundUri) → {void}

Set Background Image

Parameters:
NameTypeDescription
backgroundUristring
Returns:
Type: 
void

(static) SetGenres(artistGenres) → {void}

Set Selected Artist Genres

Parameters:
NameTypeDescription
artistGenresdynamic
Returns:
Type: 
void

(static) SetName(artistName) → {void}

Set Selected Artist Name

Parameters:
NameTypeDescription
artistNamestring
Returns:
Type: 
void

(static) SetSongCount(totalCount) → {void}

Set Selected Artist Song Count

Parameters:
NameTypeDescription
totalCountdynamic
Returns:
Type: 
void

(static) SetUpOptions() → {void}

Data to display when options button selected

Returns:
Type: 
void

(static) getCollectionType() → {string}

Return parent collection type

Returns:
Type: 
string

(static) getItemFocused() → {dynamic}

Returns Focused Item

Returns:
Type: 
dynamic

(static) inStringArray(array, searchValue) → {boolean}

Search string array for search value. Return if it's found

Parameters:
NameTypeDescription
arraydynamic
searchValuedynamic
Returns:
Type: 
boolean

(static) init() → {void}

Returns:
Type: 
void

(static) loadInitialItems() → {void}

Load initial set of Data

Returns:
Type: 
void

(static) loadMoreData() → {void}

Load next set of items

Returns:
Type: 
void

(static) newBGLoaded() → {void}

When Image Loading Status changes

Returns:
Type: 
void

(static) onChannelSelected(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) onGenreItemFocused() → {void}

Genre Item Focused

Returns:
Type: 
void

(static) onGenreItemSelected() → {void}

Genre Item Selected

Returns:
Type: 
void

(static) onItemFocused() → {void}

Handle new item being focused

Returns:
Type: 
void

(static) onItemSelected() → {void}

Item Selected

Returns:
Type: 
void

(static) onItemalphaSelected() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onvoiceFilter() → {void}

Returns:
Type: 
void

(static) optionsClosed() → {void}

Check if options updated and any reloading required

Returns:
Type: 
void

(static) setFieldText(field, value) → {void}

Parameters:
NameTypeDescription
fielddynamic
valuedynamic
Returns:
Type: 
void

(static) setMusicOptions(options) → {void}

Set Music view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setupNodes() → {void}

Returns:
Type: 
void

(static) swapDone() → {void}

Swap Complete

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) ItemDataLoaded(msg) → {void}

Handle loaded data, and add to Grid

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) LogoImageLoaded(msg) → {void}

Logo Image Loaded Event Handler

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) OnScreenHidden() → {void}

Returns:
Type: 
void

(static) OnScreenShown() → {void}

Returns:
Type: 
void

(static) SetAlbumCount(totalCount) → {void}

Set Selected Artist Album Count

Parameters:
NameTypeDescription
totalCountdynamic
Returns:
Type: 
void

(static) SetBackground(backgroundUri) → {void}

Set Background Image

Parameters:
NameTypeDescription
backgroundUristring
Returns:
Type: 
void

(static) SetGenres(artistGenres) → {void}

Set Selected Artist Genres

Parameters:
NameTypeDescription
artistGenresdynamic
Returns:
Type: 
void

(static) SetName(artistName) → {void}

Set Selected Artist Name

Parameters:
NameTypeDescription
artistNamestring
Returns:
Type: 
void

(static) SetSongCount(totalCount) → {void}

Set Selected Artist Song Count

Parameters:
NameTypeDescription
totalCountdynamic
Returns:
Type: 
void

(static) SetUpOptions() → {void}

Data to display when options button selected

Returns:
Type: 
void

(static) getCollectionType() → {string}

Return parent collection type

Returns:
Type: 
string

(static) getItemFocused() → {dynamic}

Returns Focused Item

Returns:
Type: 
dynamic

(static) inStringArray(array, searchValue) → {boolean}

Search string array for search value. Return if it's found

Parameters:
NameTypeDescription
arraydynamic
searchValuedynamic
Returns:
Type: 
boolean

(static) init() → {void}

Returns:
Type: 
void

(static) loadInitialItems() → {void}

Load initial set of Data

Returns:
Type: 
void

(static) loadMoreData() → {void}

Load next set of items

Returns:
Type: 
void

(static) newBGLoaded() → {void}

When Image Loading Status changes

Returns:
Type: 
void

(static) onChannelSelected(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) onGenreItemFocused() → {void}

Genre Item Focused

Returns:
Type: 
void

(static) onGenreItemSelected() → {void}

Genre Item Selected

Returns:
Type: 
void

(static) onItemFocused() → {void}

Handle new item being focused

Returns:
Type: 
void

(static) onItemSelected() → {void}

Item Selected

Returns:
Type: 
void

(static) onItemalphaSelected() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onvoiceFilter() → {void}

Returns:
Type: 
void

(static) optionsClosed() → {void}

Check if options updated and any reloading required

Returns:
Type: 
void

(static) setFieldText(field, value) → {void}

Parameters:
NameTypeDescription
fielddynamic
valuedynamic
Returns:
Type: 
void

(static) setMusicOptions(options) → {void}

Set Music view, sort, and filter options

Parameters:
NameTypeDescription
optionsdynamic
Returns:
Type: 
void

(static) setupNodes() → {void}

Returns:
Type: 
void

(static) swapDone() → {void}

Swap Complete

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-MusicSongData.html b/docs/api/module-MusicSongData.html index 82fb0cc48..f76bcce00 100644 --- a/docs/api/module-MusicSongData.html +++ b/docs/api/module-MusicSongData.html @@ -1,3 +1,3 @@ Module: MusicSongData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-OSD.html b/docs/api/module-OSD.html new file mode 100644 index 000000000..df41cdd70 --- /dev/null +++ b/docs/api/module-OSD.html @@ -0,0 +1,3 @@ +Module: OSD
On this page

Methods

(static) inactiveCheck() → {void}

inactiveCheck: Checks if the time since last keypress is greater than or equal to the allowed inactive time of the menu.

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onButtonSelected() → {void}

onButtonSelected: Handler for selection of buttons from the menu.

Returns:
Type: 
void

(static) onFocusChanged() → {void}

onFocusChanged: Handler for changes to the focus of this menu.

Returns:
Type: 
void

(static) onItemTitleTextChanged() → {void}

onItemTitleTextChanged: Handler for changes to m.top.itemTitleText param.

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onPlaybackStateChanged() → {void}

onPlaybackStateChanged: Handler for changes to m.top.playbackState param

Returns:
Type: 
void

(static) onProgressPercentageChanged() → {void}

onProgressPercentageChanged: Handler for changes to m.top.progressPercentage param

Returns:
Type: 
void

(static) onVisibleChanged() → {void}

onVisibleChanged: Handler for changes to the visibility of this menu.

Returns:
Type: 
void

(static) resetFocusToDefaultButton() → {void}

resetFocusToDefaultButton: Reset focus back to the default button

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-OptionNode.html b/docs/api/module-OptionNode.html index 5c2b2d907..3709a7141 100644 --- a/docs/api/module-OptionNode.html +++ b/docs/api/module-OptionNode.html @@ -1,3 +1,3 @@ Module: OptionNode
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-OptionsButton.html b/docs/api/module-OptionsButton.html index 3a5efde4d..98629d7a5 100644 --- a/docs/api/module-OptionsButton.html +++ b/docs/api/module-OptionsButton.html @@ -1,3 +1,3 @@ Module: OptionsButton
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-OptionsData.html b/docs/api/module-OptionsData.html index efef0cc84..8c4372aa9 100644 --- a/docs/api/module-OptionsData.html +++ b/docs/api/module-OptionsData.html @@ -1,3 +1,3 @@ Module: OptionsData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-OptionsSlider.html b/docs/api/module-OptionsSlider.html index 69805a645..ad6a88a45 100644 --- a/docs/api/module-OptionsSlider.html +++ b/docs/api/module-OptionsSlider.html @@ -1,3 +1,3 @@ Module: OptionsSlider
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-OverviewDialog.html b/docs/api/module-OverviewDialog.html index b3e17cdb6..343fc5f91 100644 --- a/docs/api/module-OverviewDialog.html +++ b/docs/api/module-OverviewDialog.html @@ -1,3 +1,3 @@ Module: OverviewDialog
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-PauseMenu.html b/docs/api/module-PauseMenu.html deleted file mode 100644 index f13e576d7..000000000 --- a/docs/api/module-PauseMenu.html +++ /dev/null @@ -1,3 +0,0 @@ -Module: PauseMenu
On this page

Methods

(static) inactiveCheck() → {void}

inactiveCheck: Checks if the time since last keypress is greater than or equal to the allowed inactive time of the pause menu.

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onButtonSelected() → {void}

onButtonSelected: Handler for selection of buttons from the pause menu.

Returns:
Type: 
void

(static) onFocusChanged() → {void}

onFocusChanged: Handler for changes to the focus of this pause menu.

Returns:
Type: 
void

(static) onItemTitleTextChanged() → {void}

onItemTitleTextChanged: Handler for changes to m.top.itemTitleText param.

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onPlaybackStateChanged() → {void}

onPlaybackStateChanged: Handler for changes to m.top.playbackState param

Returns:
Type: 
void

(static) onProgressPercentageChanged() → {void}

onProgressPercentageChanged: Handler for changes to m.top.progressPercentage param

Returns:
Type: 
void

(static) onVisibleChanged() → {void}

onVisibleChanged: Handler for changes to the visibility of this pause menu.

Returns:
Type: 
void

(static) resetFocusToDefaultButton() → {void}

resetFocusToDefaultButton: Reset focus back to the default button

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-PersonData.html b/docs/api/module-PersonData.html index 6c0ba42b3..374031f61 100644 --- a/docs/api/module-PersonData.html +++ b/docs/api/module-PersonData.html @@ -1,3 +1,3 @@ Module: PersonData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-PersonDetails.html b/docs/api/module-PersonDetails.html index aaec81cab..2ec35cd0e 100644 --- a/docs/api/module-PersonDetails.html +++ b/docs/api/module-PersonDetails.html @@ -1,3 +1,3 @@ Module: PersonDetails
On this page

Methods

(static) createDialogPallete() → {void}

Returns:
Type: 
void

(static) createFullDscrDlg() → {void}

Returns:
Type: 
void

(static) dscrShowFocus() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) loadPerson() → {void}

Returns:
Type: 
void

(static) onButtonGroupEscaped() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) setFavoriteColor() → {void}

Returns:
Type: 
void

(static) shortDate(isoDate) → {string}

Parameters:
NameTypeDescription
isoDatedynamic
Returns:
Type: 
string
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) createDialogPallete() → {void}

Returns:
Type: 
void

(static) createFullDscrDlg() → {void}

Returns:
Type: 
void

(static) dscrShowFocus() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) loadPerson() → {void}

Returns:
Type: 
void

(static) onButtonGroupEscaped() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) setFavoriteColor() → {void}

Returns:
Type: 
void

(static) shortDate(isoDate) → {string}

Parameters:
NameTypeDescription
isoDatedynamic
Returns:
Type: 
string
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-PhotoData.html b/docs/api/module-PhotoData.html index 46c52f0a8..5977ecb15 100644 --- a/docs/api/module-PhotoData.html +++ b/docs/api/module-PhotoData.html @@ -1,3 +1,3 @@ Module: PhotoData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-PhotoDetails.html b/docs/api/module-PhotoDetails.html index 659238095..d8359d413 100644 --- a/docs/api/module-PhotoDetails.html +++ b/docs/api/module-PhotoDetails.html @@ -1,3 +1,3 @@ Module: PhotoDetails
On this page

Methods

(static) OnScreenHidden() → {void}

JFScreen hook. Used to ensure tasks are stopped

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) isRandomChanged() → {void}

isRandom component field has changed

Returns:
Type: 
void

(static) isSlideshowChanged() → {void}

isSlideshow component field has changed

Returns:
Type: 
void

(static) isValidToContinue(index) → {dynamic}

Parameters:
NameTypeDescription
indexinteger
Returns:
Type: 
dynamic

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) nextSlide() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onPhotoLoaded() → {void}

Returns:
Type: 
void

(static) statusUpdate() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) OnScreenHidden() → {void}

JFScreen hook. Used to ensure tasks are stopped

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) isRandomChanged() → {void}

isRandom component field has changed

Returns:
Type: 
void

(static) isSlideshowChanged() → {void}

isSlideshow component field has changed

Returns:
Type: 
void

(static) isValidToContinue(index) → {dynamic}

Parameters:
NameTypeDescription
indexinteger
Returns:
Type: 
dynamic

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) nextSlide() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onPhotoLoaded() → {void}

Returns:
Type: 
void

(static) statusUpdate() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-PlaybackDialog.html b/docs/api/module-PlaybackDialog.html index c6071e0f1..34413263d 100644 --- a/docs/api/module-PlaybackDialog.html +++ b/docs/api/module-PlaybackDialog.html @@ -1,3 +1,3 @@ Module: PlaybackDialog
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-PlayedCheckmark.html b/docs/api/module-PlayedCheckmark.html index 3090e9ad6..7e1d0418d 100644 --- a/docs/api/module-PlayedCheckmark.html +++ b/docs/api/module-PlayedCheckmark.html @@ -1,3 +1,3 @@ Module: PlayedCheckmark
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-PlaylistData.html b/docs/api/module-PlaylistData.html index 73639b987..144c44ac3 100644 --- a/docs/api/module-PlaylistData.html +++ b/docs/api/module-PlaylistData.html @@ -1,3 +1,3 @@ Module: PlaylistData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-PlaylistView.html b/docs/api/module-PlaylistView.html index d0e9b6bbf..f8db97fc3 100644 --- a/docs/api/module-PlaylistView.html +++ b/docs/api/module-PlaylistView.html @@ -1,3 +1,3 @@ Module: PlaylistView
On this page

Methods

(static) OnScreenHidden() → {void}

Returns:
Type: 
void

(static) adjustScreenForNoOverview() → {void}

Adjust scene by removing overview node and showing more songs

Returns:
Type: 
void

(static) createDialogPallete() → {void}

Returns:
Type: 
void

(static) createFullDscrDlg() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onDoneLoading() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) pageContentChanged() → {void}

Set values for displayed values on screen

Returns:
Type: 
void

(static) setOnScreenTextValues(json) → {void}

Populate on screen text variables

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) setPosterImage(posterURL) → {void}

Set poster image on screen

Parameters:
NameTypeDescription
posterURLdynamic
Returns:
Type: 
void

(static) setScreenTitle(json) → {void}

Set screen's title text

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) setupMainNode() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) OnScreenHidden() → {void}

Returns:
Type: 
void

(static) adjustScreenForNoOverview() → {void}

Adjust scene by removing overview node and showing more songs

Returns:
Type: 
void

(static) createDialogPallete() → {void}

Returns:
Type: 
void

(static) createFullDscrDlg() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onDoneLoading() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) pageContentChanged() → {void}

Set values for displayed values on screen

Returns:
Type: 
void

(static) setOnScreenTextValues(json) → {void}

Populate on screen text variables

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) setPosterImage(posterURL) → {void}

Set poster image on screen

Parameters:
NameTypeDescription
posterURLdynamic
Returns:
Type: 
void

(static) setScreenTitle(json) → {void}

Set screen's title text

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) setupMainNode() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-PlaystateTask.html b/docs/api/module-PlaystateTask.html index 16d2eaff1..cfb7671cb 100644 --- a/docs/api/module-PlaystateTask.html +++ b/docs/api/module-PlaystateTask.html @@ -1,3 +1,3 @@ Module: PlaystateTask
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-PostTask.html b/docs/api/module-PostTask.html index 95ff3ed17..f6f6c48e6 100644 --- a/docs/api/module-PostTask.html +++ b/docs/api/module-PostTask.html @@ -1,3 +1,3 @@ Module: PostTask
On this page

Methods

(static) asyncPost(req, dataopt) → {integer}

Post data and wait for response code

Parameters:
NameTypeAttributesDefaultDescription
reqdynamic
datastring<optional>
""
Returns:
Type: 
integer

(static) empty() → {void}

Revert PostTask to default state

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) postItems() → {void}

Main function for PostTask. Posts either an array of data or a string of data to an API endpoint. Saves the response information

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) asyncPost(req, dataopt) → {integer}

Post data and wait for response code

Parameters:
NameTypeAttributesDefaultDescription
reqdynamic
datastring<optional>
""
Returns:
Type: 
integer

(static) empty() → {void}

Revert PostTask to default state

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) postItems() → {void}

Main function for PostTask. Posts either an array of data or a string of data to an API endpoint. Saves the response information

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ProgramDetails.html b/docs/api/module-ProgramDetails.html index 998ea4983..bb5526ab5 100644 --- a/docs/api/module-ProgramDetails.html +++ b/docs/api/module-ProgramDetails.html @@ -1,3 +1,3 @@ Module: ProgramDetails
On this page

Methods

(static) channelUpdated() → {void}

Returns:
Type: 
void

(static) focusChanged() → {void}

Show view channel button when item has Focus

Returns:
Type: 
void

(static) getDurationStringFromSeconds(seconds) → {string}

Get program duration string (e.g. 1h 20m)

Parameters:
NameTypeDescription
secondsdynamic
Returns:
Type: 
string

(static) getRelativeDayName(date) → {string}

Get relative date name for a date (yesterday, today, tomorrow, or otherwise weekday name )

Parameters:
NameTypeDescription
datedynamic
Returns:
Type: 
string

(static) init() → {void}

Returns:
Type: 
void

(static) onAnimationComplete() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) programUpdated() → {void}

Returns:
Type: 
void

(static) setupLabels() → {void}

Set up Live and Repeat label sizes

Returns:
Type: 
void

(static) updateLabels(recordTextopt, recordSeriesTextopt) → {void}

Parameters:
NameTypeAttributesDefaultDescription
recordTextdynamic<optional>
"Record"
recordSeriesTextdynamic<optional>
"Record Series"
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) channelUpdated() → {void}

Returns:
Type: 
void

(static) focusChanged() → {void}

Show view channel button when item has Focus

Returns:
Type: 
void

(static) getDurationStringFromSeconds(seconds) → {string}

Get program duration string (e.g. 1h 20m)

Parameters:
NameTypeDescription
secondsdynamic
Returns:
Type: 
string

(static) getRelativeDayName(date) → {string}

Get relative date name for a date (yesterday, today, tomorrow, or otherwise weekday name )

Parameters:
NameTypeDescription
datedynamic
Returns:
Type: 
string

(static) init() → {void}

Returns:
Type: 
void

(static) onAnimationComplete() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) programUpdated() → {void}

Returns:
Type: 
void

(static) setupLabels() → {void}

Set up Live and Repeat label sizes

Returns:
Type: 
void

(static) updateLabels(recordTextopt, recordSeriesTextopt) → {void}

Parameters:
NameTypeAttributesDefaultDescription
recordTextdynamic<optional>
"Record"
recordSeriesTextdynamic<optional>
"Record Series"
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-PublicUserData.html b/docs/api/module-PublicUserData.html index 573efcdcd..7c0e01466 100644 --- a/docs/api/module-PublicUserData.html +++ b/docs/api/module-PublicUserData.html @@ -1,3 +1,3 @@ Module: PublicUserData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-QueueManager.html b/docs/api/module-QueueManager.html index 3d4b3646b..1ca865e13 100644 --- a/docs/api/module-QueueManager.html +++ b/docs/api/module-QueueManager.html @@ -1,3 +1,3 @@ Module: QueueManager
On this page

Methods

(static) clear() → {void}

Clear all content from play queue

Returns:
Type: 
void

(static) clearHold() → {void}

Clear all hold content

Returns:
Type: 
void

(static) deleteAtIndex(index) → {void}

Delete item from play queue at passed index

Parameters:
NameTypeDescription
indexdynamic
Returns:
Type: 
void

(static) getCount() → {dynamic}

Return the number of items in the play queue

Returns:
Type: 
dynamic

(static) getCurrentItem() → {dynamic}

Return the item currently in focus from the play queue

Returns:
Type: 
dynamic

(static) getHold() → {dynamic}

Return the items in the hold

Returns:
Type: 
dynamic

(static) getIsShuffled() → {dynamic}

Return whether or not shuffle is enabled

Returns:
Type: 
dynamic

(static) getItemByIndex(index) → {dynamic}

Return the item in the passed index from the play queue

Parameters:
NameTypeDescription
indexdynamic
Returns:
Type: 
dynamic

(static) getItemType(item) → {string}

Parameters:
NameTypeDescription
itemdynamic
Returns:
Type: 
string

(static) getPosition() → {dynamic}

Returns current playback position within the queue

Returns:
Type: 
dynamic

(static) getQueue() → {dynamic}

Return the current play queue

Returns:
Type: 
dynamic

(static) getQueueTypes() → {dynamic}

Return the types of items in current play queue

Returns:
Type: 
dynamic

(static) getQueueUniqueTypes() → {dynamic}

Return the unique types of items in current play queue

Returns:
Type: 
dynamic

(static) getUnshuffledQueue() → {dynamic}

Return original, unshuffled queue

Returns:
Type: 
dynamic

(static) hold(newItem) → {void}

Hold an item

Parameters:
NameTypeDescription
newItemdynamic
Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) isPrerollActive() → {boolean}

Return isPrerollActive status

Returns:
Type: 
boolean

(static) moveBack() → {void}

Move queue position back one

Returns:
Type: 
void

(static) moveForward() → {void}

Move queue position ahead one

Returns:
Type: 
void

(static) peek() → {dynamic}

Return item at end of play queue without removing

Returns:
Type: 
dynamic

(static) playQueue() → {void}

Play items in queue

Returns:
Type: 
void

(static) pop() → {void}

Remove item at end of play queue

Returns:
Type: 
void

(static) push(newItem) → {void}

Push new items to the play queue

Parameters:
NameTypeDescription
newItemdynamic
Returns:
Type: 
void

(static) resetQueueItemOrder() → {void}

Reset queue items back to original, unshuffled order

Returns:
Type: 
void

(static) resetShuffle() → {void}

Reset shuffle to off state

Returns:
Type: 
void

(static) set(items) → {void}

Replace play queue with passed array

Parameters:
NameTypeDescription
itemsdynamic
Returns:
Type: 
void

(static) setPosition(newPosition) → {void}

Set the queue position

Parameters:
NameTypeDescription
newPositiondynamic
Returns:
Type: 
void

(static) setPrerollStatus(newStatus) → {void}

Set prerollActive status

Parameters:
NameTypeDescription
newStatusboolean
Returns:
Type: 
void

(static) setTopStartingPoint(positionTicks) → {void}

Set starting point for top item in the queue

Parameters:
NameTypeDescription
positionTicksdynamic
Returns:
Type: 
void

(static) shuffleQueueItems() → {void}

Save a copy of the original queue and randomize order of queue items

Returns:
Type: 
void

(static) toggleShuffle() → {void}

Toggle shuffleEnabled state

Returns:
Type: 
void

(static) top() → {dynamic}

Return the fitst item in the play queue

Returns:
Type: 
dynamic
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) clear() → {void}

Clear all content from play queue

Returns:
Type: 
void

(static) clearHold() → {void}

Clear all hold content

Returns:
Type: 
void

(static) deleteAtIndex(index) → {void}

Delete item from play queue at passed index

Parameters:
NameTypeDescription
indexdynamic
Returns:
Type: 
void

(static) getCount() → {dynamic}

Return the number of items in the play queue

Returns:
Type: 
dynamic

(static) getCurrentItem() → {dynamic}

Return the item currently in focus from the play queue

Returns:
Type: 
dynamic

(static) getHold() → {dynamic}

Return the items in the hold

Returns:
Type: 
dynamic

(static) getIsShuffled() → {dynamic}

Return whether or not shuffle is enabled

Returns:
Type: 
dynamic

(static) getItemByIndex(index) → {dynamic}

Return the item in the passed index from the play queue

Parameters:
NameTypeDescription
indexdynamic
Returns:
Type: 
dynamic

(static) getItemType(item) → {string}

Parameters:
NameTypeDescription
itemdynamic
Returns:
Type: 
string

(static) getPosition() → {dynamic}

Returns current playback position within the queue

Returns:
Type: 
dynamic

(static) getQueue() → {dynamic}

Return the current play queue

Returns:
Type: 
dynamic

(static) getQueueTypes() → {dynamic}

Return the types of items in current play queue

Returns:
Type: 
dynamic

(static) getQueueUniqueTypes() → {dynamic}

Return the unique types of items in current play queue

Returns:
Type: 
dynamic

(static) getUnshuffledQueue() → {dynamic}

Return original, unshuffled queue

Returns:
Type: 
dynamic

(static) hold(newItem) → {void}

Hold an item

Parameters:
NameTypeDescription
newItemdynamic
Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) isPrerollActive() → {boolean}

Return isPrerollActive status

Returns:
Type: 
boolean

(static) moveBack() → {void}

Move queue position back one

Returns:
Type: 
void

(static) moveForward() → {void}

Move queue position ahead one

Returns:
Type: 
void

(static) peek() → {dynamic}

Return item at end of play queue without removing

Returns:
Type: 
dynamic

(static) playQueue() → {void}

Play items in queue

Returns:
Type: 
void

(static) pop() → {void}

Remove item at end of play queue

Returns:
Type: 
void

(static) push(newItem) → {void}

Push new items to the play queue

Parameters:
NameTypeDescription
newItemdynamic
Returns:
Type: 
void

(static) resetQueueItemOrder() → {void}

Reset queue items back to original, unshuffled order

Returns:
Type: 
void

(static) resetShuffle() → {void}

Reset shuffle to off state

Returns:
Type: 
void

(static) set(items) → {void}

Replace play queue with passed array

Parameters:
NameTypeDescription
itemsdynamic
Returns:
Type: 
void

(static) setPosition(newPosition) → {void}

Set the queue position

Parameters:
NameTypeDescription
newPositiondynamic
Returns:
Type: 
void

(static) setPrerollStatus(newStatus) → {void}

Set prerollActive status

Parameters:
NameTypeDescription
newStatusboolean
Returns:
Type: 
void

(static) setTopStartingPoint(positionTicks) → {void}

Set starting point for top item in the queue

Parameters:
NameTypeDescription
positionTicksdynamic
Returns:
Type: 
void

(static) shuffleQueueItems() → {void}

Save a copy of the original queue and randomize order of queue items

Returns:
Type: 
void

(static) toggleShuffle() → {void}

Toggle shuffleEnabled state

Returns:
Type: 
void

(static) top() → {dynamic}

Return the fitst item in the play queue

Returns:
Type: 
dynamic
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-QuickConnect.html b/docs/api/module-QuickConnect.html index cd6f4e842..a55400169 100644 --- a/docs/api/module-QuickConnect.html +++ b/docs/api/module-QuickConnect.html @@ -1,3 +1,3 @@ Module: QuickConnect
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-QuickConnectDialog.html b/docs/api/module-QuickConnectDialog.html index 6ff235d11..423280c82 100644 --- a/docs/api/module-QuickConnectDialog.html +++ b/docs/api/module-QuickConnectDialog.html @@ -1,3 +1,3 @@ Module: QuickConnectDialog
On this page

Methods

(static) OnAuthenticated() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onButtonSelected() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) quickConnectClosed() → {void}

Returns:
Type: 
void

(static) quickConnectStatus() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) OnAuthenticated() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onButtonSelected() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) quickConnectClosed() → {void}

Returns:
Type: 
void

(static) quickConnectStatus() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-RadioDialog.html b/docs/api/module-RadioDialog.html index 8988a1c9a..e1f4b35df 100644 --- a/docs/api/module-RadioDialog.html +++ b/docs/api/module-RadioDialog.html @@ -1,3 +1,3 @@ Module: RadioDialog
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) moveScrollBar() → {void}

Move the popup's scroll bar

Returns:
Type: 
void

(static) onButtonSelected() → {void}

Event handler for when user selected a button

Returns:
Type: 
void

(static) onContentDataChanged() → {void}

Returns:
Type: 
void

(static) onItemFocused() → {void}

Event handler for when user's cursor highlights an option in the option list

Returns:
Type: 
void

(static) onItemSelected() → {void}

Once user selected an item, move cursor down to OK button

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onScrollBarFocus() → {void}

If somehow the scrollbar gains focus, set focus back to the option list

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) moveScrollBar() → {void}

Move the popup's scroll bar

Returns:
Type: 
void

(static) onButtonSelected() → {void}

Event handler for when user selected a button

Returns:
Type: 
void

(static) onContentDataChanged() → {void}

Returns:
Type: 
void

(static) onItemFocused() → {void}

Event handler for when user's cursor highlights an option in the option list

Returns:
Type: 
void

(static) onItemSelected() → {void}

Once user selected an item, move cursor down to OK button

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onScrollBarFocus() → {void}

If somehow the scrollbar gains focus, set focus back to the option list

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-RecordProgramTask.html b/docs/api/module-RecordProgramTask.html index 0f6ba456d..0cdd8b0bc 100644 --- a/docs/api/module-RecordProgramTask.html +++ b/docs/api/module-RecordProgramTask.html @@ -1,3 +1,3 @@ Module: RecordProgramTask
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-SceneManager.html b/docs/api/module-SceneManager.html index a9dd5b3a8..fabce041f 100644 --- a/docs/api/module-SceneManager.html +++ b/docs/api/module-SceneManager.html @@ -1,3 +1,3 @@ Module: SceneManager
On this page

Methods

(static) clearPreviousScene() → {void}

Clear previous scene from group stack

Returns:
Type: 
void

(static) clearScenes() → {void}

Clear all content from group stack

Returns:
Type: 
void

(static) deleteSceneAtIndex(indexopt) → {void}

Delete scene from group stack at passed index

Parameters:
NameTypeAttributesDefaultDescription
indexdynamic<optional>
1
Returns:
Type: 
void

(static) dismissDialog() → {void}

Close currently displayed dialog

Returns:
Type: 
void

(static) getActiveScene() → {object}

Return group at top of stack without removing

Returns:
Type: 
object

(static) init() → {void}

Returns:
Type: 
void

(static) isDialogOpen() → {boolean}

Returns bool indicating if dialog is currently displayed

Returns:
Type: 
boolean

(static) optionClosed() → {void}

Return button the user selected

Returns:
Type: 
void

(static) optionDialog(title, message, buttons) → {void}

Display dialog to user with an OK button

Parameters:
NameTypeDescription
titledynamic
messagedynamic
buttonsdynamic
Returns:
Type: 
void

(static) optionSelected() → {void}

Return button the user selected

Returns:
Type: 
void

(static) popScene() → {void}

Remove the current group and load the last group from the stack

Returns:
Type: 
void

(static) pushScene(newGroup) → {void}

Push a new group onto the stack, replacing the existing group on the screen

Parameters:
NameTypeDescription
newGroupdynamic
Returns:
Type: 
void

(static) radioDialog(title, message) → {void}

Display dialog to user with an OK button

Parameters:
NameTypeDescription
titledynamic
messagedynamic
Returns:
Type: 
void

(static) registerOverhangData(group) → {void}

Register observers for overhang data

Parameters:
NameTypeDescription
groupdynamic
Returns:
Type: 
void

(static) resetTime() → {void}

Reset time

Returns:
Type: 
void

(static) settings() → {void}

Display user/device settings screen

Returns:
Type: 
void

(static) standardDialog(title, message) → {void}

Display dialog to user with an OK button

Parameters:
NameTypeDescription
titledynamic
messagedynamic
Returns:
Type: 
void

(static) unregisterOverhangData(group) → {void}

Remove observers for overhang data

Parameters:
NameTypeDescription
groupdynamic
Returns:
Type: 
void

(static) updateOptions(msg) → {void}

Update options availability

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) updateOverhangTitle(msg) → {void}

Update overhang title

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) updateOverhangVisible(msg) → {void}

Update whether the overhang is visible or not

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) updateUser() → {void}

Update username in overhang

Returns:
Type: 
void

(static) userMessage(title, message) → {void}

Display dialog to user with an OK button

Parameters:
NameTypeDescription
titlestring
messagestring
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) clearPreviousScene() → {void}

Clear previous scene from group stack

Returns:
Type: 
void

(static) clearScenes() → {void}

Clear all content from group stack

Returns:
Type: 
void

(static) deleteSceneAtIndex(indexopt) → {void}

Delete scene from group stack at passed index

Parameters:
NameTypeAttributesDefaultDescription
indexdynamic<optional>
1
Returns:
Type: 
void

(static) dismissDialog() → {void}

Close currently displayed dialog

Returns:
Type: 
void

(static) getActiveScene() → {object}

Return group at top of stack without removing

Returns:
Type: 
object

(static) init() → {void}

Returns:
Type: 
void

(static) isDialogOpen() → {boolean}

Returns bool indicating if dialog is currently displayed

Returns:
Type: 
boolean

(static) optionClosed() → {void}

Return button the user selected

Returns:
Type: 
void

(static) optionDialog(title, message, buttons) → {void}

Display dialog to user with an OK button

Parameters:
NameTypeDescription
titledynamic
messagedynamic
buttonsdynamic
Returns:
Type: 
void

(static) optionSelected() → {void}

Return button the user selected

Returns:
Type: 
void

(static) popScene() → {void}

Remove the current group and load the last group from the stack

Returns:
Type: 
void

(static) pushScene(newGroup) → {void}

Push a new group onto the stack, replacing the existing group on the screen

Parameters:
NameTypeDescription
newGroupdynamic
Returns:
Type: 
void

(static) radioDialog(title, message) → {void}

Display dialog to user with an OK button

Parameters:
NameTypeDescription
titledynamic
messagedynamic
Returns:
Type: 
void

(static) registerOverhangData(group) → {void}

Register observers for overhang data

Parameters:
NameTypeDescription
groupdynamic
Returns:
Type: 
void

(static) resetTime() → {void}

Reset time

Returns:
Type: 
void

(static) settings() → {void}

Display user/device settings screen

Returns:
Type: 
void

(static) standardDialog(title, message) → {void}

Display dialog to user with an OK button

Parameters:
NameTypeDescription
titledynamic
messagedynamic
Returns:
Type: 
void

(static) unregisterOverhangData(group) → {void}

Remove observers for overhang data

Parameters:
NameTypeDescription
groupdynamic
Returns:
Type: 
void

(static) updateOptions(msg) → {void}

Update options availability

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) updateOverhangTitle(msg) → {void}

Update overhang title

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) updateOverhangVisible(msg) → {void}

Update whether the overhang is visible or not

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) updateUser() → {void}

Update username in overhang

Returns:
Type: 
void

(static) userMessage(title, message) → {void}

Display dialog to user with an OK button

Parameters:
NameTypeDescription
titlestring
messagestring
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ScheduleProgramData.html b/docs/api/module-ScheduleProgramData.html index c2a14d961..9ef05609d 100644 --- a/docs/api/module-ScheduleProgramData.html +++ b/docs/api/module-ScheduleProgramData.html @@ -1,3 +1,3 @@ Module: ScheduleProgramData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-SearchBox.html b/docs/api/module-SearchBox.html index 7ebd5a0f6..f25f50624 100644 --- a/docs/api/module-SearchBox.html +++ b/docs/api/module-SearchBox.html @@ -1,3 +1,3 @@ Module: SearchBox
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-SearchData.html b/docs/api/module-SearchData.html index b17e97448..c3a2b6f2e 100644 --- a/docs/api/module-SearchData.html +++ b/docs/api/module-SearchData.html @@ -1,3 +1,3 @@ Module: SearchData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-SearchResults.html b/docs/api/module-SearchResults.html index bde6f8858..d28f15cef 100644 --- a/docs/api/module-SearchResults.html +++ b/docs/api/module-SearchResults.html @@ -1,3 +1,3 @@ Module: SearchResults
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) loadResults() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) searchMedias() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) loadResults() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) searchMedias() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-SearchRow.html b/docs/api/module-SearchRow.html index 868a97adc..05e0477ab 100644 --- a/docs/api/module-SearchRow.html +++ b/docs/api/module-SearchRow.html @@ -1,3 +1,3 @@ Module: SearchRow
On this page

Methods

(static) addRow(data, title, type_filter) → {void}

Parameters:
NameTypeDescription
datadynamic
titledynamic
type_filterdynamic
Returns:
Type: 
void

(static) getData() → {dynamic}

Returns:
Type: 
dynamic

(static) init() → {void}

Returns:
Type: 
void

(static) updateSize() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) addRow(data, title, type_filter) → {void}

Parameters:
NameTypeDescription
datadynamic
titledynamic
type_filterdynamic
Returns:
Type: 
void

(static) getData() → {dynamic}

Returns:
Type: 
dynamic

(static) init() → {void}

Returns:
Type: 
void

(static) updateSize() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-SearchTask.html b/docs/api/module-SearchTask.html index 5b8a8462b..afc48efde 100644 --- a/docs/api/module-SearchTask.html +++ b/docs/api/module-SearchTask.html @@ -1,3 +1,3 @@ Module: SearchTask
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-SeriesData.html b/docs/api/module-SeriesData.html index b1ace5122..7b01161e3 100644 --- a/docs/api/module-SeriesData.html +++ b/docs/api/module-SeriesData.html @@ -1,3 +1,3 @@ Module: SeriesData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ServerDiscoveryTask.html b/docs/api/module-ServerDiscoveryTask.html index 26b7467fe..961d658ba 100644 --- a/docs/api/module-ServerDiscoveryTask.html +++ b/docs/api/module-ServerDiscoveryTask.html @@ -1,3 +1,3 @@ Module: ServerDiscoveryTask
On this page

Methods

(static) AddServer(server) → {void}

Parameters:
NameTypeDescription
serverdynamic
Returns:
Type: 
void

(static) ProcessClientDiscoveryResponse(message) → {void}

Parameters:
NameTypeDescription
messagedynamic
Returns:
Type: 
void

(static) ProcessSSDPResponse(message) → {void}

Parameters:
NameTypeDescription
messagedynamic
Returns:
Type: 
void

(static) SendClientDiscoveryBroadcast() → {void}

Returns:
Type: 
void

(static) SendSSDPBroadcast() → {void}

Returns:
Type: 
void

(static) execute() → {void}

Returns:
Type: 
void

(static) init() → {void}

Task used to discover jellyfin servers on the local network

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) AddServer(server) → {void}

Parameters:
NameTypeDescription
serverdynamic
Returns:
Type: 
void

(static) ProcessClientDiscoveryResponse(message) → {void}

Parameters:
NameTypeDescription
messagedynamic
Returns:
Type: 
void

(static) ProcessSSDPResponse(message) → {void}

Parameters:
NameTypeDescription
messagedynamic
Returns:
Type: 
void

(static) SendClientDiscoveryBroadcast() → {void}

Returns:
Type: 
void

(static) SendSSDPBroadcast() → {void}

Returns:
Type: 
void

(static) execute() → {void}

Returns:
Type: 
void

(static) init() → {void}

Task used to discover jellyfin servers on the local network

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-SetServerScreen.html b/docs/api/module-SetServerScreen.html index c8ad6438c..e89fa4fde 100644 --- a/docs/api/module-SetServerScreen.html +++ b/docs/api/module-SetServerScreen.html @@ -1,3 +1,3 @@ Module: SetServerScreen
On this page

Methods

(static) ScanForServers() → {void}

Returns:
Type: 
void

(static) ScanForServersComplete(event) → {void}

Parameters:
NameTypeDescription
eventdynamic
Returns:
Type: 
void

(static) ShowKeyboard() → {void}

Returns:
Type: 
void

(static) clearErrorMessage() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onDialogButton() → {dynamic}

Returns:
Type: 
dynamic

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) ScanForServers() → {void}

Returns:
Type: 
void

(static) ScanForServersComplete(event) → {void}

Parameters:
NameTypeDescription
eventdynamic
Returns:
Type: 
void

(static) ShowKeyboard() → {void}

Returns:
Type: 
void

(static) clearErrorMessage() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onDialogButton() → {dynamic}

Returns:
Type: 
dynamic

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ShowScenes.html b/docs/api/module-ShowScenes.html index 5ef944190..7d2a6e6cd 100644 --- a/docs/api/module-ShowScenes.html +++ b/docs/api/module-ShowScenes.html @@ -1,3 +1,3 @@ Module: ShowScenes
On this page

Methods

(static) CreateAlbumView(album) → {dynamic}

Shows details on selected album. Description text, image, and list of available songs

Parameters:
NameTypeDescription
albumobject
Returns:
Type: 
dynamic

(static) CreateArtistView(artist) → {dynamic}

Shows details on selected artist. Bio, image, and list of available albums

Parameters:
NameTypeDescription
artistobject
Returns:
Type: 
dynamic

(static) CreateHomeGroup() → {dynamic}

Returns:
Type: 
dynamic

(static) CreateItemGrid(libraryItem) → {dynamic}

Parameters:
NameTypeDescription
libraryItemobject
Returns:
Type: 
dynamic

(static) CreateMovieDetailsGroup(movie) → {dynamic}

Parameters:
NameTypeDescription
movieobject
Returns:
Type: 
dynamic

(static) CreateMovieLibraryView(libraryItem) → {dynamic}

Parameters:
NameTypeDescription
libraryItemobject
Returns:
Type: 
dynamic

(static) CreateMusicLibraryView(libraryItem) → {dynamic}

Parameters:
NameTypeDescription
libraryItemobject
Returns:
Type: 
dynamic

(static) CreatePersonView(personData) → {dynamic}

Parameters:
NameTypeDescription
personDataobject
Returns:
Type: 
dynamic

(static) CreatePlaylistView(playlist) → {dynamic}

Shows details on selected playlist. Description text, image, and list of available items

Parameters:
NameTypeDescription
playlistobject
Returns:
Type: 
dynamic

(static) CreateSearchPage() → {dynamic}

Returns:
Type: 
dynamic

(static) CreateSeasonDetailsGroup(series, season) → {dynamic}

Parameters:
NameTypeDescription
seriesobject
seasonobject
Returns:
Type: 
dynamic

(static) CreateSeasonDetailsGroupByID(seriesID, seasonID) → {dynamic}

Parameters:
NameTypeDescription
seriesIDstring
seasonIDstring
Returns:
Type: 
dynamic

(static) CreateSeriesDetailsGroup(seriesID) → {dynamic}

Parameters:
NameTypeDescription
seriesIDstring
Returns:
Type: 
dynamic

(static) CreateServerGroup() → {dynamic}

Returns:
Type: 
dynamic

(static) CreateSigninGroup(useropt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
userdynamic<optional>
""
Returns:
Type: 
dynamic

(static) CreateUserSelectGroup(usersopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
usersdynamic<optional>
[]
Returns:
Type: 
dynamic

(static) CreateVideoPlayerGroup(video_id, mediaSourceIdopt, audio_stream_idxopt, forceTranscodingopt, showIntroopt, allowResumeDialogopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
video_idstring
mediaSourceIddynamic<optional>
invalid
audio_stream_idxinteger<optional>
1
forceTranscodingboolean<optional>
false
showIntroboolean<optional>
true
allowResumeDialogboolean<optional>
true
Returns:
Type: 
dynamic

(static) DeleteFromServerList(urlToDelete) → {void}

Parameters:
NameTypeDescription
urlToDeletedynamic
Returns:
Type: 
void

(static) LoginFlow() → {dynamic}

Returns:
Type: 
dynamic

(static) SaveServerList() → {void}

Returns:
Type: 
void

(static) SendPerformanceBeacon(signalName) → {void}

Roku Performance monitoring

Parameters:
NameTypeDescription
signalNamestring
Returns:
Type: 
void

(static) playbackOptionDialog(time, meta) → {void}

Opens dialog asking user if they want to resume video or start playback over only on the home screen

Parameters:
NameTypeDescription
timelonginteger
metaobject
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) CreateAlbumView(album) → {dynamic}

Shows details on selected album. Description text, image, and list of available songs

Parameters:
NameTypeDescription
albumobject
Returns:
Type: 
dynamic

(static) CreateArtistView(artist) → {dynamic}

Shows details on selected artist. Bio, image, and list of available albums

Parameters:
NameTypeDescription
artistobject
Returns:
Type: 
dynamic

(static) CreateHomeGroup() → {dynamic}

Returns:
Type: 
dynamic

(static) CreateItemGrid(libraryItem) → {dynamic}

Parameters:
NameTypeDescription
libraryItemobject
Returns:
Type: 
dynamic

(static) CreateMovieDetailsGroup(movie) → {dynamic}

Parameters:
NameTypeDescription
movieobject
Returns:
Type: 
dynamic

(static) CreateMovieLibraryView(libraryItem) → {dynamic}

Parameters:
NameTypeDescription
libraryItemobject
Returns:
Type: 
dynamic

(static) CreateMusicLibraryView(libraryItem) → {dynamic}

Parameters:
NameTypeDescription
libraryItemobject
Returns:
Type: 
dynamic

(static) CreatePersonView(personData) → {dynamic}

Parameters:
NameTypeDescription
personDataobject
Returns:
Type: 
dynamic

(static) CreatePlaylistView(playlist) → {dynamic}

Shows details on selected playlist. Description text, image, and list of available items

Parameters:
NameTypeDescription
playlistobject
Returns:
Type: 
dynamic

(static) CreateSearchPage() → {dynamic}

Returns:
Type: 
dynamic

(static) CreateSeasonDetailsGroup(series, season) → {dynamic}

Parameters:
NameTypeDescription
seriesobject
seasonobject
Returns:
Type: 
dynamic

(static) CreateSeasonDetailsGroupByID(seriesID, seasonID) → {dynamic}

Parameters:
NameTypeDescription
seriesIDstring
seasonIDstring
Returns:
Type: 
dynamic

(static) CreateSeriesDetailsGroup(seriesID) → {dynamic}

Parameters:
NameTypeDescription
seriesIDstring
Returns:
Type: 
dynamic

(static) CreateServerGroup() → {dynamic}

Returns:
Type: 
dynamic

(static) CreateSigninGroup(useropt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
userdynamic<optional>
""
Returns:
Type: 
dynamic

(static) CreateUserSelectGroup(usersopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
usersdynamic<optional>
[]
Returns:
Type: 
dynamic

(static) CreateVideoPlayerGroup(video_id, mediaSourceIdopt, audio_stream_idxopt, forceTranscodingopt, showIntroopt, allowResumeDialogopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
video_idstring
mediaSourceIddynamic<optional>
invalid
audio_stream_idxinteger<optional>
1
forceTranscodingboolean<optional>
false
showIntroboolean<optional>
true
allowResumeDialogboolean<optional>
true
Returns:
Type: 
dynamic

(static) DeleteFromServerList(urlToDelete) → {void}

Parameters:
NameTypeDescription
urlToDeletedynamic
Returns:
Type: 
void

(static) LoginFlow() → {dynamic}

Returns:
Type: 
dynamic

(static) SaveServerList() → {void}

Returns:
Type: 
void

(static) SendPerformanceBeacon(signalName) → {void}

Roku Performance monitoring

Parameters:
NameTypeDescription
signalNamestring
Returns:
Type: 
void

(static) playbackOptionDialog(time, meta) → {void}

Opens dialog asking user if they want to resume video or start playback over only on the home screen

Parameters:
NameTypeDescription
timelonginteger
metaobject
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-SlideOutButton.html b/docs/api/module-SlideOutButton.html index 352a49fbb..00eed307a 100644 --- a/docs/api/module-SlideOutButton.html +++ b/docs/api/module-SlideOutButton.html @@ -1,3 +1,3 @@ Module: SlideOutButton
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onBackgroundChanged() → {void}

Returns:
Type: 
void

(static) onFocusChanged() → {void}

Returns:
Type: 
void

(static) onHeightChanged() → {void}

Returns:
Type: 
void

(static) onHighlightChanged() → {void}

Returns:
Type: 
void

(static) onIconChanged() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onPaddingChanged() → {void}

Returns:
Type: 
void

(static) onTextChanged() → {void}

Returns:
Type: 
void

(static) onWidthChanged() → {void}

Returns:
Type: 
void

(static) setIconSize() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onBackgroundChanged() → {void}

Returns:
Type: 
void

(static) onFocusChanged() → {void}

Returns:
Type: 
void

(static) onHeightChanged() → {void}

Returns:
Type: 
void

(static) onHighlightChanged() → {void}

Returns:
Type: 
void

(static) onIconChanged() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onPaddingChanged() → {void}

Returns:
Type: 
void

(static) onTextChanged() → {void}

Returns:
Type: 
void

(static) onWidthChanged() → {void}

Returns:
Type: 
void

(static) setIconSize() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-SongItem.html b/docs/api/module-SongItem.html index df3297f5f..810bdb366 100644 --- a/docs/api/module-SongItem.html +++ b/docs/api/module-SongItem.html @@ -1,3 +1,3 @@ Module: SongItem
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-Spinner.html b/docs/api/module-Spinner.html index a2eb5cfe8..9d1860866 100644 --- a/docs/api/module-Spinner.html +++ b/docs/api/module-Spinner.html @@ -1,3 +1,3 @@ Module: Spinner
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-StandardDialog.html b/docs/api/module-StandardDialog.html index 45dd2da58..36204e050 100644 --- a/docs/api/module-StandardDialog.html +++ b/docs/api/module-StandardDialog.html @@ -1,3 +1,3 @@ Module: StandardDialog
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-Subtitles.html b/docs/api/module-Subtitles.html index 8292ff14b..214fceccd 100644 --- a/docs/api/module-Subtitles.html +++ b/docs/api/module-Subtitles.html @@ -1,3 +1,3 @@ Module: Subtitles
On this page

Methods

(static) availSubtitleTrackIdx(video, sub_idx) → {integer}

Roku translates the info provided in subtitleTracks into availableSubtitleTracks Including ignoring tracks, if they are not understood, thus making indexing unpredictable. This function translates between our internel selected subtitle index and the corresponding index in availableSubtitleTracks.

Parameters:
NameTypeDescription
videodynamic
sub_idxdynamic
Returns:
Type: 
integer

(static) changeSubtitleDuringPlayback(newid) → {void}

Parameters:
NameTypeDescription
newiddynamic
Returns:
Type: 
void

(static) defaultSubtitleTrack(sorted_subtitles, require_textopt) → {integer}

Identify the default subtitle track if "requires_text" is true, only return a track if it is textual This allows forcing text subs, since roku requires transcoding of non-text subs returns the server-side track index for the appriate subtitle

Parameters:
NameTypeAttributesDefaultDescription
sorted_subtitlesdynamic
require_textdynamic<optional>
false
Returns:
Type: 
integer

(static) defaultSubtitleTrackFromVid(video_id) → {integer}

Identify the default subtitle track for a given video id returns the server-side track index for the appriate subtitle

Parameters:
NameTypeDescription
video_iddynamic
Returns:
Type: 
integer

(static) getSubtitleLanguages() → {dynamic}

Returns:
Type: 
dynamic

(static) getSubtitleSelIdxFromSubIdx(subtitles, sub_idx) → {integer}

The subtitle index on the server differs from the index we track locally This function converts the former into the latter

Parameters:
NameTypeDescription
subtitlesdynamic
sub_idxdynamic
Returns:
Type: 
integer

(static) selectSubtitleTrack(tracks, currentopt) → {integer}

Parameters:
NameTypeAttributesDefaultDescription
tracksdynamic
currentdynamic<optional>
-1
Returns:
Type: 
integer

(static) selectSubtitleTrackDialog(tracks, currentTrackopt) → {dynamic}

Present Dialog to user to select subtitle track

Parameters:
NameTypeAttributesDefaultDescription
tracksdynamic
currentTrackdynamic<optional>
-1
Returns:
Type: 
dynamic

(static) setupSubtitle(video, subtitles, subtitle_idxopt) → {integer}

Given a set of subtitles, and a subtitle index (the index on the server, not in the list provided) this will set all relevant settings for roku (mainly closed captions) and return the index of the subtitle track specified, but indexed based on the provided list of subtitles

Parameters:
NameTypeAttributesDefaultDescription
videodynamic
subtitlesdynamic
subtitle_idxdynamic<optional>
-1
Returns:
Type: 
integer

(static) sortSubtitles(id, MediaStreams) → {dynamic}

Checks available subtitle tracks and puts subtitles in forced, default, and non-default/forced but preferred language at the top

Parameters:
NameTypeDescription
idstring
MediaStreamsdynamic
Returns:
Type: 
dynamic

(static) turnoffSubtitles() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) availSubtitleTrackIdx(video, sub_idx) → {integer}

Roku translates the info provided in subtitleTracks into availableSubtitleTracks Including ignoring tracks, if they are not understood, thus making indexing unpredictable. This function translates between our internel selected subtitle index and the corresponding index in availableSubtitleTracks.

Parameters:
NameTypeDescription
videodynamic
sub_idxdynamic
Returns:
Type: 
integer

(static) changeSubtitleDuringPlayback(newid) → {void}

Parameters:
NameTypeDescription
newiddynamic
Returns:
Type: 
void

(static) defaultSubtitleTrack(sorted_subtitles, require_textopt) → {integer}

Identify the default subtitle track if "requires_text" is true, only return a track if it is textual This allows forcing text subs, since roku requires transcoding of non-text subs returns the server-side track index for the appriate subtitle

Parameters:
NameTypeAttributesDefaultDescription
sorted_subtitlesdynamic
require_textdynamic<optional>
false
Returns:
Type: 
integer

(static) defaultSubtitleTrackFromVid(video_id) → {integer}

Identify the default subtitle track for a given video id returns the server-side track index for the appriate subtitle

Parameters:
NameTypeDescription
video_iddynamic
Returns:
Type: 
integer

(static) getSubtitleLanguages() → {dynamic}

Returns:
Type: 
dynamic

(static) getSubtitleSelIdxFromSubIdx(subtitles, sub_idx) → {integer}

The subtitle index on the server differs from the index we track locally This function converts the former into the latter

Parameters:
NameTypeDescription
subtitlesdynamic
sub_idxdynamic
Returns:
Type: 
integer

(static) selectSubtitleTrack(tracks, currentopt) → {integer}

Parameters:
NameTypeAttributesDefaultDescription
tracksdynamic
currentdynamic<optional>
-1
Returns:
Type: 
integer

(static) selectSubtitleTrackDialog(tracks, currentTrackopt) → {dynamic}

Present Dialog to user to select subtitle track

Parameters:
NameTypeAttributesDefaultDescription
tracksdynamic
currentTrackdynamic<optional>
-1
Returns:
Type: 
dynamic

(static) setupSubtitle(video, subtitles, subtitle_idxopt) → {integer}

Given a set of subtitles, and a subtitle index (the index on the server, not in the list provided) this will set all relevant settings for roku (mainly closed captions) and return the index of the subtitle track specified, but indexed based on the provided list of subtitles

Parameters:
NameTypeAttributesDefaultDescription
videodynamic
subtitlesdynamic
subtitle_idxdynamic<optional>
-1
Returns:
Type: 
integer

(static) sortSubtitles(id, MediaStreams) → {dynamic}

Checks available subtitle tracks and puts subtitles in forced, default, and non-default/forced but preferred language at the top

Parameters:
NameTypeDescription
idstring
MediaStreamsdynamic
Returns:
Type: 
dynamic

(static) turnoffSubtitles() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-TVEpisode.html b/docs/api/module-TVEpisode.html index 885df2b5d..84441ce74 100644 --- a/docs/api/module-TVEpisode.html +++ b/docs/api/module-TVEpisode.html @@ -1,3 +1,3 @@ Module: TVEpisode
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-TVEpisodeData.html b/docs/api/module-TVEpisodeData.html index e82816ebc..07a9eead3 100644 --- a/docs/api/module-TVEpisodeData.html +++ b/docs/api/module-TVEpisodeData.html @@ -1,3 +1,3 @@ Module: TVEpisodeData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-TVEpisodeRow.html b/docs/api/module-TVEpisodeRow.html index ed216414b..3eac23049 100644 --- a/docs/api/module-TVEpisodeRow.html +++ b/docs/api/module-TVEpisodeRow.html @@ -1,3 +1,3 @@ Module: TVEpisodeRow
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) setData() → {dynamic}

Returns:
Type: 
dynamic

(static) setupRows() → {void}

Returns:
Type: 
void

(static) updateSize() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) setData() → {dynamic}

Returns:
Type: 
dynamic

(static) setupRows() → {void}

Returns:
Type: 
void

(static) updateSize() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-TVEpisodeRowWithOptions.html b/docs/api/module-TVEpisodeRowWithOptions.html index 2dfda8722..cb7872067 100644 --- a/docs/api/module-TVEpisodeRowWithOptions.html +++ b/docs/api/module-TVEpisodeRowWithOptions.html @@ -1,3 +1,3 @@ Module: TVEpisodeRowWithOptions
On this page

Methods

(static) SetUpAudioOptions(streams) → {void}

List of audio tracks to choose from

Parameters:
NameTypeDescription
streamsobject
Returns:
Type: 
void

(static) SetUpVideoOptions(streams) → {void}

List of video versions to choose from

Parameters:
NameTypeDescription
streamsobject
Returns:
Type: 
void

(static) audioOptionsClosed() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) rowsDoneLoading() → {void}

Returns:
Type: 
void

(static) setupRows() → {void}

Returns:
Type: 
void

(static) videoOptionsClosed() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) SetUpAudioOptions(streams) → {void}

List of audio tracks to choose from

Parameters:
NameTypeDescription
streamsobject
Returns:
Type: 
void

(static) SetUpVideoOptions(streams) → {void}

List of video versions to choose from

Parameters:
NameTypeDescription
streamsobject
Returns:
Type: 
void

(static) audioOptionsClosed() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) rowsDoneLoading() → {void}

Returns:
Type: 
void

(static) setupRows() → {void}

Returns:
Type: 
void

(static) videoOptionsClosed() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-TVEpisodes.html b/docs/api/module-TVEpisodes.html index 4414ef85d..701a13aab 100644 --- a/docs/api/module-TVEpisodes.html +++ b/docs/api/module-TVEpisodes.html @@ -1,3 +1,3 @@ Module: TVEpisodes
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Handle navigation input from the remote and act on it

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) setExtraButtonVisibility() → {void}

Updates the visibility of the Extras button based on if this season has any extra features

Returns:
Type: 
void

(static) setSeasonLoading() → {void}

Returns:
Type: 
void

(static) updateSeason() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Handle navigation input from the remote and act on it

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) setExtraButtonVisibility() → {void}

Updates the visibility of the Extras button based on if this season has any extra features

Returns:
Type: 
void

(static) setSeasonLoading() → {void}

Returns:
Type: 
void

(static) updateSeason() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-TVListDetails.html b/docs/api/module-TVListDetails.html index 484820f26..99932e69c 100644 --- a/docs/api/module-TVListDetails.html +++ b/docs/api/module-TVListDetails.html @@ -1,3 +1,3 @@ Module: TVListDetails
On this page

Methods

(static) DisplayAudioAvailable(streams) → {void}

Adds "+N" (e.g. +1) if there is more than one audio track to choose from

Parameters:
NameTypeDescription
streamsobject
Returns:
Type: 
void

(static) DisplayVideoAvailable(streams) → {void}

Adds "+N" (e.g. +1) if there is more than one video version to choose from

Parameters:
NameTypeDescription
streamsobject
Returns:
Type: 
void

(static) SetupAudioDisplay(mediaStreams, selectedAudioStreamIndex) → {void}

Display current audio_codec and check if there is more than one audio track to choose from...

Parameters:
NameTypeDescription
mediaStreamsobject
selectedAudioStreamIndexinteger
Returns:
Type: 
void

(static) focusChanged() → {void}

Returns:
Type: 
void

(static) getEndTime() → {string}

Returns:
Type: 
string

(static) getRuntime() → {integer}

Returns:
Type: 
integer

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) DisplayAudioAvailable(streams) → {void}

Adds "+N" (e.g. +1) if there is more than one audio track to choose from

Parameters:
NameTypeDescription
streamsobject
Returns:
Type: 
void

(static) DisplayVideoAvailable(streams) → {void}

Adds "+N" (e.g. +1) if there is more than one video version to choose from

Parameters:
NameTypeDescription
streamsobject
Returns:
Type: 
void

(static) SetupAudioDisplay(mediaStreams, selectedAudioStreamIndex) → {void}

Display current audio_codec and check if there is more than one audio track to choose from...

Parameters:
NameTypeDescription
mediaStreamsobject
selectedAudioStreamIndexinteger
Returns:
Type: 
void

(static) focusChanged() → {void}

Returns:
Type: 
void

(static) getEndTime() → {string}

Returns:
Type: 
string

(static) getRuntime() → {integer}

Returns:
Type: 
integer

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-TVListOptions.html b/docs/api/module-TVListOptions.html index 8155ce7c2..c995add62 100644 --- a/docs/api/module-TVListOptions.html +++ b/docs/api/module-TVListOptions.html @@ -1,3 +1,3 @@ Module: TVListOptions
On this page

Methods

(static) buttonFocusChanged() → {void}

Switch menu shown when button focus changes

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) optionsSet() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) buttonFocusChanged() → {void}

Switch menu shown when button focus changes

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) optionsSet() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-TVSeasonData.html b/docs/api/module-TVSeasonData.html index a6a4023c9..15e0b4900 100644 --- a/docs/api/module-TVSeasonData.html +++ b/docs/api/module-TVSeasonData.html @@ -1,3 +1,3 @@ Module: TVSeasonData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-TVSeasonRow.html b/docs/api/module-TVSeasonRow.html index 912bc3ce2..d7709c799 100644 --- a/docs/api/module-TVSeasonRow.html +++ b/docs/api/module-TVSeasonRow.html @@ -1,3 +1,3 @@ Module: TVSeasonRow
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-TVShowDescription.html b/docs/api/module-TVShowDescription.html index be6325669..5d23c653f 100644 --- a/docs/api/module-TVShowDescription.html +++ b/docs/api/module-TVShowDescription.html @@ -1,3 +1,3 @@ Module: TVShowDescription
On this page

Methods

(static) getEndTime() → {string}

Returns:
Type: 
string

(static) getHistory() → {string}

Returns:
Type: 
string

(static) getRuntime() → {integer}

Returns:
Type: 
integer

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) round(f) → {integer}

Parameters:
NameTypeDescription
ffloat
Returns:
Type: 
integer

(static) setFieldText(field, value) → {void}

Parameters:
NameTypeDescription
fielddynamic
valuedynamic
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) getEndTime() → {string}

Returns:
Type: 
string

(static) getHistory() → {string}

Returns:
Type: 
string

(static) getRuntime() → {integer}

Returns:
Type: 
integer

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) round(f) → {integer}

Parameters:
NameTypeDescription
ffloat
Returns:
Type: 
integer

(static) setFieldText(field, value) → {void}

Parameters:
NameTypeDescription
fielddynamic
valuedynamic
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-TVShowDetails.html b/docs/api/module-TVShowDetails.html index a30265d09..a3f877975 100644 --- a/docs/api/module-TVShowDetails.html +++ b/docs/api/module-TVShowDetails.html @@ -1,3 +1,3 @@ Module: TVShowDetails
On this page

Methods

(static) getEndTime() → {string}

Returns:
Type: 
string

(static) getHistory() → {string}

Returns:
Type: 
string

(static) getRuntime() → {integer}

Returns:
Type: 
integer

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onShuffleEpisodeDataLoaded() → {void}

Returns:
Type: 
void

(static) round(f) → {integer}

Parameters:
NameTypeDescription
ffloat
Returns:
Type: 
integer

(static) setFieldText(field, value) → {void}

Parameters:
NameTypeDescription
fielddynamic
valuedynamic
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) getEndTime() → {string}

Returns:
Type: 
string

(static) getHistory() → {string}

Returns:
Type: 
string

(static) getRuntime() → {integer}

Returns:
Type: 
integer

(static) init() → {void}

Returns:
Type: 
void

(static) itemContentChanged() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onShuffleEpisodeDataLoaded() → {void}

Returns:
Type: 
void

(static) round(f) → {integer}

Parameters:
NameTypeDescription
ffloat
Returns:
Type: 
integer

(static) setFieldText(field, value) → {void}

Parameters:
NameTypeDescription
fielddynamic
valuedynamic
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-TextSizeTask.html b/docs/api/module-TextSizeTask.html index 97f0f59e3..e8d26bd54 100644 --- a/docs/api/module-TextSizeTask.html +++ b/docs/api/module-TextSizeTask.html @@ -1,3 +1,3 @@ Module: TextSizeTask
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-UserData.html b/docs/api/module-UserData.html index 478b792cc..2a0c7c77b 100644 --- a/docs/api/module-UserData.html +++ b/docs/api/module-UserData.html @@ -1,3 +1,3 @@ Module: UserData
On this page

Methods

(static) getPreference(key) → {dynamic}

Parameters:
NameTypeDescription
keystring
Returns:
Type: 
dynamic

(static) loadFromJSON(json) → {void}

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) loadFromRegistry(id) → {void}

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
void

(static) removeFromRegistry() → {void}

Returns:
Type: 
void

(static) saveToRegistry() → {void}

Returns:
Type: 
void

(static) setActive() → {void}

Returns:
Type: 
void

(static) setDataFromJSON() → {void}

Returns:
Type: 
void

(static) setPreference(key, value) → {dynamic}

Parameters:
NameTypeDescription
keystring
valuestring
Returns:
Type: 
dynamic

(static) setServer(hostname) → {void}

Parameters:
NameTypeDescription
hostnamestring
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) getPreference(key) → {dynamic}

Parameters:
NameTypeDescription
keystring
Returns:
Type: 
dynamic

(static) loadFromJSON(json) → {void}

Parameters:
NameTypeDescription
jsondynamic
Returns:
Type: 
void

(static) loadFromRegistry(id) → {void}

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
void

(static) removeFromRegistry() → {void}

Returns:
Type: 
void

(static) saveToRegistry() → {void}

Returns:
Type: 
void

(static) setActive() → {void}

Returns:
Type: 
void

(static) setDataFromJSON() → {void}

Returns:
Type: 
void

(static) setPreference(key, value) → {dynamic}

Parameters:
NameTypeDescription
keystring
valuestring
Returns:
Type: 
dynamic

(static) setServer(hostname) → {void}

Parameters:
NameTypeDescription
hostnamestring
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-UserItem.html b/docs/api/module-UserItem.html index 0462828ba..e241a59e9 100644 --- a/docs/api/module-UserItem.html +++ b/docs/api/module-UserItem.html @@ -1,3 +1,3 @@ Module: UserItem
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-UserLibrary.html b/docs/api/module-UserLibrary.html index 6c6d2b62a..b82f4cd2f 100644 --- a/docs/api/module-UserLibrary.html +++ b/docs/api/module-UserLibrary.html @@ -1,3 +1,3 @@ Module: UserLibrary
On this page

Methods

(static) MarkItemFavorite(id) → {dynamic}

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) MarkItemWatched(id) → {void}

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
void

(static) UnmarkItemFavorite(id) → {dynamic}

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) UnmarkItemWatched(id) → {dynamic}

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) MarkItemFavorite(id) → {dynamic}

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) MarkItemWatched(id) → {void}

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
void

(static) UnmarkItemFavorite(id) → {dynamic}

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic

(static) UnmarkItemWatched(id) → {dynamic}

Parameters:
NameTypeDescription
idstring
Returns:
Type: 
dynamic
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-UserRow.html b/docs/api/module-UserRow.html index 1ef87e05d..f6f05be52 100644 --- a/docs/api/module-UserRow.html +++ b/docs/api/module-UserRow.html @@ -1,3 +1,3 @@ Module: UserRow
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) setData() → {dynamic}

Returns:
Type: 
dynamic

(static) setUser() → {void}

Returns:
Type: 
void

(static) updateSize() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) setData() → {dynamic}

Returns:
Type: 
dynamic

(static) setUser() → {void}

Returns:
Type: 
void

(static) updateSize() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-UserSelect.html b/docs/api/module-UserSelect.html index ce6ebf8e1..4f2f719f2 100644 --- a/docs/api/module-UserSelect.html +++ b/docs/api/module-UserSelect.html @@ -1,3 +1,3 @@ Module: UserSelect
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-VideoData.html b/docs/api/module-VideoData.html index ad9bcea73..9d78a106d 100644 --- a/docs/api/module-VideoData.html +++ b/docs/api/module-VideoData.html @@ -1,3 +1,3 @@ Module: VideoData
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-VideoPlayer.html b/docs/api/module-VideoPlayer.html index f20c28eed..05722318f 100644 --- a/docs/api/module-VideoPlayer.html +++ b/docs/api/module-VideoPlayer.html @@ -1,3 +1,3 @@ Module: VideoPlayer
On this page

Methods

(static) AddVideoContent(video, mediaSourceId, audio_stream_idxopt, subtitle_idxopt, playbackPositionopt, forceTranscodingopt, showIntroopt, allowResumeDialogopt) → {void}

Parameters:
NameTypeAttributesDefaultDescription
videoobject
mediaSourceIddynamic
audio_stream_idxinteger<optional>
1
subtitle_idxinteger<optional>
-1
playbackPositioninteger<optional>
-1
forceTranscodingboolean<optional>
false
showIntroboolean<optional>
true
allowResumeDialogboolean<optional>
true
Returns:
Type: 
void

(static) GetPlaybackInfo() → {dynamic}

Returns an array of playback info to be displayed during playback. In the future, with a custom playback info view, we can return an associated array.

Returns:
Type: 
dynamic

(static) GetTranscodingStats(deviceSession) → {dynamic}

Parameters:
NameTypeDescription
deviceSessiondynamic
Returns:
Type: 
dynamic

(static) PlayIntroVideo(video_id, audio_stream_idx) → {boolean}

Parameters:
NameTypeDescription
video_iddynamic
audio_stream_idxdynamic
Returns:
Type: 
boolean

(static) VideoPlayer(id, mediaSourceIdopt, audio_stream_idxopt, subtitle_idxopt, forceTranscodingopt, showIntroopt, allowResumeDialogopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring
mediaSourceIddynamic<optional>
invalid
audio_stream_idxinteger<optional>
1
subtitle_idxinteger<optional>
-1
forceTranscodingboolean<optional>
false
showIntroboolean<optional>
true
allowResumeDialogboolean<optional>
true
Returns:
Type: 
dynamic

(static) autoPlayNextEpisode(videoID, showID) → {void}

Parameters:
NameTypeDescription
videoIDstring
showIDstring
Returns:
Type: 
void

(static) directPlaySupported(meta) → {boolean}

Parameters:
NameTypeDescription
metaobject
Returns:
Type: 
boolean

(static) getAudioFormat(meta) → {string}

Parameters:
NameTypeDescription
metaobject
Returns:
Type: 
string

(static) getAudioInfo(meta) → {object}

Parameters:
NameTypeDescription
metaobject
Returns:
Type: 
object

(static) getContainerType(meta) → {string}

Parameters:
NameTypeDescription
metaobject
Returns:
Type: 
string

(static) getDisplayBitrate(bitrate) → {dynamic}

Parameters:
NameTypeDescription
bitratedynamic
Returns:
Type: 
dynamic

(static) getTranscodeReasons(url) → {object}

Extract array of Transcode Reasons from the content URL

Parameters:
NameTypeDescription
urlstring
Returns:
  • Array of Strings
Type: 
object

(static) havePlaybackInfo() → {dynamic}

Returns:
Type: 
dynamic

(static) startPlayBackOver(time) → {integer}

Opens dialog asking user if they want to resume video or start playback over only on the home screen

Parameters:
NameTypeDescription
timelonginteger
Returns:
Type: 
integer
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) AddVideoContent(video, mediaSourceId, audio_stream_idxopt, subtitle_idxopt, playbackPositionopt, forceTranscodingopt, showIntroopt, allowResumeDialogopt) → {void}

Parameters:
NameTypeAttributesDefaultDescription
videoobject
mediaSourceIddynamic
audio_stream_idxinteger<optional>
1
subtitle_idxinteger<optional>
-1
playbackPositioninteger<optional>
-1
forceTranscodingboolean<optional>
false
showIntroboolean<optional>
true
allowResumeDialogboolean<optional>
true
Returns:
Type: 
void

(static) GetPlaybackInfo() → {dynamic}

Returns an array of playback info to be displayed during playback. In the future, with a custom playback info view, we can return an associated array.

Returns:
Type: 
dynamic

(static) GetTranscodingStats(deviceSession) → {dynamic}

Parameters:
NameTypeDescription
deviceSessiondynamic
Returns:
Type: 
dynamic

(static) PlayIntroVideo(video_id, audio_stream_idx) → {boolean}

Parameters:
NameTypeDescription
video_iddynamic
audio_stream_idxdynamic
Returns:
Type: 
boolean

(static) VideoPlayer(id, mediaSourceIdopt, audio_stream_idxopt, subtitle_idxopt, forceTranscodingopt, showIntroopt, allowResumeDialogopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring
mediaSourceIddynamic<optional>
invalid
audio_stream_idxinteger<optional>
1
subtitle_idxinteger<optional>
-1
forceTranscodingboolean<optional>
false
showIntroboolean<optional>
true
allowResumeDialogboolean<optional>
true
Returns:
Type: 
dynamic

(static) autoPlayNextEpisode(videoID, showID) → {void}

Parameters:
NameTypeDescription
videoIDstring
showIDstring
Returns:
Type: 
void

(static) directPlaySupported(meta) → {boolean}

Parameters:
NameTypeDescription
metaobject
Returns:
Type: 
boolean

(static) getAudioFormat(meta) → {string}

Parameters:
NameTypeDescription
metaobject
Returns:
Type: 
string

(static) getAudioInfo(meta) → {object}

Parameters:
NameTypeDescription
metaobject
Returns:
Type: 
object

(static) getContainerType(meta) → {string}

Parameters:
NameTypeDescription
metaobject
Returns:
Type: 
string

(static) getDisplayBitrate(bitrate) → {dynamic}

Parameters:
NameTypeDescription
bitratedynamic
Returns:
Type: 
dynamic

(static) getTranscodeReasons(url) → {object}

Extract array of Transcode Reasons from the content URL

Parameters:
NameTypeDescription
urlstring
Returns:
  • Array of Strings
Type: 
object

(static) havePlaybackInfo() → {dynamic}

Returns:
Type: 
dynamic

(static) startPlayBackOver(time) → {integer}

Opens dialog asking user if they want to resume video or start playback over only on the home screen

Parameters:
NameTypeDescription
timelonginteger
Returns:
Type: 
integer
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-VideoPlayerView.html b/docs/api/module-VideoPlayerView.html index 68a2ecdfc..506cac9c7 100644 --- a/docs/api/module-VideoPlayerView.html +++ b/docs/api/module-VideoPlayerView.html @@ -1,3 +1,3 @@ Module: VideoPlayerView
On this page

Methods

(static) ReportPlayback(stateopt) → {void}

Report playback to server

Parameters:
NameTypeAttributesDefaultDescription
statestring<optional>
"update"
Returns:
Type: 
void

(static) bufferCheck(msg) → {void}

Check the the buffering has not hung

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) checkTimeToDisplayNextEpisode() → {void}

Checks if we need to display the Next Episode button

Returns:
Type: 
void

(static) getCurrentChapterIndex() → {integer}

getCurrentChapterIndex: Finds current chapter index

Returns:
  • indicating index of current chapter within chapter data or 0 if chapter lookup fails
Type: 
integer

(static) handleChapterListAction() → {void}

handleChapterListAction: Handles action to show chapter list

Returns:
Type: 
void

(static) handleChapterSkipAction(action) → {void}

handleChapterSkipAction: Handles user command to skip chapters in playing video

Parameters:
NameTypeDescription
actionstring
Returns:
Type: 
void

(static) handleHideAction(resume) → {void}

handleHideAction: Handles action to hide pause menu

Parameters:
NameTypeDescription
resumeboolean

controls whether or not to resume video playback when sub is called

Returns:
Type: 
void

(static) handleShowSubtitleMenuAction() → {void}

handleShowSubtitleMenuAction: Handles action to show subtitle selection menu

Returns:
Type: 
void

(static) handleShowVideoInfoPopupAction() → {void}

handleShowVideoInfoPopupAction: Handles action to show video info popup

Returns:
Type: 
void

(static) handleVideoPlayPauseAction() → {void}

handleVideoPlayPauseAction: Handles action to either play or pause the video content

Returns:
Type: 
void

(static) hideNextEpisodeButton() → {void}

Runs hide Next Episode button animation and sets focus back to video

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) loadCaption() → {void}

Set caption url to server subtitle track

Returns:
Type: 
void

(static) onAllowCaptionsChange() → {void}

Only setup caption items if captions are allowed

Returns:
Type: 
void

(static) onContentChange() → {void}

Event handler for when video content field changes

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onNextEpisodeDataLoaded() → {void}

Returns:
Type: 
void

(static) onPauseMenuAction() → {void}

onPauseMenuAction: Process action events from pause menu to their respective handlers

Returns:
Type: 
void

(static) onPlaybackErrorButtonSelected(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) onPlaybackErrorDialogClosed(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) onPositionChanged() → {void}

When Video Player state changes

Returns:
Type: 
void

(static) onState(msg) → {void}

When Video Player state changes

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) onSubtitleChange() → {void}

Event handler for when selectedSubtitle changes

Returns:
Type: 
void

(static) onVideoContentLoaded() → {void}

Returns:
Type: 
void

(static) populateChapterMenu() → {void}

populateChapterMenu: ' Parse chapter data from API and appeand to chapter list menu

Returns:
Type: 
void

(static) showNextEpisodeButton() → {void}

Runs Next Episode button animation and sets focus to button

Returns:
Type: 
void

(static) showPlaybackErrorDialog(errorMessage) → {void}

Parameters:
NameTypeDescription
errorMessagestring
Returns:
Type: 
void

(static) stateAllowsPauseMenu() → {boolean}

stateAllowsPauseMenu: Check if current video state allows showing the pause menu

Returns:
  • indicating if video state allows the pause menu to show
Type: 
boolean

(static) toggleCaption() → {void}

Toggles visibility of custom subtitles and sets captionTask's player state

Returns:
Type: 
void

(static) updateCaption() → {void}

Removes old subtitle lines and adds new subtitle lines

Returns:
Type: 
void

(static) updateCount() → {void}

Update count down text

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) ReportPlayback(stateopt) → {void}

Report playback to server

Parameters:
NameTypeAttributesDefaultDescription
statestring<optional>
"update"
Returns:
Type: 
void

(static) bufferCheck(msg) → {void}

Check the the buffering has not hung

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) checkTimeToDisplayNextEpisode() → {void}

Checks if we need to display the Next Episode button

Returns:
Type: 
void

(static) getCurrentChapterIndex() → {integer}

getCurrentChapterIndex: Finds current chapter index

Returns:
  • indicating index of current chapter within chapter data or 0 if chapter lookup fails
Type: 
integer

(static) handleChapterListAction() → {void}

handleChapterListAction: Handles action to show chapter list

Returns:
Type: 
void

(static) handleChapterSkipAction(action) → {void}

handleChapterSkipAction: Handles user command to skip chapters in playing video

Parameters:
NameTypeDescription
actionstring
Returns:
Type: 
void

(static) handleHideAction(resume) → {void}

handleHideAction: Handles action to hide OSD menu

Parameters:
NameTypeDescription
resumeboolean

controls whether or not to resume video playback when sub is called

Returns:
Type: 
void

(static) handleShowSubtitleMenuAction() → {void}

handleShowSubtitleMenuAction: Handles action to show subtitle selection menu

Returns:
Type: 
void

(static) handleShowVideoInfoPopupAction() → {void}

handleShowVideoInfoPopupAction: Handles action to show video info popup

Returns:
Type: 
void

(static) handleVideoPlayPauseAction() → {void}

handleVideoPlayPauseAction: Handles action to either play or pause the video content

Returns:
Type: 
void

(static) hideNextEpisodeButton() → {void}

Runs hide Next Episode button animation and sets focus back to video

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) loadCaption() → {void}

Set caption url to server subtitle track

Returns:
Type: 
void

(static) onAllowCaptionsChange() → {void}

Only setup caption items if captions are allowed

Returns:
Type: 
void

(static) onContentChange() → {void}

Event handler for when video content field changes

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onNextEpisodeDataLoaded() → {void}

Returns:
Type: 
void

(static) onOSDAction() → {void}

onOSDAction: Process action events from OSD to their respective handlers

Returns:
Type: 
void

(static) onPlaybackErrorButtonSelected(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) onPlaybackErrorDialogClosed(msg) → {void}

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) onPositionChanged() → {void}

When Video Player state changes

Returns:
Type: 
void

(static) onState(msg) → {void}

When Video Player state changes

Parameters:
NameTypeDescription
msgdynamic
Returns:
Type: 
void

(static) onSubtitleChange() → {void}

Event handler for when selectedSubtitle changes

Returns:
Type: 
void

(static) onVideoContentLoaded() → {void}

Returns:
Type: 
void

(static) populateChapterMenu() → {void}

populateChapterMenu: ' Parse chapter data from API and appeand to chapter list menu

Returns:
Type: 
void

(static) showNextEpisodeButton() → {void}

Runs Next Episode button animation and sets focus to button

Returns:
Type: 
void

(static) showPlaybackErrorDialog(errorMessage) → {void}

Parameters:
NameTypeDescription
errorMessagestring
Returns:
Type: 
void

(static) stateAllowsOSD() → {boolean}

stateAllowsOSD: Check if current video state allows showing the OSD

Returns:
  • indicating if video state allows the OSD to show
Type: 
boolean

(static) toggleCaption() → {void}

Toggles visibility of custom subtitles and sets captionTask's player state

Returns:
Type: 
void

(static) updateCaption() → {void}

Removes old subtitle lines and adds new subtitle lines

Returns:
Type: 
void

(static) updateCount() → {void}

Update count down text

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-VideoTrackListItem.html b/docs/api/module-VideoTrackListItem.html index 04097bcbb..cc715f651 100644 --- a/docs/api/module-VideoTrackListItem.html +++ b/docs/api/module-VideoTrackListItem.html @@ -1,3 +1,3 @@ Module: VideoTrackListItem
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-ViewCreator.html b/docs/api/module-ViewCreator.html index e773b92ef..1263099be 100644 --- a/docs/api/module-ViewCreator.html +++ b/docs/api/module-ViewCreator.html @@ -1,3 +1,3 @@ Module: ViewCreator
On this page

Methods

(static) CreateAudioPlayerView() → {void}

Play Audio

Returns:
Type: 
void

(static) CreateVideoPlayerView() → {void}

Play Video

Returns:
Type: 
void

(static) availSubtitleTrackIdx(tracknameToFind) → {integer}

Roku translates the info provided in subtitleTracks into availableSubtitleTracks Including ignoring tracks, if they are not understood, thus making indexing unpredictable. This function translates between our internel selected subtitle index and the corresponding index in availableSubtitleTracks.

Parameters:
NameTypeDescription
tracknameToFindstring
Returns:
Type: 
integer

(static) onPlaybackInfoLoaded() → {void}

The playback info task has returned data

Returns:
Type: 
void

(static) onSelectPlaybackInfoPressed() → {void}

User requested playback info

Returns:
Type: 
void

(static) onSelectSubtitlePressed() → {void}

User requested subtitle selection popup

Returns:
Type: 
void

(static) onSelectionMade() → {void}

User has selected something from the radioDialog popup

Returns:
Type: 
void

(static) onStateChange() → {void}

Playback state change event handlers

Returns:
Type: 
void

(static) processSubtitleSelection() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) CreateAudioPlayerView() → {void}

Play Audio

Returns:
Type: 
void

(static) CreateVideoPlayerView() → {void}

Play Video

Returns:
Type: 
void

(static) availSubtitleTrackIdx(tracknameToFind) → {integer}

Roku translates the info provided in subtitleTracks into availableSubtitleTracks Including ignoring tracks, if they are not understood, thus making indexing unpredictable. This function translates between our internel selected subtitle index and the corresponding index in availableSubtitleTracks.

Parameters:
NameTypeDescription
tracknameToFindstring
Returns:
Type: 
integer

(static) onPlaybackInfoLoaded() → {void}

The playback info task has returned data

Returns:
Type: 
void

(static) onSelectPlaybackInfoPressed() → {void}

User requested playback info

Returns:
Type: 
void

(static) onSelectSubtitlePressed() → {void}

User requested subtitle selection popup

Returns:
Type: 
void

(static) onSelectionMade() → {void}

User has selected something from the radioDialog popup

Returns:
Type: 
void

(static) onStateChange() → {void}

Playback state change event handlers

Returns:
Type: 
void

(static) processSubtitleSelection() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-WhatsNewDialog.html b/docs/api/module-WhatsNewDialog.html index d0f2b8a2b..dacfc9526 100644 --- a/docs/api/module-WhatsNewDialog.html +++ b/docs/api/module-WhatsNewDialog.html @@ -1,3 +1,3 @@ Module: WhatsNewDialog
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-baserequest.html b/docs/api/module-baserequest.html index b40901da4..2ad5ccc04 100644 --- a/docs/api/module-baserequest.html +++ b/docs/api/module-baserequest.html @@ -1,3 +1,3 @@ Module: baserequest
On this page

Methods

(static) APIRequest(url, paramsopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
urlstring
paramsobject<optional>
{}
Returns:
Type: 
dynamic

(static) authRequest(req) → {object}

Takes and returns a roUrlTransfer object after adding a Jellyfin "Authorization" header

Parameters:
NameTypeDescription
reqobject
Returns:
Type: 
object

(static) buildAuthHeader() → {string}

Returns a string containing the "Authorization" header payload

Returns:
Type: 
string

(static) buildParams(paramsopt) → {string}

Functions for making requests to the API

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}
Returns:
Type: 
string

(static) buildURL(path, paramsopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
pathstring
paramsobject<optional>
{}
Returns:
Type: 
dynamic

(static) deleteVoid(req) → {dynamic}

Parameters:
NameTypeDescription
reqdynamic
Returns:
Type: 
dynamic

(static) getJson(req) → {dynamic}

Parameters:
NameTypeDescription
reqdynamic
Returns:
Type: 
dynamic

(static) getString(req) → {dynamic}

Parameters:
NameTypeDescription
reqdynamic
Returns:
Type: 
dynamic

(static) getVoid(req) → {boolean}

Parameters:
NameTypeDescription
reqdynamic
Returns:
Type: 
boolean

(static) get_url() → {dynamic}

Returns:
Type: 
dynamic

(static) headVoid(req) → {boolean}

Parameters:
NameTypeDescription
reqdynamic
Returns:
Type: 
boolean

(static) postJson(req, dataopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
reqdynamic
datastring<optional>
""
Returns:
Type: 
dynamic

(static) postString(req, dataopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
reqdynamic
datastring<optional>
""
Returns:
Type: 
dynamic

(static) postVoid(req, dataopt) → {boolean}

Parameters:
NameTypeAttributesDefaultDescription
reqdynamic
datastring<optional>
""
Returns:
Type: 
boolean

(static) setCertificateAuthority(request) → {void}

sets the certificate authority by file path on the passed node

Parameters:
NameTypeDescription
requestobject
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) APIRequest(url, paramsopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
urlstring
paramsobject<optional>
{}
Returns:
Type: 
dynamic

(static) authRequest(req) → {object}

Takes and returns a roUrlTransfer object after adding a Jellyfin "Authorization" header

Parameters:
NameTypeDescription
reqobject
Returns:
Type: 
object

(static) buildAuthHeader() → {string}

Returns a string containing the "Authorization" header payload

Returns:
Type: 
string

(static) buildParams(paramsopt) → {string}

Functions for making requests to the API

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}
Returns:
Type: 
string

(static) buildURL(path, paramsopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
pathstring
paramsobject<optional>
{}
Returns:
Type: 
dynamic

(static) deleteVoid(req) → {dynamic}

Parameters:
NameTypeDescription
reqdynamic
Returns:
Type: 
dynamic

(static) getJson(req) → {dynamic}

Parameters:
NameTypeDescription
reqdynamic
Returns:
Type: 
dynamic

(static) getString(req) → {dynamic}

Parameters:
NameTypeDescription
reqdynamic
Returns:
Type: 
dynamic

(static) getVoid(req) → {boolean}

Parameters:
NameTypeDescription
reqdynamic
Returns:
Type: 
boolean

(static) get_url() → {dynamic}

Returns:
Type: 
dynamic

(static) headVoid(req) → {boolean}

Parameters:
NameTypeDescription
reqdynamic
Returns:
Type: 
boolean

(static) postJson(req, dataopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
reqdynamic
datastring<optional>
""
Returns:
Type: 
dynamic

(static) postString(req, dataopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
reqdynamic
datastring<optional>
""
Returns:
Type: 
dynamic

(static) postVoid(req, dataopt) → {boolean}

Parameters:
NameTypeAttributesDefaultDescription
reqdynamic
datastring<optional>
""
Returns:
Type: 
boolean

(static) setCertificateAuthority(request) → {void}

sets the certificate authority by file path on the passed node

Parameters:
NameTypeDescription
requestobject
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-captionTask.html b/docs/api/module-captionTask.html index 638f73bfc..c71d197c2 100644 --- a/docs/api/module-captionTask.html +++ b/docs/api/module-captionTask.html @@ -1,3 +1,3 @@ Module: captionTask
On this page

Methods

(static) fetchCaption() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) isTime(text) → {dynamic}

Parameters:
NameTypeDescription
textdynamic
Returns:
Type: 
dynamic

(static) newLayoutGroup(labels) → {dynamic}

Parameters:
NameTypeDescription
labelsdynamic
Returns:
Type: 
dynamic

(static) newRect(lg) → {dynamic}

Parameters:
NameTypeDescription
lgdynamic
Returns:
Type: 
dynamic

(static) newlabel(txt) → {dynamic}

Parameters:
NameTypeDescription
txtdynamic
Returns:
Type: 
dynamic

(static) parseVTT(lines) → {dynamic}

Parameters:
NameTypeDescription
linesdynamic
Returns:
Type: 
dynamic

(static) setFont() → {void}

Returns:
Type: 
void

(static) toMs(t) → {dynamic}

Parameters:
NameTypeDescription
tdynamic
Returns:
Type: 
dynamic

(static) updateCaption() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) fetchCaption() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) isTime(text) → {dynamic}

Parameters:
NameTypeDescription
textdynamic
Returns:
Type: 
dynamic

(static) newLayoutGroup(labels) → {dynamic}

Parameters:
NameTypeDescription
labelsdynamic
Returns:
Type: 
dynamic

(static) newRect(lg) → {dynamic}

Parameters:
NameTypeDescription
lgdynamic
Returns:
Type: 
dynamic

(static) newlabel(txt) → {dynamic}

Parameters:
NameTypeDescription
txtdynamic
Returns:
Type: 
dynamic

(static) parseVTT(lines) → {dynamic}

Parameters:
NameTypeDescription
linesdynamic
Returns:
Type: 
dynamic

(static) setFont() → {void}

Returns:
Type: 
void

(static) toMs(t) → {dynamic}

Parameters:
NameTypeDescription
tdynamic
Returns:
Type: 
dynamic

(static) updateCaption() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-config.html b/docs/api/module-config.html index d9f12ea46..42856a005 100644 --- a/docs/api/module-config.html +++ b/docs/api/module-config.html @@ -1,3 +1,3 @@ Module: config
On this page

Methods

(static) GetConfigTree() → {dynamic}

Read config tree from json config file and return

Returns:
Type: 
dynamic

(static) RegistryReadAll(section) → {dynamic}

Return all data found inside a registry section

Parameters:
NameTypeDescription
sectionstring
Returns:
Type: 
dynamic

(static) findConfigTreeKey(key, tree) → {dynamic}

Recursivly search the config tree for entry with settingname equal to key

Parameters:
NameTypeDescription
keystring
treedynamic
Returns:
Type: 
dynamic

(static) getRegistrySections() → {object}

Return an array of all the registry section keys

Returns:
Type: 
object

(static) getSavedUsers() → {object}

Returns an array of saved users from the registry that belong to the active server

Returns:
Type: 
object

(static) get_setting(key, defaultValueopt) → {dynamic}

"Jellyfin" registry accessors for the default global settings

Parameters:
NameTypeAttributesDefaultDescription
keydynamic
defaultValuedynamic<optional>
invalid
Returns:
Type: 
dynamic

(static) get_user_setting(key) → {dynamic}

User registry accessors for the currently active user

Parameters:
NameTypeDescription
keystring
Returns:
Type: 
dynamic

(static) registry_delete(key, sectionopt) → {void}

Parameters:
NameTypeAttributesDefaultDescription
keydynamic
sectiondynamic<optional>
invalid
Returns:
Type: 
void

(static) registry_read(key, sectionopt) → {dynamic}

Generic registry accessors

Parameters:
NameTypeAttributesDefaultDescription
keydynamic
sectiondynamic<optional>
invalid
Returns:
Type: 
dynamic

(static) registry_write(key, value, sectionopt) → {void}

Parameters:
NameTypeAttributesDefaultDescription
keydynamic
valuedynamic
sectiondynamic<optional>
invalid
Returns:
Type: 
void

(static) set_setting(key, value) → {void}

Parameters:
NameTypeDescription
keydynamic
valuedynamic
Returns:
Type: 
void

(static) set_user_setting(key, value) → {void}

Parameters:
NameTypeDescription
keystring
valuedynamic
Returns:
Type: 
void

(static) unset_setting(key) → {void}

Parameters:
NameTypeDescription
keydynamic
Returns:
Type: 
void

(static) unset_user_setting(key) → {void}

Parameters:
NameTypeDescription
keystring
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) GetConfigTree() → {dynamic}

Read config tree from json config file and return

Returns:
Type: 
dynamic

(static) RegistryReadAll(section) → {dynamic}

Return all data found inside a registry section

Parameters:
NameTypeDescription
sectionstring
Returns:
Type: 
dynamic

(static) findConfigTreeKey(key, tree) → {dynamic}

Recursivly search the config tree for entry with settingname equal to key

Parameters:
NameTypeDescription
keystring
treedynamic
Returns:
Type: 
dynamic

(static) getRegistrySections() → {object}

Return an array of all the registry section keys

Returns:
Type: 
object

(static) getSavedUsers() → {object}

Returns an array of saved users from the registry that belong to the active server

Returns:
Type: 
object

(static) get_setting(key, defaultValueopt) → {dynamic}

"Jellyfin" registry accessors for the default global settings

Parameters:
NameTypeAttributesDefaultDescription
keydynamic
defaultValuedynamic<optional>
invalid
Returns:
Type: 
dynamic

(static) get_user_setting(key) → {dynamic}

User registry accessors for the currently active user

Parameters:
NameTypeDescription
keystring
Returns:
Type: 
dynamic

(static) registry_delete(key, sectionopt) → {void}

Parameters:
NameTypeAttributesDefaultDescription
keydynamic
sectiondynamic<optional>
invalid
Returns:
Type: 
void

(static) registry_read(key, sectionopt) → {dynamic}

Generic registry accessors

Parameters:
NameTypeAttributesDefaultDescription
keydynamic
sectiondynamic<optional>
invalid
Returns:
Type: 
dynamic

(static) registry_write(key, value, sectionopt) → {void}

Parameters:
NameTypeAttributesDefaultDescription
keydynamic
valuedynamic
sectiondynamic<optional>
invalid
Returns:
Type: 
void

(static) set_setting(key, value) → {void}

Parameters:
NameTypeDescription
keydynamic
valuedynamic
Returns:
Type: 
void

(static) set_user_setting(key, value) → {void}

Parameters:
NameTypeDescription
keystring
valuedynamic
Returns:
Type: 
void

(static) unset_setting(key) → {void}

Parameters:
NameTypeDescription
keydynamic
Returns:
Type: 
void

(static) unset_user_setting(key) → {void}

Parameters:
NameTypeDescription
keystring
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-deviceCapabilities.html b/docs/api/module-deviceCapabilities.html index 3c8b01cd6..9bd9e4871 100644 --- a/docs/api/module-deviceCapabilities.html +++ b/docs/api/module-deviceCapabilities.html @@ -1,3 +1,3 @@ Module: deviceCapabilities
On this page

Methods

(static) GetBitRateLimit(codec) → {object}

Parameters:
NameTypeDescription
codecstring
Returns:
Type: 
object

(static) GetDirectPlayProfiles() → {object}

Returns:
Type: 
object

(static) getCodecProfiles() → {object}

Returns:
Type: 
object

(static) getContainerProfiles() → {object}

Returns:
Type: 
object

(static) getDeviceCapabilities() → {object}

Returns the Device Capabilities for Roku. Also prints out the device profile for debugging

Returns:
Type: 
object

(static) getDeviceProfile() → {object}

Returns:
Type: 
object

(static) getMaxHeightArray() → {object}

Returns:
Type: 
object

(static) getMaxWidthArray() → {object}

Returns:
Type: 
object

(static) getSubtitleProfiles() → {object}

Returns:
Type: 
object

(static) getTranscodingProfiles() → {object}

Returns:
Type: 
object

(static) printDeviceProfile(profile) → {void}

Print out the deviceProfile for debugging

Parameters:
NameTypeDescription
profileobject
Returns:
Type: 
void

(static) removeDecimals(value) → {string}

Remove all decimals from a string

Parameters:
NameTypeDescription
valuestring
Returns:
Type: 
string

(static) setPreferredCodec(codecString, preferredCodec) → {string}

Takes and returns a comma delimited string of codecs. Moves the preferred codec to the front of the string

Parameters:
NameTypeDescription
codecStringstring
preferredCodecstring
Returns:
Type: 
string

(static) updateProfileArray(profileArray, videoCodec, videoProfile, profileLevelopt) → {object}

Recieves and returns an assArray of supported profiles and levels for each video codec

Parameters:
NameTypeAttributesDefaultDescription
profileArrayobject
videoCodecstring
videoProfilestring
profileLevelstring<optional>
""
Returns:
Type: 
object
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) GetBitRateLimit(codec) → {object}

Parameters:
NameTypeDescription
codecstring
Returns:
Type: 
object

(static) GetDirectPlayProfiles() → {object}

Returns:
Type: 
object

(static) getCodecProfiles() → {object}

Returns:
Type: 
object

(static) getContainerProfiles() → {object}

Returns:
Type: 
object

(static) getDeviceCapabilities() → {object}

Returns the Device Capabilities for Roku. Also prints out the device profile for debugging

Returns:
Type: 
object

(static) getDeviceProfile() → {object}

Returns:
Type: 
object

(static) getMaxHeightArray() → {object}

Returns:
Type: 
object

(static) getMaxWidthArray() → {object}

Returns:
Type: 
object

(static) getSubtitleProfiles() → {object}

Returns:
Type: 
object

(static) getTranscodingProfiles() → {object}

Returns:
Type: 
object

(static) printDeviceProfile(profile) → {void}

Print out the deviceProfile for debugging

Parameters:
NameTypeDescription
profileobject
Returns:
Type: 
void

(static) removeDecimals(value) → {string}

Remove all decimals from a string

Parameters:
NameTypeDescription
valuestring
Returns:
Type: 
string

(static) setPreferredCodec(codecString, preferredCodec) → {string}

Takes and returns a comma delimited string of codecs. Moves the preferred codec to the front of the string

Parameters:
NameTypeDescription
codecStringstring
preferredCodecstring
Returns:
Type: 
string

(static) updateProfileArray(profileArray, videoCodec, videoProfile, profileLevelopt) → {object}

Recieves and returns an assArray of supported profiles and levels for each video codec

Parameters:
NameTypeAttributesDefaultDescription
profileArrayobject
videoCodecstring
videoProfilestring
profileLevelstring<optional>
""
Returns:
Type: 
object
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-globals.html b/docs/api/module-globals.html index 77921e2a5..fb061ff60 100644 --- a/docs/api/module-globals.html +++ b/docs/api/module-globals.html @@ -1,3 +1,3 @@ Module: globals
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-migrations.html b/docs/api/module-migrations.html index 0895a5079..ff89bd8be 100644 --- a/docs/api/module-migrations.html +++ b/docs/api/module-migrations.html @@ -1,3 +1,3 @@ Module: migrations
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-misc.html b/docs/api/module-misc.html index eaf811253..8481835b8 100644 --- a/docs/api/module-misc.html +++ b/docs/api/module-misc.html @@ -1,3 +1,3 @@ Module: misc
On this page

Methods

(static) AssocArrayEqual(Array1, Array2) → {boolean}

Parameters:
NameTypeDescription
Array1object
Array2object
Returns:
Type: 
boolean

(static) arrayHasValue(arr, value) → {boolean}

Check if a specific value is inside of an array

Parameters:
NameTypeDescription
arrobject
valuedynamic
Returns:
Type: 
boolean

(static) div_ceiling(a, b) → {integer}

Parameters:
NameTypeDescription
ainteger
binteger
Returns:
Type: 
integer

(static) findNodeBySubtype(node, subtype) → {dynamic}

Parameters:
NameTypeDescription
nodedynamic
subtypedynamic
Returns:
Type: 
dynamic

(static) formatTime(time) → {string}

Format time as 12 or 24 hour format based on system clock setting

Parameters:
NameTypeDescription
timedynamic
Returns:
Type: 
string

(static) getButton(msg, subnodeopt) → {object}

Parameters:
NameTypeAttributesDefaultDescription
msgdynamic
subnodestring<optional>
"buttons"
Returns:
Type: 
object

(static) getMinutes(ticks) → {integer}

Converts ticks to minutes

Parameters:
NameTypeDescription
ticksdynamic
Returns:
Type: 
integer

(static) getMsgPicker(msg, subnodeopt) → {object}

Parameters:
NameTypeAttributesDefaultDescription
msgdynamic
subnodestring<optional>
""
Returns:
Type: 
object

(static) get_dialog_result(dialog, port) → {dynamic}

Returns the item selected or -1 on backpress or other unhandled closure of dialog.

Parameters:
NameTypeDescription
dialogdynamic
portdynamic
Returns:
Type: 
dynamic

(static) inArray(haystack, needle) → {boolean}

Search string array for search value. Return if it's found

Parameters:
NameTypeDescription
haystackdynamic
needledynamic
Returns:
Type: 
boolean

(static) inferServerUrl(url) → {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

Parameters:
NameTypeDescription
urlstring
Returns:
Type: 
string

(static) isJellyfinServer(systemInfo) → {boolean}

accepts the raw json string of /system/info/public and returns a boolean indicating if ProductName is "Jellyfin Server"

Parameters:
NameTypeDescription
systemInfoobject
Returns:
Type: 
boolean

(static) isLocalhost(url) → {boolean}

Returns true if the string is a loopback, such as 'localhost' or '127.0.0.1'

Parameters:
NameTypeDescription
urlstring
Returns:
Type: 
boolean

(static) isNodeEvent(msg, field) → {boolean}

Parameters:
NameTypeDescription
msgdynamic
fieldstring
Returns:
Type: 
boolean

(static) isValid(input) → {boolean}

Returns whether or not passed value is valid

Parameters:
NameTypeDescription
inputdynamic
Returns:
Type: 
boolean

(static) isValidAndNotEmpty(input) → {boolean}

Returns whether or not passed value is valid and not empty Accepts a string, or any countable type (arrays and lists)

Parameters:
NameTypeDescription
inputdynamic
Returns:
Type: 
boolean

(static) lastFocusedChild(obj) → {object}

Parameters:
NameTypeDescription
objobject
Returns:
Type: 
object

(static) leftPad(base, fill, length) → {string}

Parameters:
NameTypeDescription
basestring
fillstring
lengthinteger
Returns:
Type: 
string

(static) message_dialog(messageopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
messagestring<optional>
""
Returns:
Type: 
dynamic

(static) option_dialog(options, messageopt, defaultSelectionopt) → {integer}

Parameters:
NameTypeAttributesDefaultDescription
optionsdynamic
messagedynamic<optional>
""
defaultSelectiondynamic<optional>
0
Returns:
Type: 
integer

(static) parseUrl(url) → {object}

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

Parameters:
NameTypeDescription
urlstring
Returns:
Type: 
object

(static) roundNumber(f) → {integer}

Rounds number to nearest integer

Parameters:
NameTypeDescription
ffloat
Returns:
Type: 
integer

(static) secondsToHuman(totalSeconds, addLeadingMinuteZero) → {string}

Parameters:
NameTypeDescription
totalSecondsinteger
addLeadingMinuteZeroboolean
Returns:
Type: 
string

(static) setFieldTextValue(field, value) → {void}

Parameters:
NameTypeDescription
fielddynamic
valuedynamic
Returns:
Type: 
void

(static) show_dialog(message, optionsopt, defaultSelectionopt) → {integer}

Parameters:
NameTypeAttributesDefaultDescription
messagestring
optionsdynamic<optional>
[]
defaultSelectiondynamic<optional>
0
Returns:
Type: 
integer

(static) shuffleArray(array) → {object}

Takes an array of data, shuffles the order, then returns the array uses the Fisher-Yates shuffling algorithm

Parameters:
NameTypeDescription
arrayobject
Returns:
Type: 
object

(static) startLoadingSpinner() → {void}

Returns:
Type: 
void

(static) startMediaLoadingSpinner() → {void}

Returns:
Type: 
void

(static) stopLoadingSpinner() → {void}

Returns:
Type: 
void

(static) ticksToHuman(ticks) → {string}

Parameters:
NameTypeDescription
tickslonginteger
Returns:
Type: 
string

(static) toString(input) → {string}

Parameters:
NameTypeDescription
inputdynamic
Returns:
Type: 
string

(static) urlCandidates(input) → {dynamic}

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.

Parameters:
NameTypeDescription
inputstring
Returns:
Type: 
dynamic

(static) versionChecker(versionToCheck, minVersionAccepted) → {dynamic}

Returns whether or not a version number (e.g. 10.7.7) is greater or equal to some minimum version allowed (e.g. 10.8.0)

Parameters:
NameTypeDescription
versionToCheckstring
minVersionAcceptedstring
Returns:
Type: 
dynamic
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) AssocArrayEqual(Array1, Array2) → {boolean}

Parameters:
NameTypeDescription
Array1object
Array2object
Returns:
Type: 
boolean

(static) arrayHasValue(arr, value) → {boolean}

Check if a specific value is inside of an array

Parameters:
NameTypeDescription
arrobject
valuedynamic
Returns:
Type: 
boolean

(static) div_ceiling(a, b) → {integer}

Parameters:
NameTypeDescription
ainteger
binteger
Returns:
Type: 
integer

(static) findNodeBySubtype(node, subtype) → {dynamic}

Parameters:
NameTypeDescription
nodedynamic
subtypedynamic
Returns:
Type: 
dynamic

(static) formatTime(time) → {string}

Format time as 12 or 24 hour format based on system clock setting

Parameters:
NameTypeDescription
timedynamic
Returns:
Type: 
string

(static) getButton(msg, subnodeopt) → {object}

Parameters:
NameTypeAttributesDefaultDescription
msgdynamic
subnodestring<optional>
"buttons"
Returns:
Type: 
object

(static) getMinutes(ticks) → {integer}

Converts ticks to minutes

Parameters:
NameTypeDescription
ticksdynamic
Returns:
Type: 
integer

(static) getMsgPicker(msg, subnodeopt) → {object}

Parameters:
NameTypeAttributesDefaultDescription
msgdynamic
subnodestring<optional>
""
Returns:
Type: 
object

(static) get_dialog_result(dialog, port) → {dynamic}

Returns the item selected or -1 on backpress or other unhandled closure of dialog.

Parameters:
NameTypeDescription
dialogdynamic
portdynamic
Returns:
Type: 
dynamic

(static) inArray(haystack, needle) → {boolean}

Search string array for search value. Return if it's found

Parameters:
NameTypeDescription
haystackdynamic
needledynamic
Returns:
Type: 
boolean

(static) inferServerUrl(url) → {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

Parameters:
NameTypeDescription
urlstring
Returns:
Type: 
string

(static) isJellyfinServer(systemInfo) → {boolean}

accepts the raw json string of /system/info/public and returns a boolean indicating if ProductName is "Jellyfin Server"

Parameters:
NameTypeDescription
systemInfoobject
Returns:
Type: 
boolean

(static) isLocalhost(url) → {boolean}

Returns true if the string is a loopback, such as 'localhost' or '127.0.0.1'

Parameters:
NameTypeDescription
urlstring
Returns:
Type: 
boolean

(static) isNodeEvent(msg, field) → {boolean}

Parameters:
NameTypeDescription
msgdynamic
fieldstring
Returns:
Type: 
boolean

(static) isValid(input) → {boolean}

Returns whether or not passed value is valid

Parameters:
NameTypeDescription
inputdynamic
Returns:
Type: 
boolean

(static) isValidAndNotEmpty(input) → {boolean}

Returns whether or not passed value is valid and not empty Accepts a string, or any countable type (arrays and lists)

Parameters:
NameTypeDescription
inputdynamic
Returns:
Type: 
boolean

(static) lastFocusedChild(obj) → {object}

Parameters:
NameTypeDescription
objobject
Returns:
Type: 
object

(static) leftPad(base, fill, length) → {string}

Parameters:
NameTypeDescription
basestring
fillstring
lengthinteger
Returns:
Type: 
string

(static) message_dialog(messageopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
messagestring<optional>
""
Returns:
Type: 
dynamic

(static) option_dialog(options, messageopt, defaultSelectionopt) → {integer}

Parameters:
NameTypeAttributesDefaultDescription
optionsdynamic
messagedynamic<optional>
""
defaultSelectiondynamic<optional>
0
Returns:
Type: 
integer

(static) parseUrl(url) → {object}

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

Parameters:
NameTypeDescription
urlstring
Returns:
Type: 
object

(static) roundNumber(f) → {integer}

Rounds number to nearest integer

Parameters:
NameTypeDescription
ffloat
Returns:
Type: 
integer

(static) secondsToHuman(totalSeconds, addLeadingMinuteZero) → {string}

Parameters:
NameTypeDescription
totalSecondsinteger
addLeadingMinuteZeroboolean
Returns:
Type: 
string

(static) setFieldTextValue(field, value) → {void}

Parameters:
NameTypeDescription
fielddynamic
valuedynamic
Returns:
Type: 
void

(static) show_dialog(message, optionsopt, defaultSelectionopt) → {integer}

Parameters:
NameTypeAttributesDefaultDescription
messagestring
optionsdynamic<optional>
[]
defaultSelectiondynamic<optional>
0
Returns:
Type: 
integer

(static) shuffleArray(array) → {object}

Takes an array of data, shuffles the order, then returns the array uses the Fisher-Yates shuffling algorithm

Parameters:
NameTypeDescription
arrayobject
Returns:
Type: 
object

(static) startLoadingSpinner() → {void}

Returns:
Type: 
void

(static) startMediaLoadingSpinner() → {void}

Returns:
Type: 
void

(static) stopLoadingSpinner() → {void}

Returns:
Type: 
void

(static) ticksToHuman(ticks) → {string}

Parameters:
NameTypeDescription
tickslonginteger
Returns:
Type: 
string

(static) toString(input) → {string}

Parameters:
NameTypeDescription
inputdynamic
Returns:
Type: 
string

(static) urlCandidates(input) → {dynamic}

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.

Parameters:
NameTypeDescription
inputstring
Returns:
Type: 
dynamic

(static) versionChecker(versionToCheck, minVersionAccepted) → {dynamic}

Returns whether or not a version number (e.g. 10.7.7) is greater or equal to some minimum version allowed (e.g. 10.8.0)

Parameters:
NameTypeDescription
versionToCheckstring
minVersionAcceptedstring
Returns:
Type: 
dynamic
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-quickplay.html b/docs/api/module-quickplay.html index 70b05f60f..e5bdcb821 100644 --- a/docs/api/module-quickplay.html +++ b/docs/api/module-quickplay.html @@ -1,3 +1,3 @@ Module: quickplay
On this page

Methods

(static) album(itemNode) → {void}

A music album. Play the entire album starting with track 1.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) artist(itemNode) → {void}

A music artist. Shuffle play all songs by artist.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) audio(itemNode) → {void}

A single audio file.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) boxset(itemNode) → {void}

A boxset. Play all items inside.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) collectionFolder(itemNode) → {void}

Quick Play A CollectionFolder. Shuffle play the items inside with some differences based on collectionType.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) folder(itemNode) → {void}

Quick Play A folder. Shuffle play all items found

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) multipleSeries(itemNodes) → {void}

More than one TV Show Series. Shuffle play all watched episodes

Parameters:
NameTypeDescription
itemNodesobject
Returns:
Type: 
void

(static) musicVideo(itemNode) → {void}

A single music video file.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) person(itemNode) → {void}

Quick Play A Person. Shuffle play all videos found

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) photo(itemNode) → {void}

A single photo.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) photoAlbum(itemNode) → {void}

A photo album.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) playlist(itemNode) → {void}

Quick Play A Playlist. Play the first unwatched episode. If none, play the whole season starting with episode 1.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) program(itemNode) → {void}

Quick Play A Live Program

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) pushToQueue(queueArray, shufflePlayopt) → {void}

Takes an array of items and adds to global queue. Also shuffles the playlist if asked

Parameters:
NameTypeAttributesDefaultDescription
queueArrayobject
shufflePlayboolean<optional>
false
Returns:
Type: 
void

(static) season(itemNode) → {void}

A TV Show Season. Play the first unwatched episode. If none, play the whole season starting with episode 1.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) series(itemNode) → {void}

A TV Show Series. Play the first unwatched episode. If none, shuffle play the whole series.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) tvChannel(itemNode) → {void}

Quick Play A TVChannel

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) userView(itemNode) → {void}

Quick Play A UserView. Play logic depends on "collectionType".

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) video(itemNode) → {void}

A single video file.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) album(itemNode) → {void}

A music album. Play the entire album starting with track 1.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) artist(itemNode) → {void}

A music artist. Shuffle play all songs by artist.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) audio(itemNode) → {void}

A single audio file.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) boxset(itemNode) → {void}

A boxset. Play all items inside.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) collectionFolder(itemNode) → {void}

Quick Play A CollectionFolder. Shuffle play the items inside with some differences based on collectionType.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) folder(itemNode) → {void}

Quick Play A folder. Shuffle play all items found

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) multipleSeries(itemNodes) → {void}

More than one TV Show Series. Shuffle play all watched episodes

Parameters:
NameTypeDescription
itemNodesobject
Returns:
Type: 
void

(static) musicVideo(itemNode) → {void}

A single music video file.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) person(itemNode) → {void}

Quick Play A Person. Shuffle play all videos found

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) photo(itemNode) → {void}

A single photo.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) photoAlbum(itemNode) → {void}

A photo album.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) playlist(itemNode) → {void}

Quick Play A Playlist. Play the first unwatched episode. If none, play the whole season starting with episode 1.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) program(itemNode) → {void}

Quick Play A Live Program

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) pushToQueue(queueArray, shufflePlayopt) → {void}

Takes an array of items and adds to global queue. Also shuffles the playlist if asked

Parameters:
NameTypeAttributesDefaultDescription
queueArrayobject
shufflePlayboolean<optional>
false
Returns:
Type: 
void

(static) season(itemNode) → {void}

A TV Show Season. Play the first unwatched episode. If none, play the whole season starting with episode 1.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) series(itemNode) → {void}

A TV Show Series. Play the first unwatched episode. If none, shuffle play the whole series.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) tvChannel(itemNode) → {void}

Quick Play A TVChannel

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) userView(itemNode) → {void}

Quick Play A UserView. Play logic depends on "collectionType".

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void

(static) video(itemNode) → {void}

A single video file.

Parameters:
NameTypeDescription
itemNodeobject
Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-schedule.html b/docs/api/module-schedule.html index 473755c9d..2a8f5ebfc 100644 --- a/docs/api/module-schedule.html +++ b/docs/api/module-schedule.html @@ -1,3 +1,3 @@ Module: schedule
On this page

Methods

(static) channelFilterSet() → {void}

Returns:
Type: 
void

(static) channelsearchTermSet() → {void}

Voice Search set

Returns:
Type: 
void

(static) focusProgramDetails(setFocused) → {void}

Move the TV Guide Grid down or up depending whether details are selected

Parameters:
NameTypeDescription
setFocuseddynamic
Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onChannelsLoaded() → {void}

Initial list of channels loaded

Returns:
Type: 
void

(static) onGridScrolled() → {void}

As user scrolls grid, check if more data requries to be loaded

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onProgramDetailsLoaded() → {void}

Update the Program Details with full information

Returns:
Type: 
void

(static) onProgramFocused() → {void}

Returns:
Type: 
void

(static) onProgramSelected() → {void}

Returns:
Type: 
void

(static) onRecordChannelSelected() → {void}

Handle user selecting "Record Channel" from Program Details

Returns:
Type: 
void

(static) onRecordOperationDone() → {void}

Returns:
Type: 
void

(static) onRecordSeriesChannelSelected() → {void}

Handle user selecting "Record Series" from Program Details

Returns:
Type: 
void

(static) onScheduleLoaded() → {void}

When LoadScheduleTask completes (initial or more data) and we have a schedule to display

Returns:
Type: 
void

(static) onWatchChannelSelected() → {void}

Handle user selecting "Watch Channel" from Program Details

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) channelFilterSet() → {void}

Returns:
Type: 
void

(static) channelsearchTermSet() → {void}

Voice Search set

Returns:
Type: 
void

(static) focusProgramDetails(setFocused) → {void}

Move the TV Guide Grid down or up depending whether details are selected

Parameters:
NameTypeDescription
setFocuseddynamic
Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) onChannelsLoaded() → {void}

Initial list of channels loaded

Returns:
Type: 
void

(static) onGridScrolled() → {void}

As user scrolls grid, check if more data requries to be loaded

Returns:
Type: 
void

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onProgramDetailsLoaded() → {void}

Update the Program Details with full information

Returns:
Type: 
void

(static) onProgramFocused() → {void}

Returns:
Type: 
void

(static) onProgramSelected() → {void}

Returns:
Type: 
void

(static) onRecordChannelSelected() → {void}

Handle user selecting "Record Channel" from Program Details

Returns:
Type: 
void

(static) onRecordOperationDone() → {void}

Returns:
Type: 
void

(static) onRecordSeriesChannelSelected() → {void}

Handle user selecting "Record Series" from Program Details

Returns:
Type: 
void

(static) onScheduleLoaded() → {void}

When LoadScheduleTask completes (initial or more data) and we have a schedule to display

Returns:
Type: 
void

(static) onWatchChannelSelected() → {void}

Handle user selecting "Watch Channel" from Program Details

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-section.html b/docs/api/module-section.html index 0c34dd641..8c0c7ea48 100644 --- a/docs/api/module-section.html +++ b/docs/api/module-section.html @@ -1,3 +1,3 @@ Module: section
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onFocusChange() → {void}

Returns:
Type: 
void

(static) onIDChange() → {void}

Returns:
Type: 
void

(static) onTranslationChange() → {void}

Returns:
Type: 
void

(static) scrollDownToOnDeck() → {void}

Returns:
Type: 
void

(static) scrollOffBottom() → {void}

Returns:
Type: 
void

(static) scrollOffOnDeck() → {void}

Returns:
Type: 
void

(static) scrollOffTop() → {void}

Returns:
Type: 
void

(static) scrollUpToOnDeck() → {void}

Returns:
Type: 
void

(static) showFromBottom() → {void}

Returns:
Type: 
void

(static) showFromTop() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) init() → {void}

Returns:
Type: 
void

(static) onFocusChange() → {void}

Returns:
Type: 
void

(static) onIDChange() → {void}

Returns:
Type: 
void

(static) onTranslationChange() → {void}

Returns:
Type: 
void

(static) scrollDownToOnDeck() → {void}

Returns:
Type: 
void

(static) scrollOffBottom() → {void}

Returns:
Type: 
void

(static) scrollOffOnDeck() → {void}

Returns:
Type: 
void

(static) scrollOffTop() → {void}

Returns:
Type: 
void

(static) scrollUpToOnDeck() → {void}

Returns:
Type: 
void

(static) showFromBottom() → {void}

Returns:
Type: 
void

(static) showFromTop() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-sectionScroller.html b/docs/api/module-sectionScroller.html index 1c22ef3e0..1cde22b59 100644 --- a/docs/api/module-sectionScroller.html +++ b/docs/api/module-sectionScroller.html @@ -1,3 +1,3 @@ Module: sectionScroller
On this page
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-settings.html b/docs/api/module-settings.html index 46a244abd..847fe0abe 100644 --- a/docs/api/module-settings.html +++ b/docs/api/module-settings.html @@ -1,3 +1,3 @@ Module: settings
On this page

Methods

(static) LoadMenu(configSection) → {void}

Parameters:
NameTypeDescription
configSectiondynamic
Returns:
Type: 
void

(static) OnScreenHidden() → {void}

JFScreen hook that gets ran as needed. Assumes settings were changed and they affect the device profile. Posts a new device profile to the server using the task thread

Returns:
Type: 
void

(static) boolSettingChanged() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) isFormInFocus() → {boolean}

Returns true if any of the data entry forms are in focus

Returns:
Type: 
boolean

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onKeyGridEscape() → {void}

Returns:
Type: 
void

(static) onKeyGridSubmit() → {void}

Returns:
Type: 
void

(static) postFinished() → {void}

Triggered by m.postTask after completing a post. Empty the task data when finished.

Returns:
Type: 
void

(static) radioSettingChanged() → {void}

Returns:
Type: 
void

(static) settingFocused() → {void}

Returns:
Type: 
void

(static) settingSelected() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) LoadMenu(configSection) → {void}

Parameters:
NameTypeDescription
configSectiondynamic
Returns:
Type: 
void

(static) OnScreenHidden() → {void}

JFScreen hook that gets ran as needed. Assumes settings were changed and they affect the device profile. Posts a new device profile to the server using the task thread

Returns:
Type: 
void

(static) boolSettingChanged() → {void}

Returns:
Type: 
void

(static) init() → {void}

Returns:
Type: 
void

(static) isFormInFocus() → {boolean}

Returns true if any of the data entry forms are in focus

Returns:
Type: 
boolean

(static) onKeyEvent(key, press) → {boolean}

Parameters:
NameTypeDescription
keystring
pressboolean
Returns:
Type: 
boolean

(static) onKeyGridEscape() → {void}

Returns:
Type: 
void

(static) onKeyGridSubmit() → {void}

Returns:
Type: 
void

(static) postFinished() → {void}

Triggered by m.postTask after completing a post. Empty the task data when finished.

Returns:
Type: 
void

(static) radioSettingChanged() → {void}

Returns:
Type: 
void

(static) settingFocused() → {void}

Returns:
Type: 
void

(static) settingSelected() → {void}

Returns:
Type: 
void
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/module-userauth.html b/docs/api/module-userauth.html index 534b428f7..6edd53906 100644 --- a/docs/api/module-userauth.html +++ b/docs/api/module-userauth.html @@ -1,3 +1,3 @@ Module: userauth
On this page

Methods

(static) AboutMe(idopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring<optional>
""
Returns:
Type: 
dynamic

(static) AuthenticateViaQuickConnect(secret) → {dynamic}

Parameters:
NameTypeDescription
secretdynamic
Returns:
Type: 
dynamic

(static) AvailableUsers() → {dynamic}

Returns:
Type: 
dynamic

(static) GetPublicUsers() → {dynamic}

Returns:
Type: 
dynamic

(static) LoadUserAbilities() → {void}

Returns:
Type: 
void

(static) ServerInfo() → {dynamic}

Returns:
Type: 
dynamic

(static) SignOut(deleteSavedEntryopt) → {void}

Parameters:
NameTypeAttributesDefaultDescription
deleteSavedEntryboolean<optional>
true
Returns:
Type: 
void

(static) checkQuickConnect(secret) → {dynamic}

Parameters:
NameTypeDescription
secretdynamic
Returns:
Type: 
dynamic

(static) get_token(user, password) → {dynamic}

Parameters:
NameTypeDescription
userstring
passwordstring
Returns:
Type: 
dynamic

(static) initQuickConnect() → {dynamic}

Returns:
Type: 
dynamic
jellyfin-roku Code Documentation
\ No newline at end of file +
On this page

Methods

(static) AboutMe(idopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring<optional>
""
Returns:
Type: 
dynamic

(static) AuthenticateViaQuickConnect(secret) → {dynamic}

Parameters:
NameTypeDescription
secretdynamic
Returns:
Type: 
dynamic

(static) AvailableUsers() → {dynamic}

Returns:
Type: 
dynamic

(static) GetPublicUsers() → {dynamic}

Returns:
Type: 
dynamic

(static) LoadUserAbilities() → {void}

Returns:
Type: 
void

(static) ServerInfo() → {dynamic}

Returns:
Type: 
dynamic

(static) SignOut(deleteSavedEntryopt) → {void}

Parameters:
NameTypeAttributesDefaultDescription
deleteSavedEntryboolean<optional>
true
Returns:
Type: 
void

(static) checkQuickConnect(secret) → {dynamic}

Parameters:
NameTypeDescription
secretdynamic
Returns:
Type: 
dynamic

(static) get_token(user, password) → {dynamic}

Parameters:
NameTypeDescription
userstring
passwordstring
Returns:
Type: 
dynamic

(static) initQuickConnect() → {dynamic}

Returns:
Type: 
dynamic
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/source_Main.bs.html b/docs/api/source_Main.bs.html index 8dd5c4e61..90efed0e5 100644 --- a/docs/api/source_Main.bs.html +++ b/docs/api/source_Main.bs.html @@ -1,6 +1,6 @@ Source: source/Main.bs
On this page

source_Main.bs

sub Main (args as dynamic) as void
+    
On this page

source_Main.bs

sub Main (args as dynamic) as void
     ' The main function that runs when the application is launched.
     m.screen = CreateObject("roSGScreen")
     ' Set global constants
@@ -778,4 +778,4 @@
     end while
 
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/source_ShowScenes.bs.html b/docs/api/source_ShowScenes.bs.html index 470487099..255c829b3 100644 --- a/docs/api/source_ShowScenes.bs.html +++ b/docs/api/source_ShowScenes.bs.html @@ -1,6 +1,6 @@ Source: source/ShowScenes.bs
On this page

source_ShowScenes.bs

function LoginFlow()
+    
On this page

source_ShowScenes.bs

function LoginFlow()
     'Collect Jellyfin server and user information
     start_login:
 
@@ -941,4 +941,4 @@
 
     m.global.sceneManager.callFunc("optionDialog", tr("Playback Options"), [], resumeData)
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/source_VideoPlayer.bs.html b/docs/api/source_VideoPlayer.bs.html index 517177e30..40b1bb11d 100644 --- a/docs/api/source_VideoPlayer.bs.html +++ b/docs/api/source_VideoPlayer.bs.html @@ -1,6 +1,6 @@ Source: source/VideoPlayer.bs
On this page

source_VideoPlayer.bs

function VideoPlayer(id as string, mediaSourceId = invalid as dynamic, audio_stream_idx = 1 as integer, subtitle_idx = -1 as integer, forceTranscoding = false as boolean, showIntro = true as boolean, allowResumeDialog = true as boolean) as dynamic
+    
On this page

source_VideoPlayer.bs

function VideoPlayer(id as string, mediaSourceId = invalid as dynamic, audio_stream_idx = 1 as integer, subtitle_idx = -1 as integer, forceTranscoding = false as boolean, showIntro = true as boolean, allowResumeDialog = true as boolean) as dynamic
     ' Get video controls and UI
     video = CreateObject("roSGNode", "JFVideo")
     video.id = id
@@ -598,4 +598,4 @@
         return Str(Fix(bitrate / 1000)) + " Kbps"
     end if
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/source_api_Image.bs.html b/docs/api/source_api_Image.bs.html index 8a6ab8d6e..5bf5c52e8 100644 --- a/docs/api/source_api_Image.bs.html +++ b/docs/api/source_api_Image.bs.html @@ -1,6 +1,6 @@ Source: source/api/Image.bs
On this page

source_api_Image.bs

function ItemImages(id = "" as string, params = {} as object)
+    
On this page

source_api_Image.bs

function ItemImages(id = "" as string, params = {} as object)
     ' This seems to cause crazy core dumps
     ' if there is a conflict between on disk images, and library.db
     resp = APIRequest(Substitute("Items/{0}/Images", id))
@@ -71,4 +71,4 @@
     url = Substitute("Users/{0}/Images/Primary", id)
     return buildURL(url, params)
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/source_api_Items.bs.html b/docs/api/source_api_Items.bs.html index a0c336aa5..9173ac582 100644 --- a/docs/api/source_api_Items.bs.html +++ b/docs/api/source_api_Items.bs.html @@ -1,6 +1,6 @@ Source: source/api/Items.bs
On this page

source_api_Items.bs

import "pkg:/source/api/sdk.bs"
+    
On this page

source_api_Items.bs

import "pkg:/source/api/sdk.bs"
 
 function ItemGetPlaybackInfo(id as string, startTimeTicks = 0 as longinteger)
     params = {
@@ -499,4 +499,4 @@
 
     return data
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/source_api_UserLibrary.bs.html b/docs/api/source_api_UserLibrary.bs.html index fca837454..6a1ec6cd2 100644 --- a/docs/api/source_api_UserLibrary.bs.html +++ b/docs/api/source_api_UserLibrary.bs.html @@ -1,6 +1,6 @@ Source: source/api/UserLibrary.bs
On this page

source_api_UserLibrary.bs

function MarkItemFavorite(id as string)
+    
On this page

source_api_UserLibrary.bs

function MarkItemFavorite(id as string)
     url = Substitute("Users/{0}/FavoriteItems/{1}", m.global.session.user.id, id)
     resp = APIRequest(url)
     return postJson(resp)
@@ -27,4 +27,4 @@
     resp.setRequest("DELETE")
     return getJson(resp)
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/source_api_baserequest.bs.html b/docs/api/source_api_baserequest.bs.html index 73b447640..a944ad745 100644 --- a/docs/api/source_api_baserequest.bs.html +++ b/docs/api/source_api_baserequest.bs.html @@ -1,6 +1,6 @@ Source: source/api/baserequest.bs
On this page

source_api_baserequest.bs

' Functions for making requests to the API
+    
On this page

source_api_baserequest.bs

' Functions for making requests to the API
 function buildParams(params = {} as object) as string
     ' Take an object of parameters and construct the URL query
 
@@ -221,4 +221,4 @@
 
     return auth
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/source_api_userauth.bs.html b/docs/api/source_api_userauth.bs.html index 4d1181f3a..d01098a0d 100644 --- a/docs/api/source_api_userauth.bs.html +++ b/docs/api/source_api_userauth.bs.html @@ -1,6 +1,6 @@ Source: source/api/userauth.bs
On this page

source_api_userauth.bs

' needed for SignOut() and ServerInfo()
+    
On this page

source_api_userauth.bs

' needed for SignOut() and ServerInfo()
 import "pkg:/source/utils/session.bs"
 import "pkg:/source/utils/misc.bs"
 
@@ -172,4 +172,4 @@
 
     return false
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/source_migrations.bs.html b/docs/api/source_migrations.bs.html index 5cc65c3d5..b27c89670 100644 --- a/docs/api/source_migrations.bs.html +++ b/docs/api/source_migrations.bs.html @@ -1,6 +1,6 @@ Source: source/migrations.bs
On this page

source_migrations.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

source_migrations.bs

import "pkg:/source/utils/misc.bs"
 
 ' Functions that update the registry based on the last run version and the currently running version
 
@@ -70,4 +70,4 @@
         end if
     end for
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/source_utils_Subtitles.bs.html b/docs/api/source_utils_Subtitles.bs.html index 2b3d02ed3..45584720d 100644 --- a/docs/api/source_utils_Subtitles.bs.html +++ b/docs/api/source_utils_Subtitles.bs.html @@ -1,6 +1,6 @@ Source: source/utils/Subtitles.bs
On this page

source_utils_Subtitles.bs

' Roku translates the info provided in subtitleTracks into availableSubtitleTracks
+    
On this page

source_utils_Subtitles.bs

' Roku translates the info provided in subtitleTracks into availableSubtitleTracks
 ' Including ignoring tracks, if they are not understood, thus making indexing unpredictable.
 ' This function translates between our internel selected subtitle index
 ' and the corresponding index in availableSubtitleTracks.
@@ -732,4 +732,4 @@
         "zza": "Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki"
     }
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/source_utils_config.bs.html b/docs/api/source_utils_config.bs.html index bc2ecbac5..fcf216912 100644 --- a/docs/api/source_utils_config.bs.html +++ b/docs/api/source_utils_config.bs.html @@ -1,6 +1,6 @@ Source: source/utils/config.bs
On this page

source_utils_config.bs

' needed for set_user_setting() and unset_user_setting()
+    
On this page

source_utils_config.bs

' needed for set_user_setting() and unset_user_setting()
 import "pkg:/source/utils/session.bs"
 
 ' Read config tree from json config file and return
@@ -139,4 +139,4 @@
 
     return savedServerUsers
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/source_utils_deviceCapabilities.bs.html b/docs/api/source_utils_deviceCapabilities.bs.html index 232c47087..984efe5be 100644 --- a/docs/api/source_utils_deviceCapabilities.bs.html +++ b/docs/api/source_utils_deviceCapabilities.bs.html @@ -1,6 +1,6 @@ Source: source/utils/deviceCapabilities.bs
On this page

source_utils_deviceCapabilities.bs

import "pkg:/source/utils/misc.bs"
+    
On this page

source_utils_deviceCapabilities.bs

import "pkg:/source/utils/misc.bs"
 import "pkg:/source/api/baserequest.bs"
 
 ' Returns the Device Capabilities for Roku.
@@ -1107,4 +1107,4 @@
         return newCodecString
     end if
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/source_utils_globals.bs.html b/docs/api/source_utils_globals.bs.html index f388bb317..29f77d386 100644 --- a/docs/api/source_utils_globals.bs.html +++ b/docs/api/source_utils_globals.bs.html @@ -1,6 +1,6 @@ Source: source/utils/globals.bs
On this page

source_utils_globals.bs

' Set global constants
+    
On this page

source_utils_globals.bs

' Set global constants
 sub setConstants()
     globals = m.screen.getGlobalNode()
 
@@ -132,4 +132,4 @@
         }
     })
 end sub
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/source_utils_misc.bs.html b/docs/api/source_utils_misc.bs.html index 1748b7467..7374d7a99 100644 --- a/docs/api/source_utils_misc.bs.html +++ b/docs/api/source_utils_misc.bs.html @@ -1,6 +1,6 @@ Source: source/utils/misc.bs
On this page

source_utils_misc.bs

import "pkg:/source/utils/config.bs"
+    
On this page

source_utils_misc.bs

import "pkg:/source/utils/config.bs"
 
 function isNodeEvent(msg, field as string) as boolean
     return type(msg) = "roSGNodeEvent" and msg.getField() = field
@@ -506,4 +506,4 @@
     end for
     return array
 end function
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file diff --git a/docs/api/source_utils_quickplay.bs.html b/docs/api/source_utils_quickplay.bs.html index e354c9835..1bad5dae4 100644 --- a/docs/api/source_utils_quickplay.bs.html +++ b/docs/api/source_utils_quickplay.bs.html @@ -1,6 +1,6 @@ Source: source/utils/quickplay.bs
On this page

source_utils_quickplay.bs

' All of the Quick Play logic seperated by media type
+    
On this page

source_utils_quickplay.bs

' All of the Quick Play logic seperated by media type
 namespace quickplay
 
     ' Takes an array of items and adds to global queue.
@@ -652,4 +652,4 @@
     end sub
 
 end namespace
-
jellyfin-roku Code Documentation
\ No newline at end of file +
jellyfin-roku Code Documentation
\ No newline at end of file