From 00a6858c22326732f50bdad6adb10bdcf2efd704 Mon Sep 17 00:00:00 2001 From: Charles Ewert Date: Thu, 26 Oct 2023 22:19:51 -0400 Subject: [PATCH] Auto update api docs and upload api docs to gh-pages (#1418) Co-authored-by: cewert --- .github/workflows/build-docs.yml | 29 + .github/workflows/deploy-api-docs.yml | 42 + .vscode/extensions.json | 3 +- .vscode/settings.json | 33 +- dictionary.txt | 7 +- docs/api-docs-readme.md | 11 + docs/api/components_ButtonGroupHoriz.brs.html | 212 +- .../api/components_Buttons_JFButtons.brs.html | 212 +- .../components_Buttons_TextSizeTask.brs.html | 212 +- .../components_GetNextEpisodeTask.brs.html | 212 +- .../components_GetPlaybackInfoTask.brs.html | 212 +- ...components_GetShuffleEpisodesTask.brs.html | 212 +- docs/api/components_IconButton.brs.html | 212 +- docs/api/components_ItemGrid_Alpha.brs.html | 212 +- ...onents_ItemGrid_FavoriteItemsTask.brs.html | 212 +- .../api/components_ItemGrid_GridItem.brs.html | 212 +- ...components_ItemGrid_GridItemSmall.brs.html | 212 +- .../api/components_ItemGrid_ItemGrid.brs.html | 212 +- ...mponents_ItemGrid_ItemGridOptions.brs.html | 212 +- ...omponents_ItemGrid_LoadItemsTask2.brs.html | 212 +- ...nts_ItemGrid_LoadVideoContentTask.brs.html | 212 +- ...ponents_ItemGrid_MovieLibraryView.brs.html | 212 +- ...ents_ItemGrid_MusicArtistGridItem.brs.html | 212 +- ...ponents_ItemGrid_MusicLibraryView.brs.html | 212 +- docs/api/components_JFButton.brs.html | 212 +- docs/api/components_JFGroup.brs.html | 212 +- docs/api/components_JFMessageDialog.brs.html | 212 +- docs/api/components_JFOverhang.brs.html | 212 +- docs/api/components_JFScene.brs.html | 212 +- docs/api/components_JFScreen.brs.html | 212 +- docs/api/components_JFVideo.brs.html | 212 +- docs/api/components_ListPoster.brs.html | 212 +- docs/api/components_OverviewDialog.bs.html | 212 +- docs/api/components_PersonDetails.brs.html | 212 +- docs/api/components_PlaybackDialog.brs.html | 212 +- docs/api/components_PlayedCheckmark.brs.html | 212 +- docs/api/components_PlaystateTask.brs.html | 318 +- docs/api/components_RadioDialog.brs.html | 212 +- docs/api/components_SearchBox.brs.html | 212 +- docs/api/components_Spinner.brs.html | 212 +- docs/api/components_StandardDialog.brs.html | 212 +- docs/api/components_WhatsNewDialog.brs.html | 212 +- docs/api/components_captionTask.brs.html | 212 +- .../api/components_config_ConfigData.brs.html | 212 +- .../api/components_config_ConfigItem.brs.html | 212 +- .../api/components_config_ConfigList.brs.html | 212 +- docs/api/components_config_JFServer.brs.html | 212 +- .../api/components_config_LoginScene.brs.html | 212 +- ...onents_config_ServerDiscoveryTask.brs.html | 212 +- ...components_config_SetServerScreen.brs.html | 212 +- docs/api/components_data_AlbumData.brs.html | 212 +- docs/api/components_data_ChannelData.brs.html | 212 +- .../components_data_CollectionData.brs.html | 212 +- docs/api/components_data_FolderData.brs.html | 212 +- .../components_data_GetFiltersTask.brs.html | 212 +- docs/api/components_data_HomeData.brs.html | 212 +- docs/api/components_data_ImageData.brs.html | 212 +- docs/api/components_data_MovieData.brs.html | 212 +- .../components_data_MusicAlbumData.brs.html | 212 +- ...nents_data_MusicAlbumSongListData.brs.html | 212 +- .../components_data_MusicArtistData.brs.html | 212 +- .../components_data_MusicSongData.brs.html | 212 +- .../components_data_OptionsButton.brs.html | 212 +- docs/api/components_data_OptionsData.brs.html | 212 +- docs/api/components_data_PersonData.brs.html | 212 +- docs/api/components_data_PhotoData.brs.html | 212 +- .../api/components_data_PlaylistData.brs.html | 212 +- .../components_data_PublicUserData.brs.html | 212 +- .../api/components_data_SceneManager.brs.html | 926 +- ...mponents_data_ScheduleProgramData.brs.html | 212 +- docs/api/components_data_SearchData.brs.html | 212 +- docs/api/components_data_SeriesData.brs.html | 212 +- docs/api/components_data_TVEpisode.brs.html | 212 +- .../components_data_TVEpisodeData.brs.html | 212 +- .../api/components_data_TVSeasonData.brs.html | 212 +- docs/api/components_data_UserData.brs.html | 212 +- docs/api/components_data_VideoData.brs.html | 212 +- .../api/components_extras_ExtrasItem.brs.html | 212 +- .../components_extras_ExtrasRowList.brs.html | 212 +- docs/api/components_home_Home.brs.html | 212 +- docs/api/components_home_HomeItem.brs.html | 212 +- docs/api/components_home_HomeRows.brs.html | 212 +- .../components_home_LoadItemsTask.brs.html | 212 +- ...omponents_liveTv_LoadChannelsTask.brs.html | 212 +- ...nts_liveTv_LoadProgramDetailsTask.brs.html | 212 +- ...components_liveTv_LoadSheduleTask.brs.html | 212 +- .../components_liveTv_ProgramDetails.brs.html | 212 +- ...mponents_liveTv_RecordProgramTask.brs.html | 212 +- docs/api/components_liveTv_schedule.brs.html | 212 +- docs/api/components_login_UserItem.brs.html | 212 +- docs/api/components_login_UserRow.brs.html | 212 +- docs/api/components_login_UserSelect.brs.html | 212 +- .../components_manager_QueueManager.brs.html | 212 +- .../components_manager_ViewCreator.brs.html | 212 +- ...mponents_mediaPlayers_AudioPlayer.brs.html | 212 +- ...ponents_movies_AudioTrackListItem.brs.html | 212 +- .../components_movies_MovieDetails.brs.html | 212 +- .../components_movies_MovieOptions.brs.html | 212 +- ...ponents_movies_VideoTrackListItem.brs.html | 212 +- docs/api/components_music_AlbumGrid.brs.html | 212 +- .../components_music_AlbumTrackList.brs.html | 212 +- docs/api/components_music_AlbumView.brs.html | 212 +- docs/api/components_music_ArtistView.brs.html | 212 +- .../components_music_AudioPlayerView.brs.html | 212 +- ..._music_LoadScreenSaverTimeoutTask.brs.html | 212 +- .../components_music_PlaylistView.brs.html | 212 +- docs/api/components_music_SongItem.brs.html | 212 +- .../components_options_OptionNode.brs.html | 212 +- .../components_options_OptionsSlider.brs.html | 212 +- .../components_photos_LoadPhotoTask.brs.html | 212 +- .../components_photos_PhotoDetails.brs.html | 212 +- ...ponents_quickConnect_QuickConnect.brs.html | 212 +- ...s_quickConnect_QuickConnectDialog.brs.html | 212 +- .../components_search_SearchResults.brs.html | 212 +- docs/api/components_search_SearchRow.brs.html | 212 +- .../api/components_search_SearchTask.brs.html | 212 +- docs/api/components_section_section.brs.html | 212 +- ...omponents_section_sectionScroller.brs.html | 212 +- .../api/components_settings_settings.brs.html | 212 +- .../components_tvshows_TVEpisodeRow.brs.html | 212 +- ...s_tvshows_TVEpisodeRowWithOptions.brs.html | 212 +- .../components_tvshows_TVEpisodes.brs.html | 212 +- .../components_tvshows_TVListDetails.brs.html | 212 +- .../components_tvshows_TVListOptions.brs.html | 212 +- .../components_tvshows_TVSeasonRow.brs.html | 212 +- ...ponents_tvshows_TVShowDescription.brs.html | 212 +- .../components_tvshows_TVShowDetails.brs.html | 212 +- .../components_video_VideoPlayerView.brs.html | 212 +- docs/api/data/search.json | 1 - docs/api/fonts/Inconsolata-Regular.ttf | Bin 97864 -> 0 bytes docs/api/fonts/OpenSans-Regular.ttf | Bin 129796 -> 0 bytes docs/api/fonts/WorkSans-Bold.ttf | Bin 192548 -> 0 bytes .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes docs/api/img/glyphicons-halflings-white.png | Bin 0 -> 8777 bytes docs/api/img/glyphicons-halflings.png | Bin 0 -> 12799 bytes docs/api/index.html | 246 +- docs/api/module-AlbumData.html | 400 +- docs/api/module-AlbumGrid.html | 682 +- docs/api/module-AlbumTrackList.html | 504 +- docs/api/module-AlbumView.html | 1788 +++- docs/api/module-Alpha.html | 578 +- docs/api/module-ArtistView.html | 3036 ++++++- docs/api/module-AudioPlayer.html | 666 +- docs/api/module-AudioPlayerView.html | 4616 +++++++++- docs/api/module-AudioTrackListItem.html | 612 +- docs/api/module-ButtonGroupHoriz.html | 578 +- docs/api/module-ChannelData.html | 504 +- docs/api/module-CollectionData.html | 504 +- docs/api/module-ConfigData.html | 400 +- docs/api/module-ConfigItem.html | 608 +- docs/api/module-ConfigList.html | 970 ++- docs/api/module-ExtrasItem.html | 608 +- docs/api/module-ExtrasRowList.html | 2044 ++++- docs/api/module-FavoriteItemsTask.html | 504 +- docs/api/module-FolderData.html | 504 +- docs/api/module-GetFiltersTask.html | 504 +- docs/api/module-GetNextEpisodeTask.html | 504 +- docs/api/module-GetPlaybackInfoTask.html | 1211 ++- docs/api/module-GetShuffleEpisodesTask.html | 504 +- docs/api/module-GridItem.html | 828 +- docs/api/module-GridItemSmall.html | 716 +- docs/api/module-Home.html | 608 +- docs/api/module-HomeData.html | 400 +- docs/api/module-HomeItem.html | 878 +- docs/api/module-HomeRows.html | 2428 +++++- docs/api/module-IconButton.html | 1410 ++- docs/api/module-Image.html | 1180 ++- docs/api/module-ImageData.html | 400 +- docs/api/module-ItemGrid.html | 3986 ++++++++- docs/api/module-ItemGridOptions.html | 1622 +++- docs/api/module-Items.html | 3684 +++++++- docs/api/module-JFButton.html | 508 +- docs/api/module-JFButtons.html | 1324 ++- docs/api/module-JFGroup.html | 578 +- docs/api/module-JFMessageDialog.html | 890 +- docs/api/module-JFOverhang.html | 1336 ++- docs/api/module-JFScene.html | 578 +- docs/api/module-JFScreen.html | 620 +- docs/api/module-JFServer.html | 812 +- docs/api/module-JFVideo.html | 2240 ++++- docs/api/module-ListPoster.html | 716 +- docs/api/module-LoadChannelsTask.html | 504 +- docs/api/module-LoadItemsTask.html | 706 +- docs/api/module-LoadItemsTask2.html | 504 +- docs/api/module-LoadPhotoTask.html | 504 +- docs/api/module-LoadProgramDetailsTask.html | 504 +- .../module-LoadScreenSaverTimeoutTask.html | 504 +- docs/api/module-LoadSheduleTask.html | 504 +- docs/api/module-LoadVideoContentTask.html | 2634 +++++- docs/api/module-LoginScene.html | 578 +- docs/api/module-Main.html | 450 +- docs/api/module-MovieData.html | 608 +- docs/api/module-MovieDetails.html | 2316 ++++- docs/api/module-MovieLibraryView.html | 4580 +++++++++- docs/api/module-MovieOptions.html | 790 +- docs/api/module-MusicAlbumData.html | 504 +- docs/api/module-MusicAlbumSongListData.html | 504 +- docs/api/module-MusicArtistData.html | 504 +- docs/api/module-MusicArtistGridItem.html | 720 +- docs/api/module-MusicLibraryView.html | 4172 ++++++++- docs/api/module-MusicSongData.html | 504 +- docs/api/module-OptionNode.html | 400 +- docs/api/module-OptionsButton.html | 504 +- docs/api/module-OptionsData.html | 608 +- docs/api/module-OptionsSlider.html | 682 +- docs/api/module-OverviewDialog.html | 682 +- docs/api/module-PersonData.html | 504 +- docs/api/module-PersonDetails.html | 1356 ++- docs/api/module-PhotoData.html | 504 +- docs/api/module-PhotoDetails.html | 1148 ++- docs/api/module-PlaybackDialog.html | 474 +- docs/api/module-PlayedCheckmark.html | 400 +- docs/api/module-PlaylistData.html | 504 +- docs/api/module-PlaylistView.html | 1788 +++- docs/api/module-PlaystateTask.html | 678 +- docs/api/module-ProgramDetails.html | 1636 +++- docs/api/module-PublicUserData.html | 400 +- docs/api/module-QueueManager.html | 4194 ++++++++- docs/api/module-QuickConnect.html | 504 +- docs/api/module-QuickConnectDialog.html | 994 ++- docs/api/module-RadioDialog.html | 1222 ++- docs/api/module-RecordProgramTask.html | 504 +- docs/api/module-SceneManager.html | 3466 +++++++- docs/api/module-ScheduleProgramData.html | 504 +- docs/api/module-SearchBox.html | 504 +- docs/api/module-SearchData.html | 504 +- docs/api/module-SearchResults.html | 786 +- docs/api/module-SearchRow.html | 810 +- docs/api/module-SearchTask.html | 504 +- docs/api/module-SeriesData.html | 504 +- docs/api/module-ServerDiscoveryTask.html | 1178 ++- docs/api/module-SetServerScreen.html | 1148 ++- docs/api/module-ShowScenes.html | 3782 +++++++- docs/api/module-SongItem.html | 608 +- docs/api/module-Spinner.html | 400 +- docs/api/module-StandardDialog.html | 504 +- docs/api/module-Subtitles.html | 2260 ++++- docs/api/module-TVEpisode.html | 504 +- docs/api/module-TVEpisodeData.html | 504 +- docs/api/module-TVEpisodeRow.html | 890 +- docs/api/module-TVEpisodeRowWithOptions.html | 1310 ++- docs/api/module-TVEpisodes.html | 786 +- docs/api/module-TVListDetails.html | 1314 ++- docs/api/module-TVListOptions.html | 790 +- docs/api/module-TVSeasonData.html | 504 +- docs/api/module-TVSeasonRow.html | 608 +- docs/api/module-TVShowDescription.html | 1148 ++- docs/api/module-TVShowDetails.html | 1430 +++- docs/api/module-TextSizeTask.html | 504 +- docs/api/module-UserData.html | 1506 +++- docs/api/module-UserItem.html | 504 +- docs/api/module-UserLibrary.html | 912 +- docs/api/module-UserRow.html | 890 +- docs/api/module-UserSelect.html | 786 +- docs/api/module-VideoData.html | 504 +- docs/api/module-VideoPlayer.html | 2967 ++++++- docs/api/module-VideoPlayerView.html | 2930 ++++++- docs/api/module-VideoTrackListItem.html | 612 +- docs/api/module-ViewCreator.html | 1317 ++- docs/api/module-WhatsNewDialog.html | 504 +- docs/api/module-baserequest.html | 2714 +++++- docs/api/module-captionTask.html | 1636 +++- docs/api/module-config.html | 2447 ++++++ docs/api/module-deviceCapabilities.html | 1319 ++- docs/api/module-globals.html | 620 +- docs/api/module-misc.html | 5407 +++++++++++- docs/api/module-schedule.html | 2016 ++++- docs/api/module-section.html | 1440 +++- docs/api/module-sectionScroller.html | 608 +- docs/api/module-settings.html | 1356 ++- docs/api/module-userauth.html | 1758 +++- docs/api/modules.list.html | 284 + docs/api/quicksearch.html | 31 + docs/api/scripts/core.js | 702 -- docs/api/scripts/core.min.js | 23 - docs/api/scripts/docstrap.lib.js | 11 + docs/api/scripts/fulltext-search-ui.js | 89 + docs/api/scripts/fulltext-search.js | 36 + docs/api/scripts/lunr.min.js | 6 + .../Apache-License-2.0.txt | 0 docs/api/scripts/prettify/jquery.min.js | 6 + docs/api/scripts/prettify/lang-css.js | 21 + docs/api/scripts/prettify/prettify.js | 496 ++ docs/api/scripts/resize.js | 90 - docs/api/scripts/search.js | 265 - docs/api/scripts/search.min.js | 6 - docs/api/scripts/sunlight.js | 1157 +++ docs/api/scripts/third-party/fuse.js | 9 - .../third-party/hljs-line-num-original.js | 369 - docs/api/scripts/third-party/hljs-line-num.js | 1 - docs/api/scripts/third-party/hljs-original.js | 5171 ----------- docs/api/scripts/third-party/hljs.js | 1 - docs/api/scripts/third-party/popper.js | 5 - docs/api/scripts/third-party/tippy.js | 1 - docs/api/scripts/third-party/tocbot.js | 672 -- docs/api/scripts/third-party/tocbot.min.js | 1 - docs/api/scripts/toc.js | 203 + docs/api/source_Main.brs.html | 212 +- docs/api/source_ShowScenes.brs.html | 212 +- docs/api/source_VideoPlayer.brs.html | 212 +- docs/api/source_api_Image.brs.html | 212 +- docs/api/source_api_Items.brs.html | 212 +- docs/api/source_api_UserLibrary.brs.html | 212 +- docs/api/source_api_baserequest.brs.html | 212 +- docs/api/source_api_userauth.brs.html | 212 +- docs/api/source_utils_Subtitles.brs.html | 212 +- docs/api/source_utils_config.brs.html | 303 + .../source_utils_deviceCapabilities.brs.html | 212 +- docs/api/source_utils_globals.brs.html | 212 +- docs/api/source_utils_misc.brs.html | 212 +- docs/api/styles/clean-jsdoc-theme-base.css | 975 --- docs/api/styles/clean-jsdoc-theme-dark.css | 407 - docs/api/styles/clean-jsdoc-theme-light.css | 388 - docs/api/styles/clean-jsdoc-theme.min.css | 1 - docs/api/styles/darkstrap.css | 960 +++ docs/api/styles/prettify-tomorrow.css | 132 + docs/api/styles/site.cerulean.css | 7008 +++++++++++++++ docs/api/styles/site.cosmo.css | 7061 +++++++++++++++ docs/api/styles/site.cyborg.css | 7048 +++++++++++++++ docs/api/styles/site.darkly.css | 7171 ++++++++++++++++ docs/api/styles/site.darkstrap.css | 5638 ++++++++++++ docs/api/styles/site.dibs-bootstrap.css | 5899 +++++++++++++ docs/api/styles/site.flatly.css | 7147 ++++++++++++++++ docs/api/styles/site.journal.css | 6973 +++++++++++++++ docs/api/styles/site.lumen.css | 7298 ++++++++++++++++ docs/api/styles/site.paper.css | 7623 +++++++++++++++++ docs/api/styles/site.readable.css | 6997 +++++++++++++++ docs/api/styles/site.sandstone.css | 7035 +++++++++++++++ docs/api/styles/site.simplex.css | 7023 +++++++++++++++ docs/api/styles/site.slate.css | 7343 ++++++++++++++++ docs/api/styles/site.spacelab.css | 7055 +++++++++++++++ docs/api/styles/site.superhero.css | 7131 +++++++++++++++ docs/api/styles/site.united.css | 6895 +++++++++++++++ docs/api/styles/site.yeti.css | 7195 ++++++++++++++++ docs/api/styles/sunlight.dark.css | 345 + docs/api/styles/sunlight.default.css | 344 + jsdoc.json | 26 +- package-lock.json | 492 +- package.json | 4 +- source/utils/config.brs | 4 +- 343 files changed, 313745 insertions(+), 10790 deletions(-) create mode 100644 .github/workflows/build-docs.yml create mode 100644 .github/workflows/deploy-api-docs.yml create mode 100644 docs/api-docs-readme.md delete mode 100644 docs/api/data/search.json delete mode 100644 docs/api/fonts/Inconsolata-Regular.ttf delete mode 100644 docs/api/fonts/OpenSans-Regular.ttf delete mode 100644 docs/api/fonts/WorkSans-Bold.ttf create mode 100644 docs/api/fonts/glyphicons-halflings-regular.eot create mode 100644 docs/api/fonts/glyphicons-halflings-regular.ttf create mode 100644 docs/api/fonts/glyphicons-halflings-regular.woff create mode 100644 docs/api/fonts/glyphicons-halflings-regular.woff2 create mode 100644 docs/api/img/glyphicons-halflings-white.png create mode 100644 docs/api/img/glyphicons-halflings.png create mode 100644 docs/api/module-config.html create mode 100644 docs/api/modules.list.html create mode 100644 docs/api/quicksearch.html delete mode 100644 docs/api/scripts/core.js delete mode 100644 docs/api/scripts/core.min.js create mode 100644 docs/api/scripts/docstrap.lib.js create mode 100644 docs/api/scripts/fulltext-search-ui.js create mode 100644 docs/api/scripts/fulltext-search.js create mode 100644 docs/api/scripts/lunr.min.js rename docs/api/scripts/{third-party => prettify}/Apache-License-2.0.txt (100%) create mode 100644 docs/api/scripts/prettify/jquery.min.js create mode 100644 docs/api/scripts/prettify/lang-css.js create mode 100644 docs/api/scripts/prettify/prettify.js delete mode 100644 docs/api/scripts/resize.js delete mode 100644 docs/api/scripts/search.js delete mode 100644 docs/api/scripts/search.min.js create mode 100644 docs/api/scripts/sunlight.js delete mode 100644 docs/api/scripts/third-party/fuse.js delete mode 100644 docs/api/scripts/third-party/hljs-line-num-original.js delete mode 100644 docs/api/scripts/third-party/hljs-line-num.js delete mode 100644 docs/api/scripts/third-party/hljs-original.js delete mode 100644 docs/api/scripts/third-party/hljs.js delete mode 100644 docs/api/scripts/third-party/popper.js delete mode 100644 docs/api/scripts/third-party/tippy.js delete mode 100644 docs/api/scripts/third-party/tocbot.js delete mode 100644 docs/api/scripts/third-party/tocbot.min.js create mode 100644 docs/api/scripts/toc.js create mode 100644 docs/api/source_utils_config.brs.html delete mode 100644 docs/api/styles/clean-jsdoc-theme-base.css delete mode 100644 docs/api/styles/clean-jsdoc-theme-dark.css delete mode 100644 docs/api/styles/clean-jsdoc-theme-light.css delete mode 100644 docs/api/styles/clean-jsdoc-theme.min.css create mode 100644 docs/api/styles/darkstrap.css create mode 100644 docs/api/styles/prettify-tomorrow.css create mode 100644 docs/api/styles/site.cerulean.css create mode 100644 docs/api/styles/site.cosmo.css create mode 100644 docs/api/styles/site.cyborg.css create mode 100644 docs/api/styles/site.darkly.css create mode 100644 docs/api/styles/site.darkstrap.css create mode 100644 docs/api/styles/site.dibs-bootstrap.css create mode 100644 docs/api/styles/site.flatly.css create mode 100644 docs/api/styles/site.journal.css create mode 100644 docs/api/styles/site.lumen.css create mode 100644 docs/api/styles/site.paper.css create mode 100644 docs/api/styles/site.readable.css create mode 100644 docs/api/styles/site.sandstone.css create mode 100644 docs/api/styles/site.simplex.css create mode 100644 docs/api/styles/site.slate.css create mode 100644 docs/api/styles/site.spacelab.css create mode 100644 docs/api/styles/site.superhero.css create mode 100644 docs/api/styles/site.united.css create mode 100644 docs/api/styles/site.yeti.css create mode 100644 docs/api/styles/sunlight.dark.css create mode 100644 docs/api/styles/sunlight.default.css diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml new file mode 100644 index 000000000..7c6df8e89 --- /dev/null +++ b/.github/workflows/build-docs.yml @@ -0,0 +1,29 @@ +name: build-docs + +on: + push: + branches: + - unstable + +jobs: + docs: + runs-on: ubuntu-latest + + permissions: + # Give the default GITHUB_TOKEN write permission to commit and push the changed files back to the repository. + contents: write + + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.JF_BOT_TOKEN }} + - name: Install NPM dependencies + run: npm ci + - name: Build API docs + # TODO: fix jsdoc build errors then remove '|| true' from run command below + run: npm run docs || true + - name: Commit any changes back to the unstable branch + uses: stefanzweifel/git-auto-commit-action@v5 + with: + commit_message: Update API docs diff --git a/.github/workflows/deploy-api-docs.yml b/.github/workflows/deploy-api-docs.yml new file mode 100644 index 000000000..03b37e800 --- /dev/null +++ b/.github/workflows/deploy-api-docs.yml @@ -0,0 +1,42 @@ +# Simple workflow for deploying static content to GitHub Pages +name: deploy-api-docs + +on: + # Runs on pushes targeting the default branch + push: + branches: ["unstable"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + # Only upload the api docs folder + path: "docs/api/*" + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 diff --git a/.vscode/extensions.json b/.vscode/extensions.json index d09f15bf9..3d5cc1b1c 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -4,9 +4,10 @@ // List of extensions which should be recommended for users of this workspace. "recommendations": [ "RokuCommunity.brightscript", + "AliceBeckett.brightscriptcomment", "redhat.vscode-xml", "davidanson.vscode-markdownlint" ], // List of extensions recommended by VS Code that should not be recommended for users of this workspace. "unwantedRecommendations": [] -} \ No newline at end of file +} diff --git a/.vscode/settings.json b/.vscode/settings.json index b0c28bbe9..577621e3b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,15 +1,20 @@ { - "files.associations": { - "*.ts": "xml" - }, - "[xml]": { - "editor.defaultFormatter": "redhat.vscode-xml" - }, - "[markdown]": { - "editor.defaultFormatter": "DavidAnson.vscode-markdownlint" - }, - "xml.format.maxLineWidth": 0, - "editor.formatOnSave": true, - "brightscript.output.hyperlinkFormat": "FilenameAndFunction", - "brightscript.bsdk": "node_modules/brighterscript" -} \ No newline at end of file + "files.associations": { + "*.ts": "xml" + }, + "[xml]": { + "editor.defaultFormatter": "redhat.vscode-xml" + }, + "[markdown]": { + "editor.defaultFormatter": "DavidAnson.vscode-markdownlint" + }, + "xml.format.maxLineWidth": 0, + "editor.formatOnSave": true, + "brightscript.output.hyperlinkFormat": "FilenameAndFunction", + "brightscript.bsdk": "node_modules/brighterscript", + "search.exclude": { + "**/.git": true, + "**/node_modules": true, + "docs/api/**": true + } +} diff --git a/dictionary.txt b/dictionary.txt index 8efe014ba..edc060f2c 100644 --- a/dictionary.txt +++ b/dictionary.txt @@ -1,5 +1,6 @@ Jellyfin VSCode +BrighterScript BrightScript sideload Sideload @@ -15,4 +16,8 @@ Repo dev Dev assignees -HTTPS \ No newline at end of file +HTTPS +dropdown +JSDoc +JavaScript +namespaces \ No newline at end of file diff --git a/docs/api-docs-readme.md b/docs/api-docs-readme.md new file mode 100644 index 000000000..4b96218a6 --- /dev/null +++ b/docs/api-docs-readme.md @@ -0,0 +1,11 @@ +# Welcome + +Use the `Modules` dropdown or the search feature to find files and functions 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()` +- When viewing source files: + - The syntax highlighter doesn't support BrightScript and will treat all source files as JavaScript. + - The page scrolls to the correct line number but it does not highlight the selected line. diff --git a/docs/api/components_ButtonGroupHoriz.brs.html b/docs/api/components_ButtonGroupHoriz.brs.html index 7389d2bc0..039eaeecc 100644 --- a/docs/api/components_ButtonGroupHoriz.brs.html +++ b/docs/api/components_ButtonGroupHoriz.brs.html @@ -1,6 +1,76 @@ -Source: components/ButtonGroupHoriz.brs
On this page

components_ButtonGroupHoriz.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/ButtonGroupHoriz.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/ButtonGroupHoriz.brs

+ +
+
+
sub init()
     m.top.layoutDirection = "horiz"
 end sub
 
@@ -25,4 +95,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_Buttons_JFButtons.brs.html b/docs/api/components_Buttons_JFButtons.brs.html index 2f5d4ff60..ec33b38dc 100644 --- a/docs/api/components_Buttons_JFButtons.brs.html +++ b/docs/api/components_Buttons_JFButtons.brs.html @@ -1,6 +1,76 @@ -Source: components/Buttons/JFButtons.brs
On this page

components_Buttons_JFButtons.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/Buttons/JFButtons.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/Buttons/JFButtons.brs

+ +
+
+
sub init()
 
     m.top.focusable = true
 
@@ -122,4 +192,138 @@
     end if
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_Buttons_TextSizeTask.brs.html b/docs/api/components_Buttons_TextSizeTask.brs.html index 1fec147ec..c3e9b2b5c 100644 --- a/docs/api/components_Buttons_TextSizeTask.brs.html +++ b/docs/api/components_Buttons_TextSizeTask.brs.html @@ -1,6 +1,76 @@ -Source: components/Buttons/TextSizeTask.brs
On this page

components_Buttons_TextSizeTask.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/Buttons/TextSizeTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/Buttons/TextSizeTask.brs

+ +
+
+
sub init()
     m.top.functionName = "getTextSize"
 end sub
 
@@ -21,4 +91,138 @@
     m.top.width = res
 
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_GetNextEpisodeTask.brs.html b/docs/api/components_GetNextEpisodeTask.brs.html index 1309fe9ce..62c014481 100644 --- a/docs/api/components_GetNextEpisodeTask.brs.html +++ b/docs/api/components_GetNextEpisodeTask.brs.html @@ -1,6 +1,76 @@ -Source: components/GetNextEpisodeTask.brs
On this page

components_GetNextEpisodeTask.brs

import "pkg:/source/utils/config.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/GetNextEpisodeTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/GetNextEpisodeTask.brs

+ +
+
+
import "pkg:/source/utils/config.brs"
 import "pkg:/source/api/sdk.bs"
 
 sub init()
@@ -16,4 +86,138 @@
 
     m.top.nextEpisodeData = m.nextEpisodeData
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_GetPlaybackInfoTask.brs.html b/docs/api/components_GetPlaybackInfoTask.brs.html index 8352ce60b..275adc507 100644 --- a/docs/api/components_GetPlaybackInfoTask.brs.html +++ b/docs/api/components_GetPlaybackInfoTask.brs.html @@ -1,6 +1,76 @@ -Source: components/GetPlaybackInfoTask.brs
On this page

components_GetPlaybackInfoTask.brs

import "pkg:/source/utils/config.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/GetPlaybackInfoTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/GetPlaybackInfoTask.brs

+ +
+
+
import "pkg:/source/utils/config.brs"
 import "pkg:/source/utils/misc.brs"
 import "pkg:/source/utils/deviceCapabilities.brs"
 import "pkg:/source/api/baserequest.brs"
@@ -170,4 +240,138 @@
         return Str(Fix(bitrate / 1000)) + " Kbps"
     end if
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_GetShuffleEpisodesTask.brs.html b/docs/api/components_GetShuffleEpisodesTask.brs.html index ae5d72522..63e2d0be5 100644 --- a/docs/api/components_GetShuffleEpisodesTask.brs.html +++ b/docs/api/components_GetShuffleEpisodesTask.brs.html @@ -1,6 +1,76 @@ -Source: components/GetShuffleEpisodesTask.brs
On this page

components_GetShuffleEpisodesTask.brs

import "pkg:/source/utils/config.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/GetShuffleEpisodesTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/GetShuffleEpisodesTask.brs

+ +
+
+
import "pkg:/source/utils/config.brs"
 import "pkg:/source/api/sdk.bs"
 
 sub init()
@@ -16,4 +86,138 @@
 
     m.top.data = data
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_IconButton.brs.html b/docs/api/components_IconButton.brs.html index d4981c821..079b0417e 100644 --- a/docs/api/components_IconButton.brs.html +++ b/docs/api/components_IconButton.brs.html @@ -1,6 +1,76 @@ -Source: components/IconButton.brs
On this page

components_IconButton.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/IconButton.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/IconButton.brs

+ +
+
+
sub init()
     m.buttonBackground = m.top.findNode("buttonBackground")
     m.buttonIcon = m.top.findNode("buttonIcon")
     m.buttonText = m.top.findNode("buttonText")
@@ -81,4 +151,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_ItemGrid_Alpha.brs.html b/docs/api/components_ItemGrid_Alpha.brs.html index 319259e0f..54649bb53 100644 --- a/docs/api/components_ItemGrid_Alpha.brs.html +++ b/docs/api/components_ItemGrid_Alpha.brs.html @@ -1,6 +1,76 @@ -Source: components/ItemGrid/Alpha.brs
On this page

components_ItemGrid_Alpha.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/ItemGrid/Alpha.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/ItemGrid/Alpha.brs

+ +
+
+
sub init()
     m.top.visible = true
     m.Alphamenu = m.top.findNode("Alphamenu")
     m.Alphamenu.focusable = true
@@ -43,4 +113,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_ItemGrid_FavoriteItemsTask.brs.html b/docs/api/components_ItemGrid_FavoriteItemsTask.brs.html index e2985b07b..966ccae00 100644 --- a/docs/api/components_ItemGrid_FavoriteItemsTask.brs.html +++ b/docs/api/components_ItemGrid_FavoriteItemsTask.brs.html @@ -1,6 +1,76 @@ -Source: components/ItemGrid/FavoriteItemsTask.brs
On this page

components_ItemGrid_FavoriteItemsTask.brs

import "pkg:/source/api/UserLibrary.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/ItemGrid/FavoriteItemsTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/ItemGrid/FavoriteItemsTask.brs

+ +
+
+
import "pkg:/source/api/UserLibrary.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
@@ -19,4 +89,138 @@
     end if
 
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_ItemGrid_GridItem.brs.html b/docs/api/components_ItemGrid_GridItem.brs.html index a3db8d500..414138d8b 100644 --- a/docs/api/components_ItemGrid_GridItem.brs.html +++ b/docs/api/components_ItemGrid_GridItem.brs.html @@ -1,6 +1,76 @@ -Source: components/ItemGrid/GridItem.brs
On this page

components_ItemGrid_GridItem.brs

import "pkg:/source/utils/config.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/ItemGrid/GridItem.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/ItemGrid/GridItem.brs

+ +
+
+
import "pkg:/source/utils/config.brs"
 import "pkg:/source/utils/misc.brs"
 import "pkg:/source/roku_modules/log/LogMixin.brs"
 
@@ -171,4 +241,138 @@
         m.posterText.visible = false
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_ItemGrid_GridItemSmall.brs.html b/docs/api/components_ItemGrid_GridItemSmall.brs.html index 05d63c0c1..572a1cf08 100644 --- a/docs/api/components_ItemGrid_GridItemSmall.brs.html +++ b/docs/api/components_ItemGrid_GridItemSmall.brs.html @@ -1,6 +1,76 @@ -Source: components/ItemGrid/GridItemSmall.brs
On this page

components_ItemGrid_GridItemSmall.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/ItemGrid/GridItemSmall.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/ItemGrid/GridItemSmall.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "pkg:/source/utils/config.brs"
 
 sub init()
@@ -71,4 +141,138 @@
         m.posterText.visible = false
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_ItemGrid_ItemGrid.brs.html b/docs/api/components_ItemGrid_ItemGrid.brs.html index 210216b81..e387fa825 100644 --- a/docs/api/components_ItemGrid_ItemGrid.brs.html +++ b/docs/api/components_ItemGrid_ItemGrid.brs.html @@ -1,6 +1,76 @@ -Source: components/ItemGrid/ItemGrid.brs
On this page

components_ItemGrid_ItemGrid.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/ItemGrid/ItemGrid.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/ItemGrid/ItemGrid.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/deviceCapabilities.brs"
@@ -875,4 +945,138 @@
     end if
 
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_ItemGrid_ItemGridOptions.brs.html b/docs/api/components_ItemGrid_ItemGridOptions.brs.html index d9e244e80..b55f9d191 100644 --- a/docs/api/components_ItemGrid_ItemGridOptions.brs.html +++ b/docs/api/components_ItemGrid_ItemGridOptions.brs.html @@ -1,6 +1,76 @@ -Source: components/ItemGrid/ItemGridOptions.brs
On this page

components_ItemGrid_ItemGridOptions.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/ItemGrid/ItemGridOptions.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/ItemGrid/ItemGridOptions.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "pkg:/source/roku_modules/log/LogMixin.brs"
 
 sub init()
@@ -388,4 +458,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_ItemGrid_LoadItemsTask2.brs.html b/docs/api/components_ItemGrid_LoadItemsTask2.brs.html index 392780ff1..ff9b9a09b 100644 --- a/docs/api/components_ItemGrid_LoadItemsTask2.brs.html +++ b/docs/api/components_ItemGrid_LoadItemsTask2.brs.html @@ -1,6 +1,76 @@ -Source: components/ItemGrid/LoadItemsTask2.brs
On this page

components_ItemGrid_LoadItemsTask2.brs

import "pkg:/source/api/Items.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/ItemGrid/LoadItemsTask2.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/ItemGrid/LoadItemsTask2.brs

+ +
+
+
import "pkg:/source/api/Items.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/utils/misc.brs"
@@ -265,4 +335,138 @@
     end if
     m.top.content = results
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_ItemGrid_LoadVideoContentTask.brs.html b/docs/api/components_ItemGrid_LoadVideoContentTask.brs.html index c999d64a7..e355577bc 100644 --- a/docs/api/components_ItemGrid_LoadVideoContentTask.brs.html +++ b/docs/api/components_ItemGrid_LoadVideoContentTask.brs.html @@ -1,6 +1,76 @@ -Source: components/ItemGrid/LoadVideoContentTask.brs
On this page

components_ItemGrid_LoadVideoContentTask.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/ItemGrid/LoadVideoContentTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/ItemGrid/LoadVideoContentTask.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "pkg:/source/api/Items.brs"
 import "pkg:/source/api/UserLibrary.brs"
 import "pkg:/source/api/baserequest.brs"
@@ -911,4 +981,138 @@
         "zza": "Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki"
     }
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_ItemGrid_MovieLibraryView.brs.html b/docs/api/components_ItemGrid_MovieLibraryView.brs.html index 9c194d9e8..2060edce1 100644 --- a/docs/api/components_ItemGrid_MovieLibraryView.brs.html +++ b/docs/api/components_ItemGrid_MovieLibraryView.brs.html @@ -1,6 +1,76 @@ -Source: components/ItemGrid/MovieLibraryView.brs
On this page

components_ItemGrid_MovieLibraryView.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/ItemGrid/MovieLibraryView.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/ItemGrid/MovieLibraryView.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/api/Image.brs"
@@ -937,4 +1007,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_ItemGrid_MusicArtistGridItem.brs.html b/docs/api/components_ItemGrid_MusicArtistGridItem.brs.html index 2de40e8a9..603419148 100644 --- a/docs/api/components_ItemGrid_MusicArtistGridItem.brs.html +++ b/docs/api/components_ItemGrid_MusicArtistGridItem.brs.html @@ -1,6 +1,76 @@ -Source: components/ItemGrid/MusicArtistGridItem.brs
On this page

components_ItemGrid_MusicArtistGridItem.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/ItemGrid/MusicArtistGridItem.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/ItemGrid/MusicArtistGridItem.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "pkg:/source/utils/config.brs"
 
 sub init()
@@ -83,4 +153,138 @@
         m.backdrop.visible = false
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_ItemGrid_MusicLibraryView.brs.html b/docs/api/components_ItemGrid_MusicLibraryView.brs.html index f87458c7a..d1b216fd3 100644 --- a/docs/api/components_ItemGrid_MusicLibraryView.brs.html +++ b/docs/api/components_ItemGrid_MusicLibraryView.brs.html @@ -1,6 +1,76 @@ -Source: components/ItemGrid/MusicLibraryView.brs
On this page

components_ItemGrid_MusicLibraryView.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/ItemGrid/MusicLibraryView.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/ItemGrid/MusicLibraryView.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/api/Image.brs"
@@ -795,4 +865,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_JFButton.brs.html b/docs/api/components_JFButton.brs.html index d8cecc4d7..dbf02bcbd 100644 --- a/docs/api/components_JFButton.brs.html +++ b/docs/api/components_JFButton.brs.html @@ -1,6 +1,76 @@ -Source: components/JFButton.brs
On this page

components_JFButton.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/JFButton.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/JFButton.brs

+ +
+
+
sub init()
     m.top.observeFieldScoped("text", "onTextChanged")
     m.top.iconUri = ""
     m.top.focusedIconUri = ""
@@ -24,4 +94,138 @@
         addSpaceAfter = addSpaceAfter = false
     end while
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_JFGroup.brs.html b/docs/api/components_JFGroup.brs.html index 00ec2e15d..d4a1880b5 100644 --- a/docs/api/components_JFGroup.brs.html +++ b/docs/api/components_JFGroup.brs.html @@ -1,6 +1,76 @@ -Source: components/JFGroup.brs
On this page

components_JFGroup.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/JFGroup.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/JFGroup.brs

+ +
+
+
sub init()
 end sub
 
 function onKeyEvent(key as string, press as boolean) as boolean
@@ -8,4 +78,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_JFMessageDialog.brs.html b/docs/api/components_JFMessageDialog.brs.html index 65ae38019..eec3068ba 100644 --- a/docs/api/components_JFMessageDialog.brs.html +++ b/docs/api/components_JFMessageDialog.brs.html @@ -1,6 +1,76 @@ -Source: components/JFMessageDialog.brs
On this page

components_JFMessageDialog.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/JFMessageDialog.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/JFMessageDialog.brs

+ +
+
+
sub init()
     options = m.top.findNode("optionList")
     options.focusBitmapBlendColor = "0x0cb0e8"
     options.color = "0xffffff"
@@ -73,4 +143,138 @@
 
     m.top.translation = [(1920 - boxWidth) / 2, (1080 - boxHeight) / 2]
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_JFOverhang.brs.html b/docs/api/components_JFOverhang.brs.html index beb8659d6..0aa735e56 100644 --- a/docs/api/components_JFOverhang.brs.html +++ b/docs/api/components_JFOverhang.brs.html @@ -1,6 +1,76 @@ -Source: components/JFOverhang.brs
On this page

components_JFOverhang.brs

import "pkg:/source/utils/config.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/JFOverhang.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/JFOverhang.brs

+ +
+
+
import "pkg:/source/utils/config.brs"
 
 sub init()
     m.top.id = "overhang"
@@ -147,4 +217,138 @@
         m.optionStar.visible = false
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_JFScene.brs.html b/docs/api/components_JFScene.brs.html index 80883d34c..19e80d8cd 100644 --- a/docs/api/components_JFScene.brs.html +++ b/docs/api/components_JFScene.brs.html @@ -1,6 +1,76 @@ -Source: components/JFScene.brs
On this page

components_JFScene.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/JFScene.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/JFScene.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 
 sub init()
     m.top.backgroundColor = "#262626" '"#101010"
@@ -26,4 +96,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_JFScreen.brs.html b/docs/api/components_JFScreen.brs.html index 7c310d14a..eb0c6c151 100644 --- a/docs/api/components_JFScreen.brs.html +++ b/docs/api/components_JFScreen.brs.html @@ -1,6 +1,76 @@ -Source: components/JFScreen.brs
On this page

components_JFScreen.brs

import "pkg:/source/roku_modules/log/LogMixin.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/JFScreen.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/JFScreen.brs

+ +
+
+
import "pkg:/source/roku_modules/log/LogMixin.brs"
 
 sub init()
     ' initialize the log manager. second param sets log output:
@@ -24,4 +94,138 @@
 sub OnScreenHidden()
 end sub
 
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_JFVideo.brs.html b/docs/api/components_JFVideo.brs.html index 452e31494..ed14cef59 100644 --- a/docs/api/components_JFVideo.brs.html +++ b/docs/api/components_JFVideo.brs.html @@ -1,6 +1,76 @@ -Source: components/JFVideo.brs
On this page

components_JFVideo.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/JFVideo.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/JFVideo.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "pkg:/source/utils/config.brs"
 
 sub init()
@@ -297,4 +367,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_ListPoster.brs.html b/docs/api/components_ListPoster.brs.html index 5a8d10b18..37e1bb524 100644 --- a/docs/api/components_ListPoster.brs.html +++ b/docs/api/components_ListPoster.brs.html @@ -1,6 +1,76 @@ -Source: components/ListPoster.brs
On this page

components_ListPoster.brs

import "pkg:/source/utils/config.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/ListPoster.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/ListPoster.brs

+ +
+
+
import "pkg:/source/utils/config.brs"
 import "pkg:/source/utils/misc.brs"
 
 sub init()
@@ -116,4 +186,138 @@
         m.title.visible = false
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_OverviewDialog.bs.html b/docs/api/components_OverviewDialog.bs.html index f9276ff4c..dcdf1d174 100644 --- a/docs/api/components_OverviewDialog.bs.html +++ b/docs/api/components_OverviewDialog.bs.html @@ -1,6 +1,76 @@ -Source: components/OverviewDialog.bs
On this page

components_OverviewDialog.bs

sub setTitle()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/OverviewDialog.bs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/OverviewDialog.bs

+ +
+
+
sub setTitle()
     m.top.findNode("titleArea").primaryTitle = m.top.title
 end sub
 
@@ -17,4 +87,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_PersonDetails.brs.html b/docs/api/components_PersonDetails.brs.html index e6a2183e0..12cf4afe1 100644 --- a/docs/api/components_PersonDetails.brs.html +++ b/docs/api/components_PersonDetails.brs.html @@ -1,6 +1,76 @@ -Source: components/PersonDetails.brs
On this page

components_PersonDetails.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/PersonDetails.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/PersonDetails.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
@@ -174,4 +244,138 @@
     myDate.FromISO8601String(isoDate)
     return myDate.AsDateString("short-month-no-weekday")
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_PlaybackDialog.brs.html b/docs/api/components_PlaybackDialog.brs.html index edd604e70..8058c87c0 100644 --- a/docs/api/components_PlaybackDialog.brs.html +++ b/docs/api/components_PlaybackDialog.brs.html @@ -1,6 +1,76 @@ -Source: components/PlaybackDialog.brs
On this page

components_PlaybackDialog.brs

function onKeyEvent(key as string, press as boolean) as boolean
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/PlaybackDialog.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/PlaybackDialog.brs

+ +
+
+
function onKeyEvent(key as string, press as boolean) as boolean
 
     if key = "OK"
         m.top.close = true
@@ -9,4 +79,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_PlayedCheckmark.brs.html b/docs/api/components_PlayedCheckmark.brs.html index a63d90507..6f39f4ee4 100644 --- a/docs/api/components_PlayedCheckmark.brs.html +++ b/docs/api/components_PlayedCheckmark.brs.html @@ -1,7 +1,211 @@ -Source: components/PlayedCheckmark.brs
On this page

components_PlayedCheckmark.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/PlayedCheckmark.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/PlayedCheckmark.brs

+ +
+
+
sub init()
     checkmark = m.top.findNode("checkmark")
     checkmark.font.size = 48
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_PlaystateTask.brs.html b/docs/api/components_PlaystateTask.brs.html index 7a5d22e1d..6598743e4 100644 --- a/docs/api/components_PlaystateTask.brs.html +++ b/docs/api/components_PlaystateTask.brs.html @@ -1,57 +1,261 @@ -Source: components/PlaystateTask.brs
On this page

components_PlaystateTask.brs

import "pkg:/source/api/baserequest.brs"
-import "pkg:/source/utils/config.brs"
-
-sub init()
-    m.top.functionName = "PlaystateUpdate"
-end sub
-
-sub PlaystateUpdate()
-    if m.top.status = "start"
-        url = "Sessions/Playing"
-    else if m.top.status = "stop"
-        url = "Sessions/Playing/Stopped"
-    else if m.top.status = "update"
-        url = "Sessions/Playing/Progress"
-    else
-        ' Unknown State
-        return
-    end if
-    params = PlaystateDefaults(m.top.params)
-    resp = APIRequest(url)
-    postJson(resp, params)
-end sub
-
-function PlaystateDefaults(params = {} as object)
-    new_params = {
-        '"CanSeek": false
-        '"Item": "{}", ' TODO!
-        '"NowPlayingQueue": "[]", ' TODO!
-        '"PlaylistItemId": "",
-        '"ItemId": id,
-        '"SessionId": "", ' TODO!
-        '"MediaSourceId": id,
-        '"AudioStreamIndex": 1,
-        '"SubtitleStreamIndex": 0,
-        "IsPaused": false,
-        '"IsMuted": false,
-        "PositionTicks": 0
-        '"PlaybackStartTimeTicks": 0,
-        '"VolumeLevel": 100,
-        '"Brightness": 100,
-        '"AspectRatio": "16x9",
-        '"PlayMethod": "DirectStream"
-        '"LiveStreamId": "",
-        '"PlaySessionId": "",
-        '"RepeatMode": "RepeatNone"
-    }
-
-    paramsArray = params.items()
-    for i = 0 to paramsArray.count() - 1
-        item = paramsArray[i]
-        new_params[item.key] = item.value
-    end for
-    return FormatJson(new_params)
-end function
-
Home
\ No newline at end of file + + + + + + + jellyfin-roku api docs Source: components/PlaystateTask.brs + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Source: components/PlaystateTask.brs

+ +
+
+
import "pkg:/source/api/baserequest.brs"
+import "pkg:/source/utils/config.brs"
+
+sub init()
+    m.top.functionName = "PlaystateUpdate"
+end sub
+
+sub PlaystateUpdate()
+    if m.top.status = "start"
+        url = "Sessions/Playing"
+    else if m.top.status = "stop"
+        url = "Sessions/Playing/Stopped"
+    else if m.top.status = "update"
+        url = "Sessions/Playing/Progress"
+    else
+        ' Unknown State
+        return
+    end if
+    params = PlaystateDefaults(m.top.params)
+    resp = APIRequest(url)
+    postJson(resp, params)
+end sub
+
+function PlaystateDefaults(params = {} as object)
+    new_params = {
+        '"CanSeek": false
+        '"Item": "{}", ' TODO!
+        '"NowPlayingQueue": "[]", ' TODO!
+        '"PlaylistItemId": "",
+        '"ItemId": id,
+        '"SessionId": "", ' TODO!
+        '"MediaSourceId": id,
+        '"AudioStreamIndex": 1,
+        '"SubtitleStreamIndex": 0,
+        "IsPaused": false,
+        '"IsMuted": false,
+        "PositionTicks": 0
+        '"PlaybackStartTimeTicks": 0,
+        '"VolumeLevel": 100,
+        '"Brightness": 100,
+        '"AspectRatio": "16x9",
+        '"PlayMethod": "DirectStream"
+        '"LiveStreamId": "",
+        '"PlaySessionId": "",
+        '"RepeatMode": "RepeatNone"
+    }
+
+    paramsArray = params.items()
+    for i = 0 to paramsArray.count() - 1
+        item = paramsArray[i]
+        new_params[item.key] = item.value
+    end for
+    return FormatJson(new_params)
+end function
+
+
+
+ + + + + +
+
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_RadioDialog.brs.html b/docs/api/components_RadioDialog.brs.html index 2432134ad..2474a3efe 100644 --- a/docs/api/components_RadioDialog.brs.html +++ b/docs/api/components_RadioDialog.brs.html @@ -1,6 +1,76 @@ -Source: components/RadioDialog.brs
On this page

components_RadioDialog.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/RadioDialog.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/RadioDialog.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 
 sub init()
     m.contentArea = m.top.findNode("contentArea")
@@ -138,4 +208,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_SearchBox.brs.html b/docs/api/components_SearchBox.brs.html index a9be6cc3e..694d2012e 100644 --- a/docs/api/components_SearchBox.brs.html +++ b/docs/api/components_SearchBox.brs.html @@ -1,6 +1,76 @@ -Source: components/SearchBox.brs
On this page

components_SearchBox.brs

import "pkg:/source/api/Items.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/SearchBox.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/SearchBox.brs

+ +
+
+
import "pkg:/source/api/Items.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/api/Image.brs"
@@ -33,4 +103,138 @@
         m.searchText.textEditBox.leadingEllipsis = false
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_Spinner.brs.html b/docs/api/components_Spinner.brs.html index 5e46fd9d8..de738d952 100644 --- a/docs/api/components_Spinner.brs.html +++ b/docs/api/components_Spinner.brs.html @@ -1,9 +1,213 @@ -Source: components/Spinner.brs
On this page

components_Spinner.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/Spinner.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/Spinner.brs

+ +
+
+
sub init()
     m.top.poster.uri = "pkg:/images/spinner.png"
     m.top.control = "start"
     m.top.clockwise = true
     m.top.spinInterval = 3
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_StandardDialog.brs.html b/docs/api/components_StandardDialog.brs.html index 4625427fa..0e59c5658 100644 --- a/docs/api/components_StandardDialog.brs.html +++ b/docs/api/components_StandardDialog.brs.html @@ -1,6 +1,76 @@ -Source: components/StandardDialog.brs
On this page

components_StandardDialog.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/StandardDialog.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/StandardDialog.brs

+ +
+
+
sub init()
     m.content = m.top.findNode("content")
     m.top.observeField("contentData", "onContentDataChanged")
 
@@ -36,4 +106,138 @@
         textLine.text = item
     end for
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_WhatsNewDialog.brs.html b/docs/api/components_WhatsNewDialog.brs.html index ef8a9e005..7d23f22b7 100644 --- a/docs/api/components_WhatsNewDialog.brs.html +++ b/docs/api/components_WhatsNewDialog.brs.html @@ -1,6 +1,76 @@ -Source: components/WhatsNewDialog.brs
On this page

components_WhatsNewDialog.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/WhatsNewDialog.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/WhatsNewDialog.brs

+ +
+
+
sub init()
     m.content = m.top.findNode("content")
 
     setPalette()
@@ -46,4 +116,138 @@
 
     m.top.palette = dlgPalette
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_captionTask.brs.html b/docs/api/components_captionTask.brs.html index 504e65833..8cde06d28 100644 --- a/docs/api/components_captionTask.brs.html +++ b/docs/api/components_captionTask.brs.html @@ -1,6 +1,76 @@ -Source: components/captionTask.brs
On this page

components_captionTask.brs

import "pkg:/source/utils/config.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/captionTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/captionTask.brs

+ +
+
+
import "pkg:/source/utils/config.brs"
 import "pkg:/source/api/baserequest.brs"
 
 sub init()
@@ -150,4 +220,138 @@
     end for
     return entries
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_config_ConfigData.brs.html b/docs/api/components_config_ConfigData.brs.html index 1156e4002..16213d954 100644 --- a/docs/api/components_config_ConfigData.brs.html +++ b/docs/api/components_config_ConfigData.brs.html @@ -1,5 +1,209 @@ -Source: components/config/ConfigData.brs
On this page

components_config_ConfigData.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/config/ConfigData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/config/ConfigData.brs

+ +
+
+
sub init()
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_config_ConfigItem.brs.html b/docs/api/components_config_ConfigItem.brs.html index 7bd38bf44..5a17dc91e 100644 --- a/docs/api/components_config_ConfigItem.brs.html +++ b/docs/api/components_config_ConfigItem.brs.html @@ -1,6 +1,76 @@ -Source: components/config/ConfigItem.brs
On this page

components_config_ConfigItem.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/config/ConfigItem.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/config/ConfigItem.brs

+ +
+
+
sub init()
     m.name = m.top.findNode("label")
     m.value = m.top.findNode("value")
 
@@ -37,4 +107,138 @@
     m.value.textColor = color
 
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_config_ConfigList.brs.html b/docs/api/components_config_ConfigList.brs.html index f73886fd5..98602a3dd 100644 --- a/docs/api/components_config_ConfigList.brs.html +++ b/docs/api/components_config_ConfigList.brs.html @@ -1,6 +1,76 @@ -Source: components/config/ConfigList.brs
On this page

components_config_ConfigList.brs

import "pkg:/source/utils/config.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/config/ConfigList.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/config/ConfigList.brs

+ +
+
+
import "pkg:/source/utils/config.brs"
 
 sub init()
     m.top.itemComponentName = "ConfigItem"
@@ -76,4 +146,138 @@
 sub dismiss_dialog()
     m.dialog.close = true
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_config_JFServer.brs.html b/docs/api/components_config_JFServer.brs.html index 2372c9299..537f94e0a 100644 --- a/docs/api/components_config_JFServer.brs.html +++ b/docs/api/components_config_JFServer.brs.html @@ -1,6 +1,76 @@ -Source: components/config/JFServer.brs
On this page

components_config_JFServer.brs

sub init() as void
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/config/JFServer.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/config/JFServer.brs

+ +
+
+
sub init() as void
     m.poster = m.top.findNode("poster")
     m.name = m.top.findNode("name")
     m.baseUrl = m.top.findNode("baseUrl")
@@ -34,4 +104,138 @@
         child.color = color
     end for
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_config_LoginScene.brs.html b/docs/api/components_config_LoginScene.brs.html index 709adb122..acef90def 100644 --- a/docs/api/components_config_LoginScene.brs.html +++ b/docs/api/components_config_LoginScene.brs.html @@ -1,6 +1,76 @@ -Source: components/config/LoginScene.brs
On this page

components_config_LoginScene.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/config/LoginScene.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/config/LoginScene.brs

+ +
+
+
sub init()
     m.top.setFocus(true)
     m.top.optionsAvailable = false
 end sub
@@ -46,4 +116,138 @@
     end if
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_config_ServerDiscoveryTask.brs.html b/docs/api/components_config_ServerDiscoveryTask.brs.html index 49b025b35..d5945f152 100644 --- a/docs/api/components_config_ServerDiscoveryTask.brs.html +++ b/docs/api/components_config_ServerDiscoveryTask.brs.html @@ -1,6 +1,76 @@ -Source: components/config/ServerDiscoveryTask.brs
On this page

components_config_ServerDiscoveryTask.brs

import "pkg:/source/roku_modules/log/LogMixin.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/config/ServerDiscoveryTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/config/ServerDiscoveryTask.brs

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

components_config_SetServerScreen.brs

import "pkg:/source/roku_modules/log/LogMixin.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/config/SetServerScreen.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/config/SetServerScreen.brs

+ +
+
+
import "pkg:/source/roku_modules/log/LogMixin.brs"
 import "pkg:/source/utils/config.brs"
 
 sub init()
@@ -159,4 +229,138 @@
 sub clearErrorMessage()
     m.top.errorMessage = ""
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_AlbumData.brs.html b/docs/api/components_data_AlbumData.brs.html index 480a88ad0..bc1c259cf 100644 --- a/docs/api/components_data_AlbumData.brs.html +++ b/docs/api/components_data_AlbumData.brs.html @@ -1,10 +1,214 @@ -Source: components/data/AlbumData.brs
On this page

components_data_AlbumData.brs

sub setFields()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/AlbumData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/AlbumData.brs

+ +
+
+
sub setFields()
     datum = m.top.json
 
     m.top.id = datum.id
     m.top.title = datum.name
 end sub
 
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_ChannelData.brs.html b/docs/api/components_data_ChannelData.brs.html index ec84766b7..c7baaec84 100644 --- a/docs/api/components_data_ChannelData.brs.html +++ b/docs/api/components_data_ChannelData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/ChannelData.brs
On this page

components_data_ChannelData.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/ChannelData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/ChannelData.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
@@ -24,4 +94,138 @@
         m.top.posterURL = ImageURL(m.top.json.id, "Primary", imgParams)
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_CollectionData.brs.html b/docs/api/components_data_CollectionData.brs.html index 4e4bb3066..f21dd8d88 100644 --- a/docs/api/components_data_CollectionData.brs.html +++ b/docs/api/components_data_CollectionData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/CollectionData.brs
On this page

components_data_CollectionData.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/CollectionData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/CollectionData.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
@@ -40,4 +110,138 @@
     end if
 
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_FolderData.brs.html b/docs/api/components_data_FolderData.brs.html index 6e7aae479..1101d0646 100644 --- a/docs/api/components_data_FolderData.brs.html +++ b/docs/api/components_data_FolderData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/FolderData.brs
On this page

components_data_FolderData.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/FolderData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/FolderData.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
@@ -33,4 +103,138 @@
 end sub
 
 'TODO Set network Poster image
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_GetFiltersTask.brs.html b/docs/api/components_data_GetFiltersTask.brs.html index 27aaa129d..928e862be 100644 --- a/docs/api/components_data_GetFiltersTask.brs.html +++ b/docs/api/components_data_GetFiltersTask.brs.html @@ -1,6 +1,76 @@ -Source: components/data/GetFiltersTask.brs
On this page

components_data_GetFiltersTask.brs

import "pkg:/source/utils/config.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/GetFiltersTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/GetFiltersTask.brs

+ +
+
+
import "pkg:/source/utils/config.brs"
 import "pkg:/source/api/sdk.bs"
 
 sub init()
@@ -11,4 +81,138 @@
     m.filters = api.items.GetFilters(m.top.params)
     m.top.filters = m.filters
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_HomeData.brs.html b/docs/api/components_data_HomeData.brs.html index 365b161b1..1628afa05 100644 --- a/docs/api/components_data_HomeData.brs.html +++ b/docs/api/components_data_HomeData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/HomeData.brs
On this page

components_data_HomeData.brs

import "pkg:/source/api/baserequest.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/HomeData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/HomeData.brs

+ +
+
+
import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/api/Image.brs"
 
@@ -137,4 +207,138 @@
     end if
 
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_ImageData.brs.html b/docs/api/components_data_ImageData.brs.html index 56cb33d62..8dcbea064 100644 --- a/docs/api/components_data_ImageData.brs.html +++ b/docs/api/components_data_ImageData.brs.html @@ -1,10 +1,214 @@ -Source: components/data/ImageData.brs
On this page

components_data_ImageData.brs

sub setFields()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/ImageData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/ImageData.brs

+ +
+
+
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
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_MovieData.brs.html b/docs/api/components_data_MovieData.brs.html index 6db198962..764db9d84 100644 --- a/docs/api/components_data_MovieData.brs.html +++ b/docs/api/components_data_MovieData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/MovieData.brs
On this page

components_data_MovieData.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/MovieData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/MovieData.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/utils/misc.brs"
@@ -80,4 +150,138 @@
         m.top.container = "mp4"
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_MusicAlbumData.brs.html b/docs/api/components_data_MusicAlbumData.brs.html index 4bc137d18..8f4035597 100644 --- a/docs/api/components_data_MusicAlbumData.brs.html +++ b/docs/api/components_data_MusicAlbumData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/MusicAlbumData.brs
On this page

components_data_MusicAlbumData.brs

sub setFields()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/MusicAlbumData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/MusicAlbumData.brs

+ +
+
+
sub setFields()
     datum = m.top.json
 
     m.top.id = datum.id
@@ -15,4 +85,138 @@
         m.top.posterURL = ""
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_MusicAlbumSongListData.brs.html b/docs/api/components_data_MusicAlbumSongListData.brs.html index bd825f18c..e0fbfef1d 100644 --- a/docs/api/components_data_MusicAlbumSongListData.brs.html +++ b/docs/api/components_data_MusicAlbumSongListData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/MusicAlbumSongListData.brs
On this page

components_data_MusicAlbumSongListData.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/MusicAlbumSongListData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/MusicAlbumSongListData.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
@@ -36,4 +106,138 @@
 
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_MusicArtistData.brs.html b/docs/api/components_data_MusicArtistData.brs.html index ad13dd6bb..e41850ec0 100644 --- a/docs/api/components_data_MusicArtistData.brs.html +++ b/docs/api/components_data_MusicArtistData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/MusicArtistData.brs
On this page

components_data_MusicArtistData.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/MusicArtistData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/MusicArtistData.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
@@ -39,4 +109,138 @@
 
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_MusicSongData.brs.html b/docs/api/components_data_MusicSongData.brs.html index db7063004..3845ac5fb 100644 --- a/docs/api/components_data_MusicSongData.brs.html +++ b/docs/api/components_data_MusicSongData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/MusicSongData.brs
On this page

components_data_MusicSongData.brs

sub setFields()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/MusicSongData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/MusicSongData.brs

+ +
+
+
sub setFields()
     datum = m.top.json
 
     m.top.id = datum.id
@@ -17,4 +87,138 @@
         m.top.posterURL = ""
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_OptionsButton.brs.html b/docs/api/components_data_OptionsButton.brs.html index ab0a6470a..2a056412f 100644 --- a/docs/api/components_data_OptionsButton.brs.html +++ b/docs/api/components_data_OptionsButton.brs.html @@ -1,10 +1,214 @@ -Source: components/data/OptionsButton.brs
On this page

components_data_OptionsButton.brs

import "pkg:/source/utils/config.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/OptionsButton.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/OptionsButton.brs

+ +
+
+
import "pkg:/source/utils/config.brs"
 
 sub init()
 end sub
 
 sub press()
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_OptionsData.brs.html b/docs/api/components_data_OptionsData.brs.html index db16312f8..f74f6a422 100644 --- a/docs/api/components_data_OptionsData.brs.html +++ b/docs/api/components_data_OptionsData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/OptionsData.brs
On this page

components_data_OptionsData.brs

import "pkg:/source/utils/config.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/OptionsData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/OptionsData.brs

+ +
+
+
import "pkg:/source/utils/config.brs"
 
 sub init()
     m.top.value_index = 0
@@ -40,4 +110,138 @@
         set_user_setting(m.top.config_key, m.top.value)
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_PersonData.brs.html b/docs/api/components_data_PersonData.brs.html index 9211af6d2..43dcfc89d 100644 --- a/docs/api/components_data_PersonData.brs.html +++ b/docs/api/components_data_PersonData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/PersonData.brs
On this page

components_data_PersonData.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/PersonData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/PersonData.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
@@ -36,4 +106,138 @@
 
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_PhotoData.brs.html b/docs/api/components_data_PhotoData.brs.html index 53f92f335..e4d13d944 100644 --- a/docs/api/components_data_PhotoData.brs.html +++ b/docs/api/components_data_PhotoData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/PhotoData.brs
On this page

components_data_PhotoData.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/PhotoData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/PhotoData.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
@@ -38,4 +108,138 @@
 
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_PlaylistData.brs.html b/docs/api/components_data_PlaylistData.brs.html index 635082270..2131ca45f 100644 --- a/docs/api/components_data_PlaylistData.brs.html +++ b/docs/api/components_data_PlaylistData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/PlaylistData.brs
On this page

components_data_PlaylistData.brs

sub setFields()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/PlaylistData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/PlaylistData.brs

+ +
+
+
sub setFields()
     datum = m.top.json
 
     m.top.id = datum.id
@@ -15,4 +85,138 @@
         m.top.posterURL = ""
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_PublicUserData.brs.html b/docs/api/components_data_PublicUserData.brs.html index be73d0a14..1eb9e801d 100644 --- a/docs/api/components_data_PublicUserData.brs.html +++ b/docs/api/components_data_PublicUserData.brs.html @@ -1,5 +1,209 @@ -Source: components/data/PublicUserData.brs
On this page

components_data_PublicUserData.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/PublicUserData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/PublicUserData.brs

+ +
+
+
sub init()
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_SceneManager.brs.html b/docs/api/components_data_SceneManager.brs.html index b5c45fe17..b23db0d38 100644 --- a/docs/api/components_data_SceneManager.brs.html +++ b/docs/api/components_data_SceneManager.brs.html @@ -1,361 +1,565 @@ -Source: components/data/SceneManager.brs
On this page

components_data_SceneManager.brs

import "pkg:/source/roku_modules/log/LogMixin.brs"
-
-sub init()
-    m.log = log.Logger("SceneManager")
-    m.groups = []
-    m.scene = m.top.getScene()
-    m.content = m.scene.findNode("content")
-    m.overhang = m.scene.findNode("overhang")
-end sub
-
-'
-' Push a new group onto the stack, replacing the existing group on the screen
-sub pushScene(newGroup)
-
-    currentGroup = m.groups.peek()
-    if newGroup <> invalid
-        if currentGroup <> invalid
-            'Search through group and store off last focused item
-            if currentGroup.focusedChild <> invalid
-                focused = currentGroup.focusedChild
-                while focused.hasFocus() = false
-                    focused = focused.focusedChild
-                end while
-
-                currentGroup.lastFocus = focused
-                currentGroup.setFocus(false)
-            else
-                currentGroup.setFocus(false)
-            end if
-
-            if currentGroup.isSubType("JFGroup")
-                unregisterOverhangData(currentGroup)
-            end if
-
-            currentGroup.visible = false
-
-            if currentGroup.isSubType("JFScreen")
-                currentGroup.callFunc("OnScreenHidden")
-            end if
-
-        end if
-
-        m.groups.push(newGroup)
-
-        if currentGroup <> invalid
-            m.content.replaceChild(newGroup, 0)
-        else
-            m.content.appendChild(newGroup)
-        end if
-
-        if newGroup.isSubType("JFScreen")
-            newGroup.callFunc("OnScreenShown")
-        end if
-
-        'observe info about new group, set overhang title, etc.
-        if newGroup.isSubType("JFGroup")
-            registerOverhangData(newGroup)
-
-            ' Some groups set focus to a specific component within init(), so we don't want to
-            ' change if that is the case.
-            if newGroup.isInFocusChain() = false
-                newGroup.setFocus(true)
-            end if
-        else if newGroup.isSubType("JFVideo")
-            newGroup.setFocus(true)
-            newGroup.control = "play"
-            m.overhang.visible = false
-        end if
-    else
-        currentGroup.focusedChild.setFocus(true)
-    end if
-
-end sub
-
-'
-' Remove the current group and load the last group from the stack
-sub popScene()
-    group = m.groups.pop()
-    if group <> invalid
-        groupType = group.subtype()
-        if groupType = "JFGroup"
-            unregisterOverhangData(group)
-        else if groupType = "JFVideo"
-            ' Stop video to make sure app communicates stop playstate to server
-            group.control = "stop"
-        end if
-
-        group.visible = false
-
-        if groupType = "JFScreen"
-            group.callFunc("OnScreenHidden")
-        end if
-    else
-        ' Exit app if for some reason we don't have anything on the stack
-        m.scene.exit = true
-    end if
-
-    group = m.groups.peek()
-    if group <> invalid
-        registerOverhangData(group)
-
-        if group.subtype() = "Home"
-            currentTime = CreateObject("roDateTime").AsSeconds()
-            if group.timeLastRefresh = invalid or (currentTime - group.timeLastRefresh) > 20
-                group.timeLastRefresh = currentTime
-                group.callFunc("refresh")
-            end if
-        end if
-
-        group.visible = true
-
-        m.content.replaceChild(group, 0)
-
-        if group.isSubType("JFScreen")
-            group.callFunc("OnScreenShown")
-        else
-            ' Restore focus
-            if group.lastFocus <> invalid
-                group.lastFocus.setFocus(true)
-            else
-                if group.focusedChild <> invalid
-                    group.focusedChild.setFocus(true)
-                else
-                    group.setFocus(true)
-                end if
-            end if
-        end if
-    else
-        ' Exit app if the stack is empty after removing group
-        m.scene.exit = true
-    end if
-
-end sub
-
-
-'
-' Return group at top of stack without removing
-function getActiveScene() as object
-    return m.groups.peek()
-end function
-
-
-'
-' Clear all content from group stack
-sub clearScenes()
-    if m.content <> invalid then m.content.removeChildrenIndex(m.content.getChildCount(), 0)
-    m.groups = []
-end sub
-
-'
-' Clear previous scene from group stack
-sub clearPreviousScene()
-    m.groups.pop()
-end sub
-
-'
-' Delete scene from group stack at passed index
-sub deleteSceneAtIndex(index = 1)
-    m.groups.Delete(index)
-end sub
-
-'
-' Display user/device settings screen
-sub settings()
-    settingsScreen = createObject("roSGNode", "Settings")
-    pushScene(settingsScreen)
-end sub
-
-'
-' Register observers for overhang data
-sub registerOverhangData(group)
-    if group.isSubType("JFGroup")
-        if group.overhangTitle <> invalid then m.overhang.title = group.overhangTitle
-
-        if group.optionsAvailable
-            m.overhang.showOptions = true
-        else
-            m.overhang.showOptions = false
-        end if
-        group.observeField("optionsAvailable", "updateOptions")
-
-        group.observeField("overhangTitle", "updateOverhangTitle")
-
-        if group.overhangVisible
-            m.overhang.visible = true
-        else
-            m.overhang.visible = false
-        end if
-        group.observeField("overhangVisible", "updateOverhangVisible")
-    else if group.isSubType("JFVideo")
-        m.overhang.visible = false
-    else
-        m.log.error("registerOverhangData(): Unexpected group type.", group, group.subtype())
-    end if
-end sub
-
-
-'
-' Remove observers for overhang data
-sub unregisterOverhangData(group)
-    group.unobserveField("overhangTitle")
-end sub
-
-
-'
-' Update overhang title
-sub updateOverhangTitle(msg)
-    m.overhang.title = msg.getData()
-end sub
-
-
-'
-' Update options availability
-sub updateOptions(msg)
-    m.overhang.showOptions = msg.getData()
-end sub
-
-
-'
-' Update whether the overhang is visible or not
-sub updateOverhangVisible(msg)
-    m.overhang.visible = msg.getData()
-end sub
-
-
-'
-' Update username in overhang
-sub updateUser()
-    ' Passthrough to overhang
-    if m.overhang <> invalid then m.overhang.currentUser = m.top.currentUser
-end sub
-
-
-'
-' Reset time
-sub resetTime()
-    ' Passthrough to overhang
-    m.overhang.callFunc("resetTime")
-end sub
-
-'
-' Display dialog to user with an OK button
-sub userMessage(title as string, message as string)
-    dialog = createObject("roSGNode", "StandardMessageDialog")
-    dialog.title = title
-    dialog.message = message
-    dialog.buttons = [tr("OK")]
-    dialog.observeField("buttonSelected", "dismissDialog")
-    m.scene.dialog = dialog
-end sub
-
-'
-' Display dialog to user with an OK button
-sub standardDialog(title, message)
-    dialog = createObject("roSGNode", "StandardDialog")
-    dlgPalette = createObject("roSGNode", "RSGPalette")
-    dlgPalette.colors = {
-        DialogBackgroundColor: "0x262828FF",
-        DialogFocusColor: "0xcececeFF",
-        DialogFocusItemColor: "0x202020FF",
-        DialogSecondaryTextColor: "0xf8f8f8ff",
-        DialogSecondaryItemColor: "#00a4dcFF",
-        DialogTextColor: "0xeeeeeeFF"
-    }
-    dialog.palette = dlgPalette
-    dialog.observeField("buttonSelected", "dismissDialog")
-    dialog.title = title
-    dialog.contentData = message
-    dialog.buttons = [tr("OK")]
-
-    m.scene.dialog = dialog
-end sub
-
-'
-' Display dialog to user with an OK button
-sub radioDialog(title, message)
-    dialog = createObject("roSGNode", "RadioDialog")
-    dlgPalette = createObject("roSGNode", "RSGPalette")
-    dlgPalette.colors = {
-        DialogBackgroundColor: "0x262828FF",
-        DialogFocusColor: "0xcececeFF",
-        DialogFocusItemColor: "0x202020FF",
-        DialogSecondaryTextColor: "0xf8f8f8ff",
-        DialogSecondaryItemColor: "#00a4dcFF",
-        DialogTextColor: "0xeeeeeeFF"
-    }
-    dialog.palette = dlgPalette
-    dialog.observeField("buttonSelected", "dismissDialog")
-    dialog.title = title
-    dialog.contentData = message
-    dialog.buttons = [tr("OK")]
-
-    m.scene.dialog = dialog
-end sub
-
-'
-' Display dialog to user with an OK button
-sub optionDialog(title, message, buttons)
-    m.top.dataReturned = false
-    m.top.returnData = invalid
-    m.userselection = false
-
-    dialog = createObject("roSGNode", "StandardMessageDialog")
-    dlgPalette = createObject("roSGNode", "RSGPalette")
-    dlgPalette.colors = {
-        DialogBackgroundColor: "0x262828FF",
-        DialogFocusColor: "0xcececeFF",
-        DialogFocusItemColor: "0x202020FF",
-        DialogSecondaryTextColor: "0xf8f8f8ff",
-        DialogSecondaryItemColor: "#00a4dcFF",
-        DialogTextColor: "0xeeeeeeFF"
-    }
-    dialog.palette = dlgPalette
-    dialog.observeField("buttonSelected", "optionSelected")
-    dialog.observeField("wasClosed", "optionClosed")
-    dialog.title = title
-    dialog.message = message
-    dialog.buttons = buttons
-
-    m.scene.dialog = dialog
-end sub
-
-'
-' Return button the user selected
-sub optionClosed()
-    if m.userselection then return
-
-    m.top.returnData = {
-        indexSelected: -1,
-        buttonSelected: ""
-    }
-    m.top.dataReturned = true
-end sub
-
-'
-' Return button the user selected
-sub optionSelected()
-    m.userselection = true
-    m.top.returnData = {
-        indexSelected: m.scene.dialog.buttonSelected,
-        buttonSelected: m.scene.dialog.buttons[m.scene.dialog.buttonSelected]
-    }
-    m.top.dataReturned = true
-
-    dismissDialog()
-end sub
-
-'
-' Close currently displayed dialog
-sub dismissDialog()
-    m.scene.dialog.close = true
-end sub
-
-'
-' Returns bool indicating if dialog is currently displayed
-function isDialogOpen() as boolean
-    return m.scene.dialog <> invalid
-end function
-
Home
\ No newline at end of file + + + + + + + jellyfin-roku api docs Source: components/data/SceneManager.brs + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Source: components/data/SceneManager.brs

+ +
+
+
import "pkg:/source/roku_modules/log/LogMixin.brs"
+
+sub init()
+    m.log = log.Logger("SceneManager")
+    m.groups = []
+    m.scene = m.top.getScene()
+    m.content = m.scene.findNode("content")
+    m.overhang = m.scene.findNode("overhang")
+end sub
+
+'
+' Push a new group onto the stack, replacing the existing group on the screen
+sub pushScene(newGroup)
+
+    currentGroup = m.groups.peek()
+    if newGroup <> invalid
+        if currentGroup <> invalid
+            'Search through group and store off last focused item
+            if currentGroup.focusedChild <> invalid
+                focused = currentGroup.focusedChild
+                while focused.hasFocus() = false
+                    focused = focused.focusedChild
+                end while
+
+                currentGroup.lastFocus = focused
+                currentGroup.setFocus(false)
+            else
+                currentGroup.setFocus(false)
+            end if
+
+            if currentGroup.isSubType("JFGroup")
+                unregisterOverhangData(currentGroup)
+            end if
+
+            currentGroup.visible = false
+
+            if currentGroup.isSubType("JFScreen")
+                currentGroup.callFunc("OnScreenHidden")
+            end if
+
+        end if
+
+        m.groups.push(newGroup)
+
+        if currentGroup <> invalid
+            m.content.replaceChild(newGroup, 0)
+        else
+            m.content.appendChild(newGroup)
+        end if
+
+        if newGroup.isSubType("JFScreen")
+            newGroup.callFunc("OnScreenShown")
+        end if
+
+        'observe info about new group, set overhang title, etc.
+        if newGroup.isSubType("JFGroup")
+            registerOverhangData(newGroup)
+
+            ' Some groups set focus to a specific component within init(), so we don't want to
+            ' change if that is the case.
+            if newGroup.isInFocusChain() = false
+                newGroup.setFocus(true)
+            end if
+        else if newGroup.isSubType("JFVideo")
+            newGroup.setFocus(true)
+            newGroup.control = "play"
+            m.overhang.visible = false
+        end if
+    else
+        currentGroup.focusedChild.setFocus(true)
+    end if
+
+end sub
+
+'
+' Remove the current group and load the last group from the stack
+sub popScene()
+    group = m.groups.pop()
+    if group <> invalid
+        groupType = group.subtype()
+        if groupType = "JFGroup"
+            unregisterOverhangData(group)
+        else if groupType = "JFVideo"
+            ' Stop video to make sure app communicates stop playstate to server
+            group.control = "stop"
+        end if
+
+        group.visible = false
+
+        if groupType = "JFScreen"
+            group.callFunc("OnScreenHidden")
+        end if
+    else
+        ' Exit app if for some reason we don't have anything on the stack
+        m.scene.exit = true
+    end if
+
+    group = m.groups.peek()
+    if group <> invalid
+        registerOverhangData(group)
+
+        if group.subtype() = "Home"
+            currentTime = CreateObject("roDateTime").AsSeconds()
+            if group.timeLastRefresh = invalid or (currentTime - group.timeLastRefresh) > 20
+                group.timeLastRefresh = currentTime
+                group.callFunc("refresh")
+            end if
+        end if
+
+        group.visible = true
+
+        m.content.replaceChild(group, 0)
+
+        if group.isSubType("JFScreen")
+            group.callFunc("OnScreenShown")
+        else
+            ' Restore focus
+            if group.lastFocus <> invalid
+                group.lastFocus.setFocus(true)
+            else
+                if group.focusedChild <> invalid
+                    group.focusedChild.setFocus(true)
+                else
+                    group.setFocus(true)
+                end if
+            end if
+        end if
+    else
+        ' Exit app if the stack is empty after removing group
+        m.scene.exit = true
+    end if
+
+end sub
+
+
+'
+' Return group at top of stack without removing
+function getActiveScene() as object
+    return m.groups.peek()
+end function
+
+
+'
+' Clear all content from group stack
+sub clearScenes()
+    if m.content <> invalid then m.content.removeChildrenIndex(m.content.getChildCount(), 0)
+    m.groups = []
+end sub
+
+'
+' Clear previous scene from group stack
+sub clearPreviousScene()
+    m.groups.pop()
+end sub
+
+'
+' Delete scene from group stack at passed index
+sub deleteSceneAtIndex(index = 1)
+    m.groups.Delete(index)
+end sub
+
+'
+' Display user/device settings screen
+sub settings()
+    settingsScreen = createObject("roSGNode", "Settings")
+    pushScene(settingsScreen)
+end sub
+
+'
+' Register observers for overhang data
+sub registerOverhangData(group)
+    if group.isSubType("JFGroup")
+        if group.overhangTitle <> invalid then m.overhang.title = group.overhangTitle
+
+        if group.optionsAvailable
+            m.overhang.showOptions = true
+        else
+            m.overhang.showOptions = false
+        end if
+        group.observeField("optionsAvailable", "updateOptions")
+
+        group.observeField("overhangTitle", "updateOverhangTitle")
+
+        if group.overhangVisible
+            m.overhang.visible = true
+        else
+            m.overhang.visible = false
+        end if
+        group.observeField("overhangVisible", "updateOverhangVisible")
+    else if group.isSubType("JFVideo")
+        m.overhang.visible = false
+    else
+        m.log.error("registerOverhangData(): Unexpected group type.", group, group.subtype())
+    end if
+end sub
+
+
+'
+' Remove observers for overhang data
+sub unregisterOverhangData(group)
+    group.unobserveField("overhangTitle")
+end sub
+
+
+'
+' Update overhang title
+sub updateOverhangTitle(msg)
+    m.overhang.title = msg.getData()
+end sub
+
+
+'
+' Update options availability
+sub updateOptions(msg)
+    m.overhang.showOptions = msg.getData()
+end sub
+
+
+'
+' Update whether the overhang is visible or not
+sub updateOverhangVisible(msg)
+    m.overhang.visible = msg.getData()
+end sub
+
+
+'
+' Update username in overhang
+sub updateUser()
+    ' Passthrough to overhang
+    if m.overhang <> invalid then m.overhang.currentUser = m.top.currentUser
+end sub
+
+
+'
+' Reset time
+sub resetTime()
+    ' Passthrough to overhang
+    m.overhang.callFunc("resetTime")
+end sub
+
+'
+' Display dialog to user with an OK button
+sub userMessage(title as string, message as string)
+    dialog = createObject("roSGNode", "StandardMessageDialog")
+    dialog.title = title
+    dialog.message = message
+    dialog.buttons = [tr("OK")]
+    dialog.observeField("buttonSelected", "dismissDialog")
+    m.scene.dialog = dialog
+end sub
+
+'
+' Display dialog to user with an OK button
+sub standardDialog(title, message)
+    dialog = createObject("roSGNode", "StandardDialog")
+    dlgPalette = createObject("roSGNode", "RSGPalette")
+    dlgPalette.colors = {
+        DialogBackgroundColor: "0x262828FF",
+        DialogFocusColor: "0xcececeFF",
+        DialogFocusItemColor: "0x202020FF",
+        DialogSecondaryTextColor: "0xf8f8f8ff",
+        DialogSecondaryItemColor: "#00a4dcFF",
+        DialogTextColor: "0xeeeeeeFF"
+    }
+    dialog.palette = dlgPalette
+    dialog.observeField("buttonSelected", "dismissDialog")
+    dialog.title = title
+    dialog.contentData = message
+    dialog.buttons = [tr("OK")]
+
+    m.scene.dialog = dialog
+end sub
+
+'
+' Display dialog to user with an OK button
+sub radioDialog(title, message)
+    dialog = createObject("roSGNode", "RadioDialog")
+    dlgPalette = createObject("roSGNode", "RSGPalette")
+    dlgPalette.colors = {
+        DialogBackgroundColor: "0x262828FF",
+        DialogFocusColor: "0xcececeFF",
+        DialogFocusItemColor: "0x202020FF",
+        DialogSecondaryTextColor: "0xf8f8f8ff",
+        DialogSecondaryItemColor: "#00a4dcFF",
+        DialogTextColor: "0xeeeeeeFF"
+    }
+    dialog.palette = dlgPalette
+    dialog.observeField("buttonSelected", "dismissDialog")
+    dialog.title = title
+    dialog.contentData = message
+    dialog.buttons = [tr("OK")]
+
+    m.scene.dialog = dialog
+end sub
+
+'
+' Display dialog to user with an OK button
+sub optionDialog(title, message, buttons)
+    m.top.dataReturned = false
+    m.top.returnData = invalid
+    m.userselection = false
+
+    dialog = createObject("roSGNode", "StandardMessageDialog")
+    dlgPalette = createObject("roSGNode", "RSGPalette")
+    dlgPalette.colors = {
+        DialogBackgroundColor: "0x262828FF",
+        DialogFocusColor: "0xcececeFF",
+        DialogFocusItemColor: "0x202020FF",
+        DialogSecondaryTextColor: "0xf8f8f8ff",
+        DialogSecondaryItemColor: "#00a4dcFF",
+        DialogTextColor: "0xeeeeeeFF"
+    }
+    dialog.palette = dlgPalette
+    dialog.observeField("buttonSelected", "optionSelected")
+    dialog.observeField("wasClosed", "optionClosed")
+    dialog.title = title
+    dialog.message = message
+    dialog.buttons = buttons
+
+    m.scene.dialog = dialog
+end sub
+
+'
+' Return button the user selected
+sub optionClosed()
+    if m.userselection then return
+
+    m.top.returnData = {
+        indexSelected: -1,
+        buttonSelected: ""
+    }
+    m.top.dataReturned = true
+end sub
+
+'
+' Return button the user selected
+sub optionSelected()
+    m.userselection = true
+    m.top.returnData = {
+        indexSelected: m.scene.dialog.buttonSelected,
+        buttonSelected: m.scene.dialog.buttons[m.scene.dialog.buttonSelected]
+    }
+    m.top.dataReturned = true
+
+    dismissDialog()
+end sub
+
+'
+' Close currently displayed dialog
+sub dismissDialog()
+    m.scene.dialog.close = true
+end sub
+
+'
+' Returns bool indicating if dialog is currently displayed
+function isDialogOpen() as boolean
+    return m.scene.dialog <> invalid
+end function
+
+
+
+ + + + + +
+
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_ScheduleProgramData.brs.html b/docs/api/components_data_ScheduleProgramData.brs.html index 4dfd3d2a3..f611f151c 100644 --- a/docs/api/components_data_ScheduleProgramData.brs.html +++ b/docs/api/components_data_ScheduleProgramData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/ScheduleProgramData.brs
On this page

components_data_ScheduleProgramData.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/ScheduleProgramData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/ScheduleProgramData.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
@@ -47,4 +117,138 @@
         end if
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_SearchData.brs.html b/docs/api/components_data_SearchData.brs.html index 142a3b652..ec4ff6bbb 100644 --- a/docs/api/components_data_SearchData.brs.html +++ b/docs/api/components_data_SearchData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/SearchData.brs
On this page

components_data_SearchData.brs

sub setFields()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/SearchData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/SearchData.brs

+ +
+
+
sub setFields()
     datum = m.top.json
 
     m.top.id = datum.id
@@ -15,4 +85,138 @@
         m.top.posterURL = ""
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_SeriesData.brs.html b/docs/api/components_data_SeriesData.brs.html index 3d178be95..7955754ae 100644 --- a/docs/api/components_data_SeriesData.brs.html +++ b/docs/api/components_data_SeriesData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/SeriesData.brs
On this page

components_data_SeriesData.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/SeriesData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/SeriesData.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
@@ -53,4 +123,138 @@
 
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_TVEpisode.brs.html b/docs/api/components_data_TVEpisode.brs.html index ae2b8e1c3..0f88beb9e 100644 --- a/docs/api/components_data_TVEpisode.brs.html +++ b/docs/api/components_data_TVEpisode.brs.html @@ -1,6 +1,76 @@ -Source: components/data/TVEpisode.brs
On this page

components_data_TVEpisode.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/TVEpisode.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/TVEpisode.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
@@ -25,4 +95,138 @@
         m.top.posterURL = ImageURL(m.top.json.id, "Primary", imgParams)
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_TVEpisodeData.brs.html b/docs/api/components_data_TVEpisodeData.brs.html index 369772c15..2eb894990 100644 --- a/docs/api/components_data_TVEpisodeData.brs.html +++ b/docs/api/components_data_TVEpisodeData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/TVEpisodeData.brs
On this page

components_data_TVEpisodeData.brs

sub setFields()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/TVEpisodeData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/TVEpisodeData.brs

+ +
+
+
sub setFields()
     datum = m.top.json
 
     m.top.id = datum.id
@@ -18,4 +88,138 @@
         m.top.posterURL = ""
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_TVSeasonData.brs.html b/docs/api/components_data_TVSeasonData.brs.html index 0bf2d3388..072ddb7fb 100644 --- a/docs/api/components_data_TVSeasonData.brs.html +++ b/docs/api/components_data_TVSeasonData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/TVSeasonData.brs
On this page

components_data_TVSeasonData.brs

sub setFields()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/TVSeasonData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/TVSeasonData.brs

+ +
+
+
sub setFields()
     datum = m.top.json
 
     m.top.id = datum.id
@@ -18,4 +88,138 @@
     end if
 
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_UserData.brs.html b/docs/api/components_data_UserData.brs.html index a47bed177..707fae0bd 100644 --- a/docs/api/components_data_UserData.brs.html +++ b/docs/api/components_data_UserData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/UserData.brs
On this page

components_data_UserData.brs

import "pkg:/source/utils/config.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/UserData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/UserData.brs

+ +
+
+
import "pkg:/source/utils/config.brs"
 
 sub setDataFromJSON()
     json = m.top.json
@@ -64,4 +134,138 @@
 sub setServer(hostname as string)
     m.top.server = hostname
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_data_VideoData.brs.html b/docs/api/components_data_VideoData.brs.html index 5306ea1b7..f48aecfcc 100644 --- a/docs/api/components_data_VideoData.brs.html +++ b/docs/api/components_data_VideoData.brs.html @@ -1,6 +1,76 @@ -Source: components/data/VideoData.brs
On this page

components_data_VideoData.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/data/VideoData.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/data/VideoData.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
@@ -25,4 +95,138 @@
         m.top.posterURL = ImageURL(m.top.json.id, "Primary", imgParams)
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_extras_ExtrasItem.brs.html b/docs/api/components_extras_ExtrasItem.brs.html index b740ee28d..61eec600d 100644 --- a/docs/api/components_extras_ExtrasItem.brs.html +++ b/docs/api/components_extras_ExtrasItem.brs.html @@ -1,6 +1,76 @@ -Source: components/extras/ExtrasItem.brs
On this page

components_extras_ExtrasItem.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/extras/ExtrasItem.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/extras/ExtrasItem.brs

+ +
+
+
sub init()
     m.posterImg = m.top.findNode("posterImg")
     m.name = m.top.findNode("pLabel")
     m.role = m.top.findNode("subTitle")
@@ -37,4 +107,138 @@
         txt2Speech.Say(m.role.text)
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_extras_ExtrasRowList.brs.html b/docs/api/components_extras_ExtrasRowList.brs.html index 566abf894..0292aaa3c 100644 --- a/docs/api/components_extras_ExtrasRowList.brs.html +++ b/docs/api/components_extras_ExtrasRowList.brs.html @@ -1,6 +1,76 @@ -Source: components/extras/ExtrasRowList.brs
On this page

components_extras_ExtrasRowList.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/extras/ExtrasRowList.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/extras/ExtrasRowList.brs

+ +
+
+
sub init()
     m.top.visible = true
     updateSize()
     m.top.rowFocusAnimationStyle = "fixedFocus"
@@ -209,4 +279,138 @@
 sub onRowItemSelected()
     m.top.selectedItem = m.top.content.getChild(m.top.rowItemSelected[0]).getChild(m.top.rowItemSelected[1])
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_home_Home.brs.html b/docs/api/components_home_Home.brs.html index 049f2fbe2..ccf21feb7 100644 --- a/docs/api/components_home_Home.brs.html +++ b/docs/api/components_home_Home.brs.html @@ -1,6 +1,76 @@ -Source: components/home/Home.brs
On this page

components_home_Home.brs

import "pkg:/source/api/baserequest.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/home/Home.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/home/Home.brs

+ +
+
+
import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/utils/misc.brs"
 
@@ -20,4 +90,138 @@
 sub loadLibraries()
     m.top.findNode("homeRows").callFunc("loadLibraries")
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_home_HomeItem.brs.html b/docs/api/components_home_HomeItem.brs.html index a87c99d7c..e36f9932a 100644 --- a/docs/api/components_home_HomeItem.brs.html +++ b/docs/api/components_home_HomeItem.brs.html @@ -1,6 +1,76 @@ -Source: components/home/HomeItem.brs
On this page

components_home_HomeItem.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/home/HomeItem.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/home/HomeItem.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/utils/misc.brs"
@@ -296,4 +366,138 @@
         m.itemIcon.visible = true
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_home_HomeRows.brs.html b/docs/api/components_home_HomeRows.brs.html index ae7d10c56..8a1d1c58e 100644 --- a/docs/api/components_home_HomeRows.brs.html +++ b/docs/api/components_home_HomeRows.brs.html @@ -1,6 +1,76 @@ -Source: components/home/HomeRows.brs
On this page

components_home_HomeRows.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/home/HomeRows.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/home/HomeRows.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 
 sub init()
     m.top.itemComponentName = "HomeItem"
@@ -476,4 +546,138 @@
     end for
     return newNodeArray
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_home_LoadItemsTask.brs.html b/docs/api/components_home_LoadItemsTask.brs.html index a91b43a6f..e022b7b4e 100644 --- a/docs/api/components_home_LoadItemsTask.brs.html +++ b/docs/api/components_home_LoadItemsTask.brs.html @@ -1,6 +1,76 @@ -Source: components/home/LoadItemsTask.brs
On this page

components_home_LoadItemsTask.brs

import "pkg:/source/api/Items.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/home/LoadItemsTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/home/LoadItemsTask.brs

+ +
+
+
import "pkg:/source/api/Items.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/utils/misc.brs"
@@ -267,4 +337,138 @@
         end for
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_liveTv_LoadChannelsTask.brs.html b/docs/api/components_liveTv_LoadChannelsTask.brs.html index 4dc9d59c2..844427fd6 100644 --- a/docs/api/components_liveTv_LoadChannelsTask.brs.html +++ b/docs/api/components_liveTv_LoadChannelsTask.brs.html @@ -1,6 +1,76 @@ -Source: components/liveTv/LoadChannelsTask.brs
On this page

components_liveTv_LoadChannelsTask.brs

import "pkg:/source/api/baserequest.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/liveTv/LoadChannelsTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/liveTv/LoadChannelsTask.brs

+ +
+
+
import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
 sub init()
@@ -72,4 +142,138 @@
     end for
     m.top.channels = results
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_liveTv_LoadProgramDetailsTask.brs.html b/docs/api/components_liveTv_LoadProgramDetailsTask.brs.html index 228f873b1..4d45a380c 100644 --- a/docs/api/components_liveTv_LoadProgramDetailsTask.brs.html +++ b/docs/api/components_liveTv_LoadProgramDetailsTask.brs.html @@ -1,6 +1,76 @@ -Source: components/liveTv/LoadProgramDetailsTask.brs
On this page

components_liveTv_LoadProgramDetailsTask.brs

import "pkg:/source/api/baserequest.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/liveTv/LoadProgramDetailsTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/liveTv/LoadProgramDetailsTask.brs

+ +
+
+
import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
 sub init()
@@ -44,4 +114,138 @@
     m.top.programDetails = program
 
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_liveTv_LoadSheduleTask.brs.html b/docs/api/components_liveTv_LoadSheduleTask.brs.html index eefd2633b..f6a250c92 100644 --- a/docs/api/components_liveTv_LoadSheduleTask.brs.html +++ b/docs/api/components_liveTv_LoadSheduleTask.brs.html @@ -1,6 +1,76 @@ -Source: components/liveTv/LoadSheduleTask.brs
On this page

components_liveTv_LoadSheduleTask.brs

import "pkg:/source/api/baserequest.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/liveTv/LoadSheduleTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/liveTv/LoadSheduleTask.brs

+ +
+
+
import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
 sub init()
@@ -50,4 +120,138 @@
     m.top.schedule = results
 
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_liveTv_ProgramDetails.brs.html b/docs/api/components_liveTv_ProgramDetails.brs.html index 25c4b352e..3d57dbeba 100644 --- a/docs/api/components_liveTv_ProgramDetails.brs.html +++ b/docs/api/components_liveTv_ProgramDetails.brs.html @@ -1,6 +1,76 @@ -Source: components/liveTv/ProgramDetails.brs
On this page

components_liveTv_ProgramDetails.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/liveTv/ProgramDetails.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/liveTv/ProgramDetails.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "pkg:/source/utils/config.brs"
 
 sub init()
@@ -374,4 +444,138 @@
     return false
 end function
 
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_liveTv_RecordProgramTask.brs.html b/docs/api/components_liveTv_RecordProgramTask.brs.html index c6d66a638..1e40d7fda 100644 --- a/docs/api/components_liveTv_RecordProgramTask.brs.html +++ b/docs/api/components_liveTv_RecordProgramTask.brs.html @@ -1,6 +1,76 @@ -Source: components/liveTv/RecordProgramTask.brs
On this page

components_liveTv_RecordProgramTask.brs

import "pkg:/source/api/baserequest.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/liveTv/RecordProgramTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/liveTv/RecordProgramTask.brs

+ +
+
+
import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/roku_modules/log/LogMixin.brs"
 
@@ -60,4 +130,138 @@
 
     m.top.recordOperationDone = true
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_liveTv_schedule.brs.html b/docs/api/components_liveTv_schedule.brs.html index 9112a09e0..f6c44cd37 100644 --- a/docs/api/components_liveTv_schedule.brs.html +++ b/docs/api/components_liveTv_schedule.brs.html @@ -1,6 +1,76 @@ -Source: components/liveTv/schedule.brs
On this page

components_liveTv_schedule.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/liveTv/schedule.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/liveTv/schedule.brs

+ +
+
+
sub init()
     m.EPGLaunchCompleteSignaled = false
     m.scheduleGrid = m.top.findNode("scheduleGrid")
     m.detailsPane = m.top.findNode("detailsPane")
@@ -305,4 +375,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_login_UserItem.brs.html b/docs/api/components_login_UserItem.brs.html index 1e594863c..31a5d0b33 100644 --- a/docs/api/components_login_UserItem.brs.html +++ b/docs/api/components_login_UserItem.brs.html @@ -1,6 +1,76 @@ -Source: components/login/UserItem.brs
On this page

components_login_UserItem.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/login/UserItem.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/login/UserItem.brs

+ +
+
+
sub init()
 end sub
 
 sub itemContentChanged()
@@ -17,4 +87,138 @@
     end if
     profileName.text = itemData.name
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_login_UserRow.brs.html b/docs/api/components_login_UserRow.brs.html index 67e50bb20..88409a5cd 100644 --- a/docs/api/components_login_UserRow.brs.html +++ b/docs/api/components_login_UserRow.brs.html @@ -1,6 +1,76 @@ -Source: components/login/UserRow.brs
On this page

components_login_UserRow.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/login/UserRow.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/login/UserRow.brs

+ +
+
+
sub init()
     m.top.itemComponentName = "UserItem"
     m.top.content = SetData()
     m.top.observeField("itemSelected", "SetUser")
@@ -53,4 +123,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_login_UserSelect.brs.html b/docs/api/components_login_UserSelect.brs.html index 30dfaf904..141121645 100644 --- a/docs/api/components_login_UserSelect.brs.html +++ b/docs/api/components_login_UserSelect.brs.html @@ -1,6 +1,76 @@ -Source: components/login/UserSelect.brs
On this page

components_login_UserSelect.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/login/UserSelect.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/login/UserSelect.brs

+ +
+
+
sub init()
     m.top.optionsAvailable = false
 end sub
 
@@ -41,4 +111,138 @@
     end if
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_manager_QueueManager.brs.html b/docs/api/components_manager_QueueManager.brs.html index be25c5cd0..19691cec5 100644 --- a/docs/api/components_manager_QueueManager.brs.html +++ b/docs/api/components_manager_QueueManager.brs.html @@ -1,6 +1,76 @@ -Source: components/manager/QueueManager.brs
On this page

components_manager_QueueManager.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/manager/QueueManager.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/manager/QueueManager.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "ViewCreator.brs"
 import "pkg:/source/api/Items.brs"
 import "pkg:/source/api/baserequest.brs"
@@ -243,4 +313,138 @@
 
     return ""
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_manager_ViewCreator.brs.html b/docs/api/components_manager_ViewCreator.brs.html index de06495ba..116710fa6 100644 --- a/docs/api/components_manager_ViewCreator.brs.html +++ b/docs/api/components_manager_ViewCreator.brs.html @@ -1,6 +1,76 @@ -Source: components/manager/ViewCreator.brs
On this page

components_manager_ViewCreator.brs

' Play Audio
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/manager/ViewCreator.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/manager/ViewCreator.brs

+ +
+
+
' Play Audio
 sub CreateAudioPlayerView()
     m.view = CreateObject("roSGNode", "AudioPlayerView")
     m.view.observeField("state", "onStateChange")
@@ -188,4 +258,138 @@
     end for
     return -1
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_mediaPlayers_AudioPlayer.brs.html b/docs/api/components_mediaPlayers_AudioPlayer.brs.html index 9be4c0dbc..81ce14cba 100644 --- a/docs/api/components_mediaPlayers_AudioPlayer.brs.html +++ b/docs/api/components_mediaPlayers_AudioPlayer.brs.html @@ -1,6 +1,76 @@ -Source: components/mediaPlayers/AudioPlayer.brs
On this page

components_mediaPlayers_AudioPlayer.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/mediaPlayers/AudioPlayer.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/mediaPlayers/AudioPlayer.brs

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

components_movies_AudioTrackListItem.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/movies/AudioTrackListItem.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/movies/AudioTrackListItem.brs

+ +
+
+
sub init()
     m.title = m.top.findNode("title")
     m.description = m.top.findNode("description")
     m.selectedIcon = m.top.findNode("selectedIcon")
@@ -33,4 +103,138 @@
     end if
 
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_movies_MovieDetails.brs.html b/docs/api/components_movies_MovieDetails.brs.html index d1e004b8b..ddd702e46 100644 --- a/docs/api/components_movies_MovieDetails.brs.html +++ b/docs/api/components_movies_MovieDetails.brs.html @@ -1,6 +1,76 @@ -Source: components/movies/MovieDetails.brs
On this page

components_movies_MovieDetails.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/movies/MovieDetails.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/movies/MovieDetails.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "pkg:/source/utils/config.brs"
 
 sub init()
@@ -390,4 +460,138 @@
     end if
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_movies_MovieOptions.brs.html b/docs/api/components_movies_MovieOptions.brs.html index 07616b7b9..9a764de86 100644 --- a/docs/api/components_movies_MovieOptions.brs.html +++ b/docs/api/components_movies_MovieOptions.brs.html @@ -1,6 +1,76 @@ -Source: components/movies/MovieOptions.brs
On this page

components_movies_MovieOptions.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/movies/MovieOptions.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/movies/MovieOptions.brs

+ +
+
+
sub init()
 
     m.buttons = m.top.findNode("buttons")
     m.buttons.buttons = [tr("Video"), tr("Audio")]
@@ -155,4 +225,138 @@
     return false
 
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_movies_VideoTrackListItem.brs.html b/docs/api/components_movies_VideoTrackListItem.brs.html index fbfaaca78..aa3d95c47 100644 --- a/docs/api/components_movies_VideoTrackListItem.brs.html +++ b/docs/api/components_movies_VideoTrackListItem.brs.html @@ -1,6 +1,76 @@ -Source: components/movies/VideoTrackListItem.brs
On this page

components_movies_VideoTrackListItem.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/movies/VideoTrackListItem.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/movies/VideoTrackListItem.brs

+ +
+
+
sub init()
     m.title = m.top.findNode("title")
     m.description = m.top.findNode("description")
     m.selectedIcon = m.top.findNode("selectedIcon")
@@ -33,4 +103,138 @@
     end if
 
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_music_AlbumGrid.brs.html b/docs/api/components_music_AlbumGrid.brs.html index 785c3e1cc..7db9be30a 100644 --- a/docs/api/components_music_AlbumGrid.brs.html +++ b/docs/api/components_music_AlbumGrid.brs.html @@ -1,6 +1,76 @@ -Source: components/music/AlbumGrid.brs
On this page

components_music_AlbumGrid.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/music/AlbumGrid.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/music/AlbumGrid.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 
 sub init()
     getData()
@@ -69,4 +139,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_music_AlbumTrackList.brs.html b/docs/api/components_music_AlbumTrackList.brs.html index bb40249cc..901acb97e 100644 --- a/docs/api/components_music_AlbumTrackList.brs.html +++ b/docs/api/components_music_AlbumTrackList.brs.html @@ -1,6 +1,76 @@ -Source: components/music/AlbumTrackList.brs
On this page

components_music_AlbumTrackList.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/music/AlbumTrackList.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/music/AlbumTrackList.brs

+ +
+
+
sub init()
     m.top.content = getData()
     m.top.setfocus(true)
 end sub
@@ -25,4 +95,138 @@
 
     return data
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_music_AlbumView.brs.html b/docs/api/components_music_AlbumView.brs.html index 6995033ca..051443584 100644 --- a/docs/api/components_music_AlbumView.brs.html +++ b/docs/api/components_music_AlbumView.brs.html @@ -1,6 +1,76 @@ -Source: components/music/AlbumView.brs
On this page

components_music_AlbumView.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/music/AlbumView.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/music/AlbumView.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 
 sub init()
     m.top.optionsAvailable = false
@@ -177,4 +247,138 @@
 sub OnScreenHidden()
     m.spinner.visible = false
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_music_ArtistView.brs.html b/docs/api/components_music_ArtistView.brs.html index 71e85a274..5f2aa177f 100644 --- a/docs/api/components_music_ArtistView.brs.html +++ b/docs/api/components_music_ArtistView.brs.html @@ -1,6 +1,76 @@ -Source: components/music/ArtistView.brs
On this page

components_music_ArtistView.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/music/ArtistView.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/music/ArtistView.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 
 sub init()
     m.top.optionsAvailable = false
@@ -317,4 +387,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_music_AudioPlayerView.brs.html b/docs/api/components_music_AudioPlayerView.brs.html index 180d201d5..fb831dcc8 100644 --- a/docs/api/components_music_AudioPlayerView.brs.html +++ b/docs/api/components_music_AudioPlayerView.brs.html @@ -1,6 +1,76 @@ -Source: components/music/AudioPlayerView.brs
On this page

components_music_AudioPlayerView.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/music/AudioPlayerView.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/music/AudioPlayerView.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
@@ -598,4 +668,138 @@
     WriteAsciiFile("tmp:/scene.temp", "")
     MoveFile("tmp:/scene.temp", "tmp:/scene")
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_music_LoadScreenSaverTimeoutTask.brs.html b/docs/api/components_music_LoadScreenSaverTimeoutTask.brs.html index d75068d5f..9de2cb34b 100644 --- a/docs/api/components_music_LoadScreenSaverTimeoutTask.brs.html +++ b/docs/api/components_music_LoadScreenSaverTimeoutTask.brs.html @@ -1,6 +1,76 @@ -Source: components/music/LoadScreenSaverTimeoutTask.brs
On this page

components_music_LoadScreenSaverTimeoutTask.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/music/LoadScreenSaverTimeoutTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/music/LoadScreenSaverTimeoutTask.brs

+ +
+
+
sub init()
     m.top.functionName = "getScreensaverTimeout"
 end sub
 
@@ -8,4 +78,138 @@
     appinfo = CreateObject("roAppManager")
     m.top.content = appinfo.GetScreensaverTimeout() * 60
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_music_PlaylistView.brs.html b/docs/api/components_music_PlaylistView.brs.html index a9c745af7..aff3e12e9 100644 --- a/docs/api/components_music_PlaylistView.brs.html +++ b/docs/api/components_music_PlaylistView.brs.html @@ -1,6 +1,76 @@ -Source: components/music/PlaylistView.brs
On this page

components_music_PlaylistView.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/music/PlaylistView.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/music/PlaylistView.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 
 sub init()
     m.top.optionsAvailable = false
@@ -168,4 +238,138 @@
 sub OnScreenHidden()
     m.spinner.visible = false
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_music_SongItem.brs.html b/docs/api/components_music_SongItem.brs.html index 09b0a83ff..44bb56ca0 100644 --- a/docs/api/components_music_SongItem.brs.html +++ b/docs/api/components_music_SongItem.brs.html @@ -1,6 +1,76 @@ -Source: components/music/SongItem.brs
On this page

components_music_SongItem.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/music/SongItem.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/music/SongItem.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 
 sub init()
     m.itemText = m.top.findNode("itemText")
@@ -31,4 +101,138 @@
     m.trackNumber.color = color
     m.tracklength.color = color
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_options_OptionNode.brs.html b/docs/api/components_options_OptionNode.brs.html index d6be3154c..df1f22525 100644 --- a/docs/api/components_options_OptionNode.brs.html +++ b/docs/api/components_options_OptionNode.brs.html @@ -1,5 +1,209 @@ -Source: components/options/OptionNode.brs
On this page

components_options_OptionNode.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/options/OptionNode.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/options/OptionNode.brs

+ +
+
+
sub init()
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_options_OptionsSlider.brs.html b/docs/api/components_options_OptionsSlider.brs.html index b2ea84e89..b904613d3 100644 --- a/docs/api/components_options_OptionsSlider.brs.html +++ b/docs/api/components_options_OptionsSlider.brs.html @@ -1,6 +1,76 @@ -Source: components/options/OptionsSlider.brs
On this page

components_options_OptionsSlider.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/options/OptionsSlider.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/options/OptionsSlider.brs

+ +
+
+
sub init()
     m.top.visible = false
 
     panel = m.top.findNode("panel")
@@ -41,4 +111,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_photos_LoadPhotoTask.brs.html b/docs/api/components_photos_LoadPhotoTask.brs.html index 0a84b5687..8ff11e004 100644 --- a/docs/api/components_photos_LoadPhotoTask.brs.html +++ b/docs/api/components_photos_LoadPhotoTask.brs.html @@ -1,6 +1,76 @@ -Source: components/photos/LoadPhotoTask.brs
On this page

components_photos_LoadPhotoTask.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/photos/LoadPhotoTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/photos/LoadPhotoTask.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/api/baserequest.brs"
 
@@ -20,4 +90,138 @@
         m.top.results = invalid
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_photos_PhotoDetails.brs.html b/docs/api/components_photos_PhotoDetails.brs.html index e2ab99b44..ee3e4d1b2 100644 --- a/docs/api/components_photos_PhotoDetails.brs.html +++ b/docs/api/components_photos_PhotoDetails.brs.html @@ -1,6 +1,76 @@ -Source: components/photos/PhotoDetails.brs
On this page

components_photos_PhotoDetails.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/photos/PhotoDetails.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/photos/PhotoDetails.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "pkg:/source/utils/config.brs"
 
 sub init()
@@ -126,4 +196,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_quickConnect_QuickConnect.brs.html b/docs/api/components_quickConnect_QuickConnect.brs.html index 4e25883e0..06c031e4f 100644 --- a/docs/api/components_quickConnect_QuickConnect.brs.html +++ b/docs/api/components_quickConnect_QuickConnect.brs.html @@ -1,6 +1,76 @@ -Source: components/quickConnect/QuickConnect.brs
On this page

components_quickConnect_QuickConnect.brs

import "pkg:/source/api/userauth.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/quickConnect/QuickConnect.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/quickConnect/QuickConnect.brs

+ +
+
+
import "pkg:/source/api/userauth.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 
@@ -17,4 +87,138 @@
         m.top.authenticated = -1
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_quickConnect_QuickConnectDialog.brs.html b/docs/api/components_quickConnect_QuickConnectDialog.brs.html index 31fdf84d5..78d0a288b 100644 --- a/docs/api/components_quickConnect_QuickConnectDialog.brs.html +++ b/docs/api/components_quickConnect_QuickConnectDialog.brs.html @@ -1,6 +1,76 @@ -Source: components/quickConnect/QuickConnectDialog.brs
On this page

components_quickConnect_QuickConnectDialog.brs

import "pkg:/source/api/userauth.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/quickConnect/QuickConnectDialog.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/quickConnect/QuickConnectDialog.brs

+ +
+
+
import "pkg:/source/api/userauth.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/utils/session.bs"
@@ -71,4 +141,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_search_SearchResults.brs.html b/docs/api/components_search_SearchResults.brs.html index 20399694e..70712157c 100644 --- a/docs/api/components_search_SearchResults.brs.html +++ b/docs/api/components_search_SearchResults.brs.html @@ -1,6 +1,76 @@ -Source: components/search/SearchResults.brs
On this page

components_search_SearchResults.brs

import "pkg:/source/api/Items.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/search/SearchResults.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/search/SearchResults.brs

+ +
+
+
import "pkg:/source/api/Items.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/api/Image.brs"
@@ -66,4 +136,138 @@
     return false
 
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_search_SearchRow.brs.html b/docs/api/components_search_SearchRow.brs.html index eac86d400..fd92744b9 100644 --- a/docs/api/components_search_SearchRow.brs.html +++ b/docs/api/components_search_SearchRow.brs.html @@ -1,6 +1,76 @@ -Source: components/search/SearchRow.brs
On this page

components_search_SearchRow.brs

import "pkg:/source/api/Items.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/search/SearchRow.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/search/SearchRow.brs

+ +
+
+
import "pkg:/source/api/Items.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/api/Image.brs"
@@ -95,4 +165,138 @@
     end for
 end sub
 
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_search_SearchTask.brs.html b/docs/api/components_search_SearchTask.brs.html index 13642fea1..f9968f29e 100644 --- a/docs/api/components_search_SearchTask.brs.html +++ b/docs/api/components_search_SearchTask.brs.html @@ -1,6 +1,76 @@ -Source: components/search/SearchTask.brs
On this page

components_search_SearchTask.brs

import "pkg:/source/api/Items.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/search/SearchTask.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/search/SearchTask.brs

+ +
+
+
import "pkg:/source/api/Items.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/api/Image.brs"
@@ -15,4 +85,138 @@
         m.top.results = searchMedia(m.top.query)
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_section_section.brs.html b/docs/api/components_section_section.brs.html index 3717347ec..614afc25a 100644 --- a/docs/api/components_section_section.brs.html +++ b/docs/api/components_section_section.brs.html @@ -1,6 +1,76 @@ -Source: components/section/section.brs
On this page

components_section_section.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/section/section.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/section/section.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 
 sub init()
     m.showFromBottomAnimation = m.top.findNode("showFromBottomAnimation")
@@ -97,4 +167,138 @@
         end if
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_section_sectionScroller.brs.html b/docs/api/components_section_sectionScroller.brs.html index e327199bf..a87e849db 100644 --- a/docs/api/components_section_sectionScroller.brs.html +++ b/docs/api/components_section_sectionScroller.brs.html @@ -1,6 +1,76 @@ -Source: components/section/sectionScroller.brs
On this page

components_section_sectionScroller.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/section/sectionScroller.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/section/sectionScroller.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 
 sub init()
     m.previouslyDisplayedSection = 0
@@ -60,4 +130,138 @@
 
     m.previouslyDisplayedSection = m.top.displayedIndex
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_settings_settings.brs.html b/docs/api/components_settings_settings.brs.html index 165c458c0..781b2f011 100644 --- a/docs/api/components_settings_settings.brs.html +++ b/docs/api/components_settings_settings.brs.html @@ -1,6 +1,76 @@ -Source: components/settings/settings.brs
On this page

components_settings_settings.brs

import "pkg:/source/utils/config.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/settings/settings.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/settings/settings.brs

+ +
+
+
import "pkg:/source/utils/config.brs"
 import "pkg:/source/utils/misc.brs"
 import "pkg:/source/roku_modules/log/LogMixin.brs"
 import "pkg:/source/api/sdk.bs"
@@ -229,4 +299,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_tvshows_TVEpisodeRow.brs.html b/docs/api/components_tvshows_TVEpisodeRow.brs.html index 78a98f25a..e59435b60 100644 --- a/docs/api/components_tvshows_TVEpisodeRow.brs.html +++ b/docs/api/components_tvshows_TVEpisodeRow.brs.html @@ -1,6 +1,76 @@ -Source: components/tvshows/TVEpisodeRow.brs
On this page

components_tvshows_TVEpisodeRow.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/tvshows/TVEpisodeRow.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/tvshows/TVEpisodeRow.brs

+ +
+
+
sub init()
     m.top.itemComponentName = "TVListDetails"
     m.top.content = setData()
 
@@ -62,4 +132,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_tvshows_TVEpisodeRowWithOptions.brs.html b/docs/api/components_tvshows_TVEpisodeRowWithOptions.brs.html index f238a77bc..79f05ae77 100644 --- a/docs/api/components_tvshows_TVEpisodeRowWithOptions.brs.html +++ b/docs/api/components_tvshows_TVEpisodeRowWithOptions.brs.html @@ -1,6 +1,76 @@ -Source: components/tvshows/TVEpisodeRowWithOptions.brs
On this page

components_tvshows_TVEpisodeRowWithOptions.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/tvshows/TVEpisodeRowWithOptions.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/tvshows/TVEpisodeRowWithOptions.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 
 sub init()
     m.rows = m.top.findNode("tvEpisodeRow")
@@ -123,4 +193,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_tvshows_TVEpisodes.brs.html b/docs/api/components_tvshows_TVEpisodes.brs.html index 462cd6802..70955c6c9 100644 --- a/docs/api/components_tvshows_TVEpisodes.brs.html +++ b/docs/api/components_tvshows_TVEpisodes.brs.html @@ -1,6 +1,76 @@ -Source: components/tvshows/TVEpisodes.brs
On this page

components_tvshows_TVEpisodes.brs

import "pkg:/source/api/Image.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/tvshows/TVEpisodes.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/tvshows/TVEpisodes.brs

+ +
+
+
import "pkg:/source/api/Image.brs"
 import "pkg:/source/api/baserequest.brs"
 import "pkg:/source/utils/config.brs"
 import "pkg:/source/utils/misc.brs"
@@ -90,4 +160,138 @@
     end if
     return handled
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_tvshows_TVListDetails.brs.html b/docs/api/components_tvshows_TVListDetails.brs.html index 6c39b091b..cf82feacf 100644 --- a/docs/api/components_tvshows_TVListDetails.brs.html +++ b/docs/api/components_tvshows_TVListDetails.brs.html @@ -1,6 +1,76 @@ -Source: components/tvshows/TVListDetails.brs
On this page

components_tvshows_TVListDetails.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/tvshows/TVListDetails.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/tvshows/TVListDetails.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "pkg:/source/utils/config.brs"
 
 sub init()
@@ -191,4 +261,138 @@
         end if
     end if
 end sub
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_tvshows_TVListOptions.brs.html b/docs/api/components_tvshows_TVListOptions.brs.html index e2a69809b..c3a633f3a 100644 --- a/docs/api/components_tvshows_TVListOptions.brs.html +++ b/docs/api/components_tvshows_TVListOptions.brs.html @@ -1,6 +1,76 @@ -Source: components/tvshows/TVListOptions.brs
On this page

components_tvshows_TVListOptions.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/tvshows/TVListOptions.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/tvshows/TVListOptions.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 
 sub init()
 
@@ -154,4 +224,138 @@
     return false
 
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_tvshows_TVSeasonRow.brs.html b/docs/api/components_tvshows_TVSeasonRow.brs.html index 5572ec61c..5d7b8b346 100644 --- a/docs/api/components_tvshows_TVSeasonRow.brs.html +++ b/docs/api/components_tvshows_TVSeasonRow.brs.html @@ -1,6 +1,76 @@ -Source: components/tvshows/TVSeasonRow.brs
On this page

components_tvshows_TVSeasonRow.brs

sub init()
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/tvshows/TVSeasonRow.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/tvshows/TVSeasonRow.brs

+ +
+
+
sub init()
     m.top.itemComponentName = "ListPoster"
     m.top.content = getData()
 
@@ -48,4 +118,138 @@
     m.top.content = data
     return data
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_tvshows_TVShowDescription.brs.html b/docs/api/components_tvshows_TVShowDescription.brs.html index dcc238e76..5075d658a 100644 --- a/docs/api/components_tvshows_TVShowDescription.brs.html +++ b/docs/api/components_tvshows_TVShowDescription.brs.html @@ -1,6 +1,76 @@ -Source: components/tvshows/TVShowDescription.brs
On this page

components_tvshows_TVShowDescription.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/tvshows/TVShowDescription.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/tvshows/TVShowDescription.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 
 sub init()
     buttons = m.top.findNode("buttons")
@@ -132,4 +202,138 @@
     end if
 end function
 
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_tvshows_TVShowDetails.brs.html b/docs/api/components_tvshows_TVShowDetails.brs.html index eeb32b66d..acf259c42 100644 --- a/docs/api/components_tvshows_TVShowDetails.brs.html +++ b/docs/api/components_tvshows_TVShowDetails.brs.html @@ -1,6 +1,76 @@ -Source: components/tvshows/TVShowDetails.brs
On this page

components_tvshows_TVShowDetails.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/tvshows/TVShowDetails.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/tvshows/TVShowDetails.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "pkg:/source/utils/config.brs"
 
 sub init()
@@ -229,4 +299,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/components_video_VideoPlayerView.brs.html b/docs/api/components_video_VideoPlayerView.brs.html index 55645dc6f..3b492197a 100644 --- a/docs/api/components_video_VideoPlayerView.brs.html +++ b/docs/api/components_video_VideoPlayerView.brs.html @@ -1,6 +1,76 @@ -Source: components/video/VideoPlayerView.brs
On this page

components_video_VideoPlayerView.brs

import "pkg:/source/utils/misc.brs"
+
+
+
+
+	
+	
+	jellyfin-roku api docs Source: components/video/VideoPlayerView.brs
+
+	
+	
+
+	
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+ + +

Source: components/video/VideoPlayerView.brs

+ +
+
+
import "pkg:/source/utils/misc.brs"
 import "pkg:/source/utils/config.brs"
 
 sub init()
@@ -404,4 +474,138 @@
 
     return false
 end function
-
Home
\ No newline at end of file +
+
+
+ + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/data/search.json b/docs/api/data/search.json deleted file mode 100644 index 1f0b7048e..000000000 --- a/docs/api/data/search.json +++ /dev/null @@ -1 +0,0 @@ -{"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:ChannelData","link":"ChannelData"},{"title":"module:ChannelData.setFields","link":"setFields"},{"title":"module:ChannelData.setPoster","link":"setPoster"},{"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.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:ConfigList.show_dialog","link":"show_dialog"},{"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.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.init","link":"init"},{"title":"module:Home.loadLibraries","link":"loadLibraries"},{"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.deleteFromSizeArray","link":"deleteFromSizeArray"},{"title":"module:HomeRows.filterNodeArray","link":"filterNodeArray"},{"title":"module:HomeRows.getRowIndex","link":"getRowIndex"},{"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.updateContinueItems","link":"updateContinueItems"},{"title":"module:HomeRows.updateFavoritesItems","link":"updateFavoritesItems"},{"title":"module:HomeRows.updateHomeRows","link":"updateHomeRows"},{"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: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.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"},{"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: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.init","link":"init"},{"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: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: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"},{"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.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 captain 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.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.showNextEpisodeButton","link":"showNextEpisodeButton","description":"

Runs Next Episode button animation and sets focus to button

"},{"title":"module:VideoPlayerView.showPlaybackErrorDialog","link":"showPlaybackErrorDialog"},{"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.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:deviceCapabilities","link":"deviceCapabilities"},{"title":"module:deviceCapabilities.GetBitRateLimit","link":"GetBitRateLimit"},{"title":"module:deviceCapabilities.GetDirectPlayProfiles","link":"GetDirectPlayProfiles"},{"title":"module:deviceCapabilities.PostDeviceProfile","link":"PostDeviceProfile","description":"

Send Device Profile information to server

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

Device Capabilities for Roku.\nThis will likely need further tweaking

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

Remove all decimals from a 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: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.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.standardize_jellyfin_url","link":"standardize_jellyfin_url","description":"

Take a jellyfin hostname and ensure it's a full url.\nprepend http or https and append default ports, and remove excess slashes

"},{"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.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: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.boolSettingChanged","link":"boolSettingChanged"},{"title":"module:settings.init","link":"init"},{"title":"module:settings.onKeyEvent","link":"onKeyEvent"},{"title":"module:settings.onKeyGridEscape","link":"onKeyGridEscape"},{"title":"module:settings.onKeyGridSubmit","link":"onKeyGridSubmit"},{"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.LoadUserPreferences","link":"LoadUserPreferences","description":"

Load and parse Display Settings from server

"},{"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/fonts/Inconsolata-Regular.ttf b/docs/api/fonts/Inconsolata-Regular.ttf deleted file mode 100644 index 457d262cf5ec2f0555fcb8d38fefaa67af315a11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97864 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 diff --git a/docs/api/fonts/OpenSans-Regular.ttf b/docs/api/fonts/OpenSans-Regular.ttf deleted file mode 100644 index e21ff5f1ec01719e9e699df260db5be8b220aa2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129796 zcma%k2SAh8_V{;8KsFmfAOYEgDT+bB!4O#r$`C|BRKTF%77<)HQPH|;)w(yR zt+jP^SXXyn?XK->``W&~XV-gG^6@|SehH@9zTY2(gm822x#ygF_PwDHMNta)!BYMs z(=$f&UOzpFLZ@me3cWOPY;M8fqx-(5(3xP0N}4^gplEo4;j)%O-|wU-S7B~JWK6et zSr~<;!|&9jg2L3o@`q`06nd~9elMRqv$FA8qF*cgy^o@p-zGQD_8&Sd>^gDLu?z41ag4nK5tb`N2o`0WL5{Zes0}%4)A&u@@** z(g=T#uZ0&}u8V&I_;ca+z}lI!=N9~sHXi>6WkqtMuPiV}Y}vvO{u z=%L%Q@Ow3k_ph&;K@)h~(rE8N-GFP-+EpfIdthiYT{p0@TVf7+Q?y?HGW? z=ouY+qh!OhAUYsuT9DwJ_20A`{)YF)0^5Fr_j*x&RFc^Xd3(z!KR*w(TA^@d#bT*c zCX;BDv``|ZhM9($6iJaLIsCf=n95D$hunlG(Wzk)CHaoiDRuB|V#v1|!LQ7_smP1F zRkWgrdn3OimwSNx(zx$Xc)_XyWGZMcKu&#Mq3Ge<8_Y89*b;6mI)%TNpu$Dy9G8i| z7jef>A<%3||0-51R8WCb7!^kan^j&B5y4?j-r+7nq*BO(#A4t*6?xkP=)q5gHVK|Y zMQ6kr48}N(Mk|k?<6`6E6XHy2_)P?_%6(~|vPdnDkB^Im-;Ht^yr9w0!lt)|XM8ZN z{rI@bQ_b_IpUR3&-#vEu+0yr~ESMKrH*tQ}R8#nrmbd9ZpS}K3GEx2=(lblzwlyclPG68&y)L`& z*YM){F>}^VFtec*McJ)mGM0|dtpZts-G!3L?vnH%vaxRSyNc{6elvl3q4K$lv@eWv zqa-~pEZ%^ylM7-M3RocsltQ7^8)!N|b@|k%H+H2it=Khnc`6-!7@1MP{Fk_>U-xjY zbDy`)MP6tKKuZB=5`ZSh&}fT*iVTHWRWvQq$14{h{DPkC-GAKd7(47X<>B%ksW$)PohkoK#dZP}bP{lPhoiuVUl%Q&E zX9>zMo@_#EVTKy&Yc`m@3=%Etl{h&Ggj6Knh=4ih2f1DjdO>cY*PxwT^(w9!?OerZ zR&vGY&`NX!-d(``7tN=Bq$HGckDwI{N+hVTsOTwL8LT>mPCzqV6bY%ih3a6Pp*{MT9!@ucOo~sF_W|YObn1NcZ}joz&3FXSy3{`aGf5BQB*hXL72V>X zW4qI%O(RB_qSI>!G%Es2LeX~#@1?!KdIU-kvjMgmeb@T=ep)9uhxZ5Q(VG4r*ihID zZj?XecHYNDU{MQPh}`2ntD=QikAvz_V6CnYs1$hHVm=!50YaJ$ji3G8(tYnut9bXs zv+vjTeVNiZYgXs5l+{g5tB2B`oZ-H`I^_(?`|&%JceaN+`NJ*l-z%0Qx7)8H*Hx>y z`>?*}0n;}C6BkNtmPjQMp)+ftoB;u>J%9m~dO22mu-8OJWTM~Lix|c)KKS5xv}QHy zoLn?A$Uj`Sd=`oZSX00z=s_>}P+GH8q7YcTXm4+Xfq}v|VZv4F;!p~#1|u&rrqHk^ zyq{qst97itZ#Y^pbIX`bbEoYsDjB?LSILT(r{ z`H8u+U%NJwyC%XsDg_#P!n_fbpV?KwdV7Nc3=9)kl+HFvf&u{xg!KoW3lun>6X=RH zJFf)|dVL%`!wL~l1Ki>+{dq%Bl?$6=F?q*OHeTfF(+Z&h$Z72=J_WESyCq40#1hkb!G@& z0x8vCJcSyNbA)Jxh_%o>!7-X3^;qonMCcLxrjy5l2D92Kl#KI;obpC**#j0gxW(OZ`SUD|;zKEPWYr8mnxJv=lTKk!9-y;zH@ z*nu)I3E65kUOb|UjT$1O5?kr`c-pk(<9Thr9I?EdHu}w~hJ$52S5h`d6(-Vuvz`w! z%w-l&xxA|T?wsJ@-C?mKH`aGOt#VGFPi*5xisi8W*?>(Ha4CR_#_LzeLqaqfq2AZU z;vyv0Dl~@o5@7uWu_+ADU#m7?cF-czBT>-@M9_#>F3c#k%9oxURJ`rWr^9Olf-0ge zyjL!g`b}CjvGvll#y8ea@9oG$Kdju}wW)e@zH#h)dRBYi-Th@wlJzdmd%5qA$K*xT zzPfhn$1VAL?{f!FoZ4`xU~%g3m9xPwqso9^VL&}0r8GMUXqp+=7?@g>2y~Jfp#ZwL z?@Q(l>oI}vw$=wXK$GAd9Rln019==md75RR?&5fs(!04>B6+h6+rhz@2}Q(_!1Cy5 z#u&SS2G2r9^QKIrC7XvH1%j5-mRr8HxaIu~JMPXJx2|yXypgkBxw?DLwgcH~DgsNF zrlTRv-J=(e$!<>HBDgtr$E=c$$;QwbUDXSECY7CBFlEb(px~*iCN}KIdw8&MjhO%a6*{r(kX<7dMIdz$J;Ob%x^*tN(h;MR*jc)?rn}Zbba;uUtkK{*@pnqhY zO)Pf@Xt)O1Ay|>Ck$8P<7M`@0SameJfX&E_rcU)0=B&^mdHq6dlj5+dOqk z9x#p>+0pmm{xYd#gNy4kNPRpiFS_>CHCsQKo4@bhsQARmjfe6V4;l4yFs;qlz}n;oCoyyuSe!pN;iWP~VygdQb+BIIksckFo*oyS{-bu(!Goi7PoEe?-?xJYnX93G zW<%HyK;{(ZX#rwbMu@H19b#aopg05)$A7HK*fz0tD_q15@L7VfidTWWpN8 zweLPmn1Yt0EY!4_3#{PA!F+!GUok_7oQGn4@8_r2he$2XO5SS&jgJEo;+H+r_(ZD` zg%3`e`VUm{_svQhGckDi{K?x#4$i;aeC6FC^;yG5c%B{}8=a969XlL#$Bu2PPE4Ix znp)csqhB5xf9YV^vYA5@i%L>-+}i`zm!_KgM+(midZ|<@mkKc}M`veiltC$s#VI4h zM<8%+jfjIadfo#223TV67#^@~Ai`<{RSV*P5yu*c!8!&T2~dV~pgw>lJ{b!yB&hMg zKw_H%O);zjk#Px1qO*j;^P$DdO3Lb`PKHg>cOIU8t)t{nj0({?3276fwsZGSo#gJn zFli(5xH11;N%4ov?sG@ZwS0k6U;i7*dhy|pb>*{Xik*E5!fTccra!DWyK&r%%-otc zjxB$q#aF@23^Gb*WKBCg;}VjstACyQ;ovRq-j?`)wxGzfsPM-tDE-G}r@803?HvnG ztVaSTm#Uq>G58X=2rhzrD8Q3*abXmo)daLf#E6N!3R?g6@QQ zz{>}1?<7_#y}cpV95`aF;FzdnGJ*Jp->Z19f+x&t)?c|Z*b zr2-$%O-Nhh0-oZ$kH_kDuuN7V!d{(TZt{oWz1-2CxhC}dXK47zo@LhazrKMYP$d12 z|8Qpy3eN50uH1hG7W8l?8ie;T%)sDiTuOPEorO+L2<(+bf^3suzGB}?j-6@p&HUE) zHWOi8NLN^&p&_Zz%^5dazjTD;g!i-^5&=ZwFboIWaUKq`93eo;tos0j_1i5xjRlE7 zV;#ms2MbrZFcxotjnF(MsXF<<)`6WvD2&a#odI$klZ5)4e(wH?du?wID)@2!N9Cz` z*J^wES2RC(W%9bg+)Ns<(vaB>Oc$l3~w*p~W&*;Nplk34<&3NJP*E&m8tC`}OPA`#X;u zNt&CCj=pBSK)<%e`U)(-n7VX0de6Gt&ew+kS3t?m!73o&A)?Q(L#MuegkA+}xwp+W zR)|-lrM%6qQfD<{#WD$P(YlGrn_^(=V*5~u^srws9)N=h9&w}=S1maA(9B+bkjWfMT{b85!7u!p1;b!IC6+nb*-0q{MmgDp zmuLuB@T0jP%m;1_d%5pRF(Vf2zQ%ZpXrW*adn zd?n}OD;ZO=ffi(Pp3aQ%zgjbj2YLF=J4kz|KbJiO=7 zXG()t=<4Jol{wQEDUl?c-N4odt3WV7*zp$tN%>fW9sytkLsx#X=gbjQ|MJsoUMRmH zIQPk&vV%)TTdxStZL}U6vZAqTJy|KYpR7~^8W;9n02pFc%{|^oB01aFzcgn{s6Dt(X&N8_x zXepVE(U=Yj9HR}ygnEQGCr=Fs%;KYib8Bbs znB-|~psTFA1?M(d-{@MmWg(X2X`t~DXroAwWH&cT6&CCvWCMK|i!*D}NJNrxScu7C ziwAMsV=zWAb{_z;eSE9|nLl5eMN7ZkRj_$sWY!1G_1kiXKh<8gZc=p1JFDirRuGqa zy1aa8dg}V-rM=~-qwV}8H($*@zqsUvFB17KGjgWphDJ`? ziZNAyj1&NUL^#@jBnl*g>{{2RbHRht(W{Pfv1}?AFYxc~hIc&=((MWFQi5GkI?)!H zgKT4UqxYwX;^7?_xxjN#-%H$m?(aumd3pI!n67Wkj-NV_;Wy?)U(SUal_#5+UVsW; zEa(r=L4b=B4Qj|j^Ri0#1JYwczBI%l35b2g`twoi&u7p$wa!x_@eEL-LO!?AH*|1a zRYb((>B-Dxfayz7q6~l;0-lFVtPNybLwwx;uB(mvwvY&5M=(YigGJP&^kuXu4AyY? z37w!6WpMM3a-X_r!Klzuxz>gI`Y5;X^!LtcxlAZMdyES6 z!Jwj?WLMY0+2g|cLSW6)BT5R#8jMB76T+F!zWT`0@wxiw8O_6(&44HP+w3;LQ;PL3 zEs%;?B*FTZwc%;kzkna$1^?M?SGYM`!&&qVm;54{i5hyjA#^*K)(7-O>+|$T>qr|# z=K)kP?0;t=Ljik5w1vR5DbrK{1;P#~mZ7NQJm+zQbH6~}r9bIgYJHuKWQeyu25`eP zbi(^v#IoSJ(PA-g<*_46;!?=4kjPZWX7o8RN~@T8t?vgWq?O&ht@R;dFo^ zqGV^Wn;?X=H%ZQbStf>^p3WtsSGZ4*p1UY~u=0UBmQS3~`Uu{Itsu#0@m8<^=nj?qEP&c15;JF5olZXb7>>F6H?SV8`dhIN4Y zfH|0sz7}Q`cY6VbozLDy-w1V}eHG`WEY<2NL=fYYLCA)c4al)t4ShHN z6{ahNx`*d(taD9*OKRMI1f)<(KC9izBL+RaEaNK_F`{&TkmEbA&1LG8%R8 z_907o*9CUMsVi3P-XVD*Bi7B_e@ZM)TW5(0SZs*5UKNR(XOvIayB9D#37W16aKUb+mz-qN(f+I=8;U72~2?|1F!cmTbs0#2^^dgWzoK+d94xl0t z?G%2b{m!qAw>sMnhPwpJMPIk98M^x1Q%`M$bnb$*#rn*t+?U)p&vR{+BQ^5`stUW{^wiDw7I%EN zCI6}Dn3!crmaSQ%H_jZtCMjWsYW{gqiI)V8fE;r?7m76^T?9=Rt+`%j zl`H$XdR_L*3lq=aUIPB(){;S{wVGKyvoj}rH{7(>0V2n;JA}L#afRXGR zjR{^>tJomkNrIS(WCArxds+~9hQ9dVyJfROho)tWn_hLH-6uI-h34My4gU0ML{zlN zm>GMe=Mwh;_s^9*B|~NxzLZ&?+5~16md@We>;P=F$l$zy z!MP!Yr`A~G=}W6tmi4w-ufZ%dwFlH(t>7L|-xYQlD`A8dny?mUe^LRU(w^i3-lC!d zMIp(_A)!f0?5Ky&v7^xTxWokT+!Nzq2la2@R0NhA<&CYs%2O(YaE50XNhS@1G`5IF z>5xMUHD!DInS;{{5189slS27vIF+kpg+!WN&HnySTD?A7RGAn@X0%Z%5Z0ie{LM-Q zPzu5wsaPm+ae=KX5fbr~gUKBr7a#C|Nx<l#`#pTl~Qa0QKnXV`*)ra**3B%C#&aR(3D#|W>&PBlV>SnKT*7{n@- zIw#ntI+4Xw2<{bd64zBjaaGbJ*J67Ew6$}Of5JP9@R~`>=dHD%Wd%iNpWELw>*)>8 znx^E;Y)=L?;-sryIAYOZgH!xPw)DlftTFVf9Uag0Sa;B`mNX|%IK9+*ksY-oX-sfg zMFk|IZE^+Jsj*zS3M~Q|sCc;(#?M}2!GwAYA%X>c?%H(_rE{C{y!si-+0skz@M3i5 zW$RUT)NYV0o2HrsGw{)pFXT5hf&qQaC&>6BE8dp^URe`w8FnB$X+--A&GqLyM$i9p zSN9j-X^!Y>vTPbLqHFfir)k5Ace`?Oy53#UYwcKW?PtH-yO z`#CdC2Ulst{-qr$mQFK0bZyJjm1$eqQtoT+?=Ns|5o02Z^&wn}FlKK|LG+s9lkNVU zm#gbvX}$V)z;G5|7z-HMt*gwU1{JCR>nehs4c3(q$@}(MhMw)+-JAx!Z=4#GJrzuh=kwgM zn#^6l-=QasKebH%?nmFh{`zM&nP3b=COph8AQMC+M50F|<0S%jEa-8L%T6i!8Qmyv zwbyW;;d6>(4z5;+0wyhCOGU!%B5~a0&LV3sJL<;JDY&8x^$cb<%rFRh#4?3Z!?OM! zB8!x@35H_??cN-s%7$BMb2XF&PAMLTJRNa;7lg0_!2{!g*gM_{1iN zyOg$P5O_hD6MD@>t8^8JSea5IyY&M1_Oab=K5Btj=&IC6Z}ePq^>G)7S&fg|p2OT* zG`%<^cl0o=c35U!h_wT-+BalQjlp9?ZmynQU|k+nTWJWWo|{6K0g`~F5iF(?tXhgQ zPEJCIj}Y__Nh|`qdg7t*QpSf|I3m!aUasRMq(lA}xem19CGIwN^CBHhYq<&Nfb}2N zH_#;x)05_uEDex-u=EOjyj@tzUG8derfh%-+yZ{3JWcs30ACr7Pe`E8{G<-_7K>!D zzJKrG^oA)LrbdqP)C>zqnK;~i2&}9GsSHS`fxm+1QFXy5K#qzoV$4YNT5T4 zQYmRm5J@u<_mRj(D$a~S>Ovm}6&Ip))Og3^CMB#RK`mv}8_8 zsH<(^1UG@xiN+aok80JALhlmGq!->D)WDi&f6b#nZUk=|#aHpa}iI zxzQ~`HHo@FIY#0_5BSaKht5u+`acf=<21ndx*cPQlef2z52XN%;q8zZeS~p=4buc@ zvm&S)<8Vq5D{zoiA;w*pmRXxHeP+Y7_}Z+6XDSjK^70xItIu#3SJNRy=_qpAVx_Zc zaV?6<7#D(8q7iFnaBq%+RRoV4!QH4^hokQrI*$!u3MdbtpR-D-WF*>Fh{4>n5HOmc z66AK9?{!Eec^*+5@BcbF;`E@ARgpO`tZXq1i84Lm5%%LNS25B1hQCqN_F1T-Ax-Hh8J(Eyh|bIMu+o_fbR3<6e7h%5#F( zBLkNEM7FNuzF6{UVMCf`+ge%r+=-trLD36OfGXCoI<+jr!#i)5OhM z!=Oz3hODf`nD)@K!8XEP(okV$HKkI?B_K_1usFHg8L3%|Gpvl?Qn+@#a=-|4sdtP4&o;O-+=cwiWc zcG&BzmCu7>W;blB}m=pPvlR@)`OD@npwf>o`N6iHe`<(hBl%m@hNTf=ba zLZeVaYM*5um9A|8JYSWDjEX1*7vdwJuz_ox;EEOQ!E^GLfPh6UZgaC-LJ(}USAEZOTL_1{Cl%U1Ijm83kYTMc; zYK@j0bA@TdhMA2;DG4}D z5gP^Z54otYh5G{ewLsJHI#e=;yN7(|a0lry^i(?cH1~7{+UoV_DeUbUBw_;@4X(=d zLT3ko&o@qxJ;FnrSyRGM+ei%6+wpt{cQExlg(C!%D0OkU_=NU(3`Wb;4wzp=WZprW{R zX8WHA(B8*H1$i@zmbF*T^5Ev+rcd-?{)n9PhqwPsfTlhnE2#g0P{j&`n~1ML<4iS( z1Sm3A`0y9jS*TiqZNVI7BK=?3F|L#s^s&29mo;JrD;kg^82u>ANZS5zX3rjfp>vZq zUYD&eFs!C?!n6;&4YjbngmX)p@W0?u-oLO2t6XvM_q7PzUAy(bX zES0e?E>0o|bmC*32y8Riy7!vmpfhYh@5)Uz%r&m+QSa)C6^xfd_i7ANNH+=Jfou`< z{6MffS0Zl#TlEz${<^q?KWm>6>F6fwrGMrZ>&6TpS`(KxWX-s?%?Z6D|1Th)(T9^sfV4Q^_A0JOomCIZ`1=GcR6+_BzI19(i z2X+~Whw><<<9j3>64?doyGl~>DvqAXS~fI&b;^vImKiNAwUtF?b3;OU${OK2i>nIj zltQ;@1udIBedqZHj?c=@sLM}FHHYd;!s9Vcj@fx6c77~7uZEBWd$S4X8&yVOQDB3A z_9%CuPUVwVGSrs$OXKKLj74tfyRCp`Xp z0h8h6RC%}e#gEG=*y-I+_-$vhgd)hqP&BUEctc+9DC~L-<#tx-CSfispzG{bjIF5^ z`zCzE0^Bhsn4qN)9qr!emnc^b@y!}Ly`ZEa9(o@-#w7Ml>`bgEG@XartC zHdBbc5MBYDr!YH7B~V(T=emGUd_}qx0e!4?!G4I0LFkJWG()RneP#|vQsI@pO>}(V zu%SN6LCTzR+)7NPfo^|Ma2={G?szXUjK+!VMc!v{aCve1$fkXu(Ej4_O`Ru?Y_428 z#@b&xb!u7Z)G6g`!~W-b4j<^r+g?9!(V}^C=g$TBIiR5r+cY$I7qpYaMMQzwlS%~6 z&}JQJ!s;2=jEo2+AOZit9Oe$rM!wv=*{FnT;Ev3}&*z|Vw1TV6Kvif`I#=uU=qc8% z!=ZJB@8Fh$oeHAj&E9HXUw3z9fR~p>!7vJEi;J_&iDg|8a)r)NaBJLdL81~rBt<6i zt}yPAFd@c)evknIKMeQvs`a2Fz@TBmA`w%+p>N}eN2Fav|H{>)EuF2cTn&=ajC80L z7ue`bJH1ue<riX-4Jqf!1z`S@mrdBOkuC_oW_{`h3Zki$uz9*+h~ARaHKI2QCN-cfHDdg zo0>8;Zg}$AqPES6byykMk@kv?2-heF*|GjJ4b=iv*HM%(7~%{D@J@vOyMuJ!NhAx~}4sv6GH5L+sqDMG}T_8NzdGu$S*Voqk;QfYK|D zh+k4wP^T2R)fTjDvA+5w_h>4PYhm)Cg5pPo!Z|M|ih{mM5%g7pY}>=fRKQs%!d@KS zLJ3+DoDk;-2Uw1QC7p-cDoc$k=8?9_OD)h=*^rr*;dweW4!2dtrP9Y@b7$MzDop`@ zY^y{Owzf*pN$@3b5p56}pteRK5tW8QPy?Kb@PINj6?!Ks`cK9*qsxCWX1yH_%A~#_ zWBi_glRYpdk9vWO34CHqs(lPqN5#Sz=iXp%evl(Z5`GjVLg1oNZBXanK+=}N9)b8A zP9Uk3PEKx&#D#%>0x0*(kgZV+k~H9nMn+<9j~L`iC}2a93|n{djUc)bF150p=+jg5 zN#I1mF_?1vTy>O=P)?`jCnJ>WhjWo=6~PGf3FdeI zUIIyio8WBx?gf=U+F?vHRrUCo{yQ+HL4+|Pa8PFd!pFzpt_wO@gfZghs^i`y7`b@x zlL1Dc`v-#r;yy|lXk_Rqbp|z{QaQQFXp7q3Er#ofM4hEVKP3c2xU~`|9H5B^vkO`) z<E*nztKfo5}SuAxX2(QYNpmEYqwOM2B7dfP_p?^`%0Gzb}S zzom^+f?*;oo6(pqC=U)x;eDWj7CAdzNY@#mON@=1SIHRYZ28ME&2%vt6a2&&OgjPx zWuhfyO!yOHFh2a4Jd{ty#5^$u)0fAmj=BY7oO|O3@q;jZ5!C^9LBe)JR2yhkikuK5 zmeK;T1egQof>;)JhQmg{Klp4c34Lr9_E4Xv zRAMVTncE4PeNq2a=u`U-_`CT0Uy|8-5Vosob$GZI46DU2Bt$9|ivt2APNbRX4mMBx zzfgzgVB#U%9Z1UHE^N|DigPy5NNX@6lD|^~sWe(d@_M#rzUIrBQ)kytoPZnpreDaa zYN{)n+>@AKtw`*e2z`Bh#@JYTcl_$2N9}zk(}wJw)yVG*Zt*ikbmnfZ;=VYy{BCw% zc5pau^=o@4hdE&g#@&9flSxk&;eDcw_v;BiJfT0!E+3DNX{HTijMo!mFz*Q*;C&7m zqkCcu<|{u}9kqk-HN=M>G@t|7c?6>&1fym&mq2oZ9wdSh>@CnOYz^64?s#vx3f-kb z_$LN9r0esM8pM>hH7WvM{8+eHXG;G3W{&2_2F6c@aLaEKth$Li*l~_C#eCdYoRFpBelm|s4Z0?AQ z>zE9RgEK;WECP9A;-i8w*RY<0i;4#O zb8cdBerV0ahb8R6RnKOobpV%1N03kll!x3X){fN2pwA^ek)-m*)BW)=&1m*tjPbX_ z0euaH1Ar6vI2^$zwlPAKHxrK-{KSa2?IWnVZzu9fYT6WrllSN6=DIAP6LbbVfzl$N9TM(Bz8 zv}@XpYosS8VfvWSGm@c$YUb7gfp}!+tZ4mWW88!(6Q^1)^KDe4Hq4-X4nH$_OFrJk z7EXoxmVjCiB4Im?%88xE9Y)X}2Ct8@@%=l(FM|U&9v{<;mj1;U%y$9@_Q9zwno}7#{|@PGC&h0W2F58ke_tzT@WLK!*{{LmwN_e-=iJ z69O&-h6pV5WP*#^BPjjfz!-0g3qOXc<4(gE=UxvNeh|zBT4WYbXQI#tJj7T^XI2KW zf+4H z*hNAgzs%58Q(H>@!F~1YOI%<3+|RZ>^>K?=dz2a3b87dLy!mQM z!}u8BJ?Y;e`z;Ui80AsN2tACC@n#Z{gM2&&ykTd44D?LcDUapAaZEFUGz@UZ_{112 z2Lukt!3{Dd{P8gaAAU?8wVRBId14Hf6+8xH#T|2JP&_{ba|cc)QdY=cJqyoprc4E$ zLX-xAL7c9DN(lV7ofRV~WIi(D)5-jEoW}BvNJ)tZOGyc{J<{t|uH+h$hNi~GrVdS_ zUrHKkj*T@BO@cWr{V%eU*bc}81VA(wXZG|l7&IDxf3?a@WHEYsOQ4Q1Xpobb^bt5% z_D5D8Tbf5E-VocpbP$|31} zFL`*QcY`JkhCY;TPfspPUzr4rDYT)te??HxysY-D+iggOf`bh$quWQ{SdzagmTvX( zy>~r#xyic3%e(F>)(E5nfN;Fn#&IAqaMKr>0qh)qd`vR}S%NWsPmIAFCvbq{@BKL( zvh(p6;HDmPGhD}m;rBJEY!iG+2|mpznZOAmIWK-clFk~)O?g9pSZ7uM^*u$nCDK)9 zaWWeD4h{%$NH@~}wV|cPcCLeTh~f@41w&G%xU~jbd$y_Z#;W3W=!b-g!@+~l%H+N4M-ewuxTXQ?nwCHsYq5oJd8+D0ePF#BnCSDxc`QXzm{O{k!kHay9VH&!$`j zs*+WZmEu*vN`YX`y(S~S2!5roEI0)7CQyt-o+umkB=)$~4$&a7wSr0*L+mlirY;a_ zggWe50!K7%08S1x++sM|C*XWD04Iln@-2)BcZ9>G;B$059Ed5$GH_59)>6);FdRF9 ze=mNWt|YIMb7#c=GVq+D)5yFAID=-F9MBa^7vUz@8_*|qn-NGFcX>MSaIi;6;DARs zjlcXAC{=&+!r58-OzgbrCrK3!f}BmB8_T44-ZX ze6py01dgu*KG$(vM9YDn4rRdev|@og3U&H@pafnGSUW5-H&v0wSJp{F*iKL6C#ZWXi#tC1h_ju;c= zHzRP_q6-%mJ=Bvf;a6VvfBWOFZ{7F^a0eK&cQo_R- zgEkR3j^5C9*cEU#k%vQeMJ|j1`@p5JxGP$Xtpl9XRp}LSxu2gQ+S^;hNDNX-gob#S zp|?oC2p47(BB~CpS+n5(NBZgSDM^M1px*Wl=bPA?a~`oaSUF@U+UJcyGYpf#x`G zkVxR*W1X;j(Jlff0uE8ycLM3KCU7!gj1Xnk<9)#7D-l{?-v>M#tm$|-Ip_j`V|W~n z0LuV|BSJaU3g8Ps8v7(9ECoEIG4v_|DfkIUSPFPZV-VoxC@1iH4$#M(rl{ep8!3JAJabt z-3A;G&J%YL96%qym*6Xia^a*QWi%_LtVkq7T7^nQ!3_^!7#)tHK`R9=8sP(ykU)ZK zpLFm|Q~(?n#r+i5uV2T9Md7Cvq}fWbajX6dU#lM8#OFtukv~F=tHM};{t2L~J_eugobL{IUMviqOmAqfG}W;>+!VN^KQRD4{5 zvfD9Ng${7Ofe}SSPw{Ya`nT|K!~loq7~uU5j7r5)YJ-ylp_HUY{0I(J%%vbWe+--l zIFt~L6=JE1hF2F7`<2bV`Wb%pMUagS5te3t&N0+^0giC`m!3xCGu$S7%>WfVLpbDV+qJl_-WFq>vW?+m zEFb8vx9{xhTrxiU3)n$f6YmfTDt>_VNq8N) z!|E6~fed2+4qinghQ18Wnk^!0gLmRJ_q&oc!=8UM8ryrctbZ?-SA1dMfW1En^FC#N zHxkmZ;2^>nH@wpaxakN9?9Ujw&{~hF3h%W*cLBi}zmAHn_)MiIKOU-~-ex(C7zrza z9uNxjgVd%U2w|J#&v+5YFHRssex44*XK#=~Q zU@k4_0eq^^jlgsgVVFQ2(%bt7h!Eh&_t&SNIj~~HZMra{v55(=jxKBLw59^qSQic> z+#uO!s+s0}B~OR!Gpr1>4$e`K_!WG~Ge8eXkB@_;0a?Rmu3-$oA=(&vN-$MG)>28{ z1Kvwy5H{Svyx8|7^Ma37Nu&?%LeNQqk%Cbc^8i#p-GwfB^TSgcIkSWjz-(qQo zJx9)f>p+@iQjIgC^ik6mrPy|s9+C#6tUFN4gG7-%N&(vdoh3u?p!5DkU&e@&wSv1TcMB%ica_RN)AlPUD!IW zEA_x~FDL!9j;xMTCBqgEoQq*BtCp9ZX|rDDk72+8pS~4vP6ksQ+wqG;*T&#|1(DCw zgzC_$J+QAxmVx+$`TQ8_JHlI1RPug z>d;lAa}Ar zI}Ia+6X8NQV`_kA7`#j{!?*<;H<;q*KzYal3>4thI-DXP*RTX?9d7ZE8w`v(wlbVi zS@+X%)|+%`->+d+v0rlUZQ6v4|6Kawf}zttJ(4&zIHXE&QzGSWz~~lBE~0{a_t4l2 z-T6B|U2}oEze(=OHoM6{DNv35KZpjwDbPUZIZeiA+jK!eP%YO$+SC`$7lwsFrWEcj zBp4H3n&b)t5cFfBLS1g55K^ z-cK3w&YF#%E}HxK_LX-A8)kJ`%?Gxot!->rla{`gKG3?&g^oy^!%kT6>6V%sS4jGE zeoOO$<^5-S`Z^ZQ&YqsM`tDn6u1v0aarL?@RrJAUCU4HO?Q!-F(JgQkjKrYliIn)m zF@3uhhds_12ycsQV{}AH@Sy_x7;MMjtUpKzz#%#WYzUTSE*YOyf!E=^MAt)go7XKc zFV-z&UeFsKl6gHG=G_AG#uKj>-V0uDRvMN~jl-6RAK*xR?*jO{BuRoWJ z&&j~6??jJw!#=L;@=B?v@7UI zH;GUPF{%{Wg>gNJToho7q>1EL@~6I`CypD;`cZ^&5fX`8XV+y?Hn}sE)vKe*zBH-aMQf3jB1K%lip9{~1_UE_xB* zxSXev3PQe3*kK}B6h4cID@8o4Tm*tf#<@eum$>F+++$Tts5|cgc+S0E!8~HT3}I;5 zWY6)?@=-8AbMEyE<5A>(FTS??Iv*4_9`vR#pisn-XYmilv#y&9B9w@!U!HpsvQbd*Z%|IiLZhO z!}A2<2sVT0N+<>qUAdObC3nb#js=a|K=@W>8v~v(%qAB+()2tW98VEA;6wBNiQD6F zNF+w!z!-><0FK)eaPZoBI9b$5f{)~JIE0264p;yf3Y9K96zsi$`nU@fWjDCvh?2mi zO~kh*J-`knVlDK=(~6SG2aEU299n4{zod4c?x!VOdy<}}t_0(luZGACIc8+isb&91G^O##>6FWQijigxI zvm{W6j)C^|g=|a$WiTt19>~RymCGUWa}`HLB_sripi2YyXbc->FSAWX_H!1v)eY(4 zb~m_LI|8nDV?;`aZfFKK+M007Elq1;1~06vTsAm{R-Zm$edf?t=>8drho@AmRLDhX z@o8!CvFT=i-?S9Xb$Lp5uAY70qatHUlVwWUB#(!|sEezo2ceVhshN7O#P~=#N;3~m zN=ZpdN<}La0plka-Q0(dOml|-h~(`>hbVlrMl5vvZVW zIWi-N(3-9pUvT=fzj*$qqflkD)J+os|Qndb{Q!-8KZy zcH5W<1WqEf+StdCN*#d%?jG|TO>I?pK$Xp$ab6ws>qP- z0C}b%Zt|Q^8DxoXih&85jnxx8*t-$+(~TZMHHnEeK_15G^$`U6M{pm0C3yPIy^Jf3 z;J{uP4mTk6M<2GrUzRVo;c!{-4QLs~c{g#Zvnz{OvNCeofImHIB8@8X3G`)A&dN!f zwu)c)56&ih48X7F5}uyJixp7n(ZG>J49A4Tu@cf)>;{tmI0p$ zkive51w{h!6y_xf$5@gaS_N{Jv=0?asZ0OgRW6McVfopk_0h31_TwSt!}URtLCNMho%mrG_8>w2 z80dI_9&``zC1gk@bM|NzLmPps5%GX$RFcMBe+usWUiz z#(NG>Wo5wzVujF!Olb#6ATLfpAL(spi30>u-20u~3)D zUqYY!3k`R#!F$3ehz2oy`+K0@NDhC2oC1V)4zGi?J3-zt1jYT~9Y29?OcV-P1DXSl zDSpRy{aax6_uxK&O~PKG0d-(Kh6=f}@IE)Q6GNj&XmmJ9Jlt6OS|PI{#A}7$uY*4X z_m#r$aHbmM6@F)+6BO)|>>Ld~i0!5>q6;9&!&t3zjtI_edvFiN(D*&Uje@D5>^1oVbEYC;{*2|GT>1M zVyqaNcG7{;_jIz|e1~l(Sx}t7)=Bx7*8#Fc*0s!s|MMzDCVKPc!vFg=L>^OopC(`m zId~iGan@T%vfi+DfSPXsHOcLBA{x4TX&1gO!&4D%h~r5Jm+4=o<#4UN+TiaZ@inNq zGrhDcK5@XD9cq~d#G5swZ!~lr68_>FEn$u*`Lw`9ROKM1hjZQRIPYX7###ti!%cpGHSUW+R0HUfAAyEGIKG5_V>qiN_R&I$ ziSKWXAr3vSXXUuT74|vUAO8A8`1}_W##1i%ap?Mg_Z;Z?*P0gOzqo_#vNOV?%~;UVfLS3KjIUwu9S+g_5 zokd*}QM2{j(w!q`d?ZL%^zAe2?!Pf{Wq113{+%~a$i8Q|4{q-2r>>=SublAa&ujL6 zyU<3d|Ev4nE(N4VpTwts5n1Bg?`y(Ypo15|vW2KXkE66$)gw=`1aeAi$cUx)Hh-LhU;dlgpT^b+19wM3^&%$f^0uEw77$bLk6r19_Lj$n}8wr#`z(jV| zH+~QwG2Y?x4g_E5LU4hct`R;JNN9nyzgP_T28M-!vcNryIO`1m@dNxM_sKZi4yU!> zAV)4`F_9ZL$gv#oJaN;q9+G3ZO`Yb>o*mtrmfia8w@>Epi**+JYua74E-^uFK@v$| zs3yBY>Ec(ita-xoYu(=d;L~^Cet$K&Sx$|N#p4Wx{t@f;WN~>T5=HEM=*rHnjv5;U zmIqVn07Sg*pw~joYOyFJWY8c=U41Pp9e)w++)m>NSzrJ1nfsX@NxVg3=nn* zQ1SIiYB?XY;(J7(hT+jM(>{1bFgG@WBtTu zw(Sx6jX%D0(@77p`ug*o*QN&Rtse{H_P$x&Ic)RNzIDM-dpFNmo4$5?TWcFIgK`4A zrBJ)nQt+uGa*0q2RZt+`j#>4g_^XGWnqJhQ)2T96Vf)HpZCmXv!~zQ*!IfG zpzzA(>@^#$qcs)BR+n!WTlh@Vx-*zUWS4+khGBi7bq@=pX}JORh(yjOK*_biJU7*( z_Qbcy@|TxmjLDTMKtWtu7+95wzSC8=c0|tdqQ>LtDW?{G^XdBP^7`o)=gvNqmy))= zd`aukF1mGPSn=@mLPMB#4;&J!08=N{5Oz1`mtk-w|4wl#S|@y^uHNu`1Qra?;W^z+NNa$kNp8_plD zUId?UbMK|`vlpjmRl`a!<%sqG%Hf-uT;)RiQBnd|i&6qd`1!32?T)rRfTjMAl{@+z zT+y_DVcXn|P^`1vlva3p?ZZs==&F^aa1p!xt~7@9I**1Z!v!KGFYIBtD-^6+iYzkw z%~&=M3%o0G3mEjGJs}uG|i5#{_ymJe^q~Q{NXR0eE&|7b*`ZMz@DuV zdbwmfBktpNUPOD*ygoGf1#a@gf1_v=&ArXt5(L7Hn}3J4G9Oqk(S@*=aMladpFKkk zOXLqW+e8BH*Fo92MWN-M-gTx4tH-dT`hKsO>MCC9B2V75jFEzd2OY{nM*&#O-?7E) z{{?nVCaf@=@`Xyc90jv3aPf;p-~vj8Pp#R?vXha~c6APJ7KOkYt_KFqk-%#}gOS`W zh0nPPg`jCNpFpjvULw;QwNWEX>b=fB-Ws7uk>t<)mrZUTlUJooN%=S*(o^5>^;|>}H&VU2%EyUWx4~WZ0 z!TD*>Fd`uZ_X*nXd?I&E=Gm@%g3rV_xY%h`*n(!m z66BBaZrtTMx#JMFAgU4M{%Mf=AyklAE?|8@&qhH&E0+ULi88@90uD)mb4_+9Tqpxu zktmONEc<$pef|OtxW#f{=kjM<9JWehUdNb>>iEJn1zx#jk!kd$#Nwl?3wAws;OOF$ z6UXnVpSCa|JAAh;!CybKzP)E6I#|22Rx4GGYRs)#GDgb?nAJ;-x%2X8T3QP>lufIT z*J@IW2an&C8eUNva=^(h9Haa|LZ3*`tt9$;J z`EAyp-@3ycGsS-R-uv&ts-7ap+++*w6D zy(Di(Qf$Ja^z-|YcdVPXC?O{dm=h2i_bz8|n6xp>de zu!>THe@v)Kp3!`I(Jdru1)5-f^bo1_$GI~fS6^Rep+z&GP{?OP@yTVZ;{(B~hYMq& z86KM?qGiDruw_kO9N7B#{Pjrs9Qqgc-?3GFSJJy?AKx7epFQ&ao9OrMA6G5@>BLQI zb7$`7?ak+E|8{u7-gQG?2TG{=zhgGQ{AxVAidHJ2_dy7sGD+eU(hZjiRXoQ$5U3Tn zqJr7L70#F#Ug7UEBe`N{8F#mv9ktfFXj;v^ zZUcs`Lx96ljF3Z9!zWEPo_@XHz~(&%_v!o&s(oBJPPP0Wo8gwU<7aRE>%rQu=I3pD zwwimHdmB@aQwcJGk3L|P;3f!-t3|BU2B_eYJ}A&T6YWpjxc^7ldjLdrW&h)I-+NOT z28P~yQKW-{AYDZ46j8AkEGQQ2ii#Bxd+%L9>@~*3ZlX!l^lXxE>SmKo-PBE@GSC0# z+&6=0-2MGm9f9G^z2}}=&bg<24*iE|h4qT(mqGKP^+fPF6ez`2ZgRz2FD5Lfy62E# zhsqi^R-GEU`N8J>JN{KOLwG;CbmGxbDWj#L0i!-$xB0>Vy)fy*m6~7o-;m{{dO4hZ zpr8Hc%?9S|T)xnJ;9fY;s*l>xA1kn#%C zb~_-ofJSZwbaQt`V!pHWJmvcU=P6>kMC*y$p~K0{!cM-MS;i^3-wn^$%vi5zC%2Tg z{U&z{*e-89&F-D@%>mq)$+eTzCuv+yd8shWqLQ65i`uHig&Moe*?rl1%P_GEyVa+k zMzdIJpm_o(S7@A6{uBqJ(|G`q)1eZG*9@@5TxS9XD&L$OQG*Nka2Q-$v5?Osu1(^A zxu=H*1sn$z4vuUXt#NuV&M@Z2hE@NntND5P>#}9OUJhmdr*^<*Gov|C-5F#|C(Jh&Y^?R#l!mpxvJ60U7yY zlhd-Ku0zgT9KY}W%3%Ws4y*m6e*DGLL)Xd=54`qzm$|)Jiu`iF*_nf%TXuk{*TM$% z4c$yApFz2qAW!NHPFCaDFfZk5qTFBjKHyLByNRkike-POv|dekE(? zEK9KdKO-9)GvS1p$inS8fOZyq@+uD(7X)abo{v^RrBdRexJ?Pb-c~dc<(kBe9Au2( z*h6r+h;PLddidu?#}7%LvrevVl#hxp$w_SWYaiZou{Ufq7}|^(QZr|!#e>Qm$U`oj zTldP#7!6TsAzua?#wne_8o4jS-sU9)ov^-0f5$yLm^3mqE^;aaP}sXXY4bvu5M8DH zU~J}C zT=4vyjZ0r&)18<7p}?U==6Y*FY}@sr(Ij1YOb22>G!#jq(Eo(x3l@t1_r2RzTL!I= z-&DXE@{JZ{3~++P;%?v=?yakgb#hYq!rg3}3Vt~t$=UDmOeA$c{m&$%!1JR{3dCfX zBw$E{S|vwt@Z#Xk-tHX(((~JyO+jI8U4@3aH~wAzNG1O$AD7n|JyBQDhRPXzBgM+y5H=v;2+ayO$63Il2ZtWmG%AD zimv=jR&Mb$y-V>te1KUP8;uablpVZ;Bz2(1 zfbA-6K6{{9cVKe&#bdJc>=*f3EqQqpu!9Z?5xs@4n`0N=e}82sZ;ZqX5f26uqZYG2w#wc{~>Zg5epVd zEH^I+i3f$mOO~5L!A;BMgO*D-g`b3%EuDm${FQ2P5Wci{(+mCe#+;|ZTFR@FN}{*7 zmzP~|JF(K)uGOKW+~jdvR*+~UQg>UR4;4F%6}HS)HdXSyu>I_d3uXE0%=b&v*KX?k z^4%Zad+W8emxneit2Kt6Q^pP0rln zsa1K&(;{-)4u-RrQP!!tC%EE@nK5Z~PR^3b=%RyyMhg@C;NWpZP|t95CMeaOaG6J0 zrdRg}C`6(YqhHt~sWm9b{U#hK&1Yh#Oz7_+y$V}=PWzdY2Y5V;rMcj}@b!Pny8hqe z>)(raLl!yidyzf^B?hcidqHauCCbhCO92*I9yBk~XZI|_nwo?)H!QP-udo}>^EpUC zOE@W|_tBCsc9NawgK%Q9P1A-~%FcYho7IY&SRAPOyQ%1&hGB0_QhEO*g|F6lywDb8edR~ z>cb1_5X3Xp@A+8{Nv}RxlQJ^A&EUkI6N|$vcP_HMD9@zTY8)Ij444oPKU(?X5VQSZ zXV;i9eWlFi*B!#!x;V4}PDv8cWAz4reyE1{`Dwd5oo5$7A3W8l3XG|Q_d=P?JJ|6g zrONnrS5AEOg#!=I(0R7m^1baqd+-^pP+Y&I8)%20;ARtw^Qcu+^T;}(EwTf%%GG4W za!(T8oFLseJpHZe*FSDrxPI=9S%-xo5s6pM066QN*>j^J1iJZucIwM*^es!k3i3aQN#Aub4T920+ z)fo@mAKD~zJ1TT%88;W@_$ToKdhjw8{{s0a!= z2e^hu^7$D(;oaL!-@g3q=s)B?GXv-ZZLd#t*ERcQ&eRf7z?-Nf8p{&Bo4V@z)|@AKzNk1dcNwRF@X_cL(% zuEgof^+7*hU#&Y8ebkD!?ZJJZh%w*=pA`^QJWH>P%zM_YpIb)dNk*;72hUA2}up z)wkaQp4~{{dh)E{b@1LRkzmN4)=&mF*2WCXTp@6TgWyL6@^N%Tgd2=(Ko$vx4bonx zle9Q+_zjSp2J=w5l>f!883vi84k1bI{A_PYrsHN4UOU<LwoBIhSZb1%1WybDH*ALt{+TE|)VqyKatotjW!3oam_3obD zCilwQTO&(4BGUfMZ*xnJH_OZV9IHG2QqS^;(O0*ZVo#AxHB}-zq!-p8Z26KH5a8x! zBt!srBUw>fm`SFl77akdYl6DDQQ|$_n>w_7Be~5QI%ZSp)$MW{_RfrRW0!AODgTrC zu2>gXxd?T&G&L*4_G6~H=u9)`3|U(!b!|V(a%gyoytc2Yw7kP#34*KTd%=ZX)ME~Ol+~~##n6mt z0Y()VsPcgALxEmFZ zazvLGD~gx(?owC2VfL!VMYBs+^hqs2IhdU4K_h2)=@5`yFla-uIlyg8P-1w$ysW-$ zm-iW3SP&YtG%QS+M`;u|!z1k+G>$r0YYlLC@KvSI$2GQ=@|+ARY){mV7le{KJ5b8d za`Y}Z(c2{>FUwWj_wa(SH(=Co@8)4rSIh&g-BGZ%hp{)o6pfI8kYJ!CP>Bt~ma+Cv zemt(LsSN_^_8|jNdNKpiraLE?#pvf?8GCdCs|(A^@*_&yVFK{o_h`%h(XZl{Xv>Xj zYcM=IP*oLWVUm_W+L{2bQHv&%F5o^ZetB3v(qSl6PrDam%LwG#f+6u)?d61EZT4iVLC###>MiqPbeEwsK}Ddg9R}C}v@h zXt^4!Q)4~h`87`2F#sbSSzmA21-{6M?9M~7+?x3;a63>d8$Hbm?MsR$!PTi!&{!L# z4X89G|jq7aV-t4a(p8V;Y5Jmwy>>i=dGgZ6H}`-NF-Hw z&m+(1RDdWHx64}&$~(m=;tS2W;tQ)t-?LWOK+A|p$B8!?w!=JlNL&#^7zQtii@%#2 zgFih$ulFz>^LNcZ(EGf`Meb}`^-IIS-&ULC5cZLA)o%?Azpk=pFIq0zm7ia*;JI?6SloQn ze!}^Am;VNe!@)sR8v(@w`Pfh3e53P)&y`-n7Q(Np`S87LI%*biR?+_wq!0Hu&ukEK z>$jow$Xq(fzz#@wM%Z0aBwFG+Dk?M@9UKgLXEbPKrOm!!bItJs)2gkq%qbJbHubBo zA9T9v@bg#(GscX_Oky8lDSVgO`Q&D{nR>wNYbrRc(3k9VDD|aRt9i9Ao1U80LMX~C zS3JnBXJ0n3uV^t?DFwB>CAmgRHCG(SBI01gO0s8wFRtdxiH}>+R&A%cP5ISK*wyf$ zr>)iI97{8s-MVFg?kQ>)v}}T=18V~!@9gYNFd?I$ON+Rp#fr#93c%)~u07*Y4u*d~ z;iYZ3I;8a44mn7!7dyzWvgGRZwO~l6E-OZl-du=vXE`aa88CVjWEq#R>KW+Gh!xjL zYlYjyo}V6cn}4jew)AOLC4&PQCgDT_i(GlGf4}E9%AYcG)y5SI6zy1lKtyQM2E9A*>atc3Mhd2#T-OPgfp2BF8AYWW6B zpS4+7qKplUl+n>D?#a%=9;GTGylS95>O7b|w6O8n+%a5BY-MXDT~%=kaAj8EEgLbo zHZ^^9|H=CXY9Z?)>>CfJu1bzh*;lyZ+r=yX?c(RN&NHO2VP5UAhCtWlUcuAuzj8%J z=nk(asfk7JZkSJKt0ui(3P$xl_@gk7-d2~?6WS_H<}jPGsyKqJo+<8{BGph6JN3Oy zb+6CV%OBU*vryBlJ1f?{JH7drjG77KYcevIjUQi=DTJMQq^gRMgx<&h&V6Kz45_$$^GX0_*;n5!Pn0j0K%GUKG5PNi@`3Ww$=7=w2S>nup~ zkL#>c?u`7mkFhW7Y=+2Vbfh;Jw^;=bH>ma$2Ag;QUr~J z0i_5@T2COcVQ0FK2O8&I3`OF2`1rW``Xctn6z-{dB7Kdve5$VbSlQYhigXvdQq(`YgE3LQWHL@e!x;eJw#avq5=XHH0%#wj z?v#p3czXS11@Z_P+y||0QVln*D-i%FZ9Zj#z zlS|j8rPR61x_|AqJS)Jf*4?+qmMOJ!8;V0b*P)&#XtdTI!*N`~rPf|hib{w083+vU zw)_)|;s1e3ho`JH4e_a-7@pKVoTNK@Vii$=+X6=?U=3Aln&bJ2Rd=X1a)?1cS^G8g zlPXc&ecQLtPg)K&e!ggqf5Z>j@1DY>R_xP=n5>WT*)V&(oR;vSp}|1e0qdx_fZ@HY&GQ8uX}p zOOhe}4%hQ+auz#Qh>@#tO4iG@`xO!M@Pb@}Hpp&Z)O^8pAc3G6lmP8J3M;r4BpEHE zn}kD}FXU7T(`ImRQ|9Y!{!_pF{b2y9V|^T`Q+Gr=U7!7Og`i$B**fQ~1bp z1O)>l_Afbpgt}0wJj1SX?!@^#=FZdY%n*Ly_Rs&;&J3ZS(oU;fL8Tqa@>A$3XT#8r z@oYwdLXhHRXSInVayv1uQ8@3ArqCJ_a8jC~K z4#l29O*rg1h|ko98=aD~1LwH34YCujx#c%BbnSWiL>_(C3!fz~ryYG(U2WI$*(`T_ zE*QBSEZ%{C*ume&U8g>ePuJ&nT(oR{2T-3S|H;Oxevq)JRpAelth98t(xR8DIYx&U z)$A%l0#q>K*pogq1hsXY8<>;qWKy5cJ9)ZCetko}8=X=Zhj5C2mZC8XW=BU2T7b_L zI|cbTQ1`I!i7FZvf=rcfgj23 z!b#qT8}-4AMzgxw;AZPXIa`#WqYoPogngU`^IRi>3|CF&j@f~;9Q?iAwO~iLhC}&1 zPM^%<-?ZY3@HfsEgOx9fAivi@R+6<9yPpy4gASpCF?6q1dJRQ|G`CVYvjE# zFGk5{SkI^zW7sh9Ti=KGC9UrvAGS{(>H|K{Mtht2og+NctcQv$0vX(77V%f@fHi}5 zIfy%&hOL5gF4Wc5gRL990gL!hd0*7!NV$Ox2oI#rYv_~XpOhYue;dbqJ^1kxVPTk!q|zyA8chd<70Jbd`b;UkTQXZ__J z@VSq882%>8)G(Yuh8{Md=RbLTYjY%`al&Z!AqnnP`F{E;+ddkSVO4pfjRw4p{Lfxo$y)I zClNespT!4pVqsldKZ{^)#;&sxYXuSnJ+zb^At{43AOgJsYXCk<%)P{3$5$pV!EvyV zkH+q-;8cn6Wl;PQ#w;vsUbkADNal3>9+7N958^O{REzsJ> z=P;#^kUa2}z5!wl>{2%tEE-=>JY(2|evX=;InuXN7s$n|zOb-rhTJHuADT#~*$_yI zVDy9Pz?lxr(NVJ3<5HqiqnJob4LV+d4#paey3a#CpvKZyW;%INbhWG%@-5G?O!+Ev ztdb%&TYlN}bCvuPoxQL_NL^6-qb*r`?LtFMK~8>t4uOH5UT$ulMr)bD4BElU8DZ@S z!?8u@DLuIc;!0`Dlps}_Uf7Dl>B%QMr)F*}n!1>3G2t~LB%>V_9n2XV2QatWeb1|3 zi3(io8$N&a>8exn2UYb%*+KiB%SX*WRaLj@_IOO>ZbZR+3J%a+Gnx=!{6g(2BY|8W z;pG+W?x5G(nSl9aX9YPdj!_wa~tg>^#Z6KszwrBcF? z>yxcZ2-;W+;esjT;c^7L^JFj@*vkX0h|lSQXc~Q@uuI3SeR?e#)y0|pX?X}_HOB7A zS?=Q+r}o~RnZ9lKfp6CMHX!3j*m}rw?RV-|qhgl($H$M}HoD5Ct($AKTh;8Q(lDP* z-l6lqudnh9@pg|fRUN*+9J`|C(eD~beGM}~2*w>$zz2!-362oOV5!p6Uh51=VkG$p zKw~=f_!niTFk7NGt|_>cDoQ)9r0hS}%Ts$azq>(f#}*u0v-HG~HOo%Q&c(wAmlO>f zUTk@F(@TT*m$e@q78u$ueDcHz741i~2_LKM!-rcBojF~9=*+2x@k^IXs93a!l^i@V zcY9Y?hcc6S?u;2TogK@ZsBSwl6U43DHx)&(2#)pvW|wvvUAU*Z5{@vH&Yp&XSYoSL zl7eobzR)eZeS0i%)G1A(tPPBatSDN9PC8q6HCFqK9^>?*)Okxr7OyOh84;U^nxzZM zW~>->VoKrZ%*>ui)k`K0pHZ=+Ab0!1pUl3-DJFkM_Cv|?KD*W|`M(2k^4AmQNRh*a zj~yWQ%J~4Ce+dWDHLQF>P7FoXTv(=4q<@%)i>tk;((B1-hm!zMsvwqX_r)Yonm%{l z+2FZgOofq;tcb2)I$aq-I8oj@NBN}}h2vUy2ew?Wbk~VMr;8Oda&!OXJrAz!zr0s{ z-N53aK?6(r!YQ4WxS}>*?Dn9WbgRS4x}@eyix)GeK078iobI!2a^soFv!+g~teiHL zYDW1BU#gdacEUl%`uBEsN6?4pp+x~xm8*wZ5InfT6O({N!}lxD$(37Gg0nNZG{_h% z;xEX>y^4o$n}zjfUcPgDj>NQYkA6ibh?ei)6nx*N8k&|nLZT&x?RFpGOWy|fb&>lE zF3HLBqu7c=}9R!;EV8?K>-LXj_0^&&!J$rTT+_RYW-P5J9WTzf!oeI4St_fLfJM|pDcuL2TO!qdWy(UbrnAl@fK+xpk zDYb&LM_x*DdU|p)%sOgS=%b%C9@gqpsj6btFjOb;OKhLhyRUj+ey3;y$C{J)o< zvN3}f{(5ZP!M?=tXan0&yv?-sZI!3~XGXC&ankDM^=qG9d2h%Xr7)i;4d@Hz#bgDR z3|PM>q8l-9%9MR2Sw+JemnzJ|UIOz{{(Ge=Ip}|5rdrh%ymaHMDF|_j`9So2ss5wI#X>BLq z|GwH-1ZU#3oYj%ZwaG&#O)N|7>6aGBzLS@@c%_BZo;xNq69c_s!NAfDe_>#+-dKGK z1CxBcssqFN4lEd8)`hc%ao?)-YpPf8l0*MD#$go>0q3k5F1+ut$TR^up4rL2U7R{8 z)DtjUp7xb`4ZPo|9m-{$;~k2dYvB~%hA1tEWA+&w`S08BP0o+4sMym%=qK+H=MU&x zTI54}uXO#MLAiYO?8oXEMysc1=iDApSNYbvKXpj+FMru`B^AN{ZN~|!GUz4os1`_A zYw)xtdW46&x~gLAoGbkm=s(5NYSmlGM}&NEE&x&d1>yq;AIPnt6A)>!&Is$}mm1uM z0r68e`@rys$ieGgSyZz-C#1)mqf-X2ixLEuK6h~1s`fzx$Ak>29nfy@n4+4|ogLif zsBib(@^a-|`Hw$uO`mvXT(1+2%L_`oxy3mxJyRMPyvOWqwj3V0>txT0H6!-FG_qtS z&T?zsKhE;uq^GNH$!2vR*1Q(h10~ZNiZ_|Gib!hUbxSI3YQ8U86O$4qcPSh$yiu~Qq(ZtB=6$7{<5PAcp@dGN5Jib11B44DWnAPZIa16BiH%$J*k3VN_@z8)Xk zRt3x5m6L{~5Esq*&~9GtSwX{!daWN7nCtG=DIlX~&?(u)s9&ygSTsrPvv6N`y{=Ag z>QvGF!IxK$Vx^1$!fsp1TNAFLm2z9q($`06G*_xaQX91Zy$Y5K293bkS?%axXE5Mu zrE!2A0o((elTxW1-$0vnCuLluS2($RobeLHxs#Zu+_ac|VEKB@*Y!nv=PlgTUAxn6*o0vdQI)D}d2Y_~F%$a~ zm!on~t#ntIj#(t^6{!E!xT?e42ay427Z}9|fJKMVcCK9FfkQMMOv#Zup;WLD}JZ@1)66QIE_-YQ>#bkwQ z0^EZpPLFgBn=}80;T3*-JCfv|mFz^tRYM{1C zprUXNMelj#Px%*-%6^`b0`DqiBCQ2JWrTM#Rl1lh)M>84G7W?qUmqV&PgI0=HqH|K zl;XjydTAvhadbYe6HCWtxU(=qUgAu`?(ETnIV+=+S0oLcTv67chkvI)&9(Ax)VkFW zV?HF@N=gd`IO@V!BlVwxQLab-u#ucsGp3m(Qo&f|s8WQ_0hEF3AoQ1aX$mPdy7ISdn-yJM0J5TTSn@jCszzr zZmME=A?`i@!s@q!UQD((f5dTx17#%!BS-?aL6j?;ZB;;nU0to;u^`)WKrb$uVit2%eUHUf+*eJysy5xIu;erI z!_S#X{)L&O=PK~$;dSQN96M=}00YiUW`58(34b&)ez9jkP0a#&$y2j)^D;B@a)u%K~$FkXli}>On#`>a973InHJdma)t+zox#vruN{$+Ck&S4H`6d z>?=7%aoIYZzGH5mQZ^zeAjtQN?d?JXBIE~#(V{ve9>8>!WrIm}70cJOO*l0~73DX> z3LO|KxI46K2fsrMgkZ;xPP{^uUQpwr+ENEsqs4NwauwzfSFx2PL6pU#&Be_n;&%}_ zslCE49q2fFa&%$m1xXp{?K}6#@h<3;TvU|YsX*h>T+-Z6Jp3>wK0Ps}ctlR^R_{pf z(?QWGF)4ZN)28%Em4E1(kqWvHlLf-YXPr` z2ERj|1+=Pr$lFfEx{S_r_4n}!2v+Ch=n{kRR~3Z-*iMS1ql@}Hlyu}PlkeRupl`V& zFPSc8Jl0CdT!xjHpBA>kTaCv~ct1QWgu8zgi?W-0v?z3*cyxY&)0!oMkX`e}s&T7J zLLE$Dfu0GDA;CivhZmR}Mo+0~=qm`#@|~64c1#;wI`-=;_GtquHGzG$eYCR9E!l6M z{I6Fhr<5)1(s9zr;Mg#;eumj&Y@e9%)6)kpt7R_tJUY6GQ?AYKTid60aABYM`9ek0 z^iDXH@JFgv-+)9%?!Sk(O7ue1zn8AkQ7J;*uAP$90g=G((pIUiMW8757)ua326yk4 z?d6l!GtoEF(HLOz?HKCOtF$!qm>hUfxL0tZu`VhuJ4mNnDvBXl5t}Z(KFac$5F^$Q z*Aa)WslrX(8#snhxN5dB3qC#`9$tVHu{VW;0JkC9U<=(Kgxa$(1n3HCCyRvN5v}q&8R1V8b>X?zyF)0&m zBLhP-0(&3UAgmL6cUQBQnyRh_w#u5|u7am4{%IoxVlyw6xnBMSlp_8@?IHaH4V!Q_>|LBp9#XiSw$k60 z5svGDLMaa-vz18WWJ39ANe#CJ;P47*>;Jw0#nCFxWu+D=GqpRzX^`m{W_74SUIKpsNTpsZO=>Wk0)yx7P{h{ZW zv}%8U2FL*HH{iI#aLKPOF`PPAg&^!QTI5e+^s2qGa=lNOj8VO-N~iyJRsK%?_{b}_ zmo*|s;I>_lsv_6?g=4xnT2}7(rH+ODE*@|0e&N;O$1BD2L;*5j)oY|*U^_$14O98} z_-PQ?z1l26- zzU1_P#;OJ9H#KBtdq}^ybzM^4#n9Zey<@NN;*%?cJC@AantL~dj5)?$RkR%}YUzSJ zRkIHM0oP2uMl?EKwcLYBPaTr4A8X&UU(ZyZBqx{T@Y##h zANK5Po^;GUE-o%ajWAs8KxKa-SC`@t+VH)X!~R+&TFJ4ZEZI}mXO!B*KDHbyw8P_> z_#W=6JY%gH(7J9D_Bpzx_@Fnf?WFO2?%68-H}TQGwSKt0wgW3VPt7HFZnaO4Xl*SV{2|-k~hd_CGho`q#ukKQjuIn+Ur$Op=TV5gWZt8mUOrfkD{U^41{N9&PCi$ar!Fl=h^Dno49=Zd9>D>1n!2hkFTC?-AW#cE0VR?qrG z{&16)=gf>ZjX8CH&*WDMI_Di2G3D&yJ|^LcB~6{X@KV*tBgK7Ax}0Qb?^z1qU0$>H zha-boLfdu0iP;M-%-po(^>s@6H`Wy@8mmtrS}q*k5f?WHM9LWqzG}4=;Za&cpkmR_ zz_G|L^<)=Lyz-N}qOD1>N!6(nHWt_kewNQPy*Ewl zU(+dhiOZya9G9ID#g$P1?&v^Igwu83JZ1HqL)LIQil|Yk2XR}I2St^k_?6Ml$w`kW z7pQtl1$BNhp))v$}TmyZ4E2r?d=ONm{I=a%e~t!_c~aiec9%i5yS&FY^9H z^iL5kM1UadVt1QfsoXs4r6cUlIGw@G(;W^b;0!D@Kqd4_CCu z3{h)@ffwZ;Hg4Y{e|wI3$;HUQ`i_YOT4z^JhXU5S*y!%+%o%gkQY=_sSV=2|X@~t% z)3QR|`Y0eRH5L3J%?eR?*lGUI+uf`*x^fZ~9_dZUxUrH5H@E`!Xr<7`DrYN&&W~9p zWwSenU#r|)d8g@~{NaHEY~+n`TD^z2V;XZwcko86HW>G<>}Gpm4MnrJrg`P|3|qak zO2aB-Kf@wj} zo5Wye=-#ZoI*_R&!U=((V;e1diBS{Q7(FKB~`y2|HSLD7OS=+uIi`^woihZf-ud6{s8&wEAp+@y&l?DP0w;tCDEfc9KhLb`1=!Ype^% zn?CmF*cmy#%TKTK?ienoBlz<@d5n0);;3*}uN}Cbb9YR6xFtup6g6Qexcg?m3V%xv ztkI3^U*K?(b!{F4hiMcknLdw4K?tM)-rmr>h|?HC%L=s~bpQJRG;N6ac>#;+IrFy_ z59{c&sD6=4l$U(vzyTpyK8+bT&q8SiHXC}(=QEI35Nvsf5;}!>Gy{o!J!N|y&^j8^ z0OvJRWy-y!B+Z+M&P>bn4G9Q{F*^eC+A}6C&Co6eM^j;Ob-!M{@(esR6gnft*a1f$ zXaFH?IW{AhD;ZZNEZ4&%lbLxWQ2P5Kk%36|2=f zkt>s$=|g;TG-qdnZy6a1--`NH_wU`+z%_w*9+~+6k89S9pa04==;O~wqHD!9;h}%L zgE7o8c1-k~Rg;J2Ow1Ya`u=ef!tw`qT{Jzeb8lDAfpIbOR_9M$(jo8AO4K>(vZ{RD z>@^LGXBBMhlbSg@*SAZq@9g-A$>IG+t9$Cy6V-4}dafKla;BHgoK@au(CQ*d@Qn+K zjnSxGomaZJX*4WeBGGgyL6Sd8ex{7xX?tZ({PJGM!-P2dki}DEsP5k@t;op`>7v}wQ@2{{? zQq^wMEQbz5xjQ`X#M{M1^1zkT!FJ`eQPuj!>DG!QEkJ8q-7`0TK2O$9Sk+BqnV{*u zrhM0KldwVGb7kv0<}!+oN4iQEZpnd_Smll^X$|6$H5|Ob zsUs;*gp-SE7H~U2%0Q|(x0rOKFJd#>`^#sqTYfyv`g?@<8g;G^c1NQNDu)GUczDFB zJET^PdiW)9Dsnnc9vL6jr({Ti;J@*7fl0GcXQ%WorAx)I<)C+GN?x+33UC}k3`Qh! zE+47-0<`^^hw$*6$f$m#^vjbq!a2{%fPQ*Pf;VEQ^Bz4c;JHFbw^XqNhYnaQMx0&P0ho29*v1QxUfdj8@ z-gL&aQ*s-%rTlVWZcU#dY=eNDEFMnB&pu8Ef=Qn^oizvtPSj{`I7# zy2I!pk@5SAg#{1Y%QhF-X_u;XF{SC->0T>4>kdnU5J6c8erQ#Lqy~H?i_c0R+qZ#! zkW7Bczz{!F7E+rHs8`m)AZa&;E>D(_`J+HTGR!Fy|!39 z?|W0#o39LL3{2bP|m7MJW&b%Uw4yvjPhmh1Celj9hR3JZ_) z-u1`6-&lNjba;4_=g!~v?f-KpMpgM}i*!voj`M@Ci=9J*{QX_b?%K-exOQ=I1})#P z*5S}44Wpy!#jfF7mjkjoS%>B)XbGcL`2{T7+^<4oMzQy6WmjwTX^9-bX)V?p6^&dP(qtF z?cLUYy<^Iei7st|g4_DNbNs~ner*GT!u;RIDxHt}-Ci8oCt1SLR=ilW9aG>X%+)%jh_@;mns}ZdH+We|+W45Pv@N~oTwC6?%c{3lO*om?^@O&YPltjepODy) znL*J(X`SR3@|+TVT%4gQhK6=dZQnoZ{yW!MDZs`YuZ@k1s19yhxZ~rx7vvu{$F*gb z8ysl4B?5F26Bu%3Euv z9crJnUlZOrrNe+s=UkT#;H!hDcUb5LA<-eTgQJ5}GkiM~bnyQ3`|j)BT6Te{mIZoO zyLo-|&WPQUQWHC}uJXn3IQOwv7Qge6m-|BRz-5nA7f@8OC^MT^P~`S7tuxMLIGLDM ztYu|5y-^vEXQ3!(cR1bh)b)4<@znH;>N@r^Fwzx(K%Q4$gOeo4yi& zq+BmWc%>qHo?fs7R?neGL&R=V-Y(9~YbvXHd1e0O?=Qym4Q<-`&EW|N!=7gb^=naW z)(1ru?fRtdIr+Es27Aja_I}r;7r$D3h&jJ95d;y6rdSURfTJckxY|_$PP|3*weFoC z6K;GG6{vg)vR+iMCo#7D@=nut_A1y_nN}E9zv%XgyxM;O0oAk4C1CL7wHq!DaCfv! zW$)+IzPk>If7EBiBUys#g`2POjM`}6J~)y^K(f__@>jTXXp)*<;+82FSwNQj#aqlT zL;n2v%ID?JGg#o8@@JXMU#-rRFV|Pp%bOeV-?a>uQ(w`@Ce%-AL^!RgoqR)kMZE?% zI^J0MNvd3UZHGfo^T;&joBKtHsT%(YWnupC_VZ{J^sgKau>Fy~&i;S@z(eV~~F*_RqgQ$9@}7M$h?oLa1TcSpHeg=>^&a>bDUwLRQ02_{x)2*~r-hr(+DB zS?wiFP?sK|L9IAVUX^fo<(NC}Q5-1)3Y9BXc{rnA1w-Qv1xhlV9^t@@bJvE`H+TbA zvGDec9-%xa&CKlX2RaQBqAI37{9uq6SuwRkR=0z4kG@y)O+C)_mUMQ`Il+V6+86}2 z*}Fr6OGfmB$mZzi@lk`!Z3_IQuM(zCZ{PPyH#yL?jbV|UeOR=+v_C5fzjpLaN^E8W z&0eVHlNmKZh<6LOTV&^w9c(#B4Ws=J&}n7+>~05Br9Isab{Z&jKGw(bfiXPFV-Pha z_CmWRY9G5DI8hptb|`f0aFX1?zSRL9TC?66rZ`s>3bk|Nm;i#{$V`S;8U6F7Pgb_JowD=z4l1<^05}xZu)W3NMRORxBAp_fp`v4sCKvQT908*%o zgk_P?yU0e4+!R-}6JrjNWCFsY8@KA&tgebX>ak^Z zhSj(7q@6q2ythBT{Cp{pzOHVRzZ!RO&a0nGBQ{=bZnk`?7|8|nssdJ#3vA`ozscFr zkx7z+ifn)-OM{_I|?tEOctaHd~Eqst*+~HBzX4V^=tS_a+9WVxe`xt)%K`x zrL9C1gTYi8*{)qwM1&L`?&0kX9YnE|V?y{p5Q%?;7edw-ZZfx_vXCnVnEKcZ3f&@I z39Vl87P^Jw{gw>zH>$M_wI14l!AnZ-{x-OH%E;>A!Y-9{nL^sCnO?DOv&PPkkK5uB z-77k>GC)q(#P5$Uij%*RzdZ6&mz}+i+B=B<=zn5yVBOVGdfo0`hdLaa_0HRnThW+z z1GsKa9#Dkl0ysn`fX&vDGS*BbaF%=`c!95o?~x3MT{$fGYudh@phQ)hEHj1LO~O`^ zgpN?qP-XO~7GYbnx-wfWqE;=6-DCqBC?Bfdy&JGia^phTkNtfi`;uC`EvuwYKqKP) zG98dsVz9UObJrswPOTsz#w4_~2_Z)l4?;JVegTt#* z4*q_iu=m{>7NU0?9`Tp7?1v`nAn{gU3Cz60JuXp|4Pzt7rZR$L zv9HX6d$l?G-Rx<%=JlK!A2XxNvel<91osXG3eGC|j7C34zJ2rl3_qWZp24rb{qY-m zKy;&jU`yd7{uA7BRkg`<0|uyziD3zmOF)l2UaeLsJ%t+~fv>h;Oi@Ud6%Ul+9 zX0PQY`@iS+mstTp3vDo=Fr%hg8VI7)1`665ER?t*$u$}{EEF1;$!zDM<1`>WU9Tq^ zcy>I+fg(ZvztO<4uBKkuH|$wxS8{(sYI!E&6>iSGQQa0OrSSHiq?@xio*~m4@8`(r zgoK6n->|-qivwR(i_{U|n+ZNav(BE01`~uAXPK>{kt3*8ObXzUjbY%FbQ4IO-ftb4 zuHbfpKPi?*&Yu?ePGyZOlQO^+6V@$CsiCSGc2}hlLWkFNwF(_>vQXv%O(O&qC{ug; z6TlREpTMRTpOlxeIX0LnAbkBOmsswTO#pUzjx#Ev2dqMkok`Rqqm=3F5$powXub;J z2%^Mc-U~zo%uN^w??{+5eY!B^G4?3xsy04s{{#Xl_vr9CH`YG%CPV~?z;3it14cz> z!!c)LKkvcYFPqh09~!IfQ;jR%kk-pqgzW%G!RfnExmYbSHq46l`W5Ov*Z&1EYm_&%ipqP*{=#*^L zG7OQ_@?)***)2<@`v4`@07$XDq(doKVuUM3x)WN)+9!-!MaqagiI<>{4c1@+nobA> zEB2;U&IAJ66Y!jW%BPzwDuqrIKqR91ZpEwtwCc$gA>0)RCLV+Hj22ITL_sAJ@EM#n zps%($i-@HbA-8m4ps_7>rx~U#XjE;&+6t8+ZFCS4xH{O76BQZppG1~ozp-*&`dj$) zq@6$PE9|xAEeacMJ8OpTox&}hkN!oY@VwS$iSvgN?<^+jIpTiv~K z7G0WC^aLXyOt~a|GiJR)uCdBl;TD1qB4ds2XGd%&;QDtiV&P=;IC} zZa-4shOM3;8+CrcJwn$1W66Z)XXHnXy5(MLDQ2*f zBM6BNbdZhnC~}kUqJnlW%An3pNpTJJ6Jg=W@!}5HbVmtT@-JKV| zu=AdOH}+e}d_U+sEi}q&bo}fSQ##E4c(ZQ@x0J$&q_X7&;~GaCjq0Bn-#x)As!w8< zktnsh^z+69v$N5#30S)AW1O7EU1tvUKe7SOyPDP-oQw8+vF2s@kEL2o=i|4=F1$1^ zZPcfir#6&!7`eP?)R_%QQ5!FU8R2g(&MaI}w`UeHIwH0^) zKOTo-5;Iy^s1%;?z;mcWinGtkC!2Lj@$cc<3eB@67(Gnr-m$7S^7T6QmqD;TQ*-_uaPb;anV4*bQyv8gVODA#X=85EzcjAD#of)}EkkBZJ&d zr&b$96nqu{pb6|ho(yceFw%Y@I0Fi);_3xcgxl8$T#A=HF0#dJ>2tCti^Uyn^yUPy z#u6-i+`KS#v%H=9v5vqMT9PBs^(3>SPN#7Nd#u&&aLmHDteg>}xao>~n_d?fcp zW)D!xzF^*R$+7Q)66|%39fCNZU$wlEO{j)c+EBVRD{I#vVKn;GU``1?-2pdIGlZO8 z5`br2X%D*s*ZAWVyMj$|f{a$i1`>-CTwW$+VcwO#j2gY9wj&@x>WeF_|G6)5PqBPge(goJN?v-I1+st_ z0j3zWgS0hvMa~l91b4ZV)my%i2a&!8O$3@c?%?PPcP*?{BNnSY^5m?`)w++dgCS#; z6-#S2!K|@+cwFu;#md3L4~I`bUbz6*CNYbav3k|CdL3w%jA}H>w*u9XU5X=!y#ETyM1;`xzZ3mj=YZwjHzq3c#J9Gvu zhbd}~wKE#Wf9NT4&!N2>fwG>%Q4;JH;q=-tC~c^ed}P?K6xrgfO33u|a(72QuZxQw zcR4*$F!anDmne>)uEgDNcMUO-e?t_|IO)Pk&H?-aQMmXY7A`Y}+jV`>^eM-tr#98@ zm|nCchsRHq`a~Ll1{obasBSQUx6hdaWS&M{gqLua#tmxxFm4}JOs2aB)lqQ8g47#z zI-`;Kz_`vq#uR3^rlo}vBxAMWJ5_w;wD>i2nw~oaO6cJ;_2b4&$(ohM!==7!n_{~E z9b>0A0@Qd~*>I6X$)6gN+p>>9%PXJ-?q#w^Wtyy5^#*5LDd=oz2}42#5cL7k(gMf= zcD!-!9?u8OsYoJg3;)EDcO+s_r<-1XVIT zIvJ4tZB_AfqWQtS850A$smkD_uZ(D&N=qzGpjt`sC@E`&@_^i@fg@-V;*8Q=PCl&30?Frqt8`r?LZ| z)s3y6)kP;xzp1`^R=)JN5l4Ss;2z?-!@pevYya+o^0qndj-61}bN~G#{kC>qa&_MC z%mLI#A?DyCsT8)*7^2?SH#oRmJCLN(19G{I)$7h7mmgD4(~Ht)TxlWV5lF+Gdyi=s zkdXq?!@@-0)wjwm2I*Ymv>hcy2Pe+BQrko7H!IE2Zn@Sz8Knr9yf$me9($on>RhR` z>XVIQUb`9^x-K**clj%eS={h$p_y)uDS`1xd+v=|-neh%M!1&2ak-jvJW|yjHzSw8 zz&35-<2^yMt26OD%Et4%6hA}<{Ij`E%Remae_(vU%gYX)`(vrG72_R79s0YC@h__H zo{_J-JI2a*gqg`}*>vZVEacjMU_bF6_YC5HTU8vaAkIdkvvX9GC+Hb50_7Xgnl z3^Fic-fcaU+-Go{D@m=U1*1cZ3ZDewoq6ZVT65iH@vBv><|TjKp#8blS;&9oo~Wq=Lar;msY7>#|nB9o*a7np=nA(Nn24cH_w4B^Dz1UN%L;N$% zW-WIRexxwzWy=zir$hap2MdZey*6v$g0zh4f&pvFI&@!gWqSUMh^D5PaS05SZ7ls* z|3lwyXuyMt1+DsWRn_xz(wyuqd+^)n%$6`jPer%7#a_Hla}WQ@0;pNFrfrqaVu zX(!q2X)OlmG8`N&W<74(g%;0GVs6>+6QnkC?##)b6car$r(|)rfyb&s2e&o0p9$DlkB~tZSFgWNVs9q{;ND^pMA=`M{0pdIka)0cf*RxtYXgKzs<{BO z4L7Mk0+A21ECI2gP<9Yj+{(s?16L_iCB1)r^Yz`Q|62`~tzEB08|JHQn$ zvLtB14rky`3)PDK2u_tJDS`U;m@5jl_!k#y4lg_@p8}lc!u~dV@lLU!_QJANmIoy2 z3B(g1J3Nq9Lh+Sc1pXpcK+1 z+)lMm%`ba~&+C-7pxfn_6$1gp-+Q0QpVoQ0Z}IT_O%~ePECqb-jnYtzl4^E3D7|5% zD0hmgw~q~}yuVfhL@hjJJruUK`y)&cDT8 zQJ{D^P%L)FBDJDllD4GP>KzEy5Fpgm+-+q=%vS6Nwpqq0M3h{p0lFOvJSw zsP|B2U3C(Ca=V+^8#?yRgX>#v?mG#T2vH|Hs7>KRM+^vT2IkJgOzEnkhKd)01`g}* z|KK;`^Kod?-}ChdtE#I}Cpx*i;3Se@%ByywO95sP9fH|(1u0WHej05*!L0tirfJch zzd-JP!Z+TtK=+$-Ni%v{9^hbC+mk#{g@8D!xR%c4fqScnj3L0`dX3}(RUV-_2S1ZE zh~kQeA~BR!2yd0Qf*Og5JSwk^kJ60t6mN&)t@3tM~Z=tqVZ(c8vKZ(B~UBLEj{*_BH67SY>Pp%;xB&V<3i)sj#nf-|EcN zr3c3zVd|5m#r41Lc~Aahu9RSy`Pr{Y&NN zSnsbpH~n1wu-ojf>JNTBo93n*dY+NSDo*8N7*z|+oy=D z^eG1H?N6V=-o`T$m-=XlajCB=XAZojaBoHID=pzE^@r3F;VSa}c4A_UXT!Y}!LK~U z>$MS8YR+CZAxq2d9ysK)aZ67R z7<+5oGWMmVPSmd!)lysd$`?Y^{oBjlw1>rppN%|G8}Oj|XPGnA7>@j0yWo$6Z-G zmAz(JA$6T?vFOI%+OY29d0~Ou0@@ev8b57A?leKg>qNW??)TKZ0luChzOo){FJIX} zDQ;QWm_2EfdN`hW)B21T*UVgPIfvjpZ->thZwIU9E}x%v{z^m2EGjM0TvJP!A8Zxl z*)~2(L&`I}5*xLITa&UL?(mj6L?AM@Wu|#VG~d-w{HY}mYAK?FQi!!xON8nsOyVos z8byttC-a|`ogURGLq^cHWa zW0bZP&Af5|U!9~L(i)~p7t|Ii2(+}tE64E}d6AyNj3~NtfUO!OxXtmrX+{*}XVybS zmP5mt02`t=p5g8A8R6|uDLhhI!i*@$;Hq*=k@0LoxYCgFjM5V2t|}B2 zvV7iBX#8JV;@PW%INgP+b9{86@vYlJ z@+@Weal|gzf7Z`K3Bc#MdF<)Wi(O>LJ%{$S*hTRn@b@-$&I3M@o61NKdO>L4F#v#l zJQA=|J%f+rAJ*|+;#|Q~wy~hCXn6{a1uGE;7A(XQRO|5-aR;b@PH_kRq#eOx;pXXS zPrFX5^0KFl9)i5(_lDiOg`G-p!j|~a z@)WbSPHS|J3ti9S6L_e?9{Km;>4b%(0c~&a^D-pU*~Q&#k{n!}sH&~K2hi{N?SUNe zphR)VK0yUJ8(R#SxZsH2how846aD?$xsUv-QFGb0xUyEn2v1ozN|~ zbDq5@Uln@^V=d1CpLgqKOIOa33$!v2uS(T&&?9U!TE+~LV9)!6eH7^Zwmu0klo?*!_QI?k+BB-tYU5@4m~<&Yn4Q&Y3f3&YU@OPUqu2 z!`f)RW$T|8DNwEXfoo;26GyKms9R%7y3N9h8kHYUxynJ#e$CQ6z|oUW#b^NFqv z=qipb6@U-Ssff{g@MsmDS==~l@v&E5Ua>zgZ0Mn_muIJJ_-NPeJxDE(+*P%4IV|Z5 z%bS}g99HdGNDkuO&I5cc9#i1!ajc2F_R zUTQT?4m!BWn&Gi=0HWfp=nw*uIgWZc$$tE3f&+3H7*;eYoK{eHb5@qt#AD+Sfh{g8 z>|ha}A2tCo+4D}7t6SzBi>TgQS>H9$NnO8r*45vCd$o8)nY$S;)4a8H^Tr*Itm9Tm zZSVA~-L-l>8?AY|X6ww*@bZLl6)~&}CK4A`5j-i(qd~!57ZH^+=h)k|hArreDW94kr9ISVmQ7YeeznTL*x~-=;+)pGnAG*gNcs!BAF`g?8 z7y6s_7P72MOj%<4f}v~AR&1Xa$HvavSO3Nh)oZVW)a;#~w=mOdeMSea$<2yt#x=RX9G0PQ5qpXebR-bWZSjw> zbTNUykIbud^icsp4?uU_o}nGWRNYCCJH?%lp8C%2%?Qe#YkRzUPFY&bc!3X@k=Ho? zNJ!Pj8I>DnMhZeoSM8?uReP7UODDL6KIL7Z7qZB|NU#HzJyjOMADt<|CaMav4( zr;fcPE*JCHd!V>4iH(%YoZ+fxEKIHBULw7dBHkk7X)Ma{uR@oTIqiW|4&L!j^)QN>o(DGM1y^K$(fpY6{!tLgNF~M zub;bPdH=DVMN@X>Bosf#PfP2bUftqsY@Ir<@G#kQWJ6O+1J~zO7EDpo>-2D6uoic# zlYADz#FrwMn;}s}v(nuN3P3d1#Yu4Nh$5pOz&KM=O&RnyjjU4~%aH)iye3X!SMS72R($kW9L%gi`-xfAEVE~_B^hE858fTYp zf=pM|EY*+GywjW5m{C_4sDca(Qdm#a3u4PUo8q4%U&sNzQ7uj_ zmQhVEj!mq9fdFpgn>f_aHk%B?zRKwXwUHy|NEim9R7PUgbgy13D!uBkuTwLb% ze;xi7$748(PP3(O6p{F$6 z8(521m%NZaF6Gg>{uirXxVm&#mgW&IbwcN>YckeqPM>1g-avJad+3~(*S`E+-sT$M zU(Hj?9&(G2%3+HzY z*Q{CEv4*`u6g3$qgS$vy{m@P?Sl~q4addPtHnxJtSBkV-WH{(1LyQO5s1FztQIZXs zgY#P(8VAE>_E%O6)J16y^I7XgURu-Lv7U`LkonAYXsr>gm4VCjeo$Yvg@v^>vf;u_ZabxHa`d>*LFdo>*Xhlc5R3+`)Kv~|8`tHTfd{I%$Dq|G#zI|MjJ4e1pnnu)aw~HD8J?!h>CGk<*Fk zQqUF2-(q{edJ_?q>?8&_Rs?|#Cmwib=#DXKf(P6nIy_Fa!$Da_bI>ru8E?-2L|6Ki znuB*UoG~(#V}(iTV|8XGyN%Va55!f*mGb|^y50B;($7Oc#nrFqhun-h>AE`m@iXHy z!Ftc$D4cina3nSSZNM?RAmLn)hI4_KJ`ME%i%*nx>S3YYX22r#aBnNyIa*J|>n^-n z{+14&#~66nqlJ(3F1*@Ncv1JmlV^|OSI2*>gXcL09>LE^`kzt!>Ue~|Q~aVI0Izx! zUj1l)o$iGvc~fRN3a_5uq=OeS79Qc7Y@-N|QHy+o?<0r#25V~LGXaMDAiN~G7wL`E zYSaNQaVFcG-w4>oXQJ=ri`;e;&sqF;x_;Z=kEitIQ9NhydvtgPj>VJ6ivhgZ{J;KB z@MiN+hm?*Ff>%0<-<NnPfGjxWn-T|>|PCDi?c_&cCQFav^jNCtxO(X2U0 z@0g}ObXpF78p`2of&ZP1Q`D#9^iA{&`8MzKzmsuFrhGD%U!mwc9gXc5`9>LCsj&u>bI{vT@UeLYpB!9@sNEhMN^H1sES>FfGhK_U* zUOi8C?+Jdm5!(y#5pLrxHBpd%eHAyGNZF;W-O0;vE`3?-@` z-waa;!KpLCeVpJuCU5l>u3 zIf^IY%?yGk`7M=X-0XksAs}QX?!ye@)LO_}%NfZlY2{AwdSon4q<& zIE#J07gjBWMR*rv&a#!GvNeO^MP?fjS}ld9uXk4lDLg8JB5rlUVk$EdE_e()v7cnN z5#iO1!Xx$Wg-2vigjX-L>)@&Hheu^lgjdhMjNTIbNIe61glAL+0guQa;Te%Zwv)c2@|&y z^t>GdCk?lgky$YOf51s&O(~qv``|#4D%qd7=2yozwh*bZ6vqtBaZ34!dq4@V$sQ+o5f0@`fu1iU@2iLd<>Lif4y&9-kgITOia6WDx&puSchu9pCkm%l`z6Zp zAMQRSIui9MkB-v*nv2PHC~d_XZHbPgyG`hCEyYt|umdK-A+tS&gT6G;{yN_ahtBo{ z4rco((%TRND9xIy{58^B1|tKUPGx?kErrknv5*Fa8(zrY)Si@fGS=AJhyT>k#=grn znK!bQn02uh*dJy>rsJ*xhjGrIIA5VYNCmvT*yhJQ2)O(dj!3x4aD<(dXs%aA%#Vm_ zh^SIb&h>cIW8!2*p5HjnqXBcGX7D!^Q^UfhDjZc)D}sV5rm9{JpO$PFHzxpo=sSCP z#D0$AU}^8z)g+B;s91TdtvKg6i@umgcMxII^S6-6G^90*Dpx8GuOJEzo zD3dJ%0$ddiz8)S9M%JcXQYpDE6cqb(+-u|(A7pVQ@wxY5Df*`1Js`;tNSGn<)sOt; znLAlg5!DbCxges#J8zN)yImTR7pFRiQ;ftmH8&(uY zjVt)VPBk&r)jqr;`Q8>?l8qhAt!!)z8l>&fyaHp|Qxf@6z>^+@_O|wI+-OAF%b#nk z`PE~bZ@D5X)lJ`EY~dHl72)=-sS{O5uORkNCPfbwIJ0N!VC!aX55E+eL>I+GLd!$Y zLppxOv?+O@sNB>359Kp+q97*Y6Jr7$e9bHZ?xMje(=+47n*>!FdHN_2JCrN%z-JaH z{tuZk@F8ck%~THVT?%Jwgih*c{z*7S5=pHO`Ab}TvLvv3YWXZlrc-8 zbBU(+#GO7Tgb66etU}6}w`n;}Mj2YqY(58z4E39FV#>gJX7kzAck7eb2x@Js5gW0e ztVi*?$y6sR3@s7@gT_cu%MCFSc)DG*j^0N#1w3M=*YpbZ(#YU2?(6nEi>;;NMK@^b?`{LAet7Tp z!w>J@K2$MvYQ?nTDU$SWKl}K*f8P4&$Hjvujt>q#`pBRT@!(lOGF3hExWo9euz;zF`8B1|caRoZZZdUCMPU5Kp2~GO#ix2^J+pa=W>R2=I;uKx z=8XIbV5dO8_e$T#jt04_z|_{x$H&pp(rB^!UG(S)HBn-SI?&(ngOEy!Ac#MD+cQa- zpkj+Fww9=?j;&N=IoPL$E$kR47`x6bTDjxshTPgIrEz89{>9Swi%zVb_1xBCxpa|{ zY5De2-;{w>tBy5RRus$($WSNDh{aynN80bXEwVmD>#QR3E?KKx0C~4gHs&Q9>t)HZ zeRM$=8To*^YYgkUjIDd+9=NNu^Y6k{j;;IFJ#|+Z!o`)Q1~`!00{8_KU-&`^zRV|g z;rhZ&cNgFL>aH=Y>;1p$u4X>I3pen8*Ii`@SB1K@I+{UezOGq@o2TEztN?GllcR-& zo1__gC$@4K8Er`;4}`=>X{cDJu~6RQ(GR* zIlkJ>NZGl6%I+_g$JF;~mYJJvGBWk6EtS0U>WRk7>xS10=if-F9oO*j@nL1nmKh;L zQ(V$?3Q5qpQq~0hW0|Kx&)@03G9o6V*t~Uhv9|V(bS{c_mJW7+Yt4<2J*q?m5w z-q#_j3EcZzFARF7ihrNGBJ0C^>V){$Fk*3eIy;*Os8ljzzKdaSH9Te?=qWPShljkP z+kpZZ^=Xu(Qo%r}cp3c7Qd^ejHFi_)c8j^@b)}Q$TQ*uA(mbb%#NdLCE>T8CD$!NV z)6PMDwntslvy{T?8y2RAMkg-Z@M~CDL~w8fZgtST+4mj164U)`l{x9I55PSj*~Zz^ z(>7F<>>n6NEdqqa+luJxQWV25(Dh)9Z6KPp&<9WeUes<8|CUh8lGsh$70W~G?{-47 z1lX(43-&OuSD_bg*!l%ISNde9xk+DMxIyfK=7u5mq!;YJ{n8V?99+|Ll(y(W1E~KJ zs4w2ptR@zXCCn=|E~(=k;22wCa zBKin{juKL7y11zt`+Ma;dYqDm66wvgYc+r9S+9SSv2>2VCHY1;0-43U%9@%AMn+~` z5}C||B1Ks&u3qer=uDw|q9otsdInz%_6mM6*fU2s;yF~0|AssnNYJa zR%J{!_c)#HQI36=yXCnCn&>z4WXteG$@yKsY=9N?4~?y0ftYy}gS$-3Y;B!@EblDk znmu)!x*@p0l9)C{BxZ_UjVZ3d=;2AMXeEfSlZ={buVfU*yMMwiKaa!V-aZl0N~8Nu?boX6Xa1oZawY-iE6y zt&p2^n%Ka7&s>Dnixd?!&zPD<^BCFLx#JE%8*8~64Sx<#5>Fh`&F3O7a_2nO`iMZH z^h8{Pjd&FYQhezy<>6_jEOa&+v*s;8$ZDjq(^{pFA+v3I9!B%pITI3;Qc7;VwcA`wqvknjg zhRkZZT67LkK`+x9J$%U&oHsDEMQ_ni}PuQpA0*IFtJ=hgp=d zV$9E*k|*MMH5By>6GaLQF=8qp&8GF2Z$idBFldW@5!*o9N&gJ!I%P`7v z368{1DA`G=mZtrS`j@PMsD96Z^rPLNP8+j{*0C|DgIi^})M*D#ZDYN`CfKnCF+&b!gAs+%HZ+RK`PL$r;ywXAo-zA7gf~xapmod* z>Znj>s|@>ox;m4z@6kGz26aj_iG)L99U=|PW0dP-%fa>OM8YUPWd)-UCo_jB#4)te zbn*zf;%TeUW
  • 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 CDHovt diff --git a/docs/api/fonts/WorkSans-Bold.ttf b/docs/api/fonts/WorkSans-Bold.ttf deleted file mode 100644 index 0caaf4d4ddbebc309554574b611d24435d5a8045..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192548 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

    -$ z8o`zPHLk_o0SB%-?OSiTmMho0k*euiuE;wFxn2k4s_EM_-_l_xjUNY+#FJ*cPM*x@ zjQfdu@q&~*Px{Wd7jQR;)lc$V>RrZ^q1cN@v??nvgJg<~*dFB3rr=&s=`u_rFOgi@f diff --git a/docs/api/fonts/glyphicons-halflings-regular.eot b/docs/api/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..b93a4953fff68df523aa7656497ee339d6026d64 GIT binary patch literal 20127 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 G`u_lkUM?>H literal 0 HcmV?d00001 diff --git a/docs/api/fonts/glyphicons-halflings-regular.woff2 b/docs/api/fonts/glyphicons-halflings-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..64539b54c3751a6d9adb44c8e3a45ba5a73b77f0 GIT binary patch literal 18028 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 literal 0 HcmV?d00001 diff --git a/docs/api/img/glyphicons-halflings-white.png b/docs/api/img/glyphicons-halflings-white.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf6484a29d8da269f9bc874b25493a45fae3bae GIT binary patch literal 8777 zcmZvC1yGz#v+m*$LXcp=A$ZWB0fL7wNbp_U*$~{_gL`my3oP#L!5tQYy99Ta`+g_q zKlj|KJ2f@c)ARJx{q*bbkhN_!|Wn*Vos8{TEhUT@5e;_WJsIMMcG5%>DiS&dv_N`4@J0cnAQ-#>RjZ z00W5t&tJ^l-QC*ST1-p~00u^9XJ=AUl7oW-;2a+x2k__T=grN{+1c4XK0ZL~^z^i$ zp&>vEhr@4fZWb380S18T&!0cQ3IKpHF)?v=b_NIm0Q>vwY7D0baZ)n z31Fa5sELUQARIVaU0nqf0XzT+fB_63aA;@<$l~wse|mcA;^G1TmX?-)e)jkGPfkuA z92@|!<>h5S_4f8QP-JRq>d&7)^Yin8l7K8gED$&_FaV?gY+wLjpoW%~7NDe=nHfMG z5DO3j{R9kv5GbssrUpO)OyvVrlx>u0UKD0i;Dpm5S5dY16(DL5l{ixz|mhJU@&-OWCTb7_%}8-fE(P~+XIRO zJU|wp1|S>|J3KrLcz^+v1f&BDpd>&MAaibR4#5A_4(MucZwG9E1h4@u0P@C8;oo+g zIVj7kfJi{oV~E(NZ*h(@^-(Q(C`Psb3KZ{N;^GB(a8NE*Vwc715!9 zr-H4Ao|T_c6+VT_JH9H+P3>iXSt!a$F`>s`jn`w9GZ_~B!{0soaiV|O_c^R2aWa%}O3jUE)WO=pa zs~_Wz08z|ieY5A%$@FcBF9^!1a}m5ks@7gjn;67N>}S~Hrm`4sM5Hh`q7&5-N{|31 z6x1{ol7BnskoViZ0GqbLa#kW`Z)VCjt1MysKg|rT zi!?s##Ck>8c zpi|>$lGlw#@yMNi&V4`6OBGJ(H&7lqLlcTQ&1zWriG_fL>BnFcr~?;E93{M-xIozQ zO=EHQ#+?<}%@wbWWv23#!V70h9MOuUVaU>3kpTvYfc|LBw?&b*89~Gc9i&8tlT#kF ztpbZoAzkdB+UTy=tx%L3Z4)I{zY(Kb)eg{InobSJmNwPZt$14aS-uc4eKuY8h$dtfyxu^a%zA)>fYI&)@ZXky?^{5>xSC?;w4r&td6vBdi%vHm4=XJH!3yL3?Ep+T5aU_>i;yr_XGq zxZfCzUU@GvnoIk+_Nd`aky>S&H!b*{A%L>?*XPAgWL(Vf(k7qUS}>Zn=U(ZfcOc{B z3*tOHH@t5Ub5D~#N7!Fxx}P2)sy{vE_l(R7$aW&CX>c|&HY+7};vUIietK%}!phrCuh+;C@1usp;XLU<8Gq8P!rEI3ieg#W$!= zQcZr{hp>8sF?k&Yl0?B84OneiQxef-4TEFrq3O~JAZR}yEJHA|Xkqd49tR&8oq{zP zY@>J^HBV*(gJvJZc_0VFN7Sx?H7#75E3#?N8Z!C+_f53YU}pyggxx1?wQi5Yb-_`I`_V*SMx5+*P^b=ec5RON-k1cIlsBLk}(HiaJyab0`CI zo0{=1_LO$~oE2%Tl_}KURuX<`+mQN_sTdM&* zkFf!Xtl^e^gTy6ON=&gTn6)$JHQq2)33R@_!#9?BLNq-Wi{U|rVX7Vny$l6#+SZ@KvQt@VYb%<9JfapI^b9j=wa+Tqb4ei;8c5 z&1>Uz@lVFv6T4Z*YU$r4G`g=91lSeA<=GRZ!*KTWKDPR}NPUW%peCUj`Ix_LDq!8| zMH-V`Pv!a~QkTL||L@cqiTz)*G-0=ytr1KqTuFPan9y4gYD5>PleK`NZB$ev@W%t= zkp)_=lBUTLZJpAtZg;pjI;7r2y|26-N7&a(hX|`1YNM9N8{>8JAuv}hp1v`3JHT-=5lbXpbMq7X~2J5Kl zh7tyU`_AusMFZ{ej9D;Uyy;SQ!4nwgSnngsYBwdS&EO3NS*o04)*juAYl;57c2Ly0(DEZ8IY?zSph-kyxu+D`tt@oU{32J#I{vmy=#0ySPK zA+i(A3yl)qmTz*$dZi#y9FS;$;h%bY+;StNx{_R56Otq+?pGe^T^{5d7Gs&?`_r`8 zD&dzOA|j8@3A&FR5U3*eQNBf<4^4W_iS_()*8b4aaUzfk2 zzIcMWSEjm;EPZPk{j{1>oXd}pXAj!NaRm8{Sjz!D=~q3WJ@vmt6ND_?HI~|wUS1j5 z9!S1MKr7%nxoJ3k`GB^7yV~*{n~O~n6($~x5Bu{7s|JyXbAyKI4+tO(zZYMslK;Zc zzeHGVl{`iP@jfSKq>R;{+djJ9n%$%EL()Uw+sykjNQdflkJZSjqV_QDWivbZS~S{K zkE@T^Jcv)Dfm93!mf$XYnCT--_A$zo9MOkPB6&diM8MwOfV?+ApNv`moV@nqn>&lv zYbN1-M|jc~sG|yLN^1R2=`+1ih3jCshg`iP&mY$GMTcY^W^T`WOCX!{-KHmZ#GiRH zYl{|+KLn5!PCLtBy~9i}`#d^gCDDx$+GQb~uc;V#K3OgbbOG0j5{BRG-si%Bo{@lB zGIt+Ain8^C`!*S0d0OSWVO+Z89}}O8aFTZ>p&k}2gGCV zh#<$gswePFxWGT$4DC^8@84_e*^KT74?7n8!$8cg=sL$OlKr&HMh@Rr5%*Wr!xoOl zo7jItnj-xYgVTX)H1=A2bD(tleEH57#V{xAeW_ezISg5OC zg=k>hOLA^urTH_e6*vSYRqCm$J{xo}-x3@HH;bsHD1Z`Pzvsn}%cvfw%Q(}h`Dgtb z0_J^niUmoCM5$*f)6}}qi(u;cPgxfyeVaaVmOsG<)5`6tzU4wyhF;k|~|x>7-2hXpVBpc5k{L4M`Wbe6Q?tr^*B z`Y*>6*&R#~%JlBIitlZ^qGe3s21~h3U|&k%%jeMM;6!~UH|+0+<5V-_zDqZQN79?n?!Aj!Nj`YMO9?j>uqI9-Tex+nJD z%e0#Yca6(zqGUR|KITa?9x-#C0!JKJHO(+fy@1!B$%ZwJwncQW7vGYv?~!^`#L~Um zOL++>4qmqW`0Chc0T23G8|vO)tK=Z2`gvS4*qpqhIJCEv9i&&$09VO8YOz|oZ+ubd zNXVdLc&p=KsSgtmIPLN69P7xYkYQ1vJ?u1g)T!6Ru`k2wkdj*wDC)VryGu2=yb0?F z>q~~e>KZ0d_#7f3UgV%9MY1}vMgF{B8yfE{HL*pMyhYF)WDZ^^3vS8F zGlOhs%g_~pS3=WQ#494@jAXwOtr^Y|TnQ5zki>qRG)(oPY*f}U_=ip_{qB0!%w7~G zWE!P4p3khyW-JJnE>eECuYfI?^d366Shq!Wm#x&jAo>=HdCllE$>DPO0N;y#4G)D2y#B@5=N=+F%Xo2n{gKcPcK2!hP*^WSXl+ut; zyLvVoY>VL{H%Kd9^i~lsb8j4>$EllrparEOJNT?Ym>vJa$(P^tOG)5aVb_5w^*&M0 zYOJ`I`}9}UoSnYg#E(&yyK(tqr^@n}qU2H2DhkK-`2He% zgXr_4kpXoQHxAO9S`wEdmqGU4j=1JdG!OixdqB4PPP6RXA}>GM zumruUUH|ZG2$bBj)Qluj&uB=dRb)?^qomw?Z$X%#D+Q*O97eHrgVB2*mR$bFBU`*} zIem?dM)i}raTFDn@5^caxE^XFXVhBePmH9fqcTi`TLaXiueH=@06sl}>F%}h9H_e9 z>^O?LxM1EjX}NVppaO@NNQr=AtHcH-BU{yBT_vejJ#J)l^cl69Z7$sk`82Zyw7Wxt z=~J?hZm{f@W}|96FUJfy65Gk8?^{^yjhOahUMCNNpt5DJw}ZKH7b!bGiFY9y6OY&T z_N)?Jj(MuLTN36ZCJ6I5Xy7uVlrb$o*Z%=-)kPo9s?<^Yqz~!Z* z_mP8(unFq65XSi!$@YtieSQ!<7IEOaA9VkKI?lA`*(nURvfKL8cX}-+~uw9|_5)uC2`ZHcaeX7L8aG6Ghleg@F9aG%X$#g6^yP5apnB>YTz&EfS{q z9UVfSyEIczebC)qlVu5cOoMzS_jrC|)rQlAzK7sfiW0`M8mVIohazPE9Jzn*qPt%6 zZL8RELY@L09B83@Be;x5V-IHnn$}{RAT#<2JA%ttlk#^(%u}CGze|1JY5MPhbfnYG zIw%$XfBmA-<_pKLpGKwbRF$#P;@_)ech#>vj25sv25VM$ouo)?BXdRcO{)*OwTw)G zv43W~T6ekBMtUD%5Bm>`^Ltv!w4~65N!Ut5twl!Agrzyq4O2Fi3pUMtCU~>9gt_=h-f% z;1&OuSu?A_sJvIvQ+dZNo3?m1%b1+s&UAx?8sUHEe_sB7zkm4R%6)<@oYB_i5>3Ip zIA+?jVdX|zL{)?TGpx+=Ta>G80}0}Ax+722$XFNJsC1gcH56{8B)*)eU#r~HrC&}` z|EWW92&;6y;3}!L5zXa385@?-D%>dSvyK;?jqU2t_R3wvBW;$!j45uQ7tyEIQva;Db}r&bR3kqNSh)Q_$MJ#Uj3Gj1F;)sO|%6z#@<+ zi{pbYsYS#u`X$Nf($OS+lhw>xgjos1OnF^$-I$u;qhJswhH~p|ab*nO>zBrtb0ndn zxV0uh!LN`&xckTP+JW}gznSpU492)u+`f{9Yr)js`NmfYH#Wdtradc0TnKNz@Su!e zu$9}G_=ku;%4xk}eXl>)KgpuT>_<`Ud(A^a++K&pm3LbN;gI}ku@YVrA%FJBZ5$;m zobR8}OLtW4-i+qPPLS-(7<>M{)rhiPoi@?&vDeVq5%fmZk=mDdRV>Pb-l7pP1y6|J z8I>sF+TypKV=_^NwBU^>4JJq<*14GLfM2*XQzYdlqqjnE)gZsPW^E@mp&ww* zW9i>XL=uwLVZ9pO*8K>t>vdL~Ek_NUL$?LQi5sc#1Q-f6-ywKcIT8Kw?C(_3pbR`e|)%9S-({if|E+hR2W!&qfQ&UiF^I!|M#xhdWsenv^wpKCBiuxXbnp85`{i|;BM?Ba`lqTA zyRm=UWJl&E{8JzYDHFu>*Z10-?#A8D|5jW9Ho0*CAs0fAy~MqbwYuOq9jjt9*nuHI zbDwKvh)5Ir$r!fS5|;?Dt>V+@F*v8=TJJF)TdnC#Mk>+tGDGCw;A~^PC`gUt*<(|i zB{{g{`uFehu`$fm4)&k7`u{xIV)yvA(%5SxX9MS80p2EKnLtCZ>tlX>*Z6nd&6-Mv$5rHD*db;&IBK3KH&M<+ArlGXDRdX1VVO4)&R$f4NxXI>GBh zSv|h>5GDAI(4E`@F?EnW zS>#c&Gw6~_XL`qQG4bK`W*>hek4LX*efn6|_MY+rXkNyAuu?NxS%L7~9tD3cn7&p( zCtfqe6sjB&Q-Vs7BP5+%;#Gk};4xtwU!KY0XXbmkUy$kR9)!~?*v)qw00!+Yg^#H> zc#8*z6zZo>+(bud?K<*!QO4ehiTCK&PD4G&n)Tr9X_3r-we z?fI+}-G~Yn93gI6F{}Dw_SC*FLZ)5(85zp4%uubtD)J)UELLkvGk4#tw&Tussa)mTD$R2&O~{ zCI3>fr-!-b@EGRI%g0L8UU%%u_<;e9439JNV;4KSxd|78v+I+8^rmMf3f40Jb}wEszROD?xBZu>Ll3;sUIoNxDK3|j3*sam2tC@@e$ z^!;+AK>efeBJB%ALsQ{uFui)oDoq()2USi?n=6C3#eetz?wPswc={I<8x=(8lE4EIsUfyGNZ{|KYn1IR|=E==f z(;!A5(-2y^2xRFCSPqzHAZn5RCN_bp22T(KEtjA(rFZ%>a4@STrHZflxKoqe9Z4@^ zM*scx_y73?Q{vt6?~WEl?2q*;@8 z3M*&@%l)SQmXkcUm)d@GT2#JdzhfSAP9|n#C;$E8X|pwD!r#X?0P>0ZisQ~TNqupW z*lUY~+ikD`vQb?@SAWX#r*Y+;=_|oacL$2CL$^(mV}aKO77pg}O+-=T1oLBT5sL2i z42Qth2+0@C`c+*D0*5!qy26sis<9a7>LN2{z%Qj49t z=L@x`4$ALHb*3COHoT?5S_c(Hs}g!V>W^=6Q0}zaubkDn)(lTax0+!+%B}9Vqw6{H zvL|BRM`O<@;eVi1DzM!tXtBrA20Ce@^Jz|>%X-t`vi-%WweXCh_LhI#bUg2*pcP~R z*RuTUzBKLXO~~uMd&o$v3@d0shHfUjC6c539PE6rF&;Ufa(Rw@K1*m7?f5)t`MjH0 z)_V(cajV5Am>f!kWcI@5rE8t6$S>5M=k=aRZROH6fA^jJp~2NlR4;Q2>L$7F#RT#9 z>4@1RhWG`Khy>P2j1Yx^BBL{S`niMaxlSWV-JBU0-T9zZ%>7mR3l$~QV$({o0;jTI ze5=cN^!Bc2bT|BcojXp~K#2cM>OTe*cM{Kg-j*CkiW)EGQot^}s;cy8_1_@JA0Whq zlrNr+R;Efa+`6N)s5rH*|E)nYZ3uqkk2C(E7@A|3YI`ozP~9Lexx#*1(r8luq+YPk z{J}c$s` zPM35Fx(YWB3Z5IYnN+L_4|jaR(5iWJi2~l&xy}aU7kW?o-V*6Av2wyZTG!E2KSW2* zGRLQkQU;Oz##ie-Z4fI)WSRxn$(ZcD;TL+;^r=a4(G~H3ZhK$lSXZj?cvyY8%d9JM zzc3#pD^W_QnWy#rx#;c&N@sqHhrnHRmj#i;s%zLm6SE(n&BWpd&f7>XnjV}OlZntI70fq%8~9<7 zMYaw`E-rp49-oC1N_uZTo)Cu%RR2QWdHpzQIcNsoDp`3xfP+`gI?tVQZ4X={qU?(n zV>0ASES^Xuc;9JBji{)RnFL(Lez;8XbB1uWaMp@p?7xhXk6V#!6B@aP4Rz7-K%a>i z?fvf}va_DGUXlI#4--`A3qK7J?-HwnG7O~H2;zR~RLW)_^#La!=}+>KW#anZ{|^D3 B7G?kd literal 0 HcmV?d00001 diff --git a/docs/api/img/glyphicons-halflings.png b/docs/api/img/glyphicons-halflings.png new file mode 100644 index 0000000000000000000000000000000000000000..a9969993201f9cee63cf9f49217646347297b643 GIT binary patch literal 12799 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 literal 0 HcmV?d00001 diff --git a/docs/api/index.html b/docs/api/index.html index d67faeacb..d229261ee 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -1,3 +1,243 @@ -Home

    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Index + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    +

    Welcome

    +

    Use the Modules dropdown or the search feature to find files and functions 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()
      • +
      +
    • +
    • When viewing source files: +
        +
      • The syntax highlighter doesn't support BrightScript and will treat all source files as JavaScript.
      • +
      • The page scrolls to the correct line number but it does not highlight the selected line.
      • +
      +
    • +
    +
    + + + + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-AlbumData.html b/docs/api/module-AlbumData.html index 3c304952c..334fb0a80 100644 --- a/docs/api/module-AlbumData.html +++ b/docs/api/module-AlbumData.html @@ -1,3 +1,397 @@ -Module: AlbumData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: AlbumData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: AlbumData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-AlbumGrid.html b/docs/api/module-AlbumGrid.html index 1e830aa17..21b236384 100644 --- a/docs/api/module-AlbumGrid.html +++ b/docs/api/module-AlbumGrid.html @@ -1,3 +1,679 @@ -Module: AlbumGrid
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: AlbumGrid + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: AlbumGrid

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

    Methods

    + +
    + +
    +
    +

    <static> getData()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> onKeyEvent(key, press)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    key + + +string + + + + +
    press + + +boolean + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-AlbumTrackList.html b/docs/api/module-AlbumTrackList.html index 3fbed9c5d..d93b26d11 100644 --- a/docs/api/module-AlbumTrackList.html +++ b/docs/api/module-AlbumTrackList.html @@ -1,3 +1,501 @@ -Module: AlbumTrackList
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: AlbumTrackList + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: AlbumTrackList

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

    Methods

    + +
    + +
    +
    +

    <static> getData()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-AlbumView.html b/docs/api/module-AlbumView.html index 8d010e0aa..d19dda8a0 100644 --- a/docs/api/module-AlbumView.html +++ b/docs/api/module-AlbumView.html @@ -1,3 +1,1785 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: AlbumView + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: AlbumView

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

    Methods

    + +
    + +
    +
    +

    <static> OnScreenHidden()

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

    <static> adjustScreenForNoOverview()

    + + +
    +
    + + +
    +

    Adjust scene by removing overview node and showing more songs

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

    <static> createDialogPallete()

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

    <static> createFullDscrDlg()

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

    <static> init()

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

    <static> onDoneLoading()

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

    <static> onKeyEvent(key, press)

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

    <static> pageContentChanged()

    + + +
    +
    + + +
    +

    Set values for displayed values on screen

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

    <static> setOnScreenTextValues(json)

    + + +
    +
    + + +
    +

    Populate on screen text variables

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    json + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setPosterImage(posterURL)

    + + +
    +
    + + +
    +

    Set poster image on screen

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    posterURL + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setScreenTitle(json)

    + + +
    +
    + + +
    +

    Set screen's title text

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    json + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setupMainNode()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-Alpha.html b/docs/api/module-Alpha.html index a5deff9be..7c83f560e 100644 --- a/docs/api/module-Alpha.html +++ b/docs/api/module-Alpha.html @@ -1,3 +1,575 @@ -Module: Alpha
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: Alpha + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: Alpha

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> onKeyEvent(key, press)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    key + + +string + + + + +
    press + + +boolean + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ArtistView.html b/docs/api/module-ArtistView.html index f466294a6..01d90e70a 100644 --- a/docs/api/module-ArtistView.html +++ b/docs/api/module-ArtistView.html @@ -1,3 +1,3033 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ArtistView + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ArtistView

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

    Methods

    + +
    + +
    +
    +

    <static> OnScreenHidden()

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

    <static> OnScreenShown()

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

    <static> artistOverviewChanged()

    + + +
    +
    + + +
    +

    Event fired when page data is loaded

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

    <static> createDialogPallete()

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

    <static> createFullDscrDlg()

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

    <static> dscrShowFocus()

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

    <static> init()

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

    <static> onAlbumsData()

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

    <static> onAlbumsEscape()

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

    <static> onAppearsOnData()

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

    <static> onAppearsOnEscape()

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

    <static> onBackdropImageLoaded()

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

    <static> onButtonSelectedChange()

    + + +
    +
    + + +
    +

    Event handler when user selected a different playback button

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

    <static> onEllipsisChanged()

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

    <static> onKeyEvent(key, press)

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

    <static> onSectionNavigationEscape()

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

    <static> onSectionNavigationSelected()

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

    <static> onSectionScrollerChange()

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

    <static> pageContentChanged()

    + + +
    +
    + + +
    +

    Event fired when page data is loaded

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

    <static> setBackdropImage(data)

    + + +
    +
    + + +
    +

    Add backdrop image to screen

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    data + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setPosterImage(posterURL)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    posterURL + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setScreenTitle(json)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    json + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setupButtons()

    + + +
    +
    + + +
    +

    Setup playback buttons, default to Play button selected

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

    <static> setupMainNode()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-AudioPlayer.html b/docs/api/module-AudioPlayer.html index 70232174c..c2cf4ba0d 100644 --- a/docs/api/module-AudioPlayer.html +++ b/docs/api/module-AudioPlayer.html @@ -1,3 +1,663 @@ -Module: AudioPlayer
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: AudioPlayer + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: AudioPlayer

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

    Methods

    + +
    + +
    +
    +

    <static> ReportPlayback(state)

    + + +
    +
    + + +
    +

    Report playback to server

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    state + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> audioStateChanged()

    + + +
    +
    + + +
    +

    State Change Event Handler

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

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-AudioPlayerView.html b/docs/api/module-AudioPlayerView.html index c9d77f880..6cfea5600 100644 --- a/docs/api/module-AudioPlayerView.html +++ b/docs/api/module-AudioPlayerView.html @@ -1,3 +1,4613 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: AudioPlayerView + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: AudioPlayerView

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

    Methods

    + +
    + +
    +
    +

    <static> LoadNextSong()

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

    <static> OnScreenHidden()

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

    <static> audioPositionChanged()

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

    <static> audioStateChanged()

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

    <static> bufferPositionChanged()

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

    <static> endScreenSaver()

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

    <static> findCurrentSongIndex(songList)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    songList + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> loadButtons()

    + + +
    +
    + + +
    +

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

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

    <static> loopClicked()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> nextClicked()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> onAudioStreamLoaded()

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

    <static> onBackdropImageLoaded()

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

    <static> onButtonSelectedChange()

    + + +
    +
    + + +
    +

    Event handler when user selected a different playback button

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

    <static> onKeyEvent(key, press)

    + + +
    +
    + + +
    +

    Process key press events

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

    <static> onMetaDataLoaded()

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

    <static> onScreensaverTimeoutLoaded()

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

    <static> pageContentChanged()

    + + +
    +
    + + +
    +

    Update values on screen when page content changes

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

    <static> playAction()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> previousClicked()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> resetLoopModeToDefault()

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

    <static> screenSaverActive()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setBackdropImage(data)

    + + +
    +
    + + +
    +

    Add backdrop image to screen

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    data + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setLoopButtonImage()

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

    <static> setOnScreenTextValues(json)

    + + +
    +
    + + +
    +

    Populate on screen text variables

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    json + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setPosterImage(posterURL)

    + + +
    +
    + + +
    +

    Set poster image on screen

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    posterURL + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setScreenTitle(json)

    + + +
    +
    + + +
    +

    Set screen's title text

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    json + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setShuffleIconState()

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

    <static> setTrackNumberDisplay()

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

    <static> setupAnimationTasks()

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

    <static> setupAudioNode()

    + + +
    +
    + + +
    +

    Creates audio node used to play song(s)

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

    <static> setupButtons()

    + + +
    +
    + + +
    +

    Setup playback buttons, default to Play button selected

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

    <static> setupDataTasks()

    + + +
    +
    + + +
    +

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

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

    <static> setupInfoNodes()

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

    <static> setupScreenSaver()

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

    <static> shuffleClicked()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> startScreenSaver()

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

    <static> toggleShuffleEnabled()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-AudioTrackListItem.html b/docs/api/module-AudioTrackListItem.html index be73ef698..624a4a28d 100644 --- a/docs/api/module-AudioTrackListItem.html +++ b/docs/api/module-AudioTrackListItem.html @@ -1,3 +1,609 @@ -Module: AudioTrackListItem
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: AudioTrackListItem + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: AudioTrackListItem

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

    Methods

    + +
    + +
    +
    +

    <static> focusChanged()

    + + +
    +
    + + +
    +

    Scroll description if focused

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

    <static> init()

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

    <static> itemContentChanged()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ButtonGroupHoriz.html b/docs/api/module-ButtonGroupHoriz.html index 74eb9f6d5..77ed861e2 100644 --- a/docs/api/module-ButtonGroupHoriz.html +++ b/docs/api/module-ButtonGroupHoriz.html @@ -1,3 +1,575 @@ -Module: ButtonGroupHoriz
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ButtonGroupHoriz + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ButtonGroupHoriz

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> onKeyEvent(key, press)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    key + + +string + + + + +
    press + + +boolean + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ChannelData.html b/docs/api/module-ChannelData.html index 0ca66477c..3f9f2d404 100644 --- a/docs/api/module-ChannelData.html +++ b/docs/api/module-ChannelData.html @@ -1,3 +1,501 @@ -Module: ChannelData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ChannelData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ChannelData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-CollectionData.html b/docs/api/module-CollectionData.html index 88a2eb135..5165fc56c 100644 --- a/docs/api/module-CollectionData.html +++ b/docs/api/module-CollectionData.html @@ -1,3 +1,501 @@ -Module: CollectionData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: CollectionData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: CollectionData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ConfigData.html b/docs/api/module-ConfigData.html index d5adab07a..de323bdf4 100644 --- a/docs/api/module-ConfigData.html +++ b/docs/api/module-ConfigData.html @@ -1,3 +1,397 @@ -Module: ConfigData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ConfigData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ConfigData

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

    Methods

    + +
    + +
    +
    +

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ConfigItem.html b/docs/api/module-ConfigItem.html index dcfb5427f..8a4da45a3 100644 --- a/docs/api/module-ConfigItem.html +++ b/docs/api/module-ConfigItem.html @@ -1,3 +1,605 @@ -Module: ConfigItem
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ConfigItem + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ConfigItem

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> itemContentChanged()

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

    <static> setColors()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ConfigList.html b/docs/api/module-ConfigList.html index 23b2caa57..41a4c92b7 100644 --- a/docs/api/module-ConfigList.html +++ b/docs/api/module-ConfigList.html @@ -1,3 +1,967 @@ -Module: ConfigList
    On this page

    Methods

    (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

    (static) show_dialog(configField) → {void}

    Parameters:
    NameTypeDescription
    configFielddynamic
    Returns:
    Type: 
    void
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ConfigList + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ConfigList

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

    Methods

    + +
    + +
    +
    +

    <static> dismiss_dialog()

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

    <static> init()

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

    <static> onDialogButton()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> onItemSelected()

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

    <static> setData()

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

    <static> show_dialog(configField)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    configField + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ExtrasItem.html b/docs/api/module-ExtrasItem.html index 804a7bc6a..d5557a64f 100644 --- a/docs/api/module-ExtrasItem.html +++ b/docs/api/module-ExtrasItem.html @@ -1,3 +1,605 @@ -Module: ExtrasItem
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ExtrasItem + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ExtrasItem

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

    Methods

    + +
    + +
    +
    +

    <static> focusChanged()

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

    <static> init()

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

    <static> showContent()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ExtrasRowList.html b/docs/api/module-ExtrasRowList.html index 876087d65..3b48701a3 100644 --- a/docs/api/module-ExtrasRowList.html +++ b/docs/api/module-ExtrasRowList.html @@ -1,3 +1,2041 @@ -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) 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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ExtrasRowList + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ExtrasRowList

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

    Methods

    + +
    + +
    +
    +

    <static> addRowSize(newRow)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    newRow + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> buildRow(rowTitle, items [, imgWdth])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    rowTitle + + +string + + + + + + + + + + + + +
    items + + +dynamic + + + + + + + + + + + + +
    imgWdth + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + 0 + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> loadParts(data)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    data + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> loadPersonVideos(personId)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    personId + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> onAdditionalPartsLoaded()

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

    <static> onLikeThisLoaded()

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

    <static> onMoviesLoaded()

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

    <static> onPeopleLoaded()

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

    <static> onRowItemSelected()

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

    <static> onSeriesLoaded()

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

    <static> onShowsLoaded()

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

    <static> onSpecialFeaturesLoaded()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> updateSize()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-FavoriteItemsTask.html b/docs/api/module-FavoriteItemsTask.html index c200cf751..0f67e0f3e 100644 --- a/docs/api/module-FavoriteItemsTask.html +++ b/docs/api/module-FavoriteItemsTask.html @@ -1,3 +1,501 @@ -Module: FavoriteItemsTask
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: FavoriteItemsTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: FavoriteItemsTask

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> setFavoriteStatus()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-FolderData.html b/docs/api/module-FolderData.html index 2784f91e5..39c00b9cb 100644 --- a/docs/api/module-FolderData.html +++ b/docs/api/module-FolderData.html @@ -1,3 +1,501 @@ -Module: FolderData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: FolderData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: FolderData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-GetFiltersTask.html b/docs/api/module-GetFiltersTask.html index 57c2922a7..b4f5d32fc 100644 --- a/docs/api/module-GetFiltersTask.html +++ b/docs/api/module-GetFiltersTask.html @@ -1,3 +1,501 @@ -Module: GetFiltersTask
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: GetFiltersTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: GetFiltersTask

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

    Methods

    + +
    + +
    +
    +

    <static> getFiltersTask()

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

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-GetNextEpisodeTask.html b/docs/api/module-GetNextEpisodeTask.html index fb39b7aae..f54f75ca8 100644 --- a/docs/api/module-GetNextEpisodeTask.html +++ b/docs/api/module-GetNextEpisodeTask.html @@ -1,3 +1,501 @@ -Module: GetNextEpisodeTask
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: GetNextEpisodeTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: GetNextEpisodeTask

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

    Methods

    + +
    + +
    +
    +

    <static> getNextEpisodeTask()

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

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-GetPlaybackInfoTask.html b/docs/api/module-GetPlaybackInfoTask.html index f5c1a4c78..c2cbe0dd7 100644 --- a/docs/api/module-GetPlaybackInfoTask.html +++ b/docs/api/module-GetPlaybackInfoTask.html @@ -1,3 +1,1208 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: GetPlaybackInfoTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: GetPlaybackInfoTask

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

    Methods

    + +
    + +
    +
    +

    <static> GetTranscodingStats(deviceSession)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    deviceSession + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> ItemPostPlaybackInfo(id [, mediaSourceId] [, audioTrackIndex] [, startTimeTicks])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    id + + +string + + + + + + + + + + + + +
    mediaSourceId + + +string + + + + + + + <optional>
    + + + + + +
    + + "" + +
    audioTrackIndex + + +integer + + + + + + + <optional>
    + + + + + +
    + + -1 + +
    startTimeTicks + + +longinteger + + + + + + + <optional>
    + + + + + +
    + + 0 + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getDisplayBitrate(bitrate)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    bitrate + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getPlaybackInfoTask()

    + + +
    +
    + + +
    +

    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.

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

    <static> havePlaybackInfo()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-GetShuffleEpisodesTask.html b/docs/api/module-GetShuffleEpisodesTask.html index 2db72eff2..bec8ea5b3 100644 --- a/docs/api/module-GetShuffleEpisodesTask.html +++ b/docs/api/module-GetShuffleEpisodesTask.html @@ -1,3 +1,501 @@ -Module: GetShuffleEpisodesTask
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: GetShuffleEpisodesTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: GetShuffleEpisodesTask

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

    Methods

    + +
    + +
    +
    +

    <static> getShuffleEpisodesTask()

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

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-GridItem.html b/docs/api/module-GridItem.html index c249745ff..aaaf6166a 100644 --- a/docs/api/module-GridItem.html +++ b/docs/api/module-GridItem.html @@ -1,3 +1,825 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: GridItem + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: GridItem

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

    Methods

    + +
    + +
    +
    +

    <static> focusChanged()

    + + +
    +
    + + +
    +

    Display or hide title Visibility on focus change

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

    <static> focusChanging()

    + + +
    +
    + + +
    +

    Use FocusPercent to animate scaling of Poser Image

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

    <static> init()

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

    <static> itemContentChanged()

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

    <static> onPosterLoadStatusChanged()

    + + +
    +
    + + +
    +

    Hide backdrop and text when poster loaded

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-GridItemSmall.html b/docs/api/module-GridItemSmall.html index 6ed62963e..26c3f03d8 100644 --- a/docs/api/module-GridItemSmall.html +++ b/docs/api/module-GridItemSmall.html @@ -1,3 +1,713 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: GridItemSmall + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: GridItemSmall

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

    Methods

    + +
    + +
    +
    +

    <static> focusChanged()

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

    <static> init()

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

    <static> itemContentChanged()

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

    <static> onPosterLoadStatusChanged()

    + + +
    +
    + + +
    +

    Hide backdrop and text when poster loaded

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-Home.html b/docs/api/module-Home.html index c8ce30e78..ce6a0975a 100644 --- a/docs/api/module-Home.html +++ b/docs/api/module-Home.html @@ -1,3 +1,605 @@ -Module: Home
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: Home + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: Home

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> loadLibraries()

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

    <static> refresh()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-HomeData.html b/docs/api/module-HomeData.html index 1dddf198f..aa443ed7c 100644 --- a/docs/api/module-HomeData.html +++ b/docs/api/module-HomeData.html @@ -1,3 +1,397 @@ -Module: HomeData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: HomeData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: HomeData

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

    Methods

    + +
    + +
    +
    +

    <static> setData()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-HomeItem.html b/docs/api/module-HomeItem.html index ce49d148d..0ad5a44fb 100644 --- a/docs/api/module-HomeItem.html +++ b/docs/api/module-HomeItem.html @@ -1,3 +1,875 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: HomeItem + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: HomeItem

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

    Methods

    + +
    + +
    +
    +

    <static> drawProgressBar(itemData)

    + + +
    +
    + + +
    +

    Draws and animates item progress bar

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    itemData + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> focusChanged()

    + + +
    +
    + + +
    +

    Enable title scrolling based on item Focus

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

    <static> init()

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

    <static> itemContentChanged()

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

    <static> onPosterLoadStatusChanged()

    + + +
    +
    + + +
    +

    Hide backdrop and icon when poster loaded

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-HomeRows.html b/docs/api/module-HomeRows.html index 937155db7..e2e0c579f 100644 --- a/docs/api/module-HomeRows.html +++ b/docs/api/module-HomeRows.html @@ -1,3 +1,2425 @@ -Module: HomeRows
    On this page

    Methods

    (static) deleteFromSizeArray(rowIndex) → {void}

    Parameters:
    NameTypeDescription
    rowIndexdynamic
    Returns:
    Type: 
    void

    (static) filterNodeArray(nodeArray, nodeKey, excludeArray) → {object}

    Parameters:
    NameTypeDescription
    nodeArrayobject
    nodeKeystring
    excludeArrayobject
    Returns:
    Type: 
    object

    (static) getRowIndex(rowTitle) → {dynamic}

    Parameters:
    NameTypeDescription
    rowTitlestring
    Returns:
    Type: 
    dynamic

    (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) updateContinueItems() → {void}

    Returns:
    Type: 
    void

    (static) updateFavoritesItems() → {void}

    Returns:
    Type: 
    void

    (static) updateHomeRows() → {void}

    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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: HomeRows + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: HomeRows

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

    Methods

    + +
    + +
    +
    +

    <static> deleteFromSizeArray(rowIndex)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    rowIndex + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> filterNodeArray(nodeArray, nodeKey, excludeArray)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    nodeArray + + +object + + + + +
    nodeKey + + +string + + + + +
    excludeArray + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +object + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getRowIndex(rowTitle)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    rowTitle + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> itemSelected()

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

    <static> loadLibraries()

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

    <static> onKeyEvent(key, press)

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

    <static> onLibrariesLoaded()

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

    <static> updateContinueItems()

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

    <static> updateFavoritesItems()

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

    <static> updateHomeRows()

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

    <static> updateLatestItems(msg)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> updateNextUpItems()

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

    <static> updateOnNowItems()

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

    <static> updateSize()

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

    <static> updateSizeArray(rowItemSize [, rowIndex] [, action])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    rowItemSize + + +dynamic + + + + + + + + + + + + +
    rowIndex + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + invalid + +
    action + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + "insert" + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-IconButton.html b/docs/api/module-IconButton.html index c5d819c95..a623d191d 100644 --- a/docs/api/module-IconButton.html +++ b/docs/api/module-IconButton.html @@ -1,3 +1,1407 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: IconButton + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: IconButton

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> onBackgroundChanged()

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

    <static> onFocusChanged()

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

    <static> onHeightChanged()

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

    <static> onIconChanged()

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

    <static> onKeyEvent(key, press)

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

    <static> onPaddingChanged()

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

    <static> onTextChanged()

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

    <static> onWidthChanged()

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

    <static> setIconSize()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-Image.html b/docs/api/module-Image.html index 7751b0146..1c8590557 100644 --- a/docs/api/module-Image.html +++ b/docs/api/module-Image.html @@ -1,3 +1,1177 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: Image + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: Image

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

    Methods

    + +
    + +
    +
    +

    <static> ImageURL(id [, version] [, params])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    id + + +dynamic + + + + + + + + + + + + +
    version + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + "Primary" + +
    params + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + {} + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> ItemImages( [id] [, params])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    id + + +string + + + + + + + <optional>
    + + + + + +
    + + "" + +
    params + + +object + + + + + + + <optional>
    + + + + + +
    + + {} + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> PosterImage(id [, params])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    id + + +string + + + + + + + + + + + + +
    params + + +object + + + + + + + <optional>
    + + + + + +
    + + {} + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> UserImageURL(id [, params])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    id + + +dynamic + + + + + + + + + + + + +
    params + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + {} + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ImageData.html b/docs/api/module-ImageData.html index 9aad9611f..10a9867fd 100644 --- a/docs/api/module-ImageData.html +++ b/docs/api/module-ImageData.html @@ -1,3 +1,397 @@ -Module: ImageData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ImageData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ImageData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ItemGrid.html b/docs/api/module-ItemGrid.html index 0ee18951c..f96a7952c 100644 --- a/docs/api/module-ItemGrid.html +++ b/docs/api/module-ItemGrid.html @@ -1,3 +1,3983 @@ -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) 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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ItemGrid + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ItemGrid

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

    Methods

    + +
    + +
    +
    +

    <static> ItemDataLoaded(msg)

    + + +
    +
    + + +
    +

    Handle loaded data, and add to Grid

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SetBackground(backgroundUri)

    + + +
    +
    + + +
    +

    Set Background Image

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    backgroundUri + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SetUpOptions()

    + + +
    +
    + + +
    +

    Data to display when options button selected

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

    <static> getCollectionType()

    + + +
    +
    + + +
    +

    Return parent collection type

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> inStringArray(array, searchValue)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    array + + +dynamic + + + + +
    searchValue + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> loadInitialItems()

    + + +
    +
    + + +
    +

    Load initial set of Data

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

    <static> loadMoreData()

    + + +
    +
    + + +
    +

    Load next set of items

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

    <static> newBGLoaded()

    + + +
    +
    + + +
    +

    When Image Loading Status changes

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

    <static> onChannelFocused(msg)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> onChannelSelected(msg)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> onGenreItemSelected()

    + + +
    +
    + + +
    +

    Genre Item Selected

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

    <static> onItemFocused()

    + + +
    +
    + + +
    +

    Handle new item being focused

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

    <static> onItemSelected()

    + + +
    +
    + + +
    +

    Item Selected

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

    <static> onItemalphaSelected()

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

    <static> onKeyEvent(key, press)

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

    <static> onvoiceFilter()

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

    <static> optionsClosed()

    + + +
    +
    + + +
    +

    Check if options updated and any reloading required

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

    <static> setBoxsetsOptions(options)

    + + +
    +
    + + +
    +

    Set Boxset view, sort, and filter options

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    options + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setDefaultOptions(options)

    + + +
    +
    + + +
    +

    Set Default view, sort, and filter options

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    options + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setLiveTvOptions(options)

    + + +
    +
    + + +
    +

    Set Live TV view, sort, and filter options

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    options + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setMoviesOptions(options)

    + + +
    +
    + + +
    +

    Set Movies view, sort, and filter options

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    options + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setMusicOptions(options)

    + + +
    +
    + + +
    +

    Set Music view, sort, and filter options

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    options + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setPhotoAlbumOptions(options)

    + + +
    +
    + + +
    +

    Set Photo Album view, sort, and filter options

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    options + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setTvShowsOptions(options)

    + + +
    +
    + + +
    +

    Set TV Show view, sort, and filter options

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    options + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> showTVGuide()

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

    <static> swapDone()

    + + +
    +
    + + +
    +

    Swap Complete

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

    <static> updateTitle()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ItemGridOptions.html b/docs/api/module-ItemGridOptions.html index b1cd862c4..4e36e053c 100644 --- a/docs/api/module-ItemGridOptions.html +++ b/docs/api/module-ItemGridOptions.html @@ -1,3 +1,1619 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ItemGridOptions + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ItemGridOptions

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

    Methods

    + +
    + +
    +
    +

    <static> buttonFocusChanged()

    + + +
    +
    + + +
    +

    Switch menu shown when button focus changes

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

    <static> hideChecklist()

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

    <static> init()

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

    <static> isFilterMenuDataValid()

    + + +
    +
    + + +
    +

    Check if data for Filter Menu is valid

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> onFilterFocusChange()

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

    <static> onKeyEvent(key, press)

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

    <static> optionsSet()

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

    <static> saveFavoriteItemSelected(msg)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setHeartColor(color)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    color + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> showChecklist()

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

    <static> toggleFavorite()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-Items.html b/docs/api/module-Items.html index 554e04405..f218178f6 100644 --- a/docs/api/module-Items.html +++ b/docs/api/module-Items.html @@ -1,3 +1,3681 @@ -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) → {dynamic}

    Get list of songs belonging to an artist

    Parameters:
    NameTypeDescription
    idstring
    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(show_id, season_id) → {dynamic}

    Parameters:
    NameTypeDescription
    show_idstring
    season_idstring
    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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: Items + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: Items

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

    Methods

    + +
    + +
    +
    +

    <static> AppearsOnList(id)

    + + +
    +
    + + +
    +

    Get list of albums an artist appears on

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> ArtistOverview(name)

    + + +
    +
    + + +
    +

    Music Artist Data

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    name + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> AudioItem(id)

    + + +
    +
    + + +
    +

    Get Songs that are on an Album

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> AudioStream(id)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> BackdropImage(id)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateArtistMix(id)

    + + +
    +
    + + +
    +

    Get Instant Mix based on item

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateInstantMix(id)

    + + +
    +
    + + +
    +

    Get Instant Mix based on item

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> GetIntroVideos(id)

    + + +
    +
    + + +
    +

    Get Intro Videos for an item

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> GetSongsByArtist(id)

    + + +
    +
    + + +
    +

    Get list of songs belonging to an artist

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> ItemGetPlaybackInfo(id [, startTimeTicks])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    id + + +string + + + + + + + + + + + + +
    startTimeTicks + + +longinteger + + + + + + + <optional>
    + + + + + +
    + + 0 + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> ItemMetaData(id)

    + + +
    +
    + + +
    +

    MetaData about an item

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> ItemPostPlaybackInfo(id [, mediaSourceId] [, audioTrackIndex] [, subtitleTrackIndex] [, startTimeTicks])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    id + + +string + + + + + + + + + + + + +
    mediaSourceId + + +string + + + + + + + <optional>
    + + + + + +
    + + "" + +
    audioTrackIndex + + +integer + + + + + + + <optional>
    + + + + + +
    + + -1 + +
    subtitleTrackIndex + + +integer + + + + + + + <optional>
    + + + + + +
    + + -1 + +
    startTimeTicks + + +longinteger + + + + + + + <optional>
    + + + + + +
    + + 0 + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> MusicAlbumList(id)

    + + +
    +
    + + +
    +

    Get list of albums belonging to an artist

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> MusicSongList(id)

    + + +
    +
    + + +
    +

    Get Songs that are on an Album

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> PlaylistItemList(id)

    + + +
    +
    + + +
    +

    Get Items that are under the provided item

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> TVEpisodeShuffleList(show_id)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    show_id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> TVEpisodes(show_id, season_id)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    show_id + + +string + + + + +
    season_id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> TVSeasons(id)

    + + +
    +
    + + +
    +

    Seasons for a TV Show

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> searchMedia(query)

    + + +
    +
    + + +
    +

    Search across all libraries

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    query + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> useTranscodeAudioStream(playbackInfo)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    playbackInfo + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-JFButton.html b/docs/api/module-JFButton.html index ce2e42a4b..fde29fd5e 100644 --- a/docs/api/module-JFButton.html +++ b/docs/api/module-JFButton.html @@ -1,3 +1,505 @@ -Module: JFButton
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: JFButton + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: JFButton

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> onTextChanged()

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-JFButtons.html b/docs/api/module-JFButtons.html index 82ccdb38f..ac5bdac55 100644 --- a/docs/api/module-JFButtons.html +++ b/docs/api/module-JFButtons.html @@ -1,3 +1,1321 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: JFButtons + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: JFButtons

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

    Methods

    + +
    + +
    +
    +

    <static> focusChanged()

    + + +
    +
    + + +
    +

    Change opacity of the highlighted menu item based on focus

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

    <static> highlightSelected(index [, animate])

    + + +
    +
    + + +
    +

    Highlight selected menu option

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    index + + +integer + + + + + + + + + + + + +
    animate + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + true + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> onKeyEvent(key, press)

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

    <static> renderChanged()

    + + +
    +
    + + +
    +

    When options are fully displayed, set focus and selected option

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

    <static> selectedIndexChanged()

    + + +
    +
    + + +
    +

    When Selected Index set, ensure it is the one Focused

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

    <static> showButtons()

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

    <static> updateButtons()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-JFGroup.html b/docs/api/module-JFGroup.html index 0504ebd4d..a79bc2315 100644 --- a/docs/api/module-JFGroup.html +++ b/docs/api/module-JFGroup.html @@ -1,3 +1,575 @@ -Module: JFGroup
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: JFGroup + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: JFGroup

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> onKeyEvent(key, press)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    key + + +string + + + + +
    press + + +boolean + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-JFMessageDialog.html b/docs/api/module-JFMessageDialog.html index 679fe9298..b3f4910b9 100644 --- a/docs/api/module-JFMessageDialog.html +++ b/docs/api/module-JFMessageDialog.html @@ -1,3 +1,887 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: JFMessageDialog + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: JFMessageDialog

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> onKeyEvent(key, press)

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

    <static> redraw()

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

    <static> updateMessage()

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

    <static> updateOptions()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-JFOverhang.html b/docs/api/module-JFOverhang.html index adb7370dc..a2c1854c9 100644 --- a/docs/api/module-JFOverhang.html +++ b/docs/api/module-JFOverhang.html @@ -1,3 +1,1333 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: JFOverhang + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: JFOverhang

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> onVisibleChange()

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

    <static> resetTime()

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

    <static> setClockVisibility()

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

    <static> setRightSeperatorVisibility()

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

    <static> updateOptions()

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

    <static> updateTime()

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

    <static> updateTimeDisplay()

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

    <static> updateTitle()

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

    <static> updateUser()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-JFScene.html b/docs/api/module-JFScene.html index 5dc401f21..21fe03f68 100644 --- a/docs/api/module-JFScene.html +++ b/docs/api/module-JFScene.html @@ -1,3 +1,575 @@ -Module: JFScene
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: JFScene + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: JFScene

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> onKeyEvent(key, press)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    key + + +string + + + + +
    press + + +boolean + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-JFScreen.html b/docs/api/module-JFScreen.html index 49e33adee..be874f131 100644 --- a/docs/api/module-JFScreen.html +++ b/docs/api/module-JFScreen.html @@ -1,3 +1,617 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: JFScreen + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: JFScreen

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

    Methods

    + +
    + +
    +
    +

    <static> OnScreenHidden()

    + + +
    +
    + + +
    +

    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

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

    <static> OnScreenShown()

    + + +
    +
    + + +
    +

    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

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

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-JFServer.html b/docs/api/module-JFServer.html index ab76cc214..c9f072fae 100644 --- a/docs/api/module-JFServer.html +++ b/docs/api/module-JFServer.html @@ -1,3 +1,809 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: JFServer + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: JFServer

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> itemContentChanged()

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

    <static> onFocusPercentChange(event)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    event + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setTextColor(percentFocused)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    percentFocused + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-JFVideo.html b/docs/api/module-JFVideo.html index 71e6adb55..6602fc9a5 100644 --- a/docs/api/module-JFVideo.html +++ b/docs/api/module-JFVideo.html @@ -1,3 +1,2237 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: JFVideo + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: JFVideo

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

    Methods

    + +
    + +
    +
    +

    <static> ReportPlayback( [state])

    + + +
    +
    + + +
    +

    Report playback to server

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    state + + +string + + + + + + + <optional>
    + + + + + +
    + + "update" + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> bufferCheck(msg)

    + + +
    +
    + + +
    +

    Check the the buffering has not hung

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> checkTimeToDisplayNextEpisode()

    + + +
    +
    + + +
    +

    Checks if we need to display the Next Episode button

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

    <static> hideNextEpisodeButton()

    + + +
    +
    + + +
    +

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

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

    <static> init()

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

    <static> loadCaption()

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

    <static> onAllowCaptionsChange()

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

    <static> onContentChange()

    + + +
    +
    + + +
    +

    Event handler for when video content field changes

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

    <static> onKeyEvent(key, press)

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

    <static> onNextEpisodeDataLoaded()

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

    <static> onPositionChanged()

    + + +
    +
    + + +
    +

    When Video Player state changes

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

    <static> onState(msg)

    + + +
    +
    + + +
    +

    When Video Player state changes

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> showNextEpisodeButton()

    + + +
    +
    + + +
    +

    Runs Next Episode button animation and sets focus to button

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

    <static> toggleCaption()

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

    <static> updateCaption()

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

    <static> updateCount()

    + + +
    +
    + + +
    +

    Update count down text

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ListPoster.html b/docs/api/module-ListPoster.html index 77e2aa413..51f4be8e7 100644 --- a/docs/api/module-ListPoster.html +++ b/docs/api/module-ListPoster.html @@ -1,3 +1,713 @@ -Module: ListPoster
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ListPoster + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ListPoster

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

    Methods

    + +
    + +
    +
    +

    <static> focusChanged()

    + + +
    +
    + + +
    +

    Enable title scrolling based on item Focus

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

    <static> init()

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

    <static> itemContentChanged()

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

    <static> updateSize()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-LoadChannelsTask.html b/docs/api/module-LoadChannelsTask.html index 1e639b70e..5bfc26244 100644 --- a/docs/api/module-LoadChannelsTask.html +++ b/docs/api/module-LoadChannelsTask.html @@ -1,3 +1,501 @@ -Module: LoadChannelsTask
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: LoadChannelsTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: LoadChannelsTask

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> loadChannels()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-LoadItemsTask.html b/docs/api/module-LoadItemsTask.html index f04a0e4e2..23dea949a 100644 --- a/docs/api/module-LoadItemsTask.html +++ b/docs/api/module-LoadItemsTask.html @@ -1,3 +1,703 @@ -Module: LoadItemsTask
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: LoadItemsTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: LoadItemsTask

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

    Methods

    + +
    + +
    +
    +

    <static> getPersonVideos(videoType, dest, dimens)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    videoType + + +dynamic + + + + +
    dest + + +dynamic + + + + +
    dimens + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> loadItems()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-LoadItemsTask2.html b/docs/api/module-LoadItemsTask2.html index 129078ba1..8a22bb9aa 100644 --- a/docs/api/module-LoadItemsTask2.html +++ b/docs/api/module-LoadItemsTask2.html @@ -1,3 +1,501 @@ -Module: LoadItemsTask2
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: LoadItemsTask2 + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: LoadItemsTask2

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> loadItems()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-LoadPhotoTask.html b/docs/api/module-LoadPhotoTask.html index d68f3dec1..cba246dea 100644 --- a/docs/api/module-LoadPhotoTask.html +++ b/docs/api/module-LoadPhotoTask.html @@ -1,3 +1,501 @@ -Module: LoadPhotoTask
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: LoadPhotoTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: LoadPhotoTask

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> loadItems()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-LoadProgramDetailsTask.html b/docs/api/module-LoadProgramDetailsTask.html index 91f539dda..46d0ca6ae 100644 --- a/docs/api/module-LoadProgramDetailsTask.html +++ b/docs/api/module-LoadProgramDetailsTask.html @@ -1,3 +1,501 @@ -Module: LoadProgramDetailsTask
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: LoadProgramDetailsTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: LoadProgramDetailsTask

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> loadProgramDetails()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-LoadScreenSaverTimeoutTask.html b/docs/api/module-LoadScreenSaverTimeoutTask.html index a23d4f731..62574d027 100644 --- a/docs/api/module-LoadScreenSaverTimeoutTask.html +++ b/docs/api/module-LoadScreenSaverTimeoutTask.html @@ -1,3 +1,501 @@ -Module: LoadScreenSaverTimeoutTask
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: LoadScreenSaverTimeoutTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: LoadScreenSaverTimeoutTask

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

    Methods

    + +
    + +
    +
    +

    <static> getScreensaverTimeout()

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

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-LoadSheduleTask.html b/docs/api/module-LoadSheduleTask.html index cc0572c3b..9b10c20df 100644 --- a/docs/api/module-LoadSheduleTask.html +++ b/docs/api/module-LoadSheduleTask.html @@ -1,3 +1,501 @@ -Module: LoadSheduleTask
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: LoadSheduleTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: LoadSheduleTask

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> loadSchedule()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-LoadVideoContentTask.html b/docs/api/module-LoadVideoContentTask.html index f6096e172..b4f27cc28 100644 --- a/docs/api/module-LoadVideoContentTask.html +++ b/docs/api/module-LoadVideoContentTask.html @@ -1,3 +1,2631 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: LoadVideoContentTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: LoadVideoContentTask

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

    Methods

    + +
    + +
    +
    +

    <static> FindPreferredAudioStream(streams)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    streams + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> LoadItems_AddVideoContent(video, mediaSourceId [, audio_stream_idx] [, subtitle_idx] [, forceTranscoding])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    video + + +object + + + + + + + + + + + + +
    mediaSourceId + + +dynamic + + + + + + + + + + + + +
    audio_stream_idx + + +integer + + + + + + + <optional>
    + + + + + +
    + + 1 + +
    subtitle_idx + + +integer + + + + + + + <optional>
    + + + + + +
    + + -1 + +
    forceTranscoding + + +boolean + + + + + + + <optional>
    + + + + + +
    + + false + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> LoadItems_VideoPlayer(id [, mediaSourceId] [, audio_stream_idx] [, subtitle_idx] [, forceTranscoding])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    id + + +string + + + + + + + + + + + + +
    mediaSourceId + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + invalid + +
    audio_stream_idx + + +integer + + + + + + + <optional>
    + + + + + +
    + + 1 + +
    subtitle_idx + + +integer + + + + + + + <optional>
    + + + + + +
    + + -1 + +
    forceTranscoding + + +boolean + + + + + + + <optional>
    + + + + + +
    + + false + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> addNextEpisodesToQueue(showID)

    + + +
    +
    + + +
    +

    Add next episodes to the playback queue

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    showID + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> addSubtitlesToVideo(video, meta)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    video + + +dynamic + + + + +
    meta + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> addVideoContentURL(video, mediaSourceId, audio_stream_idx, fully_external)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    video + + +dynamic + + + + +
    mediaSourceId + + +dynamic + + + + +
    audio_stream_idx + + +dynamic + + + + +
    fully_external + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> directPlaySupported(meta)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    meta + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getContainerType(meta)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    meta + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getSubtitleLanguages()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getTranscodeReasons(url)

    + + +
    +
    + + +
    +

    Extract array of Transcode Reasons from the content URL

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    url + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + +
    +
      +
    • Array of Strings
    • +
    +
    + + + +
    +
    + Type +
    +
    + +object + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> loadItems()

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

    <static> sortSubtitles(id, MediaStreams)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    MediaStreams + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-LoginScene.html b/docs/api/module-LoginScene.html index 21c5dc720..e3386d69c 100644 --- a/docs/api/module-LoginScene.html +++ b/docs/api/module-LoginScene.html @@ -1,3 +1,575 @@ -Module: LoginScene
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: LoginScene + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: LoginScene

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> onKeyEvent(key, press)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    key + + +string + + + + +
    press + + +boolean + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-Main.html b/docs/api/module-Main.html index ea8227134..efbcc2c0a 100644 --- a/docs/api/module-Main.html +++ b/docs/api/module-Main.html @@ -1,3 +1,447 @@ -Module: Main
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: Main + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: Main

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

    Methods

    + +
    + +
    +
    +

    <static> Main(args)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    args + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-MovieData.html b/docs/api/module-MovieData.html index cf794dcff..5ceb490b6 100644 --- a/docs/api/module-MovieData.html +++ b/docs/api/module-MovieData.html @@ -1,3 +1,605 @@ -Module: MovieData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: MovieData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: MovieData

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

    Methods

    + +
    + +
    +
    +

    <static> setContainer()

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

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-MovieDetails.html b/docs/api/module-MovieDetails.html index f7a8c5db9..0bed55231 100644 --- a/docs/api/module-MovieDetails.html +++ b/docs/api/module-MovieDetails.html @@ -1,3 +1,2313 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: MovieDetails + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: MovieDetails

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

    Methods

    + +
    + +
    +
    +

    <static> OnScreenShown()

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

    <static> SetDefaultAudioTrack(itemData)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    itemData + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SetUpAudioOptions(streams)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    streams + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SetUpVideoOptions(streams)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    streams + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> audioOptionsClosed()

    + + +
    +
    + + +
    +

    Check if options updated and any reloading required

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

    <static> getEndTime()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getRuntime()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> itemContentChanged()

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

    <static> onKeyEvent(key, press)

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

    <static> round(f)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    f + + +float + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setFavoriteColor()

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

    <static> setFieldText(field, value)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    field + + +dynamic + + + + +
    value + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setWatchedColor()

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

    <static> trailerAvailableChanged()

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

    <static> videoOptionsClosed()

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-MovieLibraryView.html b/docs/api/module-MovieLibraryView.html index 174d3f794..b4f695748 100644 --- a/docs/api/module-MovieLibraryView.html +++ b/docs/api/module-MovieLibraryView.html @@ -1,3 +1,4577 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: MovieLibraryView + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: MovieLibraryView

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

    Methods

    + +
    + +
    +
    +

    <static> FilterDataLoaded(msg)

    + + +
    +
    + + +
    +

    Logo Image Loaded Event Handler

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> ItemDataLoaded(msg)

    + + +
    +
    + + +
    +

    Handle loaded data, and add to Grid

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> LogoImageLoaded(msg)

    + + +
    +
    + + +
    +

    Logo Image Loaded Event Handler

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> OnScreenHidden()

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

    <static> OnScreenShown()

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

    <static> SetBackground(backgroundUri)

    + + +
    +
    + + +
    +

    Set Background Image

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    backgroundUri + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SetName(movieName)

    + + +
    +
    + + +
    +

    Set Selected Movie Name

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    movieName + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SetOfficialRating(movieOfficialRating)

    + + +
    +
    + + +
    +

    Set Selected Movie OfficialRating

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    movieOfficialRating + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SetOverview(movieOverview)

    + + +
    +
    + + +
    +

    Set Selected Movie Overview

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    movieOverview + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SetProductionYear(movieProductionYear)

    + + +
    +
    + + +
    +

    Set Selected Movie ProductionYear

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    movieProductionYear + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getCollectionType()

    + + +
    +
    + + +
    +

    Return parent collection type

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getItemFocused()

    + + +
    +
    + + +
    +

    Returns Focused Item

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getRuntime(runTimeTicks)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    runTimeTicks + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> inStringArray(array, searchValue)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    array + + +dynamic + + + + +
    searchValue + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> loadInitialItems()

    + + +
    +
    + + +
    +

    Load initial set of Data

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

    <static> loadMoreData()

    + + +
    +
    + + +
    +

    Load next set of items

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

    <static> newBGLoaded()

    + + +
    +
    + + +
    +

    When Image Loading Status changes

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

    <static> onChannelSelected(msg)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> onGenreItemSelected()

    + + +
    +
    + + +
    +

    Genre Item Selected

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

    <static> onItemFocused()

    + + +
    +
    + + +
    +

    Handle new item being focused

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

    <static> onItemSelected()

    + + +
    +
    + + +
    +

    Item Selected

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

    <static> onItemalphaSelected()

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

    <static> onKeyEvent(key, press)

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

    <static> onvoiceFilter()

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

    <static> optionsClosed()

    + + +
    +
    + + +
    +

    Check if options updated and any reloading required

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

    <static> round(f)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    f + + +float + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setFieldText(field, value)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    field + + +dynamic + + + + +
    value + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setMoviesOptions(options)

    + + +
    +
    + + +
    +

    Set Movies view, sort, and filter options

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    options + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setSelectedOptions(options)

    + + +
    +
    + + +
    +

    Data to display when options button selected

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    options + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setupNodes()

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

    <static> swapDone()

    + + +
    +
    + + +
    +

    Swap Complete

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-MovieOptions.html b/docs/api/module-MovieOptions.html index 14f2f91ba..4ceba8535 100644 --- a/docs/api/module-MovieOptions.html +++ b/docs/api/module-MovieOptions.html @@ -1,3 +1,787 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: MovieOptions + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: MovieOptions

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

    Methods

    + +
    + +
    +
    +

    <static> buttonFocusChanged()

    + + +
    +
    + + +
    +

    Switch menu shown when button focus changes

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

    <static> init()

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

    <static> onKeyEvent(key, press)

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

    <static> optionsSet()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-MusicAlbumData.html b/docs/api/module-MusicAlbumData.html index dbe48c8b1..eb105ada8 100644 --- a/docs/api/module-MusicAlbumData.html +++ b/docs/api/module-MusicAlbumData.html @@ -1,3 +1,501 @@ -Module: MusicAlbumData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: MusicAlbumData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: MusicAlbumData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-MusicAlbumSongListData.html b/docs/api/module-MusicAlbumSongListData.html index 4ec032c74..c41a93f2d 100644 --- a/docs/api/module-MusicAlbumSongListData.html +++ b/docs/api/module-MusicAlbumSongListData.html @@ -1,3 +1,501 @@ -Module: MusicAlbumSongListData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: MusicAlbumSongListData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: MusicAlbumSongListData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-MusicArtistData.html b/docs/api/module-MusicArtistData.html index 54e387cb0..13475d366 100644 --- a/docs/api/module-MusicArtistData.html +++ b/docs/api/module-MusicArtistData.html @@ -1,3 +1,501 @@ -Module: MusicArtistData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: MusicArtistData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: MusicArtistData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-MusicArtistGridItem.html b/docs/api/module-MusicArtistGridItem.html index becdb2a30..1c89d9faf 100644 --- a/docs/api/module-MusicArtistGridItem.html +++ b/docs/api/module-MusicArtistGridItem.html @@ -1,3 +1,717 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: MusicArtistGridItem + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: MusicArtistGridItem

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

    Methods

    + +
    + +
    +
    +

    <static> focusChanged()

    + + +
    +
    + + +
    +

    Display or hide title Visibility on focus change

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

    <static> init()

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

    <static> itemContentChanged()

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

    <static> onPosterLoadStatusChanged()

    + + +
    +
    + + +
    +

    Hide backdrop and text when poster loaded

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-MusicLibraryView.html b/docs/api/module-MusicLibraryView.html index 0cc78787f..2eaa6f746 100644 --- a/docs/api/module-MusicLibraryView.html +++ b/docs/api/module-MusicLibraryView.html @@ -1,3 +1,4169 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: MusicLibraryView + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: MusicLibraryView

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

    Methods

    + +
    + +
    +
    +

    <static> ItemDataLoaded(msg)

    + + +
    +
    + + +
    +

    Handle loaded data, and add to Grid

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> LogoImageLoaded(msg)

    + + +
    +
    + + +
    +

    Logo Image Loaded Event Handler

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> OnScreenHidden()

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

    <static> OnScreenShown()

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

    <static> SetAlbumCount(totalCount)

    + + +
    +
    + + +
    +

    Set Selected Artist Album Count

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    totalCount + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SetBackground(backgroundUri)

    + + +
    +
    + + +
    +

    Set Background Image

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    backgroundUri + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SetGenres(artistGenres)

    + + +
    +
    + + +
    +

    Set Selected Artist Genres

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    artistGenres + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SetName(artistName)

    + + +
    +
    + + +
    +

    Set Selected Artist Name

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    artistName + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SetSongCount(totalCount)

    + + +
    +
    + + +
    +

    Set Selected Artist Song Count

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    totalCount + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SetUpOptions()

    + + +
    +
    + + +
    +

    Data to display when options button selected

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

    <static> getCollectionType()

    + + +
    +
    + + +
    +

    Return parent collection type

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getItemFocused()

    + + +
    +
    + + +
    +

    Returns Focused Item

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> inStringArray(array, searchValue)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    array + + +dynamic + + + + +
    searchValue + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> loadInitialItems()

    + + +
    +
    + + +
    +

    Load initial set of Data

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

    <static> loadMoreData()

    + + +
    +
    + + +
    +

    Load next set of items

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

    <static> newBGLoaded()

    + + +
    +
    + + +
    +

    When Image Loading Status changes

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

    <static> onChannelSelected(msg)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> onGenreItemFocused()

    + + +
    +
    + + +
    +

    Genre Item Focused

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

    <static> onGenreItemSelected()

    + + +
    +
    + + +
    +

    Genre Item Selected

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

    <static> onItemFocused()

    + + +
    +
    + + +
    +

    Handle new item being focused

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

    <static> onItemSelected()

    + + +
    +
    + + +
    +

    Item Selected

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

    <static> onItemalphaSelected()

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

    <static> onKeyEvent(key, press)

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

    <static> onvoiceFilter()

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

    <static> optionsClosed()

    + + +
    +
    + + +
    +

    Check if options updated and any reloading required

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

    <static> setFieldText(field, value)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    field + + +dynamic + + + + +
    value + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setMusicOptions(options)

    + + +
    +
    + + +
    +

    Set Music view, sort, and filter options

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    options + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setupNodes()

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

    <static> swapDone()

    + + +
    +
    + + +
    +

    Swap Complete

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-MusicSongData.html b/docs/api/module-MusicSongData.html index 0b843610b..a5482cd64 100644 --- a/docs/api/module-MusicSongData.html +++ b/docs/api/module-MusicSongData.html @@ -1,3 +1,501 @@ -Module: MusicSongData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: MusicSongData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: MusicSongData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-OptionNode.html b/docs/api/module-OptionNode.html index bc4f3a170..469bddff1 100644 --- a/docs/api/module-OptionNode.html +++ b/docs/api/module-OptionNode.html @@ -1,3 +1,397 @@ -Module: OptionNode
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: OptionNode + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: OptionNode

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

    Methods

    + +
    + +
    +
    +

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-OptionsButton.html b/docs/api/module-OptionsButton.html index ba0fded13..7853ac1c6 100644 --- a/docs/api/module-OptionsButton.html +++ b/docs/api/module-OptionsButton.html @@ -1,3 +1,501 @@ -Module: OptionsButton
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: OptionsButton + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: OptionsButton

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> press()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-OptionsData.html b/docs/api/module-OptionsData.html index ababf8e9d..d7354feab 100644 --- a/docs/api/module-OptionsData.html +++ b/docs/api/module-OptionsData.html @@ -1,3 +1,605 @@ -Module: OptionsData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: OptionsData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: OptionsData

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> press()

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

    <static> update_title()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-OptionsSlider.html b/docs/api/module-OptionsSlider.html index bc2ba9d5c..0ef1d5be6 100644 --- a/docs/api/module-OptionsSlider.html +++ b/docs/api/module-OptionsSlider.html @@ -1,3 +1,679 @@ -Module: OptionsSlider
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: OptionsSlider + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: OptionsSlider

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> onKeyEvent(key, press)

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

    <static> setFields()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-OverviewDialog.html b/docs/api/module-OverviewDialog.html index d80dddd7d..e00c5f621 100644 --- a/docs/api/module-OverviewDialog.html +++ b/docs/api/module-OverviewDialog.html @@ -1,3 +1,679 @@ -Module: OverviewDialog
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: OverviewDialog + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: OverviewDialog

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

    Methods

    + +
    + +
    +
    +

    <static> onKeyEvent(key, press)

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

    <static> setOverview()

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

    <static> setTitle()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-PersonData.html b/docs/api/module-PersonData.html index 0b2b33e76..3a7ba9b81 100644 --- a/docs/api/module-PersonData.html +++ b/docs/api/module-PersonData.html @@ -1,3 +1,501 @@ -Module: PersonData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: PersonData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: PersonData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-PersonDetails.html b/docs/api/module-PersonDetails.html index cb372fec5..62ac9387a 100644 --- a/docs/api/module-PersonDetails.html +++ b/docs/api/module-PersonDetails.html @@ -1,3 +1,1353 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: PersonDetails + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: PersonDetails

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

    Methods

    + +
    + +
    +
    +

    <static> createDialogPallete()

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

    <static> createFullDscrDlg()

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

    <static> dscrShowFocus()

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

    <static> init()

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

    <static> loadPerson()

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

    <static> onButtonGroupEscaped()

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

    <static> onKeyEvent(key, press)

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

    <static> setFavoriteColor()

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

    <static> shortDate(isoDate)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    isoDate + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-PhotoData.html b/docs/api/module-PhotoData.html index cef027a8f..483163f07 100644 --- a/docs/api/module-PhotoData.html +++ b/docs/api/module-PhotoData.html @@ -1,3 +1,501 @@ -Module: PhotoData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: PhotoData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: PhotoData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-PhotoDetails.html b/docs/api/module-PhotoDetails.html index bbb43e6f8..96a331c31 100644 --- a/docs/api/module-PhotoDetails.html +++ b/docs/api/module-PhotoDetails.html @@ -1,3 +1,1145 @@ -Module: PhotoDetails
    On this page

    Methods

    (static) init() → {void}

    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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: PhotoDetails + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: PhotoDetails

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> isValidToContinue(index)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    index + + +integer + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> itemContentChanged()

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

    <static> nextSlide()

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

    <static> onKeyEvent(key, press)

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

    <static> onPhotoLoaded()

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

    <static> statusUpdate()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-PlaybackDialog.html b/docs/api/module-PlaybackDialog.html index b4da8544d..9245f1ee9 100644 --- a/docs/api/module-PlaybackDialog.html +++ b/docs/api/module-PlaybackDialog.html @@ -1,3 +1,471 @@ -Module: PlaybackDialog
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: PlaybackDialog + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: PlaybackDialog

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

    Methods

    + +
    + +
    +
    +

    <static> onKeyEvent(key, press)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    key + + +string + + + + +
    press + + +boolean + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-PlayedCheckmark.html b/docs/api/module-PlayedCheckmark.html index 5d913e448..c7dabad1b 100644 --- a/docs/api/module-PlayedCheckmark.html +++ b/docs/api/module-PlayedCheckmark.html @@ -1,3 +1,397 @@ -Module: PlayedCheckmark
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: PlayedCheckmark + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: PlayedCheckmark

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

    Methods

    + +
    + +
    +
    +

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-PlaylistData.html b/docs/api/module-PlaylistData.html index 7a1a43c96..84abb0892 100644 --- a/docs/api/module-PlaylistData.html +++ b/docs/api/module-PlaylistData.html @@ -1,3 +1,501 @@ -Module: PlaylistData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: PlaylistData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: PlaylistData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-PlaylistView.html b/docs/api/module-PlaylistView.html index 0a15a3889..39be7f41e 100644 --- a/docs/api/module-PlaylistView.html +++ b/docs/api/module-PlaylistView.html @@ -1,3 +1,1785 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: PlaylistView + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: PlaylistView

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

    Methods

    + +
    + +
    +
    +

    <static> OnScreenHidden()

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

    <static> adjustScreenForNoOverview()

    + + +
    +
    + + +
    +

    Adjust scene by removing overview node and showing more songs

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

    <static> createDialogPallete()

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

    <static> createFullDscrDlg()

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

    <static> init()

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

    <static> onDoneLoading()

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

    <static> onKeyEvent(key, press)

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

    <static> pageContentChanged()

    + + +
    +
    + + +
    +

    Set values for displayed values on screen

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

    <static> setOnScreenTextValues(json)

    + + +
    +
    + + +
    +

    Populate on screen text variables

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    json + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setPosterImage(posterURL)

    + + +
    +
    + + +
    +

    Set poster image on screen

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    posterURL + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setScreenTitle(json)

    + + +
    +
    + + +
    +

    Set screen's title text

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    json + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setupMainNode()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-PlaystateTask.html b/docs/api/module-PlaystateTask.html index 9061f04d4..ddfc61258 100644 --- a/docs/api/module-PlaystateTask.html +++ b/docs/api/module-PlaystateTask.html @@ -1,3 +1,675 @@ -Module: PlaystateTask
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: PlaystateTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: PlaystateTask

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

    Methods

    + +
    + +
    +
    +

    <static> PlaystateDefaults( [params])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    params + + +object + + + + + + + <optional>
    + + + + + +
    + + {} + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> PlaystateUpdate()

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

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ProgramDetails.html b/docs/api/module-ProgramDetails.html index ffba97219..46e3c835e 100644 --- a/docs/api/module-ProgramDetails.html +++ b/docs/api/module-ProgramDetails.html @@ -1,3 +1,1633 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ProgramDetails + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ProgramDetails

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

    Methods

    + +
    + +
    +
    +

    <static> channelUpdated()

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

    <static> focusChanged()

    + + +
    +
    + + +
    +

    Show view channel button when item has Focus

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

    <static> getDurationStringFromSeconds(seconds)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    seconds + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getRelativeDayName(date)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    date + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> onAnimationComplete()

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

    <static> onKeyEvent(key, press)

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

    <static> programUpdated()

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

    <static> setupLabels()

    + + +
    +
    + + +
    +

    Set up Live and Repeat label sizes

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

    <static> updateLabels( [recordText] [, recordSeriesText])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    recordText + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + "Record" + +
    recordSeriesText + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + "Record Series" + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-PublicUserData.html b/docs/api/module-PublicUserData.html index 22a0df3d7..fbf0b0e88 100644 --- a/docs/api/module-PublicUserData.html +++ b/docs/api/module-PublicUserData.html @@ -1,3 +1,397 @@ -Module: PublicUserData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: PublicUserData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: PublicUserData

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

    Methods

    + +
    + +
    +
    +

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-QueueManager.html b/docs/api/module-QueueManager.html index e969fc8e6..14826f3b1 100644 --- a/docs/api/module-QueueManager.html +++ b/docs/api/module-QueueManager.html @@ -1,3 +1,4191 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: QueueManager + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: QueueManager

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

    Methods

    + +
    + +
    +
    +

    <static> clear()

    + + +
    +
    + + +
    +

    Clear all content from play queue

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

    <static> clearHold()

    + + +
    +
    + + +
    +

    Clear all hold content

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

    <static> deleteAtIndex(index)

    + + +
    +
    + + +
    +

    Delete item from play queue at passed index

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    index + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getCount()

    + + +
    +
    + + +
    +

    Return the number of items in the play queue

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getCurrentItem()

    + + +
    +
    + + +
    +

    Return the item currently in focus from the play queue

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getHold()

    + + +
    +
    + + +
    +

    Return the items in the hold

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getIsShuffled()

    + + +
    +
    + + +
    +

    Return whether or not shuffle is enabled

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getItemByIndex(index)

    + + +
    +
    + + +
    +

    Return the item in the passed index from the play queue

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    index + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getItemType(item)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    item + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getPosition()

    + + +
    +
    + + +
    +

    Returns current playback position within the queue

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getQueue()

    + + +
    +
    + + +
    +

    Return the current play queue

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getQueueTypes()

    + + +
    +
    + + +
    +

    Return the types of items in current play queue

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getQueueUniqueTypes()

    + + +
    +
    + + +
    +

    Return the unique types of items in current play queue

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getUnshuffledQueue()

    + + +
    +
    + + +
    +

    Return original, unshuffled queue

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> hold(newItem)

    + + +
    +
    + + +
    +

    Hold an item

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    newItem + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> isPrerollActive()

    + + +
    +
    + + +
    +

    Return isPrerollActive status

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> moveBack()

    + + +
    +
    + + +
    +

    Move queue position back one

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

    <static> moveForward()

    + + +
    +
    + + +
    +

    Move queue position ahead one

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

    <static> peek()

    + + +
    +
    + + +
    +

    Return item at end of play queue without removing

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> playQueue()

    + + +
    +
    + + +
    +

    Play items in queue

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

    <static> pop()

    + + +
    +
    + + +
    +

    Remove item at end of play queue

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

    <static> push(newItem)

    + + +
    +
    + + +
    +

    Push new items to the play queue

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    newItem + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> resetQueueItemOrder()

    + + +
    +
    + + +
    +

    Reset queue items back to original, unshuffled order

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

    <static> resetShuffle()

    + + +
    +
    + + +
    +

    Reset shuffle to off state

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

    <static> set(items)

    + + +
    +
    + + +
    +

    Replace play queue with passed array

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    items + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setPosition(newPosition)

    + + +
    +
    + + +
    +

    Set the queue position

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    newPosition + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setPrerollStatus(newStatus)

    + + +
    +
    + + +
    +

    Set prerollActive status

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    newStatus + + +boolean + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setTopStartingPoint(positionTicks)

    + + +
    +
    + + +
    +

    Set starting point for top item in the queue

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    positionTicks + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> shuffleQueueItems()

    + + +
    +
    + + +
    +

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

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

    <static> toggleShuffle()

    + + +
    +
    + + +
    +

    Toggle shuffleEnabled state

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

    <static> top()

    + + +
    +
    + + +
    +

    Return the fitst item in the play queue

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-QuickConnect.html b/docs/api/module-QuickConnect.html index 6efece90e..966f750ff 100644 --- a/docs/api/module-QuickConnect.html +++ b/docs/api/module-QuickConnect.html @@ -1,3 +1,501 @@ -Module: QuickConnect
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: QuickConnect + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: QuickConnect

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> monitorQuickConnect()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-QuickConnectDialog.html b/docs/api/module-QuickConnectDialog.html index a8dafae3c..83a31519e 100644 --- a/docs/api/module-QuickConnectDialog.html +++ b/docs/api/module-QuickConnectDialog.html @@ -1,3 +1,991 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: QuickConnectDialog + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: QuickConnectDialog

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

    Methods

    + +
    + +
    +
    +

    <static> OnAuthenticated()

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

    <static> init()

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

    <static> onButtonSelected()

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

    <static> onKeyEvent(key, press)

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

    <static> quickConnectClosed()

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

    <static> quickConnectStatus()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-RadioDialog.html b/docs/api/module-RadioDialog.html index 376c82ef7..2ac755393 100644 --- a/docs/api/module-RadioDialog.html +++ b/docs/api/module-RadioDialog.html @@ -1,3 +1,1219 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: RadioDialog + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: RadioDialog

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> moveScrollBar()

    + + +
    +
    + + +
    +

    Move the popup's scroll bar

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

    <static> onButtonSelected()

    + + +
    +
    + + +
    +

    Event handler for when user selected a button

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

    <static> onContentDataChanged()

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

    <static> onItemFocused()

    + + +
    +
    + + +
    +

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

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

    <static> onItemSelected()

    + + +
    +
    + + +
    +

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

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

    <static> onKeyEvent(key, press)

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

    <static> onScrollBarFocus()

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-RecordProgramTask.html b/docs/api/module-RecordProgramTask.html index dea651b53..1181df29d 100644 --- a/docs/api/module-RecordProgramTask.html +++ b/docs/api/module-RecordProgramTask.html @@ -1,3 +1,501 @@ -Module: RecordProgramTask
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: RecordProgramTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: RecordProgramTask

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

    Methods

    + +
    + +
    +
    +

    <static> RecordOrCancelProgram()

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

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-SceneManager.html b/docs/api/module-SceneManager.html index ab0c5571e..3d4992a54 100644 --- a/docs/api/module-SceneManager.html +++ b/docs/api/module-SceneManager.html @@ -1,3 +1,3463 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: SceneManager + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: SceneManager

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

    Methods

    + +
    + +
    +
    +

    <static> clearPreviousScene()

    + + +
    +
    + + +
    +

    Clear previous scene from group stack

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

    <static> clearScenes()

    + + +
    +
    + + +
    +

    Clear all content from group stack

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

    <static> deleteSceneAtIndex( [index])

    + + +
    +
    + + +
    +

    Delete scene from group stack at passed index

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    index + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + 1 + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> dismissDialog()

    + + +
    +
    + + +
    +

    Close currently displayed dialog

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

    <static> getActiveScene()

    + + +
    +
    + + +
    +

    Return group at top of stack without removing

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +object + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> isDialogOpen()

    + + +
    +
    + + +
    +

    Returns bool indicating if dialog is currently displayed

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> optionClosed()

    + + +
    +
    + + +
    +

    Return button the user selected

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

    <static> optionDialog(title, message, buttons)

    + + +
    +
    + + +
    +

    Display dialog to user with an OK button

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    title + + +dynamic + + + + +
    message + + +dynamic + + + + +
    buttons + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> optionSelected()

    + + +
    +
    + + +
    +

    Return button the user selected

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

    <static> popScene()

    + + +
    +
    + + +
    +

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

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

    <static> pushScene(newGroup)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    newGroup + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> radioDialog(title, message)

    + + +
    +
    + + +
    +

    Display dialog to user with an OK button

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    title + + +dynamic + + + + +
    message + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> registerOverhangData(group)

    + + +
    +
    + + +
    +

    Register observers for overhang data

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    group + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> resetTime()

    + + +
    +
    + + +
    +

    Reset time

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

    <static> settings()

    + + +
    +
    + + +
    +

    Display user/device settings screen

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

    <static> standardDialog(title, message)

    + + +
    +
    + + +
    +

    Display dialog to user with an OK button

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    title + + +dynamic + + + + +
    message + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> unregisterOverhangData(group)

    + + +
    +
    + + +
    +

    Remove observers for overhang data

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    group + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> updateOptions(msg)

    + + +
    +
    + + +
    +

    Update options availability

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> updateOverhangTitle(msg)

    + + +
    +
    + + +
    +

    Update overhang title

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> updateOverhangVisible(msg)

    + + +
    +
    + + +
    +

    Update whether the overhang is visible or not

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> updateUser()

    + + +
    +
    + + +
    +

    Update username in overhang

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

    <static> userMessage(title, message)

    + + +
    +
    + + +
    +

    Display dialog to user with an OK button

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    title + + +string + + + + +
    message + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ScheduleProgramData.html b/docs/api/module-ScheduleProgramData.html index 9f78da917..c2cdc950d 100644 --- a/docs/api/module-ScheduleProgramData.html +++ b/docs/api/module-ScheduleProgramData.html @@ -1,3 +1,501 @@ -Module: ScheduleProgramData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ScheduleProgramData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ScheduleProgramData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-SearchBox.html b/docs/api/module-SearchBox.html index d952adb86..8b8cd2009 100644 --- a/docs/api/module-SearchBox.html +++ b/docs/api/module-SearchBox.html @@ -1,3 +1,501 @@ -Module: SearchBox
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: SearchBox + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: SearchBox

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> searchMedias()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-SearchData.html b/docs/api/module-SearchData.html index da22e0dab..8bca1f76c 100644 --- a/docs/api/module-SearchData.html +++ b/docs/api/module-SearchData.html @@ -1,3 +1,501 @@ -Module: SearchData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: SearchData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: SearchData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-SearchResults.html b/docs/api/module-SearchResults.html index a5ccbea2d..6a9202624 100644 --- a/docs/api/module-SearchResults.html +++ b/docs/api/module-SearchResults.html @@ -1,3 +1,783 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: SearchResults + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: SearchResults

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> loadResults()

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

    <static> onKeyEvent(key, press)

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

    <static> searchMedias()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-SearchRow.html b/docs/api/module-SearchRow.html index 7f50332f2..54c94ede6 100644 --- a/docs/api/module-SearchRow.html +++ b/docs/api/module-SearchRow.html @@ -1,3 +1,807 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: SearchRow + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: SearchRow

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

    Methods

    + +
    + +
    +
    +

    <static> addRow(data, title, type_filter)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    data + + +dynamic + + + + +
    title + + +dynamic + + + + +
    type_filter + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getData()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> updateSize()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-SearchTask.html b/docs/api/module-SearchTask.html index bd68d735b..5b839a777 100644 --- a/docs/api/module-SearchTask.html +++ b/docs/api/module-SearchTask.html @@ -1,3 +1,501 @@ -Module: SearchTask
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: SearchTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: SearchTask

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> search()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-SeriesData.html b/docs/api/module-SeriesData.html index e62385239..14f30f00c 100644 --- a/docs/api/module-SeriesData.html +++ b/docs/api/module-SeriesData.html @@ -1,3 +1,501 @@ -Module: SeriesData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: SeriesData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: SeriesData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ServerDiscoveryTask.html b/docs/api/module-ServerDiscoveryTask.html index 79252a3b1..2c3be1106 100644 --- a/docs/api/module-ServerDiscoveryTask.html +++ b/docs/api/module-ServerDiscoveryTask.html @@ -1,3 +1,1175 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ServerDiscoveryTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ServerDiscoveryTask

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

    Methods

    + +
    + +
    +
    +

    <static> AddServer(server)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    server + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> ProcessClientDiscoveryResponse(message)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    message + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> ProcessSSDPResponse(message)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    message + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SendClientDiscoveryBroadcast()

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

    <static> SendSSDPBroadcast()

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

    <static> execute()

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

    <static> init()

    + + +
    +
    + + +
    +

    Task used to discover jellyfin servers on the local network

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-SetServerScreen.html b/docs/api/module-SetServerScreen.html index 795da8879..e77d0f6ba 100644 --- a/docs/api/module-SetServerScreen.html +++ b/docs/api/module-SetServerScreen.html @@ -1,3 +1,1145 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: SetServerScreen + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: SetServerScreen

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

    Methods

    + +
    + +
    +
    +

    <static> ScanForServers()

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

    <static> ScanForServersComplete(event)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    event + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> ShowKeyboard()

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

    <static> clearErrorMessage()

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

    <static> init()

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

    <static> onDialogButton()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> onKeyEvent(key, press)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    key + + +string + + + + +
    press + + +boolean + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ShowScenes.html b/docs/api/module-ShowScenes.html index ef3e780d9..38a20c346 100644 --- a/docs/api/module-ShowScenes.html +++ b/docs/api/module-ShowScenes.html @@ -1,3 +1,3779 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ShowScenes + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ShowScenes

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

    Methods

    + +
    + +
    +
    +

    <static> CreateAlbumView(album)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    album + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateArtistView(artist)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    artist + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateHomeGroup()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateItemGrid(libraryItem)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    libraryItem + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateMovieDetailsGroup(movie)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    movie + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateMovieLibraryView(libraryItem)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    libraryItem + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateMusicLibraryView(libraryItem)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    libraryItem + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreatePersonView(personData)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    personData + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreatePlaylistView(playlist)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    playlist + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateSearchPage()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateSeasonDetailsGroup(series, season)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    series + + +object + + + + +
    season + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateSeasonDetailsGroupByID(seriesID, seasonID)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    seriesID + + +string + + + + +
    seasonID + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateSeriesDetailsGroup(seriesID)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    seriesID + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateServerGroup()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateSigninGroup( [user])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    user + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + "" + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateUserSelectGroup( [users])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    users + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + [] + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> CreateVideoPlayerGroup(video_id [, mediaSourceId] [, audio_stream_idx] [, forceTranscoding] [, showIntro] [, allowResumeDialog])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    video_id + + +string + + + + + + + + + + + + +
    mediaSourceId + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + invalid + +
    audio_stream_idx + + +integer + + + + + + + <optional>
    + + + + + +
    + + 1 + +
    forceTranscoding + + +boolean + + + + + + + <optional>
    + + + + + +
    + + false + +
    showIntro + + +boolean + + + + + + + <optional>
    + + + + + +
    + + true + +
    allowResumeDialog + + +boolean + + + + + + + <optional>
    + + + + + +
    + + true + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> DeleteFromServerList(urlToDelete)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    urlToDelete + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> LoginFlow()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SaveServerList()

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

    <static> SendPerformanceBeacon(signalName)

    + + +
    +
    + + +
    +

    Roku Performance monitoring

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    signalName + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> playbackOptionDialog(time, meta)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    time + + +longinteger + + + + +
    meta + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-SongItem.html b/docs/api/module-SongItem.html index d0c922206..840f68c52 100644 --- a/docs/api/module-SongItem.html +++ b/docs/api/module-SongItem.html @@ -1,3 +1,605 @@ -Module: SongItem
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: SongItem + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: SongItem

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

    Methods

    + +
    + +
    +
    +

    <static> focusChanged()

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

    <static> init()

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

    <static> itemContentChanged()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-Spinner.html b/docs/api/module-Spinner.html index 70e0f0b06..8d130191f 100644 --- a/docs/api/module-Spinner.html +++ b/docs/api/module-Spinner.html @@ -1,3 +1,397 @@ -Module: Spinner
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: Spinner + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: Spinner

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

    Methods

    + +
    + +
    +
    +

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-StandardDialog.html b/docs/api/module-StandardDialog.html index a4fdb065d..798eb2009 100644 --- a/docs/api/module-StandardDialog.html +++ b/docs/api/module-StandardDialog.html @@ -1,3 +1,501 @@ -Module: StandardDialog
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: StandardDialog + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: StandardDialog

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> onContentDataChanged()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-Subtitles.html b/docs/api/module-Subtitles.html index 3607839c1..09da9d1f3 100644 --- a/docs/api/module-Subtitles.html +++ b/docs/api/module-Subtitles.html @@ -1,3 +1,2257 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: Subtitles + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: Subtitles

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

    Methods

    + +
    + +
    +
    +

    <static> availSubtitleTrackIdx(video, sub_idx)

    + + +
    +
    + + +
    +

    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
    video + + +dynamic + + + + +
    sub_idx + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> changeSubtitleDuringPlayback(newid)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    newid + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> defaultSubtitleTrack(sorted_subtitles [, require_text])

    + + +
    +
    + + +
    +

    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:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    sorted_subtitles + + +dynamic + + + + + + + + + + + + +
    require_text + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + false + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> defaultSubtitleTrackFromVid(video_id)

    + + +
    +
    + + +
    +

    Identify the default subtitle track for a given video id
    +returns the server-side track index for the appriate subtitle

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    video_id + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getSubtitleLanguages()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getSubtitleSelIdxFromSubIdx(subtitles, sub_idx)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    subtitles + + +dynamic + + + + +
    sub_idx + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> selectSubtitleTrack(tracks [, current])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    tracks + + +dynamic + + + + + + + + + + + + +
    current + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + -1 + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> selectSubtitleTrackDialog(tracks [, currentTrack])

    + + +
    +
    + + +
    +

    Present Dialog to user to select subtitle track

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    tracks + + +dynamic + + + + + + + + + + + + +
    currentTrack + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + -1 + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setupSubtitle(video, subtitles [, subtitle_idx])

    + + +
    +
    + + +
    +

    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:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    video + + +dynamic + + + + + + + + + + + + +
    subtitles + + +dynamic + + + + + + + + + + + + +
    subtitle_idx + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + -1 + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> sortSubtitles(id, MediaStreams)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    MediaStreams + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> turnoffSubtitles()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-TVEpisode.html b/docs/api/module-TVEpisode.html index 6934c2448..5c1ee0ac0 100644 --- a/docs/api/module-TVEpisode.html +++ b/docs/api/module-TVEpisode.html @@ -1,3 +1,501 @@ -Module: TVEpisode
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: TVEpisode + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: TVEpisode

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-TVEpisodeData.html b/docs/api/module-TVEpisodeData.html index 089c34d14..a0c06f47d 100644 --- a/docs/api/module-TVEpisodeData.html +++ b/docs/api/module-TVEpisodeData.html @@ -1,3 +1,501 @@ -Module: TVEpisodeData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: TVEpisodeData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: TVEpisodeData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-TVEpisodeRow.html b/docs/api/module-TVEpisodeRow.html index 4fbfec2f8..064d77808 100644 --- a/docs/api/module-TVEpisodeRow.html +++ b/docs/api/module-TVEpisodeRow.html @@ -1,3 +1,887 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: TVEpisodeRow + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: TVEpisodeRow

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> onKeyEvent(key, press)

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

    <static> setData()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setupRows()

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

    <static> updateSize()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-TVEpisodeRowWithOptions.html b/docs/api/module-TVEpisodeRowWithOptions.html index 23b9c355e..e86348f32 100644 --- a/docs/api/module-TVEpisodeRowWithOptions.html +++ b/docs/api/module-TVEpisodeRowWithOptions.html @@ -1,3 +1,1307 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: TVEpisodeRowWithOptions + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: TVEpisodeRowWithOptions

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

    Methods

    + +
    + +
    +
    +

    <static> SetUpAudioOptions(streams)

    + + +
    +
    + + +
    +

    List of audio tracks to choose from

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    streams + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SetUpVideoOptions(streams)

    + + +
    +
    + + +
    +

    List of video versions to choose from

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    streams + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> audioOptionsClosed()

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

    <static> init()

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

    <static> onKeyEvent(key, press)

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

    <static> rowsDoneLoading()

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

    <static> setupRows()

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

    <static> videoOptionsClosed()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-TVEpisodes.html b/docs/api/module-TVEpisodes.html index 9fdeda5af..e84b1eff8 100644 --- a/docs/api/module-TVEpisodes.html +++ b/docs/api/module-TVEpisodes.html @@ -1,3 +1,783 @@ -Module: TVEpisodes
    On this page

    Methods

    (static) init() → {void}

    Returns:
    Type: 
    void

    (static) onKeyEvent(key, press) → {boolean}

    Parameters:
    NameTypeDescription
    keystring
    pressboolean
    Returns:
    Type: 
    boolean

    (static) setSeasonLoading() → {void}

    Returns:
    Type: 
    void

    (static) updateSeason() → {void}

    Returns:
    Type: 
    void
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: TVEpisodes + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: TVEpisodes

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> onKeyEvent(key, press)

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

    <static> setSeasonLoading()

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

    <static> updateSeason()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-TVListDetails.html b/docs/api/module-TVListDetails.html index da3814e5c..1180139a2 100644 --- a/docs/api/module-TVListDetails.html +++ b/docs/api/module-TVListDetails.html @@ -1,3 +1,1311 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: TVListDetails + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: TVListDetails

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

    Methods

    + +
    + +
    +
    +

    <static> DisplayAudioAvailable(streams)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    streams + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> DisplayVideoAvailable(streams)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    streams + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SetupAudioDisplay(mediaStreams, selectedAudioStreamIndex)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    mediaStreams + + +object + + + + +
    selectedAudioStreamIndex + + +integer + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> focusChanged()

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

    <static> getEndTime()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getRuntime()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> itemContentChanged()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-TVListOptions.html b/docs/api/module-TVListOptions.html index 663ff91fe..558236bee 100644 --- a/docs/api/module-TVListOptions.html +++ b/docs/api/module-TVListOptions.html @@ -1,3 +1,787 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: TVListOptions + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: TVListOptions

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

    Methods

    + +
    + +
    +
    +

    <static> buttonFocusChanged()

    + + +
    +
    + + +
    +

    Switch menu shown when button focus changes

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

    <static> init()

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

    <static> onKeyEvent(key, press)

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

    <static> optionsSet()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-TVSeasonData.html b/docs/api/module-TVSeasonData.html index 93d36e135..923d931ff 100644 --- a/docs/api/module-TVSeasonData.html +++ b/docs/api/module-TVSeasonData.html @@ -1,3 +1,501 @@ -Module: TVSeasonData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: TVSeasonData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: TVSeasonData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-TVSeasonRow.html b/docs/api/module-TVSeasonRow.html index 4a275a4c4..e03dc2cc1 100644 --- a/docs/api/module-TVSeasonRow.html +++ b/docs/api/module-TVSeasonRow.html @@ -1,3 +1,605 @@ -Module: TVSeasonRow
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: TVSeasonRow + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: TVSeasonRow

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

    Methods

    + +
    + +
    +
    +

    <static> getData()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> updateSize()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-TVShowDescription.html b/docs/api/module-TVShowDescription.html index 13c053e45..340bd9055 100644 --- a/docs/api/module-TVShowDescription.html +++ b/docs/api/module-TVShowDescription.html @@ -1,3 +1,1145 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: TVShowDescription + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: TVShowDescription

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

    Methods

    + +
    + +
    +
    +

    <static> getEndTime()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getHistory()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getRuntime()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> itemContentChanged()

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

    <static> round(f)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    f + + +float + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setFieldText(field, value)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    field + + +dynamic + + + + +
    value + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-TVShowDetails.html b/docs/api/module-TVShowDetails.html index 6143f0453..7d9d4250a 100644 --- a/docs/api/module-TVShowDetails.html +++ b/docs/api/module-TVShowDetails.html @@ -1,3 +1,1427 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: TVShowDetails + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: TVShowDetails

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

    Methods

    + +
    + +
    +
    +

    <static> getEndTime()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getHistory()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getRuntime()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> itemContentChanged()

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

    <static> onKeyEvent(key, press)

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

    <static> onShuffleEpisodeDataLoaded()

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

    <static> round(f)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    f + + +float + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setFieldText(field, value)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    field + + +dynamic + + + + +
    value + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-TextSizeTask.html b/docs/api/module-TextSizeTask.html index f8c24a08c..fa9e69f26 100644 --- a/docs/api/module-TextSizeTask.html +++ b/docs/api/module-TextSizeTask.html @@ -1,3 +1,501 @@ -Module: TextSizeTask
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: TextSizeTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: TextSizeTask

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

    Methods

    + +
    + +
    +
    +

    <static> getTextSize()

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

    <static> init()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-UserData.html b/docs/api/module-UserData.html index e55298ae4..83e496387 100644 --- a/docs/api/module-UserData.html +++ b/docs/api/module-UserData.html @@ -1,3 +1,1503 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: UserData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: UserData

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

    Methods

    + +
    + +
    +
    +

    <static> getPreference(key)

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

    <static> loadFromJSON(json)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    json + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> loadFromRegistry(id)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> removeFromRegistry()

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

    <static> saveToRegistry()

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

    <static> setActive()

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

    <static> setDataFromJSON()

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

    <static> setPreference(key, value)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    key + + +string + + + + +
    value + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setServer(hostname)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    hostname + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-UserItem.html b/docs/api/module-UserItem.html index a2bc8bc90..0190b2cc0 100644 --- a/docs/api/module-UserItem.html +++ b/docs/api/module-UserItem.html @@ -1,3 +1,501 @@ -Module: UserItem
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: UserItem + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: UserItem

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> itemContentChanged()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-UserLibrary.html b/docs/api/module-UserLibrary.html index a2bb4baa6..e6530d69e 100644 --- a/docs/api/module-UserLibrary.html +++ b/docs/api/module-UserLibrary.html @@ -1,3 +1,909 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: UserLibrary + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: UserLibrary

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

    Methods

    + +
    + +
    +
    +

    <static> MarkItemFavorite(id)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> MarkItemWatched(id)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> UnmarkItemFavorite(id)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> UnmarkItemWatched(id)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    id + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-UserRow.html b/docs/api/module-UserRow.html index e1dee4c49..3ed67be4f 100644 --- a/docs/api/module-UserRow.html +++ b/docs/api/module-UserRow.html @@ -1,3 +1,887 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: UserRow + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: UserRow

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> onKeyEvent(key, press)

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

    <static> setData()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setUser()

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

    <static> updateSize()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-UserSelect.html b/docs/api/module-UserSelect.html index 24067c423..7a63470fb 100644 --- a/docs/api/module-UserSelect.html +++ b/docs/api/module-UserSelect.html @@ -1,3 +1,783 @@ -Module: UserSelect
    On this page

    Methods

    (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) redraw() → {void}

    Returns:
    Type: 
    void
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: UserSelect + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: UserSelect

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> itemContentChanged()

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

    <static> onKeyEvent(key, press)

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

    <static> redraw()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-VideoData.html b/docs/api/module-VideoData.html index 792fa0bab..3cff7b368 100644 --- a/docs/api/module-VideoData.html +++ b/docs/api/module-VideoData.html @@ -1,3 +1,501 @@ -Module: VideoData
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: VideoData + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: VideoData

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

    Methods

    + +
    + +
    +
    +

    <static> setFields()

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

    <static> setPoster()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-VideoPlayer.html b/docs/api/module-VideoPlayer.html index 9ca858d72..098807695 100644 --- a/docs/api/module-VideoPlayer.html +++ b/docs/api/module-VideoPlayer.html @@ -1,3 +1,2964 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: VideoPlayer + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: VideoPlayer

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

    Methods

    + +
    + +
    +
    +

    <static> AddVideoContent(video, mediaSourceId [, audio_stream_idx] [, subtitle_idx] [, playbackPosition] [, forceTranscoding] [, showIntro] [, allowResumeDialog])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    video + + +object + + + + + + + + + + + + +
    mediaSourceId + + +dynamic + + + + + + + + + + + + +
    audio_stream_idx + + +integer + + + + + + + <optional>
    + + + + + +
    + + 1 + +
    subtitle_idx + + +integer + + + + + + + <optional>
    + + + + + +
    + + -1 + +
    playbackPosition + + +integer + + + + + + + <optional>
    + + + + + +
    + + -1 + +
    forceTranscoding + + +boolean + + + + + + + <optional>
    + + + + + +
    + + false + +
    showIntro + + +boolean + + + + + + + <optional>
    + + + + + +
    + + true + +
    allowResumeDialog + + +boolean + + + + + + + <optional>
    + + + + + +
    + + true + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> GetPlaybackInfo()

    + + +
    +
    + + +
    +

    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.

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> GetTranscodingStats(deviceSession)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    deviceSession + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> PlayIntroVideo(video_id, audio_stream_idx)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    video_id + + +dynamic + + + + +
    audio_stream_idx + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> VideoPlayer(id [, mediaSourceId] [, audio_stream_idx] [, subtitle_idx] [, forceTranscoding] [, showIntro] [, allowResumeDialog])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    id + + +string + + + + + + + + + + + + +
    mediaSourceId + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + invalid + +
    audio_stream_idx + + +integer + + + + + + + <optional>
    + + + + + +
    + + 1 + +
    subtitle_idx + + +integer + + + + + + + <optional>
    + + + + + +
    + + -1 + +
    forceTranscoding + + +boolean + + + + + + + <optional>
    + + + + + +
    + + false + +
    showIntro + + +boolean + + + + + + + <optional>
    + + + + + +
    + + true + +
    allowResumeDialog + + +boolean + + + + + + + <optional>
    + + + + + +
    + + true + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> autoPlayNextEpisode(videoID, showID)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    videoID + + +string + + + + +
    showID + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> directPlaySupported(meta)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    meta + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getAudioFormat(meta)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    meta + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getAudioInfo(meta)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    meta + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +object + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getContainerType(meta)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    meta + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getDisplayBitrate(bitrate)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    bitrate + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getTranscodeReasons(url)

    + + +
    +
    + + +
    +

    Extract array of Transcode Reasons from the content URL

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    url + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + +
    +
      +
    • Array of Strings
    • +
    +
    + + + +
    +
    + Type +
    +
    + +object + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> havePlaybackInfo()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> startPlayBackOver(time)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    time + + +longinteger + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-VideoPlayerView.html b/docs/api/module-VideoPlayerView.html index 99bf92958..4db4e7964 100644 --- a/docs/api/module-VideoPlayerView.html +++ b/docs/api/module-VideoPlayerView.html @@ -1,3 +1,2927 @@ -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) 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 captain 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) 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) 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) 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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: VideoPlayerView + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: VideoPlayerView

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

    Methods

    + +
    + +
    +
    +

    <static> ReportPlayback( [state])

    + + +
    +
    + + +
    +

    Report playback to server

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    state + + +string + + + + + + + <optional>
    + + + + + +
    + + "update" + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> bufferCheck(msg)

    + + +
    +
    + + +
    +

    Check the the buffering has not hung

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> checkTimeToDisplayNextEpisode()

    + + +
    +
    + + +
    +

    Checks if we need to display the Next Episode button

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

    <static> hideNextEpisodeButton()

    + + +
    +
    + + +
    +

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

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

    <static> init()

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

    <static> loadCaption()

    + + +
    +
    + + +
    +

    Set caption url to server subtitle track

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

    <static> onAllowCaptionsChange()

    + + +
    +
    + + +
    +

    Only setup captain items if captions are allowed

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

    <static> onContentChange()

    + + +
    +
    + + +
    +

    Event handler for when video content field changes

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

    <static> onKeyEvent(key, press)

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

    <static> onNextEpisodeDataLoaded()

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

    <static> onPlaybackErrorButtonSelected(msg)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> onPlaybackErrorDialogClosed(msg)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> onPositionChanged()

    + + +
    +
    + + +
    +

    When Video Player state changes

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

    <static> onState(msg)

    + + +
    +
    + + +
    +

    When Video Player state changes

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> onSubtitleChange()

    + + +
    +
    + + +
    +

    Event handler for when selectedSubtitle changes

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

    <static> onVideoContentLoaded()

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

    <static> showNextEpisodeButton()

    + + +
    +
    + + +
    +

    Runs Next Episode button animation and sets focus to button

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

    <static> showPlaybackErrorDialog(errorMessage)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    errorMessage + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> toggleCaption()

    + + +
    +
    + + +
    +

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

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

    <static> updateCaption()

    + + +
    +
    + + +
    +

    Removes old subtitle lines and adds new subtitle lines

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

    <static> updateCount()

    + + +
    +
    + + +
    +

    Update count down text

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-VideoTrackListItem.html b/docs/api/module-VideoTrackListItem.html index 242607161..cf9718816 100644 --- a/docs/api/module-VideoTrackListItem.html +++ b/docs/api/module-VideoTrackListItem.html @@ -1,3 +1,609 @@ -Module: VideoTrackListItem
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: VideoTrackListItem + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: VideoTrackListItem

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

    Methods

    + +
    + +
    +
    +

    <static> focusChanged()

    + + +
    +
    + + +
    +

    Scroll description if focused

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

    <static> init()

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

    <static> itemContentChanged()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-ViewCreator.html b/docs/api/module-ViewCreator.html index fe60ff8cd..a5045a56d 100644 --- a/docs/api/module-ViewCreator.html +++ b/docs/api/module-ViewCreator.html @@ -1,3 +1,1314 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: ViewCreator + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: ViewCreator

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

    Methods

    + +
    + +
    +
    +

    <static> CreateAudioPlayerView()

    + + +
    +
    + + +
    +

    Play Audio

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

    <static> CreateVideoPlayerView()

    + + +
    +
    + + +
    +

    Play Video

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

    <static> availSubtitleTrackIdx(tracknameToFind)

    + + +
    +
    + + +
    +

    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
    tracknameToFind + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> onPlaybackInfoLoaded()

    + + +
    +
    + + +
    +

    The playback info task has returned data

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

    <static> onSelectPlaybackInfoPressed()

    + + +
    +
    + + +
    +

    User requested playback info

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

    <static> onSelectSubtitlePressed()

    + + +
    +
    + + +
    +

    User requested subtitle selection popup

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

    <static> onSelectionMade()

    + + +
    +
    + + +
    +

    User has selected something from the radioDialog popup

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

    <static> onStateChange()

    + + +
    +
    + + +
    +

    Playback state change event handlers

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

    <static> processSubtitleSelection()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-WhatsNewDialog.html b/docs/api/module-WhatsNewDialog.html index 8e937237c..127678651 100644 --- a/docs/api/module-WhatsNewDialog.html +++ b/docs/api/module-WhatsNewDialog.html @@ -1,3 +1,501 @@ -Module: WhatsNewDialog
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: WhatsNewDialog + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: WhatsNewDialog

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> setPalette()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-baserequest.html b/docs/api/module-baserequest.html index 873681404..0b52ac7de 100644 --- a/docs/api/module-baserequest.html +++ b/docs/api/module-baserequest.html @@ -1,3 +1,2711 @@ -Module: baserequest
    On this page

    Methods

    (static) APIRequest(url, paramsopt) → {dynamic}

    Parameters:
    NameTypeAttributesDefaultDescription
    urlstring
    paramsobject<optional>
    {}
    Returns:
    Type: 
    dynamic

    (static) authRequest(request) → {object}

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

    Parameters:
    NameTypeDescription
    requestobject
    Returns:
    Type: 
    object

    (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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: baserequest + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: baserequest

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

    Methods

    + +
    + +
    +
    +

    <static> APIRequest(url [, params])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    url + + +string + + + + + + + + + + + + +
    params + + +object + + + + + + + <optional>
    + + + + + +
    + + {} + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> authRequest(request)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    request + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +object + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> buildParams( [params])

    + + +
    +
    + + +
    +

    Functions for making requests to the API

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    params + + +object + + + + + + + <optional>
    + + + + + +
    + + {} + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> buildURL(path [, params])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    path + + +string + + + + + + + + + + + + +
    params + + +object + + + + + + + <optional>
    + + + + + +
    + + {} + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> deleteVoid(req)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    req + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getJson(req)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    req + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getString(req)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    req + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getVoid(req)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    req + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> get_url()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> headVoid(req)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    req + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> postJson(req [, data])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    req + + +dynamic + + + + + + + + + + + + +
    data + + +string + + + + + + + <optional>
    + + + + + +
    + + "" + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> postString(req [, data])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    req + + +dynamic + + + + + + + + + + + + +
    data + + +string + + + + + + + <optional>
    + + + + + +
    + + "" + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> postVoid(req [, data])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    req + + +dynamic + + + + + + + + + + + + +
    data + + +string + + + + + + + <optional>
    + + + + + +
    + + "" + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setCertificateAuthority(request)

    + + +
    +
    + + +
    +

    sets the certificate authority by file path on the passed node

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    request + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-captionTask.html b/docs/api/module-captionTask.html index 681b56a31..e064be5a5 100644 --- a/docs/api/module-captionTask.html +++ b/docs/api/module-captionTask.html @@ -1,3 +1,1633 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: captionTask + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: captionTask

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

    Methods

    + +
    + +
    +
    +

    <static> fetchCaption()

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

    <static> init()

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

    <static> isTime(text)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    text + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> newLayoutGroup(labels)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    labels + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> newRect(lg)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    lg + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> newlabel(txt)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    txt + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> parseVTT(lines)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    lines + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setFont()

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

    <static> toMs(t)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    t + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> updateCaption()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-config.html b/docs/api/module-config.html new file mode 100644 index 000000000..7f3687d98 --- /dev/null +++ b/docs/api/module-config.html @@ -0,0 +1,2447 @@ + + + + + + + jellyfin-roku api docs Module: config + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: config

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

    Methods

    + +
    + +
    +
    +

    <static> GetConfigTree()

    + + +
    +
    + + +
    +

    Read config tree from json config file and return

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> RegistryReadAll(section)

    + + +
    +
    + + +
    +

    Return all data found inside a registry section

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    section + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> findConfigTreeKey(key, tree)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    key + + +string + + + + +
    tree + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> get_setting(key [, defaultValue])

    + + +
    +
    + + +
    +

    "Jellyfin" registry accessors for the default global settings

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    key + + +dynamic + + + + + + + + + + + + +
    defaultValue + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + invalid + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> get_user_setting(key)

    + + +
    +
    + + +
    +

    User registry accessors for the currently active user

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

    <static> registry_delete(key [, section])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    key + + +dynamic + + + + + + + + + + + + +
    section + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + invalid + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> registry_read(key [, section])

    + + +
    +
    + + +
    +

    Generic registry accessors

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    key + + +dynamic + + + + + + + + + + + + +
    section + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + invalid + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> registry_write(key, value [, section])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    key + + +dynamic + + + + + + + + + + + + +
    value + + +dynamic + + + + + + + + + + + + +
    section + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + invalid + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> set_setting(key, value)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    key + + +dynamic + + + + +
    value + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> set_user_setting(key, value)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    key + + +string + + + + +
    value + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> unset_setting(key)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    key + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> unset_user_setting(key)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    key + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-deviceCapabilities.html b/docs/api/module-deviceCapabilities.html index 2e1b5666c..0e9006d34 100644 --- a/docs/api/module-deviceCapabilities.html +++ b/docs/api/module-deviceCapabilities.html @@ -1,3 +1,1316 @@ -Module: deviceCapabilities
    On this page

    Methods

    (static) GetBitRateLimit(codec) → {object}

    Parameters:
    NameTypeDescription
    codecstring
    Returns:
    Type: 
    object

    (static) GetDirectPlayProfiles() → {object}

    Returns:
    Type: 
    object

    (static) PostDeviceProfile() → {void}

    Send Device Profile information to server

    Returns:
    Type: 
    void

    (static) getDeviceCapabilities() → {object}

    Device Capabilities for Roku. This will likely need further tweaking

    Returns:
    Type: 
    object

    (static) getDeviceProfile() → {object}

    Returns:
    Type: 
    object

    (static) removeDecimals(value) → {string}

    Remove all decimals from a string

    Parameters:
    NameTypeDescription
    valuestring
    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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: deviceCapabilities + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: deviceCapabilities

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

    Methods

    + +
    + +
    +
    +

    <static> GetBitRateLimit(codec)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    codec + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +object + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> GetDirectPlayProfiles()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +object + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> PostDeviceProfile()

    + + +
    +
    + + +
    +

    Send Device Profile information to server

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

    <static> getDeviceCapabilities()

    + + +
    +
    + + +
    +

    Device Capabilities for Roku.
    +This will likely need further tweaking

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +object + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getDeviceProfile()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +object + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> removeDecimals(value)

    + + +
    +
    + + +
    +

    Remove all decimals from a string

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    value + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> updateProfileArray(profileArray, videoCodec, videoProfile [, profileLevel])

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    profileArray + + +object + + + + + + + + + + + + +
    videoCodec + + +string + + + + + + + + + + + + +
    videoProfile + + +string + + + + + + + + + + + + +
    profileLevel + + +string + + + + + + + <optional>
    + + + + + +
    + + "" + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +object + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-globals.html b/docs/api/module-globals.html index 5de55b789..bf8118dce 100644 --- a/docs/api/module-globals.html +++ b/docs/api/module-globals.html @@ -1,3 +1,617 @@ -Module: globals
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: globals + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: globals

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

    Methods

    + +
    + +
    +
    +

    <static> SaveAppToGlobal()

    + + +
    +
    + + +
    +

    Save information from roAppInfo to m.global.app

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

    <static> SaveDeviceToGlobal()

    + + +
    +
    + + +
    +

    Save information from roDeviceInfo to m.global.device

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

    <static> setConstants()

    + + +
    +
    + + +
    +

    Set global constants

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-misc.html b/docs/api/module-misc.html index d0a5e0140..951894ab9 100644 --- a/docs/api/module-misc.html +++ b/docs/api/module-misc.html @@ -1,3 +1,5404 @@ -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) 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) → {string}

    Parameters:
    NameTypeDescription
    totalSecondsinteger
    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) standardize_jellyfin_url(url) → {dynamic}

    Take a jellyfin hostname and ensure it's a full url. prepend http or https and append default ports, and remove excess slashes

    Parameters:
    NameTypeDescription
    urlstring
    Returns:
    Type: 
    dynamic

    (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) 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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: misc + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: misc

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

    Methods

    + +
    + +
    +
    +

    <static> AssocArrayEqual(Array1, Array2)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    Array1 + + +object + + + + +
    Array2 + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> arrayHasValue(arr, value)

    + + +
    +
    + + +
    +

    Check if a specific value is inside of an array

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    arr + + +object + + + + +
    value + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> div_ceiling(a, b)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    a + + +integer + + + + +
    b + + +integer + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> findNodeBySubtype(node, subtype)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    node + + +dynamic + + + + +
    subtype + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> formatTime(time)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    time + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getButton(msg [, subnode])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    msg + + +dynamic + + + + + + + + + + + + +
    subnode + + +string + + + + + + + <optional>
    + + + + + +
    + + "buttons" + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +object + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getMinutes(ticks)

    + + +
    +
    + + +
    +

    Converts ticks to minutes

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    ticks + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> getMsgPicker(msg [, subnode])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    msg + + +dynamic + + + + + + + + + + + + +
    subnode + + +string + + + + + + + <optional>
    + + + + + +
    + + "" + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +object + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> get_dialog_result(dialog, port)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    dialog + + +dynamic + + + + +
    port + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> inArray(haystack, needle)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    haystack + + +dynamic + + + + +
    needle + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> isLocalhost(url)

    + + +
    +
    + + +
    +

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

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

    <static> isNodeEvent(msg, field)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    msg + + +dynamic + + + + +
    field + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> isValid(input)

    + + +
    +
    + + +
    +

    Returns whether or not passed value is valid

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    input + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> isValidAndNotEmpty(input)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    input + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +boolean + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> lastFocusedChild(obj)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    obj + + +object + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +object + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> leftPad(base, fill, length)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    base + + +string + + + + +
    fill + + +string + + + + +
    length + + +integer + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> message_dialog( [message])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    message + + +string + + + + + + + <optional>
    + + + + + +
    + + "" + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> option_dialog(options [, message] [, defaultSelection])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    options + + +dynamic + + + + + + + + + + + + +
    message + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + "" + +
    defaultSelection + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + 0 + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> parseUrl(url)

    + + +
    +
    + + +
    +

    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
    url + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +object + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> roundNumber(f)

    + + +
    +
    + + +
    +

    Rounds number to nearest integer

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    f + + +float + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> secondsToHuman(totalSeconds)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    totalSeconds + + +integer + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> setFieldTextValue(field, value)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    field + + +dynamic + + + + +
    value + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> show_dialog(message [, options] [, defaultSelection])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    message + + +string + + + + + + + + + + + + +
    options + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + [] + +
    defaultSelection + + +dynamic + + + + + + + <optional>
    + + + + + +
    + + 0 + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +integer + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> standardize_jellyfin_url(url)

    + + +
    +
    + + +
    +

    Take a jellyfin hostname and ensure it's a full url.
    +prepend http or https and append default ports, and remove excess slashes

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    url + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> startLoadingSpinner()

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

    <static> startMediaLoadingSpinner()

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

    <static> stopLoadingSpinner()

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

    <static> ticksToHuman(ticks)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    ticks + + +longinteger + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> toString(input)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    input + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +string + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> versionChecker(versionToCheck, minVersionAccepted)

    + + +
    +
    + + +
    +

    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
    versionToCheck + + +string + + + + +
    minVersionAccepted + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-schedule.html b/docs/api/module-schedule.html index 16c7dfc32..f6d06e7f7 100644 --- a/docs/api/module-schedule.html +++ b/docs/api/module-schedule.html @@ -1,3 +1,2013 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: schedule + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: schedule

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

    Methods

    + +
    + +
    +
    +

    <static> channelFilterSet()

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

    <static> channelsearchTermSet()

    + + +
    +
    + + +
    +

    Voice Search set

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

    <static> focusProgramDetails(setFocused)

    + + +
    +
    + + +
    +

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

    +
    + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    setFocused + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> init()

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

    <static> onChannelsLoaded()

    + + +
    +
    + + +
    +

    Initial list of channels loaded

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

    <static> onGridScrolled()

    + + +
    +
    + + +
    +

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

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

    <static> onKeyEvent(key, press)

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

    <static> onProgramDetailsLoaded()

    + + +
    +
    + + +
    +

    Update the Program Details with full information

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

    <static> onProgramFocused()

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

    <static> onProgramSelected()

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

    <static> onRecordChannelSelected()

    + + +
    +
    + + +
    +

    Handle user selecting "Record Channel" from Program Details

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

    <static> onRecordOperationDone()

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

    <static> onRecordSeriesChannelSelected()

    + + +
    +
    + + +
    +

    Handle user selecting "Record Series" from Program Details

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

    <static> onScheduleLoaded()

    + + +
    +
    + + +
    +

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

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

    <static> onWatchChannelSelected()

    + + +
    +
    + + +
    +

    Handle user selecting "Watch Channel" from Program Details

    +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-section.html b/docs/api/module-section.html index 65778cb54..44c010d39 100644 --- a/docs/api/module-section.html +++ b/docs/api/module-section.html @@ -1,3 +1,1437 @@ -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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: section + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: section

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

    Methods

    + +
    + +
    +
    +

    <static> init()

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

    <static> onFocusChange()

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

    <static> onIDChange()

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

    <static> onTranslationChange()

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

    <static> scrollDownToOnDeck()

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

    <static> scrollOffBottom()

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

    <static> scrollOffOnDeck()

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

    <static> scrollOffTop()

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

    <static> scrollUpToOnDeck()

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

    <static> showFromBottom()

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

    <static> showFromTop()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-sectionScroller.html b/docs/api/module-sectionScroller.html index e8ee8f18b..d5c2aa777 100644 --- a/docs/api/module-sectionScroller.html +++ b/docs/api/module-sectionScroller.html @@ -1,3 +1,605 @@ -Module: sectionScroller
    On this page
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: sectionScroller + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: sectionScroller

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

    Methods

    + +
    + +
    +
    +

    <static> displayedIndexChanged()

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

    <static> init()

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

    <static> onFocusChange()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-settings.html b/docs/api/module-settings.html index 2b38a7d25..6b9aad35c 100644 --- a/docs/api/module-settings.html +++ b/docs/api/module-settings.html @@ -1,3 +1,1353 @@ -Module: settings
    On this page

    Methods

    (static) LoadMenu(configSection) → {void}

    Parameters:
    NameTypeDescription
    configSectiondynamic
    Returns:
    Type: 
    void

    (static) boolSettingChanged() → {void}

    Returns:
    Type: 
    void

    (static) init() → {void}

    Returns:
    Type: 
    void

    (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) radioSettingChanged() → {void}

    Returns:
    Type: 
    void

    (static) settingFocused() → {void}

    Returns:
    Type: 
    void

    (static) settingSelected() → {void}

    Returns:
    Type: 
    void
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: settings + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: settings

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

    Methods

    + +
    + +
    +
    +

    <static> LoadMenu(configSection)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    configSection + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> boolSettingChanged()

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

    <static> init()

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

    <static> onKeyEvent(key, press)

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

    <static> onKeyGridEscape()

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

    <static> onKeyGridSubmit()

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

    <static> radioSettingChanged()

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

    <static> settingFocused()

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

    <static> settingSelected()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/module-userauth.html b/docs/api/module-userauth.html index d6499f29f..788af204f 100644 --- a/docs/api/module-userauth.html +++ b/docs/api/module-userauth.html @@ -1,3 +1,1755 @@ -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) LoadUserPreferences() → {void}

    Load and parse Display Settings from server

    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
    Home
    \ No newline at end of file + + + + + + + jellyfin-roku api docs Module: userauth + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Module: userauth

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

    Methods

    + +
    + +
    +
    +

    <static> AboutMe( [id])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    id + + +string + + + + + + + <optional>
    + + + + + +
    + + "" + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> AuthenticateViaQuickConnect(secret)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    secret + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> AvailableUsers()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> GetPublicUsers()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> LoadUserAbilities()

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

    <static> LoadUserPreferences()

    + + +
    +
    + + +
    +

    Load and parse Display Settings from server

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

    <static> ServerInfo()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> SignOut( [deleteSavedEntry])

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeArgumentDefaultDescription
    deleteSavedEntry + + +boolean + + + + + + + <optional>
    + + + + + +
    + + true + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +void + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> checkQuickConnect(secret)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    secret + + +dynamic + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> get_token(user, password)

    + + +
    +
    + + + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    user + + +string + + + + +
    password + + +string + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + + + +
    +
    +

    <static> initQuickConnect()

    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    Returns:
    + + + + +
    +
    + Type +
    +
    + +dynamic + + + +
    +
    + + + + + +
    + +
    + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/modules.list.html b/docs/api/modules.list.html new file mode 100644 index 000000000..d428dfba9 --- /dev/null +++ b/docs/api/modules.list.html @@ -0,0 +1,284 @@ + + + + + + + jellyfin-roku api docs Modules + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + +

    Modules

    +
    + +
    + +

    + +

    + + +
    + + +
    +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + +
    + +
    + + + + +
    +
    + +
    + + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/quicksearch.html b/docs/api/quicksearch.html new file mode 100644 index 000000000..d078bfc40 --- /dev/null +++ b/docs/api/quicksearch.html @@ -0,0 +1,31 @@ + + + + + + + + + + + + + diff --git a/docs/api/scripts/core.js b/docs/api/scripts/core.js deleted file mode 100644 index fff74ca08..000000000 --- a/docs/api/scripts/core.js +++ /dev/null @@ -1,702 +0,0 @@ -/* global document */ -var accordionLocalStorageKey = 'accordion-id'; -var themeLocalStorageKey = 'theme'; -var fontSizeLocalStorageKey = 'font-size'; -var html = document.querySelector('html'); - -var MAX_FONT_SIZE = 30; -var MIN_FONT_SIZE = 10; - -// eslint-disable-next-line no-undef -var localStorage = window.localStorage; - -function getTheme() { - var theme = localStorage.getItem(themeLocalStorageKey); - - if (theme) return theme; - - theme = document.body.getAttribute('data-theme'); - - switch (theme) { - case 'dark': - case 'light': - return theme; - case 'fallback-dark': - if ( - // eslint-disable-next-line no-undef - window.matchMedia('(prefers-color-scheme)').matches && - // eslint-disable-next-line no-undef - window.matchMedia('(prefers-color-scheme: light)').matches - ) { - return 'light'; - } - - return 'dark'; - - case 'fallback-light': - if ( - // eslint-disable-next-line no-undef - window.matchMedia('(prefers-color-scheme)').matches && - // eslint-disable-next-line no-undef - window.matchMedia('(prefers-color-scheme: dark)').matches - ) { - return 'dark'; - } - - return 'light'; - - default: - return 'dark'; - } -} - -function localUpdateTheme(theme) { - var body = document.body; - var svgUse = document.querySelectorAll('.theme-svg-use'); - var iconID = theme === 'dark' ? '#light-theme-icon' : '#dark-theme-icon'; - - body.setAttribute('data-theme', theme); - body.classList.remove('dark', 'light'); - body.classList.add(theme); - - svgUse.forEach(function (svg) { - svg.setAttribute('xlink:href', iconID); - }); -} - -function updateTheme(theme) { - localUpdateTheme(theme); - localStorage.setItem(themeLocalStorageKey, theme); -} - -function toggleTheme() { - var body = document.body; - var theme = body.getAttribute('data-theme'); - - var newTheme = theme === 'dark' ? 'light' : 'dark'; - - updateTheme(newTheme); -} - -(function () { - var theme = getTheme(); - - updateTheme(theme); -})(); - -/** - * Function to set accordion id to localStorage. - * @param {string} id Accordion id - */ -function setAccordionIdToLocalStorage(id) { - /** - * @type {object} - */ - var ids = JSON.parse(localStorage.getItem(accordionLocalStorageKey)); - - ids[id] = id; - localStorage.setItem(accordionLocalStorageKey, JSON.stringify(ids)); -} - -/** - * Function to remove accordion id from localStorage. - * @param {string} id Accordion id - */ -function removeAccordionIdFromLocalStorage(id) { - /** - * @type {object} - */ - var ids = JSON.parse(localStorage.getItem(accordionLocalStorageKey)); - - delete ids[id]; - localStorage.setItem(accordionLocalStorageKey, JSON.stringify(ids)); -} - -/** - * Function to get all accordion ids from localStorage. - * - * @returns {object} - */ -function getAccordionIdsFromLocalStorage() { - /** - * @type {object} - */ - var ids = JSON.parse(localStorage.getItem(accordionLocalStorageKey)); - - return ids || {}; -} - -function toggleAccordion(element) { - var currentNode = element; - var isCollapsed = currentNode.getAttribute('data-isopen') === 'false'; - - if (isCollapsed) { - currentNode.setAttribute('data-isopen', 'true'); - setAccordionIdToLocalStorage(currentNode.id); - } else { - currentNode.setAttribute('data-isopen', 'false'); - removeAccordionIdFromLocalStorage(currentNode.id); - } -} - -function initAccordion() { - if ( - localStorage.getItem(accordionLocalStorageKey) === undefined || - localStorage.getItem(accordionLocalStorageKey) === null - ) { - localStorage.setItem(accordionLocalStorageKey, '{}'); - } - var allAccordion = document.querySelectorAll('.sidebar-section-title'); - var ids = getAccordionIdsFromLocalStorage(); - - allAccordion.forEach(function (item) { - item.addEventListener('click', function () { - toggleAccordion(item); - }); - if (item.id in ids) { - toggleAccordion(item); - } - }); -} - -function isSourcePage() { - return Boolean(document.querySelector('#source-page')); -} - -function bringElementIntoView(element, updateHistory = true) { - // If element is null then we are not going further - if (!element) { - return; - } - - /** - * tocbotInstance is defined in layout.tmpl - * It is defined when we are initializing tocbot. - * - */ - // eslint-disable-next-line no-undef - if (tocbotInstance) { - setTimeout( - // eslint-disable-next-line no-undef - () => tocbotInstance.updateTocListActiveElement(element), - 60 - ); - } - var navbar = document.querySelector('.navbar-container'); - var body = document.querySelector('.main-content'); - var elementTop = element.getBoundingClientRect().top; - - var offset = 16; - - if (navbar) { - offset += navbar.scrollHeight; - } - - if (body) { - body.scrollBy(0, elementTop - offset); - } - - if (updateHistory) { - // eslint-disable-next-line no-undef - history.pushState(null, null, '#' + element.id); - } -} - -// eslint-disable-next-line no-unused-vars -function bringLinkToView(event) { - event.preventDefault(); - event.stopPropagation(); - var id = event.currentTarget.getAttribute('href'); - - if (!id) { - return; - } - - var element = document.getElementById(id.slice(1)); - - if (element) { - bringElementIntoView(element); - } -} - -function bringIdToViewOnMount() { - if (isSourcePage()) { - return; - } - - // eslint-disable-next-line no-undef - var id = window.location.hash; - - if (id === '') { - return; - } - - var element = document.getElementById(id.slice(1)); - - if (!element) { - id = decodeURI(id); - element = document.getElementById(id.slice(1)); - } - - if (element) { - bringElementIntoView(element, false); - } -} - -function createAnchorElement(id) { - var anchor = document.createElement('a'); - - anchor.textContent = '#'; - anchor.href = '#' + id; - anchor.classList.add('link-anchor'); - anchor.onclick = bringLinkToView; - - return anchor; -} - -function addAnchor() { - var main = document.querySelector('.main-content').querySelector('section'); - - var h1 = main.querySelectorAll('h1'); - var h2 = main.querySelectorAll('h2'); - var h3 = main.querySelectorAll('h3'); - var h4 = main.querySelectorAll('h4'); - - var targets = [h1, h2, h3, h4]; - - targets.forEach(function (target) { - target.forEach(function (heading) { - var anchor = createAnchorElement(heading.id); - - heading.classList.add('has-anchor'); - heading.append(anchor); - }); - }); -} - -/** - * - * @param {string} value - */ -function copy(value) { - const el = document.createElement('textarea'); - - el.value = value; - document.body.appendChild(el); - el.select(); - document.execCommand('copy'); - document.body.removeChild(el); -} - -function showTooltip(id) { - var tooltip = document.getElementById(id); - - tooltip.classList.add('show-tooltip'); - setTimeout(function () { - tooltip.classList.remove('show-tooltip'); - }, 3000); -} - -/* eslint-disable-next-line */ -function copyFunction(id) { - // selecting the pre element - var code = document.getElementById(id); - - // selecting the ol.linenums - var element = code.querySelector('.linenums'); - - if (!element) { - // selecting the code block - element = code.querySelector('code'); - } - - // copy - copy(element.innerText.trim().replace(/(^\t)/gm, '')); - - // show tooltip - showTooltip('tooltip-' + id); -} - -function hideTocOnSourcePage() { - if (isSourcePage()) { - document.querySelector('.toc-container').style.display = 'none'; - } -} - -function getPreTopBar(id, lang = '') { - // tooltip - var tooltip = '
    Copied!
    '; - - // template of copy to clipboard icon container - var copyToClipboard = - ''; - - var langNameDiv = - '
    ' + - lang.toLocaleUpperCase() + - '
    '; - - var topBar = - '
    ' + - langNameDiv + - copyToClipboard + - '
    '; - - return topBar; -} - -function getPreDiv() { - var divElement = document.createElement('div'); - - divElement.classList.add('pre-div'); - - return divElement; -} - -function processAllPre() { - var targets = document.querySelectorAll('pre'); - var footer = document.querySelector('#PeOAagUepe'); - var navbar = document.querySelector('#VuAckcnZhf'); - - var navbarHeight = 0; - var footerHeight = 0; - - if (footer) { - footerHeight = footer.getBoundingClientRect().height; - } - - if (navbar) { - navbarHeight = navbar.getBoundingClientRect().height; - } - - // eslint-disable-next-line no-undef - var preMaxHeight = window.innerHeight - navbarHeight - footerHeight - 250; - - targets.forEach(function (pre, idx) { - var parent = pre.parentNode; - - if (parent && parent.getAttribute('data-skip-pre-process') === 'true') { - return; - } - - var div = getPreDiv(); - var id = 'ScDloZOMdL' + idx; - - var lang = pre.getAttribute('data-lang') || 'code'; - var topBar = getPreTopBar(id, lang); - - div.innerHTML = topBar; - - pre.style.maxHeight = preMaxHeight + 'px'; - pre.id = id; - pre.classList.add('prettyprint'); - pre.parentNode.insertBefore(div, pre); - div.appendChild(pre); - }); -} - -function highlightAndBringLineIntoView() { - // eslint-disable-next-line no-undef - var lineNumber = window.location.hash.replace('#line', ''); - - try { - var selector = '[data-line-number="' + lineNumber + '"'; - - var element = document.querySelector(selector); - - element.scrollIntoView(); - element.parentNode.classList.add('selected'); - } catch (error) { - console.error(error); - } -} - -function getFontSize() { - var currentFontSize = 16; - - try { - currentFontSize = Number.parseInt( - html.style.fontSize.split('px')[0], - 10 - ); - } catch (error) { - console.log(error); - } - - return currentFontSize; -} - -function localUpdateFontSize(fontSize) { - html.style.fontSize = fontSize + 'px'; - - var fontSizeText = document.querySelector( - '#b77a68a492f343baabea06fad81f651e' - ); - - if (fontSizeText) { - fontSizeText.innerHTML = fontSize; - } -} - -function updateFontSize(fontSize) { - localUpdateFontSize(fontSize); - localStorage.setItem(fontSizeLocalStorageKey, fontSize); -} - -(function () { - var fontSize = getFontSize(); - var fontSizeInLocalStorage = localStorage.getItem(fontSizeLocalStorageKey); - - if (fontSizeInLocalStorage) { - var n = Number.parseInt(fontSizeInLocalStorage, 10); - - if (n === fontSize) { - return; - } - updateFontSize(n); - } else { - updateFontSize(fontSize); - } -})(); - -// eslint-disable-next-line no-unused-vars -function incrementFont(event) { - var n = getFontSize(); - - if (n < MAX_FONT_SIZE) { - updateFontSize(n + 1); - } -} - -// eslint-disable-next-line no-unused-vars -function decrementFont(event) { - var n = getFontSize(); - - if (n > MIN_FONT_SIZE) { - updateFontSize(n - 1); - } -} - -function fontSizeTooltip() { - var fontSize = getFontSize(); - - return ` -
    - -
    - ${fontSize} -
    - - -
    - - `; -} - -function initTooltip() { - // add tooltip to navbar item - // eslint-disable-next-line no-undef - tippy('.theme-toggle', { - content: 'Toggle Theme', - delay: 500, - }); - - // eslint-disable-next-line no-undef - tippy('.search-button', { - content: 'Search', - delay: 500, - }); - - // eslint-disable-next-line no-undef - tippy('.font-size', { - content: 'Change font size', - delay: 500, - }); - - // eslint-disable-next-line no-undef - tippy('.codepen-button', { - content: 'Open code in CodePen', - placement: 'left', - }); - - // eslint-disable-next-line no-undef - tippy('.copy-code', { - content: 'Copy this code', - placement: 'left', - }); - - // eslint-disable-next-line no-undef - tippy('.font-size', { - content: fontSizeTooltip(), - trigger: 'click', - interactive: true, - allowHTML: true, - placement: 'left', - }); -} - -function fixTable() { - const tables = document.querySelectorAll('table'); - - for (const table of tables) { - if (table.classList.contains('hljs-ln')) { - // don't want to wrap code blocks. - return; - } - - var div = document.createElement('div'); - - div.classList.add('table-div'); - table.parentNode.insertBefore(div, table); - div.appendChild(table); - } -} - -function hideMobileMenu() { - var mobileMenuContainer = document.querySelector('#mobile-sidebar'); - var target = document.querySelector('#mobile-menu'); - var svgUse = target.querySelector('use'); - - if (mobileMenuContainer) { - mobileMenuContainer.classList.remove('show'); - } - if (target) { - target.setAttribute('data-isopen', 'false'); - } - if (svgUse) { - svgUse.setAttribute('xlink:href', '#menu-icon'); - } -} - -function showMobileMenu() { - var mobileMenuContainer = document.querySelector('#mobile-sidebar'); - var target = document.querySelector('#mobile-menu'); - var svgUse = target.querySelector('use'); - - if (mobileMenuContainer) { - mobileMenuContainer.classList.add('show'); - } - if (target) { - target.setAttribute('data-isopen', 'true'); - } - if (svgUse) { - svgUse.setAttribute('xlink:href', '#close-icon'); - } -} - -function onMobileMenuClick() { - var target = document.querySelector('#mobile-menu'); - var isOpen = target.getAttribute('data-isopen') === 'true'; - - if (isOpen) { - hideMobileMenu(); - } else { - showMobileMenu(); - } -} - -function initMobileMenu() { - var menu = document.querySelector('#mobile-menu'); - - if (menu) { - menu.addEventListener('click', onMobileMenuClick); - } -} - -function addHrefToSidebarTitle() { - var titles = document.querySelectorAll('.sidebar-title-anchor'); - - titles.forEach(function (title) { - // eslint-disable-next-line no-undef - title.setAttribute('href', baseURL); - }); -} - -function onDomContentLoaded() { - var themeButton = document.querySelectorAll('.theme-toggle'); - - initMobileMenu(); - - if (themeButton) { - themeButton.forEach(function (button) { - button.addEventListener('click', toggleTheme); - }); - } - - // Highlighting code - - // eslint-disable-next-line no-undef - hljs.addPlugin({ - 'after:highlightElement': function (obj) { - // Replace 'code' with result.language when - // we are able to cross-check the correctness of - // result. - obj.el.parentNode.setAttribute('data-lang', 'code'); - }, - }); - // eslint-disable-next-line no-undef - hljs.highlightAll(); - // eslint-disable-next-line no-undef - hljs.initLineNumbersOnLoad({ - singleLine: true, - }); - - // Highlight complete - - initAccordion(); - addAnchor(); - processAllPre(); - hideTocOnSourcePage(); - setTimeout(function () { - bringIdToViewOnMount(); - if (isSourcePage()) { - highlightAndBringLineIntoView(); - } - }, 1000); - initTooltip(); - fixTable(); - addHrefToSidebarTitle(); -} - -// eslint-disable-next-line no-undef -window.addEventListener('DOMContentLoaded', onDomContentLoaded); - -// eslint-disable-next-line no-undef -window.addEventListener('hashchange', (event) => { - const url = new URL(event.newURL); - - if (url.hash !== '') { - bringIdToViewOnMount(url.hash); - } -}); - -// eslint-disable-next-line no-undef -window.addEventListener('storage', (event) => { - if (event.newValue === 'undefined') return; - - initTooltip(); - - if (event.key === themeLocalStorageKey) localUpdateTheme(event.newValue); - if (event.key === fontSizeLocalStorageKey) - localUpdateFontSize(event.newValue); -}); diff --git a/docs/api/scripts/core.min.js b/docs/api/scripts/core.min.js deleted file mode 100644 index 6165f9ffa..000000000 --- a/docs/api/scripts/core.min.js +++ /dev/null @@ -1,23 +0,0 @@ -var accordionLocalStorageKey="accordion-id",themeLocalStorageKey="theme",fontSizeLocalStorageKey="font-size",html=document.querySelector("html"),MAX_FONT_SIZE=30,MIN_FONT_SIZE=10,localStorage=window.localStorage;function getTheme(){var e=localStorage.getItem(themeLocalStorageKey);if(e)return e;switch(e=document.body.getAttribute("data-theme")){case"dark":case"light":return e;case"fallback-dark":return window.matchMedia("(prefers-color-scheme)").matches&&window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";case"fallback-light":return window.matchMedia("(prefers-color-scheme)").matches&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";default:return"dark"}}function localUpdateTheme(e){var t=document.body,o=document.querySelectorAll(".theme-svg-use"),n="dark"===e?"#light-theme-icon":"#dark-theme-icon";t.setAttribute("data-theme",e),t.classList.remove("dark","light"),t.classList.add(e),o.forEach(function(e){e.setAttribute("xlink:href",n)})}function updateTheme(e){localUpdateTheme(e),localStorage.setItem(themeLocalStorageKey,e)}function toggleTheme(){updateTheme("dark"===document.body.getAttribute("data-theme")?"light":"dark")}function setAccordionIdToLocalStorage(e){var t=JSON.parse(localStorage.getItem(accordionLocalStorageKey));t[e]=e,localStorage.setItem(accordionLocalStorageKey,JSON.stringify(t))}function removeAccordionIdFromLocalStorage(e){var t=JSON.parse(localStorage.getItem(accordionLocalStorageKey));delete t[e],localStorage.setItem(accordionLocalStorageKey,JSON.stringify(t))}function getAccordionIdsFromLocalStorage(){return JSON.parse(localStorage.getItem(accordionLocalStorageKey))||{}}function toggleAccordion(e){"false"===e.getAttribute("data-isopen")?(e.setAttribute("data-isopen","true"),setAccordionIdToLocalStorage(e.id)):(e.setAttribute("data-isopen","false"),removeAccordionIdFromLocalStorage(e.id))}function initAccordion(){void 0!==localStorage.getItem(accordionLocalStorageKey)&&null!==localStorage.getItem(accordionLocalStorageKey)||localStorage.setItem(accordionLocalStorageKey,"{}");var e=document.querySelectorAll(".sidebar-section-title"),t=getAccordionIdsFromLocalStorage();e.forEach(function(e){e.addEventListener("click",function(){toggleAccordion(e)}),e.id in t&&toggleAccordion(e)})}function isSourcePage(){return Boolean(document.querySelector("#source-page"))}function bringElementIntoView(e,t=!0){var o,n,i,c;e&&(tocbotInstance&&setTimeout(()=>tocbotInstance.updateTocListActiveElement(e),60),o=document.querySelector(".navbar-container"),n=document.querySelector(".main-content"),i=e.getBoundingClientRect().top,c=16,o&&(c+=o.scrollHeight),n&&n.scrollBy(0,i-c),t&&history.pushState(null,null,"#"+e.id))}function bringLinkToView(e){e.preventDefault(),e.stopPropagation();var e=e.currentTarget.getAttribute("href");!e||(e=document.getElementById(e.slice(1)))&&bringElementIntoView(e)}function bringIdToViewOnMount(){var e,t;isSourcePage()||""!==(e=window.location.hash)&&((t=document.getElementById(e.slice(1)))||(e=decodeURI(e),t=document.getElementById(e.slice(1))),t&&bringElementIntoView(t,!1))}function createAnchorElement(e){var t=document.createElement("a");return t.textContent="#",t.href="#"+e,t.classList.add("link-anchor"),t.onclick=bringLinkToView,t}function addAnchor(){var e=document.querySelector(".main-content").querySelector("section");[e.querySelectorAll("h1"),e.querySelectorAll("h2"),e.querySelectorAll("h3"),e.querySelectorAll("h4")].forEach(function(e){e.forEach(function(e){var t=createAnchorElement(e.id);e.classList.add("has-anchor"),e.append(t)})})}function copy(e){const t=document.createElement("textarea");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}function showTooltip(e){var t=document.getElementById(e);t.classList.add("show-tooltip"),setTimeout(function(){t.classList.remove("show-tooltip")},3e3)}function copyFunction(e){var t=document.getElementById(e);copy((t.querySelector(".linenums")||t.querySelector("code")).innerText.trim().replace(/(^\t)/gm,"")),showTooltip("tooltip-"+e)}function hideTocOnSourcePage(){isSourcePage()&&(document.querySelector(".toc-container").style.display="none")}function getPreTopBar(e,t=""){e='";return'
    '+('
    '+t.toLocaleUpperCase()+"
    ")+e+"
    "}function getPreDiv(){var e=document.createElement("div");return e.classList.add("pre-div"),e}function processAllPre(){var e=document.querySelectorAll("pre"),t=document.querySelector("#PeOAagUepe"),o=document.querySelector("#VuAckcnZhf"),n=0,i=0,c=(t&&(i=t.getBoundingClientRect().height),o&&(n=o.getBoundingClientRect().height),window.innerHeight-n-i-250);e.forEach(function(e,t){var o,n=e.parentNode;n&&"true"===n.getAttribute("data-skip-pre-process")||(n=getPreDiv(),o=getPreTopBar(t="ScDloZOMdL"+t,e.getAttribute("data-lang")||"code"),n.innerHTML=o,e.style.maxHeight=c+"px",e.id=t,e.classList.add("prettyprint"),e.parentNode.insertBefore(n,e),n.appendChild(e))})}function highlightAndBringLineIntoView(){var e=window.location.hash.replace("#line","");try{var t='[data-line-number="'+e+'"',o=document.querySelector(t);o.scrollIntoView(),o.parentNode.classList.add("selected")}catch(e){console.error(e)}}function getFontSize(){var e=16;try{e=Number.parseInt(html.style.fontSize.split("px")[0],10)}catch(e){console.log(e)}return e}function localUpdateFontSize(e){html.style.fontSize=e+"px";var t=document.querySelector("#b77a68a492f343baabea06fad81f651e");t&&(t.innerHTML=e)}function updateFontSize(e){localUpdateFontSize(e),localStorage.setItem(fontSizeLocalStorageKey,e)}function incrementFont(e){var t=getFontSize();t - -
    - ${e} -
    - - - - - `}function initTooltip(){tippy(".theme-toggle",{content:"Toggle Theme",delay:500}),tippy(".search-button",{content:"Search",delay:500}),tippy(".font-size",{content:"Change font size",delay:500}),tippy(".codepen-button",{content:"Open code in CodePen",placement:"left"}),tippy(".copy-code",{content:"Copy this code",placement:"left"}),tippy(".font-size",{content:fontSizeTooltip(),trigger:"click",interactive:!0,allowHTML:!0,placement:"left"})}function fixTable(){for(const t of document.querySelectorAll("table")){if(t.classList.contains("hljs-ln"))return;var e=document.createElement("div");e.classList.add("table-div"),t.parentNode.insertBefore(e,t),e.appendChild(t)}}function hideMobileMenu(){var e=document.querySelector("#mobile-sidebar"),t=document.querySelector("#mobile-menu"),o=t.querySelector("use");e&&e.classList.remove("show"),t&&t.setAttribute("data-isopen","false"),o&&o.setAttribute("xlink:href","#menu-icon")}function showMobileMenu(){var e=document.querySelector("#mobile-sidebar"),t=document.querySelector("#mobile-menu"),o=t.querySelector("use");e&&e.classList.add("show"),t&&t.setAttribute("data-isopen","true"),o&&o.setAttribute("xlink:href","#close-icon")}function onMobileMenuClick(){("true"===document.querySelector("#mobile-menu").getAttribute("data-isopen")?hideMobileMenu:showMobileMenu)()}function initMobileMenu(){var e=document.querySelector("#mobile-menu");e&&e.addEventListener("click",onMobileMenuClick)}function addHrefToSidebarTitle(){document.querySelectorAll(".sidebar-title-anchor").forEach(function(e){e.setAttribute("href",baseURL)})}function onDomContentLoaded(){var e=document.querySelectorAll(".theme-toggle");initMobileMenu(),e&&e.forEach(function(e){e.addEventListener("click",toggleTheme)}),hljs.addPlugin({"after:highlightElement":function(e){e.el.parentNode.setAttribute("data-lang","code")}}),hljs.highlightAll(),hljs.initLineNumbersOnLoad({singleLine:!0}),initAccordion(),addAnchor(),processAllPre(),hideTocOnSourcePage(),setTimeout(function(){bringIdToViewOnMount(),isSourcePage()&&highlightAndBringLineIntoView()},1e3),initTooltip(),fixTable(),addHrefToSidebarTitle()}updateTheme(getTheme()),function(){var e=getFontSize(),t=localStorage.getItem(fontSizeLocalStorageKey);t?(t=Number.parseInt(t,10))!==e&&updateFontSize(t):updateFontSize(e)}(),window.addEventListener("DOMContentLoaded",onDomContentLoaded),window.addEventListener("hashchange",e=>{e=new URL(e.newURL);""!==e.hash&&bringIdToViewOnMount(e.hash)}),window.addEventListener("storage",e=>{"undefined"!==e.newValue&&(initTooltip(),e.key===themeLocalStorageKey&&localUpdateTheme(e.newValue),e.key===fontSizeLocalStorageKey&&localUpdateFontSize(e.newValue))}); \ No newline at end of file diff --git a/docs/api/scripts/docstrap.lib.js b/docs/api/scripts/docstrap.lib.js new file mode 100644 index 000000000..09d9272a0 --- /dev/null +++ b/docs/api/scripts/docstrap.lib.js @@ -0,0 +1,11 @@ +if(!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b="length"in a&&a.length,c=_.type(a);return"function"!==c&&!_.isWindow(a)&&(!(1!==a.nodeType||!b)||("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a))}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ha.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=oa[a]={};return _.each(a.match(na)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+h.uid++}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ua,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:ta.test(c)?_.parseJSON(c):c)}catch(a){}sa.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Ka.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;d>c;c++)ra.set(a[c],"globalEval",!b||ra.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(ra.hasData(a)&&(f=ra.access(a),g=ra.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)_.event.add(b,e,j[e][c])}sa.hasData(a)&&(h=sa.access(a),i=_.extend({},h),sa.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ya.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Oa[a];return c||(c=t(a,b),"none"!==c&&c||(Na=(Na||_("