jf-roku/docs/api/source_utils_deviceCapabilities.brs.html
2023-10-05 23:18:36 -04:00

1117 lines
174 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
source/utils/deviceCapabilities.brs - Documentation
</title>
<link href="https://www.braintreepayments.com/images/favicon-ccda0b14.png" rel="icon" type="image/png">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.7.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
<!-- start Mixpanel -->
<script type="text/javascript">(function(e,a){if(!a.__SV){var b=window;try{var c,l,i,j=b.location,g=j.hash;c=function(a,b){return(l=a.match(RegExp(b+"=([^&]*)")))?l[1]:null};g&&c(g,"state")&&(i=JSON.parse(decodeURIComponent(c(g,"state"))),"mpeditor"===i.action&&(b.sessionStorage.setItem("_mpcehash",g),history.replaceState(i.desiredHash||"",e.title,j.pathname+j.search)))}catch(m){}var k,h;window.mixpanel=a;a._i=[];a.init=function(b,c,f){function e(b,a){var c=a.split(".");2==c.length&&(b=b[c[0]],a=c[1]);b[a]=function(){b.push([a].concat(Array.prototype.slice.call(arguments,
0)))}}var d=a;"undefined"!==typeof f?d=a[f]=[]:f="mixpanel";d.people=d.people||[];d.toString=function(b){var a="mixpanel";"mixpanel"!==f&&(a+="."+f);b||(a+=" (stub)");return a};d.people.toString=function(){return d.toString(1)+".people (stub)"};k="disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.increment people.append people.union people.track_charge people.clear_charges people.delete_user".split(" ");
for(h=0;h<k.length;h++)e(d,k[h]);a._i.push([b,c,f])};a.__SV=1.2;b=e.createElement("script");b.type="text/javascript";b.async=!0;b.src="undefined"!==typeof MIXPANEL_CUSTOM_LIB_URL?MIXPANEL_CUSTOM_LIB_URL:"file:"===e.location.protocol&&"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//)?"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js":"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js";c=e.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}})(document,window.mixpanel||[]);
mixpanel.init("1919205b2da72e4da3b9b6639b444d59");</script>
<!-- end Mixpanel -->
</head>
<body>
<svg style="display: none;">
<defs>
<symbol id="linkIcon" fill="#706d77" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M0 0h24v24H0z" fill="none"/>
<path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/>
</symbol>
</defs>
</svg>
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger" class="navicon-button x">
<div class="navicon"></div>
</label>
<label for="nav-trigger" class="overlay"></label>
<div class="top-nav-wrapper">
<ul>
<li >
<a href="index.html">
<svg fill="#6D6D6D" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</svg>
</a>
</li>
</ul>
</div>
<nav>
<h3 class="reference-title">
Braintree SDK Client Reference
</h3>
<h3>Classes</h3><ul><li id="Logger-nav"><a href="module-log.Logger.html">Logger</a><ul class='methods'><li data-type="method" id="Logger-debug-nav"><a href="module-log.Logger.html#debug">debug</a></li><li data-type="method" id="Logger-decreaseIndent-nav"><a href="module-log.Logger.html#decreaseIndent">decreaseIndent</a></li><li data-type="method" id="Logger-error-nav"><a href="module-log.Logger.html#error">error</a></li><li data-type="method" id="Logger-increaseIndent-nav"><a href="module-log.Logger.html#increaseIndent">increaseIndent</a></li><li data-type="method" id="Logger-info-nav"><a href="module-log.Logger.html#info">info</a></li><li data-type="method" id="Logger-log-nav"><a href="module-log.Logger.html#log">log</a></li><li data-type="method" id="Logger-method-nav"><a href="module-log.Logger.html#method">method</a></li><li data-type="method" id="Logger-resetIndent-nav"><a href="module-log.Logger.html#resetIndent">resetIndent</a></li><li data-type="method" id="Logger-toString-nav"><a href="module-log.Logger.html#toString">toString</a></li><li data-type="method" id="Logger-verbose-nav"><a href="module-log.Logger.html#verbose">verbose</a></li><li data-type="method" id="Logger-warn-nav"><a href="module-log.Logger.html#warn">warn</a></li></ul></li></ul><h3>Modules</h3><ul><li id="AlbumData-nav"><a href="module-AlbumData.html">AlbumData</a><ul class='methods'><li data-type="method" id="AlbumData-setFields-nav"><a href="module-AlbumData.html#.setFields">setFields</a></li></ul></li><li id="AlbumGrid-nav"><a href="module-AlbumGrid.html">AlbumGrid</a><ul class='methods'><li data-type="method" id="AlbumGrid-getData-nav"><a href="module-AlbumGrid.html#.getData">getData</a></li><li data-type="method" id="AlbumGrid-init-nav"><a href="module-AlbumGrid.html#.init">init</a></li><li data-type="method" id="AlbumGrid-onKeyEvent-nav"><a href="module-AlbumGrid.html#.onKeyEvent">onKeyEvent</a></li></ul></li><li id="AlbumTrackList-nav"><a href="module-AlbumTrackList.html">AlbumTrackList</a><ul class='methods'><li data-type="method" id="AlbumTrackList-getData-nav"><a href="module-AlbumTrackList.html#.getData">getData</a></li><li data-type="method" id="AlbumTrackList-init-nav"><a href="module-AlbumTrackList.html#.init">init</a></li></ul></li><li id="AlbumView-nav"><a href="module-AlbumView.html">AlbumView</a><ul class='methods'><li data-type="method" id="AlbumView-OnScreenHidden-nav"><a href="module-AlbumView.html#.OnScreenHidden">OnScreenHidden</a></li><li data-type="method" id="AlbumView-adjustScreenForNoOverview-nav"><a href="module-AlbumView.html#.adjustScreenForNoOverview">adjustScreenForNoOverview</a></li><li data-type="method" id="AlbumView-createDialogPallete-nav"><a href="module-AlbumView.html#.createDialogPallete">createDialogPallete</a></li><li data-type="method" id="AlbumView-createFullDscrDlg-nav"><a href="module-AlbumView.html#.createFullDscrDlg">createFullDscrDlg</a></li><li data-type="method" id="AlbumView-init-nav"><a href="module-AlbumView.html#.init">init</a></li><li data-type="method" id="AlbumView-onDoneLoading-nav"><a href="module-AlbumView.html#.onDoneLoading">onDoneLoading</a></li><li data-type="method" id="AlbumView-onKeyEvent-nav"><a href="module-AlbumView.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="AlbumView-pageContentChanged-nav"><a href="module-AlbumView.html#.pageContentChanged">pageContentChanged</a></li><li data-type="method" id="AlbumView-setOnScreenTextValues-nav"><a href="module-AlbumView.html#.setOnScreenTextValues">setOnScreenTextValues</a></li><li data-type="method" id="AlbumView-setPosterImage-nav"><a href="module-AlbumView.html#.setPosterImage">setPosterImage</a></li><li data-type="method" id="AlbumView-setScreenTitle-nav"><a href="module-AlbumView.html#.setScreenTitle">setScreenTitle</a></li><li data-type="method" id="AlbumView-setupMainNode-nav"><a href="module-AlbumView.html#.setupMainNode">setupMainNode</a></li></ul></li><li id="Alpha-nav"><a href="module-Alpha.html">Alpha</a><ul class='methods'><li data-type="method" id="Alpha-init-nav"><a href="module-Alpha.html#.init">init</a></li><li data-type="method" id="Alpha-onKeyEvent-nav"><a href="module-Alpha.html#.onKeyEvent">onKeyEvent</a></li></ul></li><li id="ArtistView-nav"><a href="module-ArtistView.html">ArtistView</a><ul class='methods'><li data-type="method" id="ArtistView-OnScreenHidden-nav"><a href="module-ArtistView.html#.OnScreenHidden">OnScreenHidden</a></li><li data-type="method" id="ArtistView-OnScreenShown-nav"><a href="module-ArtistView.html#.OnScreenShown">OnScreenShown</a></li><li data-type="method" id="ArtistView-artistOverviewChanged-nav"><a href="module-ArtistView.html#.artistOverviewChanged">artistOverviewChanged</a></li><li data-type="method" id="ArtistView-createDialogPallete-nav"><a href="module-ArtistView.html#.createDialogPallete">createDialogPallete</a></li><li data-type="method" id="ArtistView-createFullDscrDlg-nav"><a href="module-ArtistView.html#.createFullDscrDlg">createFullDscrDlg</a></li><li data-type="method" id="ArtistView-dscrShowFocus-nav"><a href="module-ArtistView.html#.dscrShowFocus">dscrShowFocus</a></li><li data-type="method" id="ArtistView-init-nav"><a href="module-ArtistView.html#.init">init</a></li><li data-type="method" id="ArtistView-onAlbumsData-nav"><a href="module-ArtistView.html#.onAlbumsData">onAlbumsData</a></li><li data-type="method" id="ArtistView-onAlbumsEscape-nav"><a href="module-ArtistView.html#.onAlbumsEscape">onAlbumsEscape</a></li><li data-type="method" id="ArtistView-onAppearsOnData-nav"><a href="module-ArtistView.html#.onAppearsOnData">onAppearsOnData</a></li><li data-type="method" id="ArtistView-onAppearsOnEscape-nav"><a href="module-ArtistView.html#.onAppearsOnEscape">onAppearsOnEscape</a></li><li data-type="method" id="ArtistView-onBackdropImageLoaded-nav"><a href="module-ArtistView.html#.onBackdropImageLoaded">onBackdropImageLoaded</a></li><li data-type="method" id="ArtistView-onButtonSelectedChange-nav"><a href="module-ArtistView.html#.onButtonSelectedChange">onButtonSelectedChange</a></li><li data-type="method" id="ArtistView-onEllipsisChanged-nav"><a href="module-ArtistView.html#.onEllipsisChanged">onEllipsisChanged</a></li><li data-type="method" id="ArtistView-onKeyEvent-nav"><a href="module-ArtistView.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="ArtistView-onSectionNavigationEscape-nav"><a href="module-ArtistView.html#.onSectionNavigationEscape">onSectionNavigationEscape</a></li><li data-type="method" id="ArtistView-onSectionNavigationSelected-nav"><a href="module-ArtistView.html#.onSectionNavigationSelected">onSectionNavigationSelected</a></li><li data-type="method" id="ArtistView-onSectionScrollerChange-nav"><a href="module-ArtistView.html#.onSectionScrollerChange">onSectionScrollerChange</a></li><li data-type="method" id="ArtistView-pageContentChanged-nav"><a href="module-ArtistView.html#.pageContentChanged">pageContentChanged</a></li><li data-type="method" id="ArtistView-setBackdropImage-nav"><a href="module-ArtistView.html#.setBackdropImage">setBackdropImage</a></li><li data-type="method" id="ArtistView-setPosterImage-nav"><a href="module-ArtistView.html#.setPosterImage">setPosterImage</a></li><li data-type="method" id="ArtistView-setScreenTitle-nav"><a href="module-ArtistView.html#.setScreenTitle">setScreenTitle</a></li><li data-type="method" id="ArtistView-setupButtons-nav"><a href="module-ArtistView.html#.setupButtons">setupButtons</a></li><li data-type="method" id="ArtistView-setupMainNode-nav"><a href="module-ArtistView.html#.setupMainNode">setupMainNode</a></li></ul></li><li id="AudioPlayer-nav"><a href="module-AudioPlayer.html">AudioPlayer</a><ul class='methods'><li data-type="method" id="AudioPlayer-ReportPlayback-nav"><a href="module-AudioPlayer.html#.ReportPlayback">ReportPlayback</a></li><li data-type="method" id="AudioPlayer-audioStateChanged-nav"><a href="module-AudioPlayer.html#.audioStateChanged">audioStateChanged</a></li><li data-type="method" id="AudioPlayer-init-nav"><a href="module-AudioPlayer.html#.init">init</a></li></ul></li><li id="AudioPlayerView-nav"><a href="module-AudioPlayerView.html">AudioPlayerView</a><ul class='methods'><li data-type="method" id="AudioPlayerView-LoadNextSong-nav"><a href="module-AudioPlayerView.html#.LoadNextSong">LoadNextSong</a></li><li data-type="method" id="AudioPlayerView-OnScreenHidden-nav"><a href="module-AudioPlayerView.html#.OnScreenHidden">OnScreenHidden</a></li><li data-type="method" id="AudioPlayerView-audioPositionChanged-nav"><a href="module-AudioPlayerView.html#.audioPositionChanged">audioPositionChanged</a></li><li data-type="method" id="AudioPlayerView-audioStateChanged-nav"><a href="module-AudioPlayerView.html#.audioStateChanged">audioStateChanged</a></li><li data-type="method" id="AudioPlayerView-bufferPositionChanged-nav"><a href="module-AudioPlayerView.html#.bufferPositionChanged">bufferPositionChanged</a></li><li data-type="method" id="AudioPlayerView-endScreenSaver-nav"><a href="module-AudioPlayerView.html#.endScreenSaver">endScreenSaver</a></li><li data-type="method" id="AudioPlayerView-findCurrentSongIndex-nav"><a href="module-AudioPlayerView.html#.findCurrentSongIndex">findCurrentSongIndex</a></li><li data-type="method" id="AudioPlayerView-init-nav"><a href="module-AudioPlayerView.html#.init">init</a></li><li data-type="method" id="AudioPlayerView-loadButtons-nav"><a href="module-AudioPlayerView.html#.loadButtons">loadButtons</a></li><li data-type="method" id="AudioPlayerView-loopClicked-nav"><a href="module-AudioPlayerView.html#.loopClicked">loopClicked</a></li><li data-type="method" id="AudioPlayerView-nextClicked-nav"><a href="module-AudioPlayerView.html#.nextClicked">nextClicked</a></li><li data-type="method" id="AudioPlayerView-onAudioStreamLoaded-nav"><a href="module-AudioPlayerView.html#.onAudioStreamLoaded">onAudioStreamLoaded</a></li><li data-type="method" id="AudioPlayerView-onBackdropImageLoaded-nav"><a href="module-AudioPlayerView.html#.onBackdropImageLoaded">onBackdropImageLoaded</a></li><li data-type="method" id="AudioPlayerView-onButtonSelectedChange-nav"><a href="module-AudioPlayerView.html#.onButtonSelectedChange">onButtonSelectedChange</a></li><li data-type="method" id="AudioPlayerView-onKeyEvent-nav"><a href="module-AudioPlayerView.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="AudioPlayerView-onMetaDataLoaded-nav"><a href="module-AudioPlayerView.html#.onMetaDataLoaded">onMetaDataLoaded</a></li><li data-type="method" id="AudioPlayerView-onScreensaverTimeoutLoaded-nav"><a href="module-AudioPlayerView.html#.onScreensaverTimeoutLoaded">onScreensaverTimeoutLoaded</a></li><li data-type="method" id="AudioPlayerView-pageContentChanged-nav"><a href="module-AudioPlayerView.html#.pageContentChanged">pageContentChanged</a></li><li data-type="method" id="AudioPlayerView-playAction-nav"><a href="module-AudioPlayerView.html#.playAction">playAction</a></li><li data-type="method" id="AudioPlayerView-previousClicked-nav"><a href="module-AudioPlayerView.html#.previousClicked">previousClicked</a></li><li data-type="method" id="AudioPlayerView-resetLoopModeToDefault-nav"><a href="module-AudioPlayerView.html#.resetLoopModeToDefault">resetLoopModeToDefault</a></li><li data-type="method" id="AudioPlayerView-screenSaverActive-nav"><a href="module-AudioPlayerView.html#.screenSaverActive">screenSaverActive</a></li><li data-type="method" id="AudioPlayerView-setBackdropImage-nav"><a href="module-AudioPlayerView.html#.setBackdropImage">setBackdropImage</a></li><li data-type="method" id="AudioPlayerView-setLoopButtonImage-nav"><a href="module-AudioPlayerView.html#.setLoopButtonImage">setLoopButtonImage</a></li><li data-type="method" id="AudioPlayerView-setOnScreenTextValues-nav"><a href="module-AudioPlayerView.html#.setOnScreenTextValues">setOnScreenTextValues</a></li><li data-type="method" id="AudioPlayerView-setPosterImage-nav"><a href="module-AudioPlayerView.html#.setPosterImage">setPosterImage</a></li><li data-type="method" id="AudioPlayerView-setScreenTitle-nav"><a href="module-AudioPlayerView.html#.setScreenTitle">setScreenTitle</a></li><li data-type="method" id="AudioPlayerView-setShuffleIconState-nav"><a href="module-AudioPlayerView.html#.setShuffleIconState">setShuffleIconState</a></li><li data-type="method" id="AudioPlayerView-setTrackNumberDisplay-nav"><a href="module-AudioPlayerView.html#.setTrackNumberDisplay">setTrackNumberDisplay</a></li><li data-type="method" id="AudioPlayerView-setupAnimationTasks-nav"><a href="module-AudioPlayerView.html#.setupAnimationTasks">setupAnimationTasks</a></li><li data-type="method" id="AudioPlayerView-setupAudioNode-nav"><a href="module-AudioPlayerView.html#.setupAudioNode">setupAudioNode</a></li><li data-type="method" id="AudioPlayerView-setupButtons-nav"><a href="module-AudioPlayerView.html#.setupButtons">setupButtons</a></li><li data-type="method" id="AudioPlayerView-setupDataTasks-nav"><a href="module-AudioPlayerView.html#.setupDataTasks">setupDataTasks</a></li><li data-type="method" id="AudioPlayerView-setupInfoNodes-nav"><a href="module-AudioPlayerView.html#.setupInfoNodes">setupInfoNodes</a></li><li data-type="method" id="AudioPlayerView-setupScreenSaver-nav"><a href="module-AudioPlayerView.html#.setupScreenSaver">setupScreenSaver</a></li><li data-type="method" id="AudioPlayerView-shuffleClicked-nav"><a href="module-AudioPlayerView.html#.shuffleClicked">shuffleClicked</a></li><li data-type="method" id="AudioPlayerView-startScreenSaver-nav"><a href="module-AudioPlayerView.html#.startScreenSaver">startScreenSaver</a></li><li data-type="method" id="AudioPlayerView-toggleShuffleEnabled-nav"><a href="module-AudioPlayerView.html#.toggleShuffleEnabled">toggleShuffleEnabled</a></li></ul></li><li id="AudioTrackListItem-nav"><a href="module-AudioTrackListItem.html">AudioTrackListItem</a><ul class='methods'><li data-type="method" id="AudioTrackListItem-focusChanged-nav"><a href="module-AudioTrackListItem.html#.focusChanged">focusChanged</a></li><li data-type="method" id="AudioTrackListItem-init-nav"><a href="module-AudioTrackListItem.html#.init">init</a></li><li data-type="method" id="AudioTrackListItem-itemContentChanged-nav"><a href="module-AudioTrackListItem.html#.itemContentChanged">itemContentChanged</a></li></ul></li><li id="ButtonGroupHoriz-nav"><a href="module-ButtonGroupHoriz.html">ButtonGroupHoriz</a><ul class='methods'><li data-type="method" id="ButtonGroupHoriz-init-nav"><a href="module-ButtonGroupHoriz.html#.init">init</a></li><li data-type="method" id="ButtonGroupHoriz-onKeyEvent-nav"><a href="module-ButtonGroupHoriz.html#.onKeyEvent">onKeyEvent</a></li></ul></li><li id="ButtonGroupVert-nav"><a href="module-ButtonGroupVert.html">ButtonGroupVert</a><ul class='methods'><li data-type="method" id="ButtonGroupVert-bgv_onFocusButtonChanged-nav"><a href="module-ButtonGroupVert.html#.bgv_onFocusButtonChanged">bgv_onFocusButtonChanged</a></li><li data-type="method" id="ButtonGroupVert-bgv_onFocusChanged-nav"><a href="module-ButtonGroupVert.html#.bgv_onFocusChanged">bgv_onFocusChanged</a></li><li data-type="method" id="ButtonGroupVert-init-nav"><a href="module-ButtonGroupVert.html#.init">init</a></li><li data-type="method" id="ButtonGroupVert-onKeyEvent-nav"><a href="module-ButtonGroupVert.html#.onKeyEvent">onKeyEvent</a></li></ul></li><li id="ChannelData-nav"><a href="module-ChannelData.html">ChannelData</a><ul class='methods'><li data-type="method" id="ChannelData-setFields-nav"><a href="module-ChannelData.html#.setFields">setFields</a></li><li data-type="method" id="ChannelData-setPoster-nav"><a href="module-ChannelData.html#.setPoster">setPoster</a></li></ul></li><li id="CollectionData-nav"><a href="module-CollectionData.html">CollectionData</a><ul class='methods'><li data-type="method" id="CollectionData-setFields-nav"><a href="module-CollectionData.html#.setFields">setFields</a></li><li data-type="method" id="CollectionData-setPoster-nav"><a href="module-CollectionData.html#.setPoster">setPoster</a></li></ul></li><li id="ConfigData-nav"><a href="module-ConfigData.html">ConfigData</a><ul class='methods'><li data-type="method" id="ConfigData-init-nav"><a href="module-ConfigData.html#.init">init</a></li></ul></li><li id="ConfigItem-nav"><a href="module-ConfigItem.html">ConfigItem</a><ul class='methods'><li data-type="method" id="ConfigItem-init-nav"><a href="module-ConfigItem.html#.init">init</a></li><li data-type="method" id="ConfigItem-itemContentChanged-nav"><a href="module-ConfigItem.html#.itemContentChanged">itemContentChanged</a></li><li data-type="method" id="ConfigItem-setColors-nav"><a href="module-ConfigItem.html#.setColors">setColors</a></li></ul></li><li id="ConfigList-nav"><a href="module-ConfigList.html">ConfigList</a><ul class='methods'><li data-type="method" id="ConfigList-dismiss_dialog-nav"><a href="module-ConfigList.html#.dismiss_dialog">dismiss_dialog</a></li><li data-type="method" id="ConfigList-init-nav"><a href="module-ConfigList.html#.init">init</a></li><li data-type="method" id="ConfigList-onDialogButton-nav"><a href="module-ConfigList.html#.onDialogButton">onDialogButton</a></li><li data-type="method" id="ConfigList-onItemSelected-nav"><a href="module-ConfigList.html#.onItemSelected">onItemSelected</a></li><li data-type="method" id="ConfigList-setData-nav"><a href="module-ConfigList.html#.setData">setData</a></li><li data-type="method" id="ConfigList-show_dialog-nav"><a href="module-ConfigList.html#.show_dialog">show_dialog</a></li></ul></li><li id="ExtrasItem-nav"><a href="module-ExtrasItem.html">ExtrasItem</a><ul class='methods'><li data-type="method" id="ExtrasItem-focusChanged-nav"><a href="module-ExtrasItem.html#.focusChanged">focusChanged</a></li><li data-type="method" id="ExtrasItem-init-nav"><a href="module-ExtrasItem.html#.init">init</a></li><li data-type="method" id="ExtrasItem-showContent-nav"><a href="module-ExtrasItem.html#.showContent">showContent</a></li></ul></li><li id="ExtrasRowList-nav"><a href="module-ExtrasRowList.html">ExtrasRowList</a><ul class='methods'><li data-type="method" id="ExtrasRowList-addRowSize-nav"><a href="module-ExtrasRowList.html#.addRowSize">addRowSize</a></li><li data-type="method" id="ExtrasRowList-buildRow-nav"><a href="module-ExtrasRowList.html#.buildRow">buildRow</a></li><li data-type="method" id="ExtrasRowList-init-nav"><a href="module-ExtrasRowList.html#.init">init</a></li><li data-type="method" id="ExtrasRowList-loadParts-nav"><a href="module-ExtrasRowList.html#.loadParts">loadParts</a></li><li data-type="method" id="ExtrasRowList-loadPersonVideos-nav"><a href="module-ExtrasRowList.html#.loadPersonVideos">loadPersonVideos</a></li><li data-type="method" id="ExtrasRowList-onAdditionalPartsLoaded-nav"><a href="module-ExtrasRowList.html#.onAdditionalPartsLoaded">onAdditionalPartsLoaded</a></li><li data-type="method" id="ExtrasRowList-onLikeThisLoaded-nav"><a href="module-ExtrasRowList.html#.onLikeThisLoaded">onLikeThisLoaded</a></li><li data-type="method" id="ExtrasRowList-onMoviesLoaded-nav"><a href="module-ExtrasRowList.html#.onMoviesLoaded">onMoviesLoaded</a></li><li data-type="method" id="ExtrasRowList-onPeopleLoaded-nav"><a href="module-ExtrasRowList.html#.onPeopleLoaded">onPeopleLoaded</a></li><li data-type="method" id="ExtrasRowList-onRowItemSelected-nav"><a href="module-ExtrasRowList.html#.onRowItemSelected">onRowItemSelected</a></li><li data-type="method" id="ExtrasRowList-onSeriesLoaded-nav"><a href="module-ExtrasRowList.html#.onSeriesLoaded">onSeriesLoaded</a></li><li data-type="method" id="ExtrasRowList-onShowsLoaded-nav"><a href="module-ExtrasRowList.html#.onShowsLoaded">onShowsLoaded</a></li><li data-type="method" id="ExtrasRowList-onSpecialFeaturesLoaded-nav"><a href="module-ExtrasRowList.html#.onSpecialFeaturesLoaded">onSpecialFeaturesLoaded</a></li><li data-type="method" id="ExtrasRowList-updateSize-nav"><a href="module-ExtrasRowList.html#.updateSize">updateSize</a></li></ul></li><li id="FavoriteItemsTask-nav"><a href="module-FavoriteItemsTask.html">FavoriteItemsTask</a><ul class='methods'><li data-type="method" id="FavoriteItemsTask-init-nav"><a href="module-FavoriteItemsTask.html#.init">init</a></li><li data-type="method" id="FavoriteItemsTask-setFavoriteStatus-nav"><a href="module-FavoriteItemsTask.html#.setFavoriteStatus">setFavoriteStatus</a></li></ul></li><li id="FolderData-nav"><a href="module-FolderData.html">FolderData</a><ul class='methods'><li data-type="method" id="FolderData-setFields-nav"><a href="module-FolderData.html#.setFields">setFields</a></li><li data-type="method" id="FolderData-setPoster-nav"><a href="module-FolderData.html#.setPoster">setPoster</a></li></ul></li><li id="GetFiltersTask-nav"><a href="module-GetFiltersTask.html">GetFiltersTask</a><ul class='methods'><li data-type="method" id="GetFiltersTask-getFiltersTask-nav"><a href="module-GetFiltersTask.html#.getFiltersTask">getFiltersTask</a></li><li data-type="method" id="GetFiltersTask-init-nav"><a href="module-GetFiltersTask.html#.init">init</a></li></ul></li><li id="GetNextEpisodeTask-nav"><a href="module-GetNextEpisodeTask.html">GetNextEpisodeTask</a><ul class='methods'><li data-type="method" id="GetNextEpisodeTask-getNextEpisodeTask-nav"><a href="module-GetNextEpisodeTask.html#.getNextEpisodeTask">getNextEpisodeTask</a></li><li data-type="method" id="GetNextEpisodeTask-init-nav"><a href="module-GetNextEpisodeTask.html#.init">init</a></li></ul></li><li id="GetPlaybackInfoTask-nav"><a href="module-GetPlaybackInfoTask.html">GetPlaybackInfoTask</a><ul class='methods'><li data-type="method" id="GetPlaybackInfoTask-GetTranscodingStats-nav"><a href="module-GetPlaybackInfoTask.html#.GetTranscodingStats">GetTranscodingStats</a></li><li data-type="method" id="GetPlaybackInfoTask-ItemPostPlaybackInfo-nav"><a href="module-GetPlaybackInfoTask.html#.ItemPostPlaybackInfo">ItemPostPlaybackInfo</a></li><li data-type="method" id="GetPlaybackInfoTask-getDisplayBitrate-nav"><a href="module-GetPlaybackInfoTask.html#.getDisplayBitrate">getDisplayBitrate</a></li><li data-type="method" id="GetPlaybackInfoTask-getPlaybackInfoTask-nav"><a href="module-GetPlaybackInfoTask.html#.getPlaybackInfoTask">getPlaybackInfoTask</a></li><li data-type="method" id="GetPlaybackInfoTask-havePlaybackInfo-nav"><a href="module-GetPlaybackInfoTask.html#.havePlaybackInfo">havePlaybackInfo</a></li><li data-type="method" id="GetPlaybackInfoTask-init-nav"><a href="module-GetPlaybackInfoTask.html#.init">init</a></li></ul></li><li id="GetShuffleEpisodesTask-nav"><a href="module-GetShuffleEpisodesTask.html">GetShuffleEpisodesTask</a><ul class='methods'><li data-type="method" id="GetShuffleEpisodesTask-getShuffleEpisodesTask-nav"><a href="module-GetShuffleEpisodesTask.html#.getShuffleEpisodesTask">getShuffleEpisodesTask</a></li><li data-type="method" id="GetShuffleEpisodesTask-init-nav"><a href="module-GetShuffleEpisodesTask.html#.init">init</a></li></ul></li><li id="GridItem-nav"><a href="module-GridItem.html">GridItem</a><ul class='methods'><li data-type="method" id="GridItem-focusChanged-nav"><a href="module-GridItem.html#.focusChanged">focusChanged</a></li><li data-type="method" id="GridItem-focusChanging-nav"><a href="module-GridItem.html#.focusChanging">focusChanging</a></li><li data-type="method" id="GridItem-init-nav"><a href="module-GridItem.html#.init">init</a></li><li data-type="method" id="GridItem-itemContentChanged-nav"><a href="module-GridItem.html#.itemContentChanged">itemContentChanged</a></li><li data-type="method" id="GridItem-onPosterLoadStatusChanged-nav"><a href="module-GridItem.html#.onPosterLoadStatusChanged">onPosterLoadStatusChanged</a></li></ul></li><li id="GridItemSmall-nav"><a href="module-GridItemSmall.html">GridItemSmall</a><ul class='methods'><li data-type="method" id="GridItemSmall-focusChanged-nav"><a href="module-GridItemSmall.html#.focusChanged">focusChanged</a></li><li data-type="method" id="GridItemSmall-init-nav"><a href="module-GridItemSmall.html#.init">init</a></li><li data-type="method" id="GridItemSmall-itemContentChanged-nav"><a href="module-GridItemSmall.html#.itemContentChanged">itemContentChanged</a></li><li data-type="method" id="GridItemSmall-onPosterLoadStatusChanged-nav"><a href="module-GridItemSmall.html#.onPosterLoadStatusChanged">onPosterLoadStatusChanged</a></li></ul></li><li id="Home-nav"><a href="module-Home.html">Home</a><ul class='methods'><li data-type="method" id="Home-init-nav"><a href="module-Home.html#.init">init</a></li><li data-type="method" id="Home-loadLibraries-nav"><a href="module-Home.html#.loadLibraries">loadLibraries</a></li><li data-type="method" id="Home-refresh-nav"><a href="module-Home.html#.refresh">refresh</a></li></ul></li><li id="HomeData-nav"><a href="module-HomeData.html">HomeData</a><ul class='methods'><li data-type="method" id="HomeData-setData-nav"><a href="module-HomeData.html#.setData">setData</a></li></ul></li><li id="HomeItem-nav"><a href="module-HomeItem.html">HomeItem</a><ul class='methods'><li data-type="method" id="HomeItem-drawProgressBar-nav"><a href="module-HomeItem.html#.drawProgressBar">drawProgressBar</a></li><li data-type="method" id="HomeItem-focusChanged-nav"><a href="module-HomeItem.html#.focusChanged">focusChanged</a></li><li data-type="method" id="HomeItem-init-nav"><a href="module-HomeItem.html#.init">init</a></li><li data-type="method" id="HomeItem-itemContentChanged-nav"><a href="module-HomeItem.html#.itemContentChanged">itemContentChanged</a></li><li data-type="method" id="HomeItem-onPosterLoadStatusChanged-nav"><a href="module-HomeItem.html#.onPosterLoadStatusChanged">onPosterLoadStatusChanged</a></li></ul></li><li id="HomeRows-nav"><a href="module-HomeRows.html">HomeRows</a><ul class='methods'><li data-type="method" id="HomeRows-deleteFromSizeArray-nav"><a href="module-HomeRows.html#.deleteFromSizeArray">deleteFromSizeArray</a></li><li data-type="method" id="HomeRows-filterNodeArray-nav"><a href="module-HomeRows.html#.filterNodeArray">filterNodeArray</a></li><li data-type="method" id="HomeRows-getRowIndex-nav"><a href="module-HomeRows.html#.getRowIndex">getRowIndex</a></li><li data-type="method" id="HomeRows-init-nav"><a href="module-HomeRows.html#.init">init</a></li><li data-type="method" id="HomeRows-itemSelected-nav"><a href="module-HomeRows.html#.itemSelected">itemSelected</a></li><li data-type="method" id="HomeRows-loadLibraries-nav"><a href="module-HomeRows.html#.loadLibraries">loadLibraries</a></li><li data-type="method" id="HomeRows-onKeyEvent-nav"><a href="module-HomeRows.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="HomeRows-onLibrariesLoaded-nav"><a href="module-HomeRows.html#.onLibrariesLoaded">onLibrariesLoaded</a></li><li data-type="method" id="HomeRows-updateContinueItems-nav"><a href="module-HomeRows.html#.updateContinueItems">updateContinueItems</a></li><li data-type="method" id="HomeRows-updateFavoritesItems-nav"><a href="module-HomeRows.html#.updateFavoritesItems">updateFavoritesItems</a></li><li data-type="method" id="HomeRows-updateHomeRows-nav"><a href="module-HomeRows.html#.updateHomeRows">updateHomeRows</a></li><li data-type="method" id="HomeRows-updateLatestItems-nav"><a href="module-HomeRows.html#.updateLatestItems">updateLatestItems</a></li><li data-type="method" id="HomeRows-updateNextUpItems-nav"><a href="module-HomeRows.html#.updateNextUpItems">updateNextUpItems</a></li><li data-type="method" id="HomeRows-updateOnNowItems-nav"><a href="module-HomeRows.html#.updateOnNowItems">updateOnNowItems</a></li><li data-type="method" id="HomeRows-updateSize-nav"><a href="module-HomeRows.html#.updateSize">updateSize</a></li><li data-type="method" id="HomeRows-updateSizeArray-nav"><a href="module-HomeRows.html#.updateSizeArray">updateSizeArray</a></li></ul></li><li id="IconButton-nav"><a href="module-IconButton.html">IconButton</a><ul class='methods'><li data-type="method" id="IconButton-init-nav"><a href="module-IconButton.html#.init">init</a></li><li data-type="method" id="IconButton-onBackgroundChanged-nav"><a href="module-IconButton.html#.onBackgroundChanged">onBackgroundChanged</a></li><li data-type="method" id="IconButton-onFocusChanged-nav"><a href="module-IconButton.html#.onFocusChanged">onFocusChanged</a></li><li data-type="method" id="IconButton-onHeightChanged-nav"><a href="module-IconButton.html#.onHeightChanged">onHeightChanged</a></li><li data-type="method" id="IconButton-onIconChanged-nav"><a href="module-IconButton.html#.onIconChanged">onIconChanged</a></li><li data-type="method" id="IconButton-onKeyEvent-nav"><a href="module-IconButton.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="IconButton-onPaddingChanged-nav"><a href="module-IconButton.html#.onPaddingChanged">onPaddingChanged</a></li><li data-type="method" id="IconButton-onTextChanged-nav"><a href="module-IconButton.html#.onTextChanged">onTextChanged</a></li><li data-type="method" id="IconButton-onWidthChanged-nav"><a href="module-IconButton.html#.onWidthChanged">onWidthChanged</a></li><li data-type="method" id="IconButton-setIconSize-nav"><a href="module-IconButton.html#.setIconSize">setIconSize</a></li></ul></li><li id="Image-nav"><a href="module-Image.html">Image</a><ul class='methods'><li data-type="method" id="Image-ImageURL-nav"><a href="module-Image.html#.ImageURL">ImageURL</a></li><li data-type="method" id="Image-ItemImages-nav"><a href="module-Image.html#.ItemImages">ItemImages</a></li><li data-type="method" id="Image-PosterImage-nav"><a href="module-Image.html#.PosterImage">PosterImage</a></li><li data-type="method" id="Image-UserImageURL-nav"><a href="module-Image.html#.UserImageURL">UserImageURL</a></li></ul></li><li id="ImageData-nav"><a href="module-ImageData.html">ImageData</a><ul class='methods'><li data-type="method" id="ImageData-setFields-nav"><a href="module-ImageData.html#.setFields">setFields</a></li></ul></li><li id="ItemGrid-nav"><a href="module-ItemGrid.html">ItemGrid</a><ul class='methods'><li data-type="method" id="ItemGrid-ItemDataLoaded-nav"><a href="module-ItemGrid.html#.ItemDataLoaded">ItemDataLoaded</a></li><li data-type="method" id="ItemGrid-SetBackground-nav"><a href="module-ItemGrid.html#.SetBackground">SetBackground</a></li><li data-type="method" id="ItemGrid-SetUpOptions-nav"><a href="module-ItemGrid.html#.SetUpOptions">SetUpOptions</a></li><li data-type="method" id="ItemGrid-getCollectionType-nav"><a href="module-ItemGrid.html#.getCollectionType">getCollectionType</a></li><li data-type="method" id="ItemGrid-inStringArray-nav"><a href="module-ItemGrid.html#.inStringArray">inStringArray</a></li><li data-type="method" id="ItemGrid-init-nav"><a href="module-ItemGrid.html#.init">init</a></li><li data-type="method" id="ItemGrid-loadInitialItems-nav"><a href="module-ItemGrid.html#.loadInitialItems">loadInitialItems</a></li><li data-type="method" id="ItemGrid-loadMoreData-nav"><a href="module-ItemGrid.html#.loadMoreData">loadMoreData</a></li><li data-type="method" id="ItemGrid-newBGLoaded-nav"><a href="module-ItemGrid.html#.newBGLoaded">newBGLoaded</a></li><li data-type="method" id="ItemGrid-onChannelFocused-nav"><a href="module-ItemGrid.html#.onChannelFocused">onChannelFocused</a></li><li data-type="method" id="ItemGrid-onChannelSelected-nav"><a href="module-ItemGrid.html#.onChannelSelected">onChannelSelected</a></li><li data-type="method" id="ItemGrid-onGenreItemSelected-nav"><a href="module-ItemGrid.html#.onGenreItemSelected">onGenreItemSelected</a></li><li data-type="method" id="ItemGrid-onItemFocused-nav"><a href="module-ItemGrid.html#.onItemFocused">onItemFocused</a></li><li data-type="method" id="ItemGrid-onItemSelected-nav"><a href="module-ItemGrid.html#.onItemSelected">onItemSelected</a></li><li data-type="method" id="ItemGrid-onItemalphaSelected-nav"><a href="module-ItemGrid.html#.onItemalphaSelected">onItemalphaSelected</a></li><li data-type="method" id="ItemGrid-onKeyEvent-nav"><a href="module-ItemGrid.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="ItemGrid-onvoiceFilter-nav"><a href="module-ItemGrid.html#.onvoiceFilter">onvoiceFilter</a></li><li data-type="method" id="ItemGrid-optionsClosed-nav"><a href="module-ItemGrid.html#.optionsClosed">optionsClosed</a></li><li data-type="method" id="ItemGrid-setBoxsetsOptions-nav"><a href="module-ItemGrid.html#.setBoxsetsOptions">setBoxsetsOptions</a></li><li data-type="method" id="ItemGrid-setDefaultOptions-nav"><a href="module-ItemGrid.html#.setDefaultOptions">setDefaultOptions</a></li><li data-type="method" id="ItemGrid-setLiveTvOptions-nav"><a href="module-ItemGrid.html#.setLiveTvOptions">setLiveTvOptions</a></li><li data-type="method" id="ItemGrid-setMoviesOptions-nav"><a href="module-ItemGrid.html#.setMoviesOptions">setMoviesOptions</a></li><li data-type="method" id="ItemGrid-setMusicOptions-nav"><a href="module-ItemGrid.html#.setMusicOptions">setMusicOptions</a></li><li data-type="method" id="ItemGrid-setPhotoAlbumOptions-nav"><a href="module-ItemGrid.html#.setPhotoAlbumOptions">setPhotoAlbumOptions</a></li><li data-type="method" id="ItemGrid-setTvShowsOptions-nav"><a href="module-ItemGrid.html#.setTvShowsOptions">setTvShowsOptions</a></li><li data-type="method" id="ItemGrid-showTVGuide-nav"><a href="module-ItemGrid.html#.showTVGuide">showTVGuide</a></li><li data-type="method" id="ItemGrid-swapDone-nav"><a href="module-ItemGrid.html#.swapDone">swapDone</a></li><li data-type="method" id="ItemGrid-updateTitle-nav"><a href="module-ItemGrid.html#.updateTitle">updateTitle</a></li></ul></li><li id="ItemGridOptions-nav"><a href="module-ItemGridOptions.html">ItemGridOptions</a><ul class='methods'><li data-type="method" id="ItemGridOptions-buttonFocusChanged-nav"><a href="module-ItemGridOptions.html#.buttonFocusChanged">buttonFocusChanged</a></li><li data-type="method" id="ItemGridOptions-hideChecklist-nav"><a href="module-ItemGridOptions.html#.hideChecklist">hideChecklist</a></li><li data-type="method" id="ItemGridOptions-init-nav"><a href="module-ItemGridOptions.html#.init">init</a></li><li data-type="method" id="ItemGridOptions-isFilterMenuDataValid-nav"><a href="module-ItemGridOptions.html#.isFilterMenuDataValid">isFilterMenuDataValid</a></li><li data-type="method" id="ItemGridOptions-onFilterFocusChange-nav"><a href="module-ItemGridOptions.html#.onFilterFocusChange">onFilterFocusChange</a></li><li data-type="method" id="ItemGridOptions-onKeyEvent-nav"><a href="module-ItemGridOptions.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="ItemGridOptions-optionsSet-nav"><a href="module-ItemGridOptions.html#.optionsSet">optionsSet</a></li><li data-type="method" id="ItemGridOptions-saveFavoriteItemSelected-nav"><a href="module-ItemGridOptions.html#.saveFavoriteItemSelected">saveFavoriteItemSelected</a></li><li data-type="method" id="ItemGridOptions-setHeartColor-nav"><a href="module-ItemGridOptions.html#.setHeartColor">setHeartColor</a></li><li data-type="method" id="ItemGridOptions-showChecklist-nav"><a href="module-ItemGridOptions.html#.showChecklist">showChecklist</a></li><li data-type="method" id="ItemGridOptions-toggleFavorite-nav"><a href="module-ItemGridOptions.html#.toggleFavorite">toggleFavorite</a></li></ul></li><li id="Items-nav"><a href="module-Items.html">Items</a><ul class='methods'><li data-type="method" id="Items-AppearsOnList-nav"><a href="module-Items.html#.AppearsOnList">AppearsOnList</a></li><li data-type="method" id="Items-ArtistOverview-nav"><a href="module-Items.html#.ArtistOverview">ArtistOverview</a></li><li data-type="method" id="Items-AudioItem-nav"><a href="module-Items.html#.AudioItem">AudioItem</a></li><li data-type="method" id="Items-AudioStream-nav"><a href="module-Items.html#.AudioStream">AudioStream</a></li><li data-type="method" id="Items-BackdropImage-nav"><a href="module-Items.html#.BackdropImage">BackdropImage</a></li><li data-type="method" id="Items-CreateArtistMix-nav"><a href="module-Items.html#.CreateArtistMix">CreateArtistMix</a></li><li data-type="method" id="Items-CreateInstantMix-nav"><a href="module-Items.html#.CreateInstantMix">CreateInstantMix</a></li><li data-type="method" id="Items-GetIntroVideos-nav"><a href="module-Items.html#.GetIntroVideos">GetIntroVideos</a></li><li data-type="method" id="Items-GetSongsByArtist-nav"><a href="module-Items.html#.GetSongsByArtist">GetSongsByArtist</a></li><li data-type="method" id="Items-ItemGetPlaybackInfo-nav"><a href="module-Items.html#.ItemGetPlaybackInfo">ItemGetPlaybackInfo</a></li><li data-type="method" id="Items-ItemMetaData-nav"><a href="module-Items.html#.ItemMetaData">ItemMetaData</a></li><li data-type="method" id="Items-ItemPostPlaybackInfo-nav"><a href="module-Items.html#.ItemPostPlaybackInfo">ItemPostPlaybackInfo</a></li><li data-type="method" id="Items-MusicAlbumList-nav"><a href="module-Items.html#.MusicAlbumList">MusicAlbumList</a></li><li data-type="method" id="Items-MusicSongList-nav"><a href="module-Items.html#.MusicSongList">MusicSongList</a></li><li data-type="method" id="Items-PlaylistItemList-nav"><a href="module-Items.html#.PlaylistItemList">PlaylistItemList</a></li><li data-type="method" id="Items-TVEpisodeShuffleList-nav"><a href="module-Items.html#.TVEpisodeShuffleList">TVEpisodeShuffleList</a></li><li data-type="method" id="Items-TVEpisodes-nav"><a href="module-Items.html#.TVEpisodes">TVEpisodes</a></li><li data-type="method" id="Items-TVSeasons-nav"><a href="module-Items.html#.TVSeasons">TVSeasons</a></li><li data-type="method" id="Items-searchMedia-nav"><a href="module-Items.html#.searchMedia">searchMedia</a></li><li data-type="method" id="Items-useTranscodeAudioStream-nav"><a href="module-Items.html#.useTranscodeAudioStream">useTranscodeAudioStream</a></li></ul></li><li id="JFButton-nav"><a href="module-JFButton.html">JFButton</a><ul class='methods'><li data-type="method" id="JFButton-init-nav"><a href="module-JFButton.html#.init">init</a></li><li data-type="method" id="JFButton-onTextChanged-nav"><a href="module-JFButton.html#.onTextChanged">onTextChanged</a></li></ul></li><li id="JFButtons-nav"><a href="module-JFButtons.html">JFButtons</a><ul class='methods'><li data-type="method" id="JFButtons-focusChanged-nav"><a href="module-JFButtons.html#.focusChanged">focusChanged</a></li><li data-type="method" id="JFButtons-highlightSelected-nav"><a href="module-JFButtons.html#.highlightSelected">highlightSelected</a></li><li data-type="method" id="JFButtons-init-nav"><a href="module-JFButtons.html#.init">init</a></li><li data-type="method" id="JFButtons-onKeyEvent-nav"><a href="module-JFButtons.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="JFButtons-renderChanged-nav"><a href="module-JFButtons.html#.renderChanged">renderChanged</a></li><li data-type="method" id="JFButtons-selectedIndexChanged-nav"><a href="module-JFButtons.html#.selectedIndexChanged">selectedIndexChanged</a></li><li data-type="method" id="JFButtons-showButtons-nav"><a href="module-JFButtons.html#.showButtons">showButtons</a></li><li data-type="method" id="JFButtons-updateButtons-nav"><a href="module-JFButtons.html#.updateButtons">updateButtons</a></li></ul></li><li id="JFGroup-nav"><a href="module-JFGroup.html">JFGroup</a><ul class='methods'><li data-type="method" id="JFGroup-init-nav"><a href="module-JFGroup.html#.init">init</a></li><li data-type="method" id="JFGroup-onKeyEvent-nav"><a href="module-JFGroup.html#.onKeyEvent">onKeyEvent</a></li></ul></li><li id="JFMessageDialog-nav"><a href="module-JFMessageDialog.html">JFMessageDialog</a><ul class='methods'><li data-type="method" id="JFMessageDialog-init-nav"><a href="module-JFMessageDialog.html#.init">init</a></li><li data-type="method" id="JFMessageDialog-onKeyEvent-nav"><a href="module-JFMessageDialog.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="JFMessageDialog-redraw-nav"><a href="module-JFMessageDialog.html#.redraw">redraw</a></li><li data-type="method" id="JFMessageDialog-updateMessage-nav"><a href="module-JFMessageDialog.html#.updateMessage">updateMessage</a></li><li data-type="method" id="JFMessageDialog-updateOptions-nav"><a href="module-JFMessageDialog.html#.updateOptions">updateOptions</a></li></ul></li><li id="JFOverhang-nav"><a href="module-JFOverhang.html">JFOverhang</a><ul class='methods'><li data-type="method" id="JFOverhang-init-nav"><a href="module-JFOverhang.html#.init">init</a></li><li data-type="method" id="JFOverhang-onVisibleChange-nav"><a href="module-JFOverhang.html#.onVisibleChange">onVisibleChange</a></li><li data-type="method" id="JFOverhang-resetTime-nav"><a href="module-JFOverhang.html#.resetTime">resetTime</a></li><li data-type="method" id="JFOverhang-setClockVisibility-nav"><a href="module-JFOverhang.html#.setClockVisibility">setClockVisibility</a></li><li data-type="method" id="JFOverhang-setRightSeperatorVisibility-nav"><a href="module-JFOverhang.html#.setRightSeperatorVisibility">setRightSeperatorVisibility</a></li><li data-type="method" id="JFOverhang-updateOptions-nav"><a href="module-JFOverhang.html#.updateOptions">updateOptions</a></li><li data-type="method" id="JFOverhang-updateTime-nav"><a href="module-JFOverhang.html#.updateTime">updateTime</a></li><li data-type="method" id="JFOverhang-updateTimeDisplay-nav"><a href="module-JFOverhang.html#.updateTimeDisplay">updateTimeDisplay</a></li><li data-type="method" id="JFOverhang-updateTitle-nav"><a href="module-JFOverhang.html#.updateTitle">updateTitle</a></li><li data-type="method" id="JFOverhang-updateUser-nav"><a href="module-JFOverhang.html#.updateUser">updateUser</a></li></ul></li><li id="JFScene-nav"><a href="module-JFScene.html">JFScene</a><ul class='methods'><li data-type="method" id="JFScene-init-nav"><a href="module-JFScene.html#.init">init</a></li><li data-type="method" id="JFScene-onKeyEvent-nav"><a href="module-JFScene.html#.onKeyEvent">onKeyEvent</a></li></ul></li><li id="JFScreen-nav"><a href="module-JFScreen.html">JFScreen</a><ul class='methods'><li data-type="method" id="JFScreen-OnScreenHidden-nav"><a href="module-JFScreen.html#.OnScreenHidden">OnScreenHidden</a></li><li data-type="method" id="JFScreen-OnScreenShown-nav"><a href="module-JFScreen.html#.OnScreenShown">OnScreenShown</a></li><li data-type="method" id="JFScreen-init-nav"><a href="module-JFScreen.html#.init">init</a></li></ul></li><li id="JFServer-nav"><a href="module-JFServer.html">JFServer</a><ul class='methods'><li data-type="method" id="JFServer-init-nav"><a href="module-JFServer.html#.init">init</a></li><li data-type="method" id="JFServer-itemContentChanged-nav"><a href="module-JFServer.html#.itemContentChanged">itemContentChanged</a></li><li data-type="method" id="JFServer-onFocusPercentChange-nav"><a href="module-JFServer.html#.onFocusPercentChange">onFocusPercentChange</a></li><li data-type="method" id="JFServer-setTextColor-nav"><a href="module-JFServer.html#.setTextColor">setTextColor</a></li></ul></li><li id="JFVideo-nav"><a href="module-JFVideo.html">JFVideo</a><ul class='methods'><li data-type="method" id="JFVideo-ReportPlayback-nav"><a href="module-JFVideo.html#.ReportPlayback">ReportPlayback</a></li><li data-type="method" id="JFVideo-bufferCheck-nav"><a href="module-JFVideo.html#.bufferCheck">bufferCheck</a></li><li data-type="method" id="JFVideo-checkTimeToDisplayNextEpisode-nav"><a href="module-JFVideo.html#.checkTimeToDisplayNextEpisode">checkTimeToDisplayNextEpisode</a></li><li data-type="method" id="JFVideo-hideNextEpisodeButton-nav"><a href="module-JFVideo.html#.hideNextEpisodeButton">hideNextEpisodeButton</a></li><li data-type="method" id="JFVideo-init-nav"><a href="module-JFVideo.html#.init">init</a></li><li data-type="method" id="JFVideo-loadCaption-nav"><a href="module-JFVideo.html#.loadCaption">loadCaption</a></li><li data-type="method" id="JFVideo-onAllowCaptionsChange-nav"><a href="module-JFVideo.html#.onAllowCaptionsChange">onAllowCaptionsChange</a></li><li data-type="method" id="JFVideo-onContentChange-nav"><a href="module-JFVideo.html#.onContentChange">onContentChange</a></li><li data-type="method" id="JFVideo-onKeyEvent-nav"><a href="module-JFVideo.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="JFVideo-onNextEpisodeDataLoaded-nav"><a href="module-JFVideo.html#.onNextEpisodeDataLoaded">onNextEpisodeDataLoaded</a></li><li data-type="method" id="JFVideo-onPositionChanged-nav"><a href="module-JFVideo.html#.onPositionChanged">onPositionChanged</a></li><li data-type="method" id="JFVideo-onState-nav"><a href="module-JFVideo.html#.onState">onState</a></li><li data-type="method" id="JFVideo-showNextEpisodeButton-nav"><a href="module-JFVideo.html#.showNextEpisodeButton">showNextEpisodeButton</a></li><li data-type="method" id="JFVideo-toggleCaption-nav"><a href="module-JFVideo.html#.toggleCaption">toggleCaption</a></li><li data-type="method" id="JFVideo-updateCaption-nav"><a href="module-JFVideo.html#.updateCaption">updateCaption</a></li><li data-type="method" id="JFVideo-updateCount-nav"><a href="module-JFVideo.html#.updateCount">updateCount</a></li></ul></li><li id="ListPoster-nav"><a href="module-ListPoster.html">ListPoster</a><ul class='methods'><li data-type="method" id="ListPoster-focusChanged-nav"><a href="module-ListPoster.html#.focusChanged">focusChanged</a></li><li data-type="method" id="ListPoster-init-nav"><a href="module-ListPoster.html#.init">init</a></li><li data-type="method" id="ListPoster-itemContentChanged-nav"><a href="module-ListPoster.html#.itemContentChanged">itemContentChanged</a></li><li data-type="method" id="ListPoster-updateSize-nav"><a href="module-ListPoster.html#.updateSize">updateSize</a></li></ul></li><li id="LoadChannelsTask-nav"><a href="module-LoadChannelsTask.html">LoadChannelsTask</a><ul class='methods'><li data-type="method" id="LoadChannelsTask-init-nav"><a href="module-LoadChannelsTask.html#.init">init</a></li><li data-type="method" id="LoadChannelsTask-loadChannels-nav"><a href="module-LoadChannelsTask.html#.loadChannels">loadChannels</a></li></ul></li><li id="LoadItemsTask-nav"><a href="module-LoadItemsTask.html">LoadItemsTask</a><ul class='methods'><li data-type="method" id="LoadItemsTask-getPersonVideos-nav"><a href="module-LoadItemsTask.html#.getPersonVideos">getPersonVideos</a></li><li data-type="method" id="LoadItemsTask-init-nav"><a href="module-LoadItemsTask.html#.init">init</a></li><li data-type="method" id="LoadItemsTask-loadItems-nav"><a href="module-LoadItemsTask.html#.loadItems">loadItems</a></li></ul></li><li id="LoadItemsTask2-nav"><a href="module-LoadItemsTask2.html">LoadItemsTask2</a><ul class='methods'><li data-type="method" id="LoadItemsTask2-init-nav"><a href="module-LoadItemsTask2.html#.init">init</a></li><li data-type="method" id="LoadItemsTask2-loadItems-nav"><a href="module-LoadItemsTask2.html#.loadItems">loadItems</a></li></ul></li><li id="LoadPhotoTask-nav"><a href="module-LoadPhotoTask.html">LoadPhotoTask</a><ul class='methods'><li data-type="method" id="LoadPhotoTask-init-nav"><a href="module-LoadPhotoTask.html#.init">init</a></li><li data-type="method" id="LoadPhotoTask-loadItems-nav"><a href="module-LoadPhotoTask.html#.loadItems">loadItems</a></li></ul></li><li id="LoadProgramDetailsTask-nav"><a href="module-LoadProgramDetailsTask.html">LoadProgramDetailsTask</a><ul class='methods'><li data-type="method" id="LoadProgramDetailsTask-init-nav"><a href="module-LoadProgramDetailsTask.html#.init">init</a></li><li data-type="method" id="LoadProgramDetailsTask-loadProgramDetails-nav"><a href="module-LoadProgramDetailsTask.html#.loadProgramDetails">loadProgramDetails</a></li></ul></li><li id="LoadScreenSaverTimeoutTask-nav"><a href="module-LoadScreenSaverTimeoutTask.html">LoadScreenSaverTimeoutTask</a><ul class='methods'><li data-type="method" id="LoadScreenSaverTimeoutTask-getScreensaverTimeout-nav"><a href="module-LoadScreenSaverTimeoutTask.html#.getScreensaverTimeout">getScreensaverTimeout</a></li><li data-type="method" id="LoadScreenSaverTimeoutTask-init-nav"><a href="module-LoadScreenSaverTimeoutTask.html#.init">init</a></li></ul></li><li id="LoadSheduleTask-nav"><a href="module-LoadSheduleTask.html">LoadSheduleTask</a><ul class='methods'><li data-type="method" id="LoadSheduleTask-init-nav"><a href="module-LoadSheduleTask.html#.init">init</a></li><li data-type="method" id="LoadSheduleTask-loadSchedule-nav"><a href="module-LoadSheduleTask.html#.loadSchedule">loadSchedule</a></li></ul></li><li id="LoadVideoContentTask-nav"><a href="module-LoadVideoContentTask.html">LoadVideoContentTask</a><ul class='methods'><li data-type="method" id="LoadVideoContentTask-FindPreferredAudioStream-nav"><a href="module-LoadVideoContentTask.html#.FindPreferredAudioStream">FindPreferredAudioStream</a></li><li data-type="method" id="LoadVideoContentTask-LoadItems_AddVideoContent-nav"><a href="module-LoadVideoContentTask.html#.LoadItems_AddVideoContent">LoadItems_AddVideoContent</a></li><li data-type="method" id="LoadVideoContentTask-LoadItems_VideoPlayer-nav"><a href="module-LoadVideoContentTask.html#.LoadItems_VideoPlayer">LoadItems_VideoPlayer</a></li><li data-type="method" id="LoadVideoContentTask-addNextEpisodesToQueue-nav"><a href="module-LoadVideoContentTask.html#.addNextEpisodesToQueue">addNextEpisodesToQueue</a></li><li data-type="method" id="LoadVideoContentTask-addSubtitlesToVideo-nav"><a href="module-LoadVideoContentTask.html#.addSubtitlesToVideo">addSubtitlesToVideo</a></li><li data-type="method" id="LoadVideoContentTask-addVideoContentURL-nav"><a href="module-LoadVideoContentTask.html#.addVideoContentURL">addVideoContentURL</a></li><li data-type="method" id="LoadVideoContentTask-directPlaySupported-nav"><a href="module-LoadVideoContentTask.html#.directPlaySupported">directPlaySupported</a></li><li data-type="method" id="LoadVideoContentTask-getContainerType-nav"><a href="module-LoadVideoContentTask.html#.getContainerType">getContainerType</a></li><li data-type="method" id="LoadVideoContentTask-getSubtitleLanguages-nav"><a href="module-LoadVideoContentTask.html#.getSubtitleLanguages">getSubtitleLanguages</a></li><li data-type="method" id="LoadVideoContentTask-getTranscodeReasons-nav"><a href="module-LoadVideoContentTask.html#.getTranscodeReasons">getTranscodeReasons</a></li><li data-type="method" id="LoadVideoContentTask-init-nav"><a href="module-LoadVideoContentTask.html#.init">init</a></li><li data-type="method" id="LoadVideoContentTask-loadItems-nav"><a href="module-LoadVideoContentTask.html#.loadItems">loadItems</a></li><li data-type="method" id="LoadVideoContentTask-sortSubtitles-nav"><a href="module-LoadVideoContentTask.html#.sortSubtitles">sortSubtitles</a></li></ul></li><li id="LogMixin-nav"><a href="module-LogMixin.html">LogMixin</a><ul class='methods'><li data-type="method" id="LogMixin-log_Logger-nav"><a href="module-LogMixin.html#.log_Logger">log_Logger</a></li><li data-type="method" id="LogMixin-log_getLogInstance-nav"><a href="module-LogMixin.html#.log_getLogInstance">log_getLogInstance</a></li><li data-type="method" id="LogMixin-log_global-nav"><a href="module-LogMixin.html#.log_global">log_global</a></li></ul></li><li id="LogNodeTransport-nav"><a href="module-LogNodeTransport.html">LogNodeTransport</a><ul class='methods'><li data-type="method" id="LogNodeTransport-Init-nav"><a href="module-LogNodeTransport.html#.Init">Init</a></li><li data-type="method" id="LogNodeTransport-Init-nav"><a href="module-LogNodeTransport.html#.Init">Init</a></li><li data-type="method" id="LogNodeTransport-logItem-nav"><a href="module-LogNodeTransport.html#.logItem">logItem</a></li><li data-type="method" id="LogNodeTransport-logItem-nav"><a href="module-LogNodeTransport.html#.logItem">logItem</a></li><li data-type="method" id="LogNodeTransport-log_clearLog-nav"><a href="module-LogNodeTransport.html#.log_clearLog">log_clearLog</a></li><li data-type="method" id="LogNodeTransport-log_updateLogOutput-nav"><a href="module-LogNodeTransport.html#.log_updateLogOutput">log_updateLogOutput</a></li></ul></li><li id="LogScreenTransport-nav"><a href="module-LogScreenTransport.html">LogScreenTransport</a><ul class='methods'><li data-type="method" id="LogScreenTransport-init-nav"><a href="module-LogScreenTransport.html#.init">init</a></li><li data-type="method" id="LogScreenTransport-init-nav"><a href="module-LogScreenTransport.html#.init">init</a></li><li data-type="method" id="LogScreenTransport-init-nav"><a href="module-LogScreenTransport.html#.init">init</a></li><li data-type="method" id="LogScreenTransport-init-nav"><a href="module-LogScreenTransport.html#.init">init</a></li><li data-type="method" id="LogScreenTransport-logItem-nav"><a href="module-LogScreenTransport.html#.logItem">logItem</a></li><li data-type="method" id="LogScreenTransport-logItem-nav"><a href="module-LogScreenTransport.html#.logItem">logItem</a></li><li data-type="method" id="LogScreenTransport-logItem-nav"><a href="module-LogScreenTransport.html#.logItem">logItem</a></li><li data-type="method" id="LogScreenTransport-logItem-nav"><a href="module-LogScreenTransport.html#.logItem">logItem</a></li><li data-type="method" id="LogScreenTransport-sendLogsNow-nav"><a href="module-LogScreenTransport.html#.sendLogsNow">sendLogsNow</a></li><li data-type="method" id="LogScreenTransport-sendLogsNow-nav"><a href="module-LogScreenTransport.html#.sendLogsNow">sendLogsNow</a></li></ul></li><li id="LoginScene-nav"><a href="module-LoginScene.html">LoginScene</a><ul class='methods'><li data-type="method" id="LoginScene-init-nav"><a href="module-LoginScene.html#.init">init</a></li><li data-type="method" id="LoginScene-onKeyEvent-nav"><a href="module-LoginScene.html#.onKeyEvent">onKeyEvent</a></li></ul></li><li id="Main-nav"><a href="module-Main.html">Main</a><ul class='methods'><li data-type="method" id="Main-Main-nav"><a href="module-Main.html#.Main">Main</a></li></ul></li><li id="MovieData-nav"><a href="module-MovieData.html">MovieData</a><ul class='methods'><li data-type="method" id="MovieData-setContainer-nav"><a href="module-MovieData.html#.setContainer">setContainer</a></li><li data-type="method" id="MovieData-setFields-nav"><a href="module-MovieData.html#.setFields">setFields</a></li><li data-type="method" id="MovieData-setPoster-nav"><a href="module-MovieData.html#.setPoster">setPoster</a></li></ul></li><li id="MovieDetails-nav"><a href="module-MovieDetails.html">MovieDetails</a><ul class='methods'><li data-type="method" id="MovieDetails-OnScreenShown-nav"><a href="module-MovieDetails.html#.OnScreenShown">OnScreenShown</a></li><li data-type="method" id="MovieDetails-SetDefaultAudioTrack-nav"><a href="module-MovieDetails.html#.SetDefaultAudioTrack">SetDefaultAudioTrack</a></li><li data-type="method" id="MovieDetails-SetUpAudioOptions-nav"><a href="module-MovieDetails.html#.SetUpAudioOptions">SetUpAudioOptions</a></li><li data-type="method" id="MovieDetails-SetUpVideoOptions-nav"><a href="module-MovieDetails.html#.SetUpVideoOptions">SetUpVideoOptions</a></li><li data-type="method" id="MovieDetails-audioOptionsClosed-nav"><a href="module-MovieDetails.html#.audioOptionsClosed">audioOptionsClosed</a></li><li data-type="method" id="MovieDetails-getEndTime-nav"><a href="module-MovieDetails.html#.getEndTime">getEndTime</a></li><li data-type="method" id="MovieDetails-getRuntime-nav"><a href="module-MovieDetails.html#.getRuntime">getRuntime</a></li><li data-type="method" id="MovieDetails-init-nav"><a href="module-MovieDetails.html#.init">init</a></li><li data-type="method" id="MovieDetails-itemContentChanged-nav"><a href="module-MovieDetails.html#.itemContentChanged">itemContentChanged</a></li><li data-type="method" id="MovieDetails-onKeyEvent-nav"><a href="module-MovieDetails.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="MovieDetails-round-nav"><a href="module-MovieDetails.html#.round">round</a></li><li data-type="method" id="MovieDetails-setFavoriteColor-nav"><a href="module-MovieDetails.html#.setFavoriteColor">setFavoriteColor</a></li><li data-type="method" id="MovieDetails-setFieldText-nav"><a href="module-MovieDetails.html#.setFieldText">setFieldText</a></li><li data-type="method" id="MovieDetails-setWatchedColor-nav"><a href="module-MovieDetails.html#.setWatchedColor">setWatchedColor</a></li><li data-type="method" id="MovieDetails-trailerAvailableChanged-nav"><a href="module-MovieDetails.html#.trailerAvailableChanged">trailerAvailableChanged</a></li><li data-type="method" id="MovieDetails-videoOptionsClosed-nav"><a href="module-MovieDetails.html#.videoOptionsClosed">videoOptionsClosed</a></li></ul></li><li id="MovieLibraryView-nav"><a href="module-MovieLibraryView.html">MovieLibraryView</a><ul class='methods'><li data-type="method" id="MovieLibraryView-FilterDataLoaded-nav"><a href="module-MovieLibraryView.html#.FilterDataLoaded">FilterDataLoaded</a></li><li data-type="method" id="MovieLibraryView-ItemDataLoaded-nav"><a href="module-MovieLibraryView.html#.ItemDataLoaded">ItemDataLoaded</a></li><li data-type="method" id="MovieLibraryView-LogoImageLoaded-nav"><a href="module-MovieLibraryView.html#.LogoImageLoaded">LogoImageLoaded</a></li><li data-type="method" id="MovieLibraryView-OnScreenHidden-nav"><a href="module-MovieLibraryView.html#.OnScreenHidden">OnScreenHidden</a></li><li data-type="method" id="MovieLibraryView-OnScreenShown-nav"><a href="module-MovieLibraryView.html#.OnScreenShown">OnScreenShown</a></li><li data-type="method" id="MovieLibraryView-SetBackground-nav"><a href="module-MovieLibraryView.html#.SetBackground">SetBackground</a></li><li data-type="method" id="MovieLibraryView-SetName-nav"><a href="module-MovieLibraryView.html#.SetName">SetName</a></li><li data-type="method" id="MovieLibraryView-SetOfficialRating-nav"><a href="module-MovieLibraryView.html#.SetOfficialRating">SetOfficialRating</a></li><li data-type="method" id="MovieLibraryView-SetOverview-nav"><a href="module-MovieLibraryView.html#.SetOverview">SetOverview</a></li><li data-type="method" id="MovieLibraryView-SetProductionYear-nav"><a href="module-MovieLibraryView.html#.SetProductionYear">SetProductionYear</a></li><li data-type="method" id="MovieLibraryView-getCollectionType-nav"><a href="module-MovieLibraryView.html#.getCollectionType">getCollectionType</a></li><li data-type="method" id="MovieLibraryView-getItemFocused-nav"><a href="module-MovieLibraryView.html#.getItemFocused">getItemFocused</a></li><li data-type="method" id="MovieLibraryView-getRuntime-nav"><a href="module-MovieLibraryView.html#.getRuntime">getRuntime</a></li><li data-type="method" id="MovieLibraryView-inStringArray-nav"><a href="module-MovieLibraryView.html#.inStringArray">inStringArray</a></li><li data-type="method" id="MovieLibraryView-init-nav"><a href="module-MovieLibraryView.html#.init">init</a></li><li data-type="method" id="MovieLibraryView-loadInitialItems-nav"><a href="module-MovieLibraryView.html#.loadInitialItems">loadInitialItems</a></li><li data-type="method" id="MovieLibraryView-loadMoreData-nav"><a href="module-MovieLibraryView.html#.loadMoreData">loadMoreData</a></li><li data-type="method" id="MovieLibraryView-newBGLoaded-nav"><a href="module-MovieLibraryView.html#.newBGLoaded">newBGLoaded</a></li><li data-type="method" id="MovieLibraryView-onChannelSelected-nav"><a href="module-MovieLibraryView.html#.onChannelSelected">onChannelSelected</a></li><li data-type="method" id="MovieLibraryView-onGenreItemSelected-nav"><a href="module-MovieLibraryView.html#.onGenreItemSelected">onGenreItemSelected</a></li><li data-type="method" id="MovieLibraryView-onItemFocused-nav"><a href="module-MovieLibraryView.html#.onItemFocused">onItemFocused</a></li><li data-type="method" id="MovieLibraryView-onItemSelected-nav"><a href="module-MovieLibraryView.html#.onItemSelected">onItemSelected</a></li><li data-type="method" id="MovieLibraryView-onItemalphaSelected-nav"><a href="module-MovieLibraryView.html#.onItemalphaSelected">onItemalphaSelected</a></li><li data-type="method" id="MovieLibraryView-onKeyEvent-nav"><a href="module-MovieLibraryView.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="MovieLibraryView-onvoiceFilter-nav"><a href="module-MovieLibraryView.html#.onvoiceFilter">onvoiceFilter</a></li><li data-type="method" id="MovieLibraryView-optionsClosed-nav"><a href="module-MovieLibraryView.html#.optionsClosed">optionsClosed</a></li><li data-type="method" id="MovieLibraryView-round-nav"><a href="module-MovieLibraryView.html#.round">round</a></li><li data-type="method" id="MovieLibraryView-setFieldText-nav"><a href="module-MovieLibraryView.html#.setFieldText">setFieldText</a></li><li data-type="method" id="MovieLibraryView-setMoviesOptions-nav"><a href="module-MovieLibraryView.html#.setMoviesOptions">setMoviesOptions</a></li><li data-type="method" id="MovieLibraryView-setSelectedOptions-nav"><a href="module-MovieLibraryView.html#.setSelectedOptions">setSelectedOptions</a></li><li data-type="method" id="MovieLibraryView-setupNodes-nav"><a href="module-MovieLibraryView.html#.setupNodes">setupNodes</a></li><li data-type="method" id="MovieLibraryView-swapDone-nav"><a href="module-MovieLibraryView.html#.swapDone">swapDone</a></li></ul></li><li id="MovieOptions-nav"><a href="module-MovieOptions.html">MovieOptions</a><ul class='methods'><li data-type="method" id="MovieOptions-buttonFocusChanged-nav"><a href="module-MovieOptions.html#.buttonFocusChanged">buttonFocusChanged</a></li><li data-type="method" id="MovieOptions-init-nav"><a href="module-MovieOptions.html#.init">init</a></li><li data-type="method" id="MovieOptions-onKeyEvent-nav"><a href="module-MovieOptions.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="MovieOptions-optionsSet-nav"><a href="module-MovieOptions.html#.optionsSet">optionsSet</a></li></ul></li><li id="MusicAlbumData-nav"><a href="module-MusicAlbumData.html">MusicAlbumData</a><ul class='methods'><li data-type="method" id="MusicAlbumData-setFields-nav"><a href="module-MusicAlbumData.html#.setFields">setFields</a></li><li data-type="method" id="MusicAlbumData-setPoster-nav"><a href="module-MusicAlbumData.html#.setPoster">setPoster</a></li></ul></li><li id="MusicAlbumSongListData-nav"><a href="module-MusicAlbumSongListData.html">MusicAlbumSongListData</a><ul class='methods'><li data-type="method" id="MusicAlbumSongListData-setFields-nav"><a href="module-MusicAlbumSongListData.html#.setFields">setFields</a></li><li data-type="method" id="MusicAlbumSongListData-setPoster-nav"><a href="module-MusicAlbumSongListData.html#.setPoster">setPoster</a></li></ul></li><li id="MusicArtistData-nav"><a href="module-MusicArtistData.html">MusicArtistData</a><ul class='methods'><li data-type="method" id="MusicArtistData-setFields-nav"><a href="module-MusicArtistData.html#.setFields">setFields</a></li><li data-type="method" id="MusicArtistData-setPoster-nav"><a href="module-MusicArtistData.html#.setPoster">setPoster</a></li></ul></li><li id="MusicArtistGridItem-nav"><a href="module-MusicArtistGridItem.html">MusicArtistGridItem</a><ul class='methods'><li data-type="method" id="MusicArtistGridItem-focusChanged-nav"><a href="module-MusicArtistGridItem.html#.focusChanged">focusChanged</a></li><li data-type="method" id="MusicArtistGridItem-init-nav"><a href="module-MusicArtistGridItem.html#.init">init</a></li><li data-type="method" id="MusicArtistGridItem-itemContentChanged-nav"><a href="module-MusicArtistGridItem.html#.itemContentChanged">itemContentChanged</a></li><li data-type="method" id="MusicArtistGridItem-onPosterLoadStatusChanged-nav"><a href="module-MusicArtistGridItem.html#.onPosterLoadStatusChanged">onPosterLoadStatusChanged</a></li></ul></li><li id="MusicLibraryView-nav"><a href="module-MusicLibraryView.html">MusicLibraryView</a><ul class='methods'><li data-type="method" id="MusicLibraryView-ItemDataLoaded-nav"><a href="module-MusicLibraryView.html#.ItemDataLoaded">ItemDataLoaded</a></li><li data-type="method" id="MusicLibraryView-LogoImageLoaded-nav"><a href="module-MusicLibraryView.html#.LogoImageLoaded">LogoImageLoaded</a></li><li data-type="method" id="MusicLibraryView-OnScreenHidden-nav"><a href="module-MusicLibraryView.html#.OnScreenHidden">OnScreenHidden</a></li><li data-type="method" id="MusicLibraryView-OnScreenShown-nav"><a href="module-MusicLibraryView.html#.OnScreenShown">OnScreenShown</a></li><li data-type="method" id="MusicLibraryView-SetAlbumCount-nav"><a href="module-MusicLibraryView.html#.SetAlbumCount">SetAlbumCount</a></li><li data-type="method" id="MusicLibraryView-SetBackground-nav"><a href="module-MusicLibraryView.html#.SetBackground">SetBackground</a></li><li data-type="method" id="MusicLibraryView-SetGenres-nav"><a href="module-MusicLibraryView.html#.SetGenres">SetGenres</a></li><li data-type="method" id="MusicLibraryView-SetName-nav"><a href="module-MusicLibraryView.html#.SetName">SetName</a></li><li data-type="method" id="MusicLibraryView-SetSongCount-nav"><a href="module-MusicLibraryView.html#.SetSongCount">SetSongCount</a></li><li data-type="method" id="MusicLibraryView-SetUpOptions-nav"><a href="module-MusicLibraryView.html#.SetUpOptions">SetUpOptions</a></li><li data-type="method" id="MusicLibraryView-getCollectionType-nav"><a href="module-MusicLibraryView.html#.getCollectionType">getCollectionType</a></li><li data-type="method" id="MusicLibraryView-getItemFocused-nav"><a href="module-MusicLibraryView.html#.getItemFocused">getItemFocused</a></li><li data-type="method" id="MusicLibraryView-inStringArray-nav"><a href="module-MusicLibraryView.html#.inStringArray">inStringArray</a></li><li data-type="method" id="MusicLibraryView-init-nav"><a href="module-MusicLibraryView.html#.init">init</a></li><li data-type="method" id="MusicLibraryView-loadInitialItems-nav"><a href="module-MusicLibraryView.html#.loadInitialItems">loadInitialItems</a></li><li data-type="method" id="MusicLibraryView-loadMoreData-nav"><a href="module-MusicLibraryView.html#.loadMoreData">loadMoreData</a></li><li data-type="method" id="MusicLibraryView-newBGLoaded-nav"><a href="module-MusicLibraryView.html#.newBGLoaded">newBGLoaded</a></li><li data-type="method" id="MusicLibraryView-onChannelSelected-nav"><a href="module-MusicLibraryView.html#.onChannelSelected">onChannelSelected</a></li><li data-type="method" id="MusicLibraryView-onGenreItemFocused-nav"><a href="module-MusicLibraryView.html#.onGenreItemFocused">onGenreItemFocused</a></li><li data-type="method" id="MusicLibraryView-onGenreItemSelected-nav"><a href="module-MusicLibraryView.html#.onGenreItemSelected">onGenreItemSelected</a></li><li data-type="method" id="MusicLibraryView-onItemFocused-nav"><a href="module-MusicLibraryView.html#.onItemFocused">onItemFocused</a></li><li data-type="method" id="MusicLibraryView-onItemSelected-nav"><a href="module-MusicLibraryView.html#.onItemSelected">onItemSelected</a></li><li data-type="method" id="MusicLibraryView-onItemalphaSelected-nav"><a href="module-MusicLibraryView.html#.onItemalphaSelected">onItemalphaSelected</a></li><li data-type="method" id="MusicLibraryView-onKeyEvent-nav"><a href="module-MusicLibraryView.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="MusicLibraryView-onvoiceFilter-nav"><a href="module-MusicLibraryView.html#.onvoiceFilter">onvoiceFilter</a></li><li data-type="method" id="MusicLibraryView-optionsClosed-nav"><a href="module-MusicLibraryView.html#.optionsClosed">optionsClosed</a></li><li data-type="method" id="MusicLibraryView-setFieldText-nav"><a href="module-MusicLibraryView.html#.setFieldText">setFieldText</a></li><li data-type="method" id="MusicLibraryView-setMusicOptions-nav"><a href="module-MusicLibraryView.html#.setMusicOptions">setMusicOptions</a></li><li data-type="method" id="MusicLibraryView-setupNodes-nav"><a href="module-MusicLibraryView.html#.setupNodes">setupNodes</a></li><li data-type="method" id="MusicLibraryView-swapDone-nav"><a href="module-MusicLibraryView.html#.swapDone">swapDone</a></li></ul></li><li id="MusicSongData-nav"><a href="module-MusicSongData.html">MusicSongData</a><ul class='methods'><li data-type="method" id="MusicSongData-setFields-nav"><a href="module-MusicSongData.html#.setFields">setFields</a></li><li data-type="method" id="MusicSongData-setPoster-nav"><a href="module-MusicSongData.html#.setPoster">setPoster</a></li></ul></li><li id="OptionNode-nav"><a href="module-OptionNode.html">OptionNode</a><ul class='methods'><li data-type="method" id="OptionNode-init-nav"><a href="module-OptionNode.html#.init">init</a></li></ul></li><li id="OptionsButton-nav"><a href="module-OptionsButton.html">OptionsButton</a><ul class='methods'><li data-type="method" id="OptionsButton-init-nav"><a href="module-OptionsButton.html#.init">init</a></li><li data-type="method" id="OptionsButton-press-nav"><a href="module-OptionsButton.html#.press">press</a></li></ul></li><li id="OptionsData-nav"><a href="module-OptionsData.html">OptionsData</a><ul class='methods'><li data-type="method" id="OptionsData-init-nav"><a href="module-OptionsData.html#.init">init</a></li><li data-type="method" id="OptionsData-press-nav"><a href="module-OptionsData.html#.press">press</a></li><li data-type="method" id="OptionsData-update_title-nav"><a href="module-OptionsData.html#.update_title">update_title</a></li></ul></li><li id="OptionsSlider-nav"><a href="module-OptionsSlider.html">OptionsSlider</a><ul class='methods'><li data-type="method" id="OptionsSlider-init-nav"><a href="module-OptionsSlider.html#.init">init</a></li><li data-type="method" id="OptionsSlider-onKeyEvent-nav"><a href="module-OptionsSlider.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="OptionsSlider-setFields-nav"><a href="module-OptionsSlider.html#.setFields">setFields</a></li></ul></li><li id="OverviewDialog-nav"><a href="module-OverviewDialog.html">OverviewDialog</a><ul class='methods'><li data-type="method" id="OverviewDialog-onKeyEvent-nav"><a href="module-OverviewDialog.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="OverviewDialog-setOverview-nav"><a href="module-OverviewDialog.html#.setOverview">setOverview</a></li><li data-type="method" id="OverviewDialog-setTitle-nav"><a href="module-OverviewDialog.html#.setTitle">setTitle</a></li></ul></li><li id="PersonData-nav"><a href="module-PersonData.html">PersonData</a><ul class='methods'><li data-type="method" id="PersonData-setFields-nav"><a href="module-PersonData.html#.setFields">setFields</a></li><li data-type="method" id="PersonData-setPoster-nav"><a href="module-PersonData.html#.setPoster">setPoster</a></li></ul></li><li id="PersonDetails-nav"><a href="module-PersonDetails.html">PersonDetails</a><ul class='methods'><li data-type="method" id="PersonDetails-createDialogPallete-nav"><a href="module-PersonDetails.html#.createDialogPallete">createDialogPallete</a></li><li data-type="method" id="PersonDetails-createFullDscrDlg-nav"><a href="module-PersonDetails.html#.createFullDscrDlg">createFullDscrDlg</a></li><li data-type="method" id="PersonDetails-dscrShowFocus-nav"><a href="module-PersonDetails.html#.dscrShowFocus">dscrShowFocus</a></li><li data-type="method" id="PersonDetails-init-nav"><a href="module-PersonDetails.html#.init">init</a></li><li data-type="method" id="PersonDetails-loadPerson-nav"><a href="module-PersonDetails.html#.loadPerson">loadPerson</a></li><li data-type="method" id="PersonDetails-onButtonGroupEscaped-nav"><a href="module-PersonDetails.html#.onButtonGroupEscaped">onButtonGroupEscaped</a></li><li data-type="method" id="PersonDetails-onKeyEvent-nav"><a href="module-PersonDetails.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="PersonDetails-setFavoriteColor-nav"><a href="module-PersonDetails.html#.setFavoriteColor">setFavoriteColor</a></li><li data-type="method" id="PersonDetails-shortDate-nav"><a href="module-PersonDetails.html#.shortDate">shortDate</a></li></ul></li><li id="PhotoData-nav"><a href="module-PhotoData.html">PhotoData</a><ul class='methods'><li data-type="method" id="PhotoData-setFields-nav"><a href="module-PhotoData.html#.setFields">setFields</a></li><li data-type="method" id="PhotoData-setPoster-nav"><a href="module-PhotoData.html#.setPoster">setPoster</a></li></ul></li><li id="PhotoDetails-nav"><a href="module-PhotoDetails.html">PhotoDetails</a><ul class='methods'><li data-type="method" id="PhotoDetails-init-nav"><a href="module-PhotoDetails.html#.init">init</a></li><li data-type="method" id="PhotoDetails-isValidToContinue-nav"><a href="module-PhotoDetails.html#.isValidToContinue">isValidToContinue</a></li><li data-type="method" id="PhotoDetails-itemContentChanged-nav"><a href="module-PhotoDetails.html#.itemContentChanged">itemContentChanged</a></li><li data-type="method" id="PhotoDetails-nextSlide-nav"><a href="module-PhotoDetails.html#.nextSlide">nextSlide</a></li><li data-type="method" id="PhotoDetails-onKeyEvent-nav"><a href="module-PhotoDetails.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="PhotoDetails-onPhotoLoaded-nav"><a href="module-PhotoDetails.html#.onPhotoLoaded">onPhotoLoaded</a></li><li data-type="method" id="PhotoDetails-statusUpdate-nav"><a href="module-PhotoDetails.html#.statusUpdate">statusUpdate</a></li></ul></li><li id="PlaybackDialog-nav"><a href="module-PlaybackDialog.html">PlaybackDialog</a><ul class='methods'><li data-type="method" id="PlaybackDialog-onKeyEvent-nav"><a href="module-PlaybackDialog.html#.onKeyEvent">onKeyEvent</a></li></ul></li><li id="PlayedCheckmark-nav"><a href="module-PlayedCheckmark.html">PlayedCheckmark</a><ul class='methods'><li data-type="method" id="PlayedCheckmark-init-nav"><a href="module-PlayedCheckmark.html#.init">init</a></li></ul></li><li id="PlaylistData-nav"><a href="module-PlaylistData.html">PlaylistData</a><ul class='methods'><li data-type="method" id="PlaylistData-setFields-nav"><a href="module-PlaylistData.html#.setFields">setFields</a></li><li data-type="method" id="PlaylistData-setPoster-nav"><a href="module-PlaylistData.html#.setPoster">setPoster</a></li></ul></li><li id="PlaylistView-nav"><a href="module-PlaylistView.html">PlaylistView</a><ul class='methods'><li data-type="method" id="PlaylistView-OnScreenHidden-nav"><a href="module-PlaylistView.html#.OnScreenHidden">OnScreenHidden</a></li><li data-type="method" id="PlaylistView-adjustScreenForNoOverview-nav"><a href="module-PlaylistView.html#.adjustScreenForNoOverview">adjustScreenForNoOverview</a></li><li data-type="method" id="PlaylistView-createDialogPallete-nav"><a href="module-PlaylistView.html#.createDialogPallete">createDialogPallete</a></li><li data-type="method" id="PlaylistView-createFullDscrDlg-nav"><a href="module-PlaylistView.html#.createFullDscrDlg">createFullDscrDlg</a></li><li data-type="method" id="PlaylistView-init-nav"><a href="module-PlaylistView.html#.init">init</a></li><li data-type="method" id="PlaylistView-onDoneLoading-nav"><a href="module-PlaylistView.html#.onDoneLoading">onDoneLoading</a></li><li data-type="method" id="PlaylistView-onKeyEvent-nav"><a href="module-PlaylistView.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="PlaylistView-pageContentChanged-nav"><a href="module-PlaylistView.html#.pageContentChanged">pageContentChanged</a></li><li data-type="method" id="PlaylistView-setOnScreenTextValues-nav"><a href="module-PlaylistView.html#.setOnScreenTextValues">setOnScreenTextValues</a></li><li data-type="method" id="PlaylistView-setPosterImage-nav"><a href="module-PlaylistView.html#.setPosterImage">setPosterImage</a></li><li data-type="method" id="PlaylistView-setScreenTitle-nav"><a href="module-PlaylistView.html#.setScreenTitle">setScreenTitle</a></li><li data-type="method" id="PlaylistView-setupMainNode-nav"><a href="module-PlaylistView.html#.setupMainNode">setupMainNode</a></li></ul></li><li id="PlaystateTask-nav"><a href="module-PlaystateTask.html">PlaystateTask</a><ul class='methods'><li data-type="method" id="PlaystateTask-PlaystateDefaults-nav"><a href="module-PlaystateTask.html#.PlaystateDefaults">PlaystateDefaults</a></li><li data-type="method" id="PlaystateTask-PlaystateUpdate-nav"><a href="module-PlaystateTask.html#.PlaystateUpdate">PlaystateUpdate</a></li><li data-type="method" id="PlaystateTask-init-nav"><a href="module-PlaystateTask.html#.init">init</a></li></ul></li><li id="ProgramDetails-nav"><a href="module-ProgramDetails.html">ProgramDetails</a><ul class='methods'><li data-type="method" id="ProgramDetails-channelUpdated-nav"><a href="module-ProgramDetails.html#.channelUpdated">channelUpdated</a></li><li data-type="method" id="ProgramDetails-focusChanged-nav"><a href="module-ProgramDetails.html#.focusChanged">focusChanged</a></li><li data-type="method" id="ProgramDetails-getDurationStringFromSeconds-nav"><a href="module-ProgramDetails.html#.getDurationStringFromSeconds">getDurationStringFromSeconds</a></li><li data-type="method" id="ProgramDetails-getRelativeDayName-nav"><a href="module-ProgramDetails.html#.getRelativeDayName">getRelativeDayName</a></li><li data-type="method" id="ProgramDetails-init-nav"><a href="module-ProgramDetails.html#.init">init</a></li><li data-type="method" id="ProgramDetails-onAnimationComplete-nav"><a href="module-ProgramDetails.html#.onAnimationComplete">onAnimationComplete</a></li><li data-type="method" id="ProgramDetails-onKeyEvent-nav"><a href="module-ProgramDetails.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="ProgramDetails-programUpdated-nav"><a href="module-ProgramDetails.html#.programUpdated">programUpdated</a></li><li data-type="method" id="ProgramDetails-setupLabels-nav"><a href="module-ProgramDetails.html#.setupLabels">setupLabels</a></li><li data-type="method" id="ProgramDetails-updateLabels-nav"><a href="module-ProgramDetails.html#.updateLabels">updateLabels</a></li></ul></li><li id="PublicUserData-nav"><a href="module-PublicUserData.html">PublicUserData</a><ul class='methods'><li data-type="method" id="PublicUserData-init-nav"><a href="module-PublicUserData.html#.init">init</a></li></ul></li><li id="QueueManager-nav"><a href="module-QueueManager.html">QueueManager</a><ul class='methods'><li data-type="method" id="QueueManager-clear-nav"><a href="module-QueueManager.html#.clear">clear</a></li><li data-type="method" id="QueueManager-clearHold-nav"><a href="module-QueueManager.html#.clearHold">clearHold</a></li><li data-type="method" id="QueueManager-deleteAtIndex-nav"><a href="module-QueueManager.html#.deleteAtIndex">deleteAtIndex</a></li><li data-type="method" id="QueueManager-getCount-nav"><a href="module-QueueManager.html#.getCount">getCount</a></li><li data-type="method" id="QueueManager-getCurrentItem-nav"><a href="module-QueueManager.html#.getCurrentItem">getCurrentItem</a></li><li data-type="method" id="QueueManager-getHold-nav"><a href="module-QueueManager.html#.getHold">getHold</a></li><li data-type="method" id="QueueManager-getIsShuffled-nav"><a href="module-QueueManager.html#.getIsShuffled">getIsShuffled</a></li><li data-type="method" id="QueueManager-getItemByIndex-nav"><a href="module-QueueManager.html#.getItemByIndex">getItemByIndex</a></li><li data-type="method" id="QueueManager-getItemType-nav"><a href="module-QueueManager.html#.getItemType">getItemType</a></li><li data-type="method" id="QueueManager-getPosition-nav"><a href="module-QueueManager.html#.getPosition">getPosition</a></li><li data-type="method" id="QueueManager-getQueue-nav"><a href="module-QueueManager.html#.getQueue">getQueue</a></li><li data-type="method" id="QueueManager-getQueueTypes-nav"><a href="module-QueueManager.html#.getQueueTypes">getQueueTypes</a></li><li data-type="method" id="QueueManager-getQueueUniqueTypes-nav"><a href="module-QueueManager.html#.getQueueUniqueTypes">getQueueUniqueTypes</a></li><li data-type="method" id="QueueManager-getUnshuffledQueue-nav"><a href="module-QueueManager.html#.getUnshuffledQueue">getUnshuffledQueue</a></li><li data-type="method" id="QueueManager-hold-nav"><a href="module-QueueManager.html#.hold">hold</a></li><li data-type="method" id="QueueManager-init-nav"><a href="module-QueueManager.html#.init">init</a></li><li data-type="method" id="QueueManager-isPrerollActive-nav"><a href="module-QueueManager.html#.isPrerollActive">isPrerollActive</a></li><li data-type="method" id="QueueManager-moveBack-nav"><a href="module-QueueManager.html#.moveBack">moveBack</a></li><li data-type="method" id="QueueManager-moveForward-nav"><a href="module-QueueManager.html#.moveForward">moveForward</a></li><li data-type="method" id="QueueManager-peek-nav"><a href="module-QueueManager.html#.peek">peek</a></li><li data-type="method" id="QueueManager-playQueue-nav"><a href="module-QueueManager.html#.playQueue">playQueue</a></li><li data-type="method" id="QueueManager-pop-nav"><a href="module-QueueManager.html#.pop">pop</a></li><li data-type="method" id="QueueManager-push-nav"><a href="module-QueueManager.html#.push">push</a></li><li data-type="method" id="QueueManager-resetQueueItemOrder-nav"><a href="module-QueueManager.html#.resetQueueItemOrder">resetQueueItemOrder</a></li><li data-type="method" id="QueueManager-resetShuffle-nav"><a href="module-QueueManager.html#.resetShuffle">resetShuffle</a></li><li data-type="method" id="QueueManager-set-nav"><a href="module-QueueManager.html#.set">set</a></li><li data-type="method" id="QueueManager-setPosition-nav"><a href="module-QueueManager.html#.setPosition">setPosition</a></li><li data-type="method" id="QueueManager-setPrerollStatus-nav"><a href="module-QueueManager.html#.setPrerollStatus">setPrerollStatus</a></li><li data-type="method" id="QueueManager-setTopStartingPoint-nav"><a href="module-QueueManager.html#.setTopStartingPoint">setTopStartingPoint</a></li><li data-type="method" id="QueueManager-shuffleQueueItems-nav"><a href="module-QueueManager.html#.shuffleQueueItems">shuffleQueueItems</a></li><li data-type="method" id="QueueManager-toggleShuffle-nav"><a href="module-QueueManager.html#.toggleShuffle">toggleShuffle</a></li><li data-type="method" id="QueueManager-top-nav"><a href="module-QueueManager.html#.top">top</a></li></ul></li><li id="QuickConnect-nav"><a href="module-QuickConnect.html">QuickConnect</a><ul class='methods'><li data-type="method" id="QuickConnect-init-nav"><a href="module-QuickConnect.html#.init">init</a></li><li data-type="method" id="QuickConnect-monitorQuickConnect-nav"><a href="module-QuickConnect.html#.monitorQuickConnect">monitorQuickConnect</a></li></ul></li><li id="QuickConnectDialog-nav"><a href="module-QuickConnectDialog.html">QuickConnectDialog</a><ul class='methods'><li data-type="method" id="QuickConnectDialog-OnAuthenticated-nav"><a href="module-QuickConnectDialog.html#.OnAuthenticated">OnAuthenticated</a></li><li data-type="method" id="QuickConnectDialog-init-nav"><a href="module-QuickConnectDialog.html#.init">init</a></li><li data-type="method" id="QuickConnectDialog-onButtonSelected-nav"><a href="module-QuickConnectDialog.html#.onButtonSelected">onButtonSelected</a></li><li data-type="method" id="QuickConnectDialog-onKeyEvent-nav"><a href="module-QuickConnectDialog.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="QuickConnectDialog-quickConnectClosed-nav"><a href="module-QuickConnectDialog.html#.quickConnectClosed">quickConnectClosed</a></li><li data-type="method" id="QuickConnectDialog-quickConnectStatus-nav"><a href="module-QuickConnectDialog.html#.quickConnectStatus">quickConnectStatus</a></li></ul></li><li id="RadioDialog-nav"><a href="module-RadioDialog.html">RadioDialog</a><ul class='methods'><li data-type="method" id="RadioDialog-init-nav"><a href="module-RadioDialog.html#.init">init</a></li><li data-type="method" id="RadioDialog-moveScrollBar-nav"><a href="module-RadioDialog.html#.moveScrollBar">moveScrollBar</a></li><li data-type="method" id="RadioDialog-onButtonSelected-nav"><a href="module-RadioDialog.html#.onButtonSelected">onButtonSelected</a></li><li data-type="method" id="RadioDialog-onContentDataChanged-nav"><a href="module-RadioDialog.html#.onContentDataChanged">onContentDataChanged</a></li><li data-type="method" id="RadioDialog-onItemFocused-nav"><a href="module-RadioDialog.html#.onItemFocused">onItemFocused</a></li><li data-type="method" id="RadioDialog-onItemSelected-nav"><a href="module-RadioDialog.html#.onItemSelected">onItemSelected</a></li><li data-type="method" id="RadioDialog-onKeyEvent-nav"><a href="module-RadioDialog.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="RadioDialog-onScrollBarFocus-nav"><a href="module-RadioDialog.html#.onScrollBarFocus">onScrollBarFocus</a></li></ul></li><li id="RecordProgramTask-nav"><a href="module-RecordProgramTask.html">RecordProgramTask</a><ul class='methods'><li data-type="method" id="RecordProgramTask-RecordOrCancelProgram-nav"><a href="module-RecordProgramTask.html#.RecordOrCancelProgram">RecordOrCancelProgram</a></li><li data-type="method" id="RecordProgramTask-init-nav"><a href="module-RecordProgramTask.html#.init">init</a></li></ul></li><li id="SceneManager-nav"><a href="module-SceneManager.html">SceneManager</a><ul class='methods'><li data-type="method" id="SceneManager-clearPreviousScene-nav"><a href="module-SceneManager.html#.clearPreviousScene">clearPreviousScene</a></li><li data-type="method" id="SceneManager-clearScenes-nav"><a href="module-SceneManager.html#.clearScenes">clearScenes</a></li><li data-type="method" id="SceneManager-deleteSceneAtIndex-nav"><a href="module-SceneManager.html#.deleteSceneAtIndex">deleteSceneAtIndex</a></li><li data-type="method" id="SceneManager-dismissDialog-nav"><a href="module-SceneManager.html#.dismissDialog">dismissDialog</a></li><li data-type="method" id="SceneManager-getActiveScene-nav"><a href="module-SceneManager.html#.getActiveScene">getActiveScene</a></li><li data-type="method" id="SceneManager-init-nav"><a href="module-SceneManager.html#.init">init</a></li><li data-type="method" id="SceneManager-isDialogOpen-nav"><a href="module-SceneManager.html#.isDialogOpen">isDialogOpen</a></li><li data-type="method" id="SceneManager-optionClosed-nav"><a href="module-SceneManager.html#.optionClosed">optionClosed</a></li><li data-type="method" id="SceneManager-optionDialog-nav"><a href="module-SceneManager.html#.optionDialog">optionDialog</a></li><li data-type="method" id="SceneManager-optionSelected-nav"><a href="module-SceneManager.html#.optionSelected">optionSelected</a></li><li data-type="method" id="SceneManager-popScene-nav"><a href="module-SceneManager.html#.popScene">popScene</a></li><li data-type="method" id="SceneManager-pushScene-nav"><a href="module-SceneManager.html#.pushScene">pushScene</a></li><li data-type="method" id="SceneManager-radioDialog-nav"><a href="module-SceneManager.html#.radioDialog">radioDialog</a></li><li data-type="method" id="SceneManager-registerOverhangData-nav"><a href="module-SceneManager.html#.registerOverhangData">registerOverhangData</a></li><li data-type="method" id="SceneManager-resetTime-nav"><a href="module-SceneManager.html#.resetTime">resetTime</a></li><li data-type="method" id="SceneManager-settings-nav"><a href="module-SceneManager.html#.settings">settings</a></li><li data-type="method" id="SceneManager-standardDialog-nav"><a href="module-SceneManager.html#.standardDialog">standardDialog</a></li><li data-type="method" id="SceneManager-unregisterOverhangData-nav"><a href="module-SceneManager.html#.unregisterOverhangData">unregisterOverhangData</a></li><li data-type="method" id="SceneManager-updateOptions-nav"><a href="module-SceneManager.html#.updateOptions">updateOptions</a></li><li data-type="method" id="SceneManager-updateOverhangTitle-nav"><a href="module-SceneManager.html#.updateOverhangTitle">updateOverhangTitle</a></li><li data-type="method" id="SceneManager-updateOverhangVisible-nav"><a href="module-SceneManager.html#.updateOverhangVisible">updateOverhangVisible</a></li><li data-type="method" id="SceneManager-updateUser-nav"><a href="module-SceneManager.html#.updateUser">updateUser</a></li><li data-type="method" id="SceneManager-userMessage-nav"><a href="module-SceneManager.html#.userMessage">userMessage</a></li></ul></li><li id="ScheduleProgramData-nav"><a href="module-ScheduleProgramData.html">ScheduleProgramData</a><ul class='methods'><li data-type="method" id="ScheduleProgramData-setFields-nav"><a href="module-ScheduleProgramData.html#.setFields">setFields</a></li><li data-type="method" id="ScheduleProgramData-setPoster-nav"><a href="module-ScheduleProgramData.html#.setPoster">setPoster</a></li></ul></li><li id="SearchBox-nav"><a href="module-SearchBox.html">SearchBox</a><ul class='methods'><li data-type="method" id="SearchBox-init-nav"><a href="module-SearchBox.html#.init">init</a></li><li data-type="method" id="SearchBox-searchMedias-nav"><a href="module-SearchBox.html#.searchMedias">searchMedias</a></li></ul></li><li id="SearchData-nav"><a href="module-SearchData.html">SearchData</a><ul class='methods'><li data-type="method" id="SearchData-setFields-nav"><a href="module-SearchData.html#.setFields">setFields</a></li><li data-type="method" id="SearchData-setPoster-nav"><a href="module-SearchData.html#.setPoster">setPoster</a></li></ul></li><li id="SearchResults-nav"><a href="module-SearchResults.html">SearchResults</a><ul class='methods'><li data-type="method" id="SearchResults-init-nav"><a href="module-SearchResults.html#.init">init</a></li><li data-type="method" id="SearchResults-loadResults-nav"><a href="module-SearchResults.html#.loadResults">loadResults</a></li><li data-type="method" id="SearchResults-onKeyEvent-nav"><a href="module-SearchResults.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="SearchResults-searchMedias-nav"><a href="module-SearchResults.html#.searchMedias">searchMedias</a></li></ul></li><li id="SearchRow-nav"><a href="module-SearchRow.html">SearchRow</a><ul class='methods'><li data-type="method" id="SearchRow-addRow-nav"><a href="module-SearchRow.html#.addRow">addRow</a></li><li data-type="method" id="SearchRow-getData-nav"><a href="module-SearchRow.html#.getData">getData</a></li><li data-type="method" id="SearchRow-init-nav"><a href="module-SearchRow.html#.init">init</a></li><li data-type="method" id="SearchRow-updateSize-nav"><a href="module-SearchRow.html#.updateSize">updateSize</a></li></ul></li><li id="SearchTask-nav"><a href="module-SearchTask.html">SearchTask</a><ul class='methods'><li data-type="method" id="SearchTask-init-nav"><a href="module-SearchTask.html#.init">init</a></li><li data-type="method" id="SearchTask-search-nav"><a href="module-SearchTask.html#.search">search</a></li></ul></li><li id="SeriesData-nav"><a href="module-SeriesData.html">SeriesData</a><ul class='methods'><li data-type="method" id="SeriesData-setFields-nav"><a href="module-SeriesData.html#.setFields">setFields</a></li><li data-type="method" id="SeriesData-setPoster-nav"><a href="module-SeriesData.html#.setPoster">setPoster</a></li></ul></li><li id="ServerDiscoveryTask-nav"><a href="module-ServerDiscoveryTask.html">ServerDiscoveryTask</a><ul class='methods'><li data-type="method" id="ServerDiscoveryTask-AddServer-nav"><a href="module-ServerDiscoveryTask.html#.AddServer">AddServer</a></li><li data-type="method" id="ServerDiscoveryTask-ProcessClientDiscoveryResponse-nav"><a href="module-ServerDiscoveryTask.html#.ProcessClientDiscoveryResponse">ProcessClientDiscoveryResponse</a></li><li data-type="method" id="ServerDiscoveryTask-ProcessSSDPResponse-nav"><a href="module-ServerDiscoveryTask.html#.ProcessSSDPResponse">ProcessSSDPResponse</a></li><li data-type="method" id="ServerDiscoveryTask-SendClientDiscoveryBroadcast-nav"><a href="module-ServerDiscoveryTask.html#.SendClientDiscoveryBroadcast">SendClientDiscoveryBroadcast</a></li><li data-type="method" id="ServerDiscoveryTask-SendSSDPBroadcast-nav"><a href="module-ServerDiscoveryTask.html#.SendSSDPBroadcast">SendSSDPBroadcast</a></li><li data-type="method" id="ServerDiscoveryTask-execute-nav"><a href="module-ServerDiscoveryTask.html#.execute">execute</a></li><li data-type="method" id="ServerDiscoveryTask-init-nav"><a href="module-ServerDiscoveryTask.html#.init">init</a></li></ul></li><li id="SetServerScreen-nav"><a href="module-SetServerScreen.html">SetServerScreen</a><ul class='methods'><li data-type="method" id="SetServerScreen-ScanForServers-nav"><a href="module-SetServerScreen.html#.ScanForServers">ScanForServers</a></li><li data-type="method" id="SetServerScreen-ScanForServersComplete-nav"><a href="module-SetServerScreen.html#.ScanForServersComplete">ScanForServersComplete</a></li><li data-type="method" id="SetServerScreen-ShowKeyboard-nav"><a href="module-SetServerScreen.html#.ShowKeyboard">ShowKeyboard</a></li><li data-type="method" id="SetServerScreen-clearErrorMessage-nav"><a href="module-SetServerScreen.html#.clearErrorMessage">clearErrorMessage</a></li><li data-type="method" id="SetServerScreen-init-nav"><a href="module-SetServerScreen.html#.init">init</a></li><li data-type="method" id="SetServerScreen-onDialogButton-nav"><a href="module-SetServerScreen.html#.onDialogButton">onDialogButton</a></li><li data-type="method" id="SetServerScreen-onKeyEvent-nav"><a href="module-SetServerScreen.html#.onKeyEvent">onKeyEvent</a></li></ul></li><li id="ShowScenes-nav"><a href="module-ShowScenes.html">ShowScenes</a><ul class='methods'><li data-type="method" id="ShowScenes-CreateAlbumView-nav"><a href="module-ShowScenes.html#.CreateAlbumView">CreateAlbumView</a></li><li data-type="method" id="ShowScenes-CreateArtistView-nav"><a href="module-ShowScenes.html#.CreateArtistView">CreateArtistView</a></li><li data-type="method" id="ShowScenes-CreateHomeGroup-nav"><a href="module-ShowScenes.html#.CreateHomeGroup">CreateHomeGroup</a></li><li data-type="method" id="ShowScenes-CreateItemGrid-nav"><a href="module-ShowScenes.html#.CreateItemGrid">CreateItemGrid</a></li><li data-type="method" id="ShowScenes-CreateMovieDetailsGroup-nav"><a href="module-ShowScenes.html#.CreateMovieDetailsGroup">CreateMovieDetailsGroup</a></li><li data-type="method" id="ShowScenes-CreateMovieLibraryView-nav"><a href="module-ShowScenes.html#.CreateMovieLibraryView">CreateMovieLibraryView</a></li><li data-type="method" id="ShowScenes-CreateMusicLibraryView-nav"><a href="module-ShowScenes.html#.CreateMusicLibraryView">CreateMusicLibraryView</a></li><li data-type="method" id="ShowScenes-CreatePersonView-nav"><a href="module-ShowScenes.html#.CreatePersonView">CreatePersonView</a></li><li data-type="method" id="ShowScenes-CreatePlaylistView-nav"><a href="module-ShowScenes.html#.CreatePlaylistView">CreatePlaylistView</a></li><li data-type="method" id="ShowScenes-CreateSearchPage-nav"><a href="module-ShowScenes.html#.CreateSearchPage">CreateSearchPage</a></li><li data-type="method" id="ShowScenes-CreateSeasonDetailsGroup-nav"><a href="module-ShowScenes.html#.CreateSeasonDetailsGroup">CreateSeasonDetailsGroup</a></li><li data-type="method" id="ShowScenes-CreateSeasonDetailsGroupByID-nav"><a href="module-ShowScenes.html#.CreateSeasonDetailsGroupByID">CreateSeasonDetailsGroupByID</a></li><li data-type="method" id="ShowScenes-CreateSeriesDetailsGroup-nav"><a href="module-ShowScenes.html#.CreateSeriesDetailsGroup">CreateSeriesDetailsGroup</a></li><li data-type="method" id="ShowScenes-CreateServerGroup-nav"><a href="module-ShowScenes.html#.CreateServerGroup">CreateServerGroup</a></li><li data-type="method" id="ShowScenes-CreateSigninGroup-nav"><a href="module-ShowScenes.html#.CreateSigninGroup">CreateSigninGroup</a></li><li data-type="method" id="ShowScenes-CreateUserSelectGroup-nav"><a href="module-ShowScenes.html#.CreateUserSelectGroup">CreateUserSelectGroup</a></li><li data-type="method" id="ShowScenes-CreateVideoPlayerGroup-nav"><a href="module-ShowScenes.html#.CreateVideoPlayerGroup">CreateVideoPlayerGroup</a></li><li data-type="method" id="ShowScenes-DeleteFromServerList-nav"><a href="module-ShowScenes.html#.DeleteFromServerList">DeleteFromServerList</a></li><li data-type="method" id="ShowScenes-LoginFlow-nav"><a href="module-ShowScenes.html#.LoginFlow">LoginFlow</a></li><li data-type="method" id="ShowScenes-SaveServerList-nav"><a href="module-ShowScenes.html#.SaveServerList">SaveServerList</a></li><li data-type="method" id="ShowScenes-SendPerformanceBeacon-nav"><a href="module-ShowScenes.html#.SendPerformanceBeacon">SendPerformanceBeacon</a></li><li data-type="method" id="ShowScenes-playbackOptionDialog-nav"><a href="module-ShowScenes.html#.playbackOptionDialog">playbackOptionDialog</a></li></ul></li><li id="SlideOutButton-nav"><a href="module-SlideOutButton.html">SlideOutButton</a><ul class='methods'><li data-type="method" id="SlideOutButton-init-nav"><a href="module-SlideOutButton.html#.init">init</a></li><li data-type="method" id="SlideOutButton-onKeyEvent-nav"><a href="module-SlideOutButton.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="SlideOutButton-sob_onBackgroundChanged-nav"><a href="module-SlideOutButton.html#.sob_onBackgroundChanged">sob_onBackgroundChanged</a></li><li data-type="method" id="SlideOutButton-sob_onFocusChanged-nav"><a href="module-SlideOutButton.html#.sob_onFocusChanged">sob_onFocusChanged</a></li><li data-type="method" id="SlideOutButton-sob_onHeightChanged-nav"><a href="module-SlideOutButton.html#.sob_onHeightChanged">sob_onHeightChanged</a></li><li data-type="method" id="SlideOutButton-sob_onHighlightChanged-nav"><a href="module-SlideOutButton.html#.sob_onHighlightChanged">sob_onHighlightChanged</a></li><li data-type="method" id="SlideOutButton-sob_onIconChanged-nav"><a href="module-SlideOutButton.html#.sob_onIconChanged">sob_onIconChanged</a></li><li data-type="method" id="SlideOutButton-sob_onPaddingChanged-nav"><a href="module-SlideOutButton.html#.sob_onPaddingChanged">sob_onPaddingChanged</a></li><li data-type="method" id="SlideOutButton-sob_onTextChanged-nav"><a href="module-SlideOutButton.html#.sob_onTextChanged">sob_onTextChanged</a></li><li data-type="method" id="SlideOutButton-sob_onWidthChanged-nav"><a href="module-SlideOutButton.html#.sob_onWidthChanged">sob_onWidthChanged</a></li><li data-type="method" id="SlideOutButton-sob_setIconSize-nav"><a href="module-SlideOutButton.html#.sob_setIconSize">sob_setIconSize</a></li></ul></li><li id="SongItem-nav"><a href="module-SongItem.html">SongItem</a><ul class='methods'><li data-type="method" id="SongItem-focusChanged-nav"><a href="module-SongItem.html#.focusChanged">focusChanged</a></li><li data-type="method" id="SongItem-init-nav"><a href="module-SongItem.html#.init">init</a></li><li data-type="method" id="SongItem-itemContentChanged-nav"><a href="module-SongItem.html#.itemContentChanged">itemContentChanged</a></li></ul></li><li id="Spinner-nav"><a href="module-Spinner.html">Spinner</a><ul class='methods'><li data-type="method" id="Spinner-init-nav"><a href="module-Spinner.html#.init">init</a></li></ul></li><li id="StandardDialog-nav"><a href="module-StandardDialog.html">StandardDialog</a><ul class='methods'><li data-type="method" id="StandardDialog-init-nav"><a href="module-StandardDialog.html#.init">init</a></li><li data-type="method" id="StandardDialog-onContentDataChanged-nav"><a href="module-StandardDialog.html#.onContentDataChanged">onContentDataChanged</a></li></ul></li><li id="Subtitles-nav"><a href="module-Subtitles.html">Subtitles</a><ul class='methods'><li data-type="method" id="Subtitles-availSubtitleTrackIdx-nav"><a href="module-Subtitles.html#.availSubtitleTrackIdx">availSubtitleTrackIdx</a></li><li data-type="method" id="Subtitles-changeSubtitleDuringPlayback-nav"><a href="module-Subtitles.html#.changeSubtitleDuringPlayback">changeSubtitleDuringPlayback</a></li><li data-type="method" id="Subtitles-defaultSubtitleTrack-nav"><a href="module-Subtitles.html#.defaultSubtitleTrack">defaultSubtitleTrack</a></li><li data-type="method" id="Subtitles-defaultSubtitleTrackFromVid-nav"><a href="module-Subtitles.html#.defaultSubtitleTrackFromVid">defaultSubtitleTrackFromVid</a></li><li data-type="method" id="Subtitles-getSubtitleLanguages-nav"><a href="module-Subtitles.html#.getSubtitleLanguages">getSubtitleLanguages</a></li><li data-type="method" id="Subtitles-getSubtitleSelIdxFromSubIdx-nav"><a href="module-Subtitles.html#.getSubtitleSelIdxFromSubIdx">getSubtitleSelIdxFromSubIdx</a></li><li data-type="method" id="Subtitles-selectSubtitleTrack-nav"><a href="module-Subtitles.html#.selectSubtitleTrack">selectSubtitleTrack</a></li><li data-type="method" id="Subtitles-selectSubtitleTrackDialog-nav"><a href="module-Subtitles.html#.selectSubtitleTrackDialog">selectSubtitleTrackDialog</a></li><li data-type="method" id="Subtitles-setupSubtitle-nav"><a href="module-Subtitles.html#.setupSubtitle">setupSubtitle</a></li><li data-type="method" id="Subtitles-sortSubtitles-nav"><a href="module-Subtitles.html#.sortSubtitles">sortSubtitles</a></li><li data-type="method" id="Subtitles-turnoffSubtitles-nav"><a href="module-Subtitles.html#.turnoffSubtitles">turnoffSubtitles</a></li></ul></li><li id="TVEpisode-nav"><a href="module-TVEpisode.html">TVEpisode</a><ul class='methods'><li data-type="method" id="TVEpisode-setFields-nav"><a href="module-TVEpisode.html#.setFields">setFields</a></li><li data-type="method" id="TVEpisode-setPoster-nav"><a href="module-TVEpisode.html#.setPoster">setPoster</a></li></ul></li><li id="TVEpisodeData-nav"><a href="module-TVEpisodeData.html">TVEpisodeData</a><ul class='methods'><li data-type="method" id="TVEpisodeData-setFields-nav"><a href="module-TVEpisodeData.html#.setFields">setFields</a></li><li data-type="method" id="TVEpisodeData-setPoster-nav"><a href="module-TVEpisodeData.html#.setPoster">setPoster</a></li></ul></li><li id="TVEpisodeRow-nav"><a href="module-TVEpisodeRow.html">TVEpisodeRow</a><ul class='methods'><li data-type="method" id="TVEpisodeRow-init-nav"><a href="module-TVEpisodeRow.html#.init">init</a></li><li data-type="method" id="TVEpisodeRow-onKeyEvent-nav"><a href="module-TVEpisodeRow.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="TVEpisodeRow-setData-nav"><a href="module-TVEpisodeRow.html#.setData">setData</a></li><li data-type="method" id="TVEpisodeRow-setupRows-nav"><a href="module-TVEpisodeRow.html#.setupRows">setupRows</a></li><li data-type="method" id="TVEpisodeRow-updateSize-nav"><a href="module-TVEpisodeRow.html#.updateSize">updateSize</a></li></ul></li><li id="TVEpisodeRowWithOptions-nav"><a href="module-TVEpisodeRowWithOptions.html">TVEpisodeRowWithOptions</a><ul class='methods'><li data-type="method" id="TVEpisodeRowWithOptions-SetUpAudioOptions-nav"><a href="module-TVEpisodeRowWithOptions.html#.SetUpAudioOptions">SetUpAudioOptions</a></li><li data-type="method" id="TVEpisodeRowWithOptions-SetUpVideoOptions-nav"><a href="module-TVEpisodeRowWithOptions.html#.SetUpVideoOptions">SetUpVideoOptions</a></li><li data-type="method" id="TVEpisodeRowWithOptions-audioOptionsClosed-nav"><a href="module-TVEpisodeRowWithOptions.html#.audioOptionsClosed">audioOptionsClosed</a></li><li data-type="method" id="TVEpisodeRowWithOptions-init-nav"><a href="module-TVEpisodeRowWithOptions.html#.init">init</a></li><li data-type="method" id="TVEpisodeRowWithOptions-onKeyEvent-nav"><a href="module-TVEpisodeRowWithOptions.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="TVEpisodeRowWithOptions-rowsDoneLoading-nav"><a href="module-TVEpisodeRowWithOptions.html#.rowsDoneLoading">rowsDoneLoading</a></li><li data-type="method" id="TVEpisodeRowWithOptions-setupRows-nav"><a href="module-TVEpisodeRowWithOptions.html#.setupRows">setupRows</a></li><li data-type="method" id="TVEpisodeRowWithOptions-videoOptionsClosed-nav"><a href="module-TVEpisodeRowWithOptions.html#.videoOptionsClosed">videoOptionsClosed</a></li></ul></li><li id="TVEpisodes-nav"><a href="module-TVEpisodes.html">TVEpisodes</a><ul class='methods'><li data-type="method" id="TVEpisodes-init-nav"><a href="module-TVEpisodes.html#.init">init</a></li><li data-type="method" id="TVEpisodes-onKeyEvent-nav"><a href="module-TVEpisodes.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="TVEpisodes-setSeasonLoading-nav"><a href="module-TVEpisodes.html#.setSeasonLoading">setSeasonLoading</a></li><li data-type="method" id="TVEpisodes-updateSeason-nav"><a href="module-TVEpisodes.html#.updateSeason">updateSeason</a></li></ul></li><li id="TVListDetails-nav"><a href="module-TVListDetails.html">TVListDetails</a><ul class='methods'><li data-type="method" id="TVListDetails-DisplayAudioAvailable-nav"><a href="module-TVListDetails.html#.DisplayAudioAvailable">DisplayAudioAvailable</a></li><li data-type="method" id="TVListDetails-DisplayVideoAvailable-nav"><a href="module-TVListDetails.html#.DisplayVideoAvailable">DisplayVideoAvailable</a></li><li data-type="method" id="TVListDetails-SetupAudioDisplay-nav"><a href="module-TVListDetails.html#.SetupAudioDisplay">SetupAudioDisplay</a></li><li data-type="method" id="TVListDetails-focusChanged-nav"><a href="module-TVListDetails.html#.focusChanged">focusChanged</a></li><li data-type="method" id="TVListDetails-getEndTime-nav"><a href="module-TVListDetails.html#.getEndTime">getEndTime</a></li><li data-type="method" id="TVListDetails-getRuntime-nav"><a href="module-TVListDetails.html#.getRuntime">getRuntime</a></li><li data-type="method" id="TVListDetails-init-nav"><a href="module-TVListDetails.html#.init">init</a></li><li data-type="method" id="TVListDetails-itemContentChanged-nav"><a href="module-TVListDetails.html#.itemContentChanged">itemContentChanged</a></li></ul></li><li id="TVListOptions-nav"><a href="module-TVListOptions.html">TVListOptions</a><ul class='methods'><li data-type="method" id="TVListOptions-buttonFocusChanged-nav"><a href="module-TVListOptions.html#.buttonFocusChanged">buttonFocusChanged</a></li><li data-type="method" id="TVListOptions-init-nav"><a href="module-TVListOptions.html#.init">init</a></li><li data-type="method" id="TVListOptions-onKeyEvent-nav"><a href="module-TVListOptions.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="TVListOptions-optionsSet-nav"><a href="module-TVListOptions.html#.optionsSet">optionsSet</a></li></ul></li><li id="TVSeasonData-nav"><a href="module-TVSeasonData.html">TVSeasonData</a><ul class='methods'><li data-type="method" id="TVSeasonData-setFields-nav"><a href="module-TVSeasonData.html#.setFields">setFields</a></li><li data-type="method" id="TVSeasonData-setPoster-nav"><a href="module-TVSeasonData.html#.setPoster">setPoster</a></li></ul></li><li id="TVSeasonRow-nav"><a href="module-TVSeasonRow.html">TVSeasonRow</a><ul class='methods'><li data-type="method" id="TVSeasonRow-getData-nav"><a href="module-TVSeasonRow.html#.getData">getData</a></li><li data-type="method" id="TVSeasonRow-init-nav"><a href="module-TVSeasonRow.html#.init">init</a></li><li data-type="method" id="TVSeasonRow-updateSize-nav"><a href="module-TVSeasonRow.html#.updateSize">updateSize</a></li></ul></li><li id="TVShowDescription-nav"><a href="module-TVShowDescription.html">TVShowDescription</a><ul class='methods'><li data-type="method" id="TVShowDescription-getEndTime-nav"><a href="module-TVShowDescription.html#.getEndTime">getEndTime</a></li><li data-type="method" id="TVShowDescription-getHistory-nav"><a href="module-TVShowDescription.html#.getHistory">getHistory</a></li><li data-type="method" id="TVShowDescription-getRuntime-nav"><a href="module-TVShowDescription.html#.getRuntime">getRuntime</a></li><li data-type="method" id="TVShowDescription-init-nav"><a href="module-TVShowDescription.html#.init">init</a></li><li data-type="method" id="TVShowDescription-itemContentChanged-nav"><a href="module-TVShowDescription.html#.itemContentChanged">itemContentChanged</a></li><li data-type="method" id="TVShowDescription-round-nav"><a href="module-TVShowDescription.html#.round">round</a></li><li data-type="method" id="TVShowDescription-setFieldText-nav"><a href="module-TVShowDescription.html#.setFieldText">setFieldText</a></li></ul></li><li id="TVShowDetails-nav"><a href="module-TVShowDetails.html">TVShowDetails</a><ul class='methods'><li data-type="method" id="TVShowDetails-getEndTime-nav"><a href="module-TVShowDetails.html#.getEndTime">getEndTime</a></li><li data-type="method" id="TVShowDetails-getHistory-nav"><a href="module-TVShowDetails.html#.getHistory">getHistory</a></li><li data-type="method" id="TVShowDetails-getRuntime-nav"><a href="module-TVShowDetails.html#.getRuntime">getRuntime</a></li><li data-type="method" id="TVShowDetails-init-nav"><a href="module-TVShowDetails.html#.init">init</a></li><li data-type="method" id="TVShowDetails-itemContentChanged-nav"><a href="module-TVShowDetails.html#.itemContentChanged">itemContentChanged</a></li><li data-type="method" id="TVShowDetails-onKeyEvent-nav"><a href="module-TVShowDetails.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="TVShowDetails-onShuffleEpisodeDataLoaded-nav"><a href="module-TVShowDetails.html#.onShuffleEpisodeDataLoaded">onShuffleEpisodeDataLoaded</a></li><li data-type="method" id="TVShowDetails-round-nav"><a href="module-TVShowDetails.html#.round">round</a></li><li data-type="method" id="TVShowDetails-setFieldText-nav"><a href="module-TVShowDetails.html#.setFieldText">setFieldText</a></li></ul></li><li id="TextSizeTask-nav"><a href="module-TextSizeTask.html">TextSizeTask</a><ul class='methods'><li data-type="method" id="TextSizeTask-getTextSize-nav"><a href="module-TextSizeTask.html#.getTextSize">getTextSize</a></li><li data-type="method" id="TextSizeTask-init-nav"><a href="module-TextSizeTask.html#.init">init</a></li></ul></li><li id="UserData-nav"><a href="module-UserData.html">UserData</a><ul class='methods'><li data-type="method" id="UserData-getPreference-nav"><a href="module-UserData.html#.getPreference">getPreference</a></li><li data-type="method" id="UserData-loadFromJSON-nav"><a href="module-UserData.html#.loadFromJSON">loadFromJSON</a></li><li data-type="method" id="UserData-loadFromRegistry-nav"><a href="module-UserData.html#.loadFromRegistry">loadFromRegistry</a></li><li data-type="method" id="UserData-removeFromRegistry-nav"><a href="module-UserData.html#.removeFromRegistry">removeFromRegistry</a></li><li data-type="method" id="UserData-saveToRegistry-nav"><a href="module-UserData.html#.saveToRegistry">saveToRegistry</a></li><li data-type="method" id="UserData-setActive-nav"><a href="module-UserData.html#.setActive">setActive</a></li><li data-type="method" id="UserData-setDataFromJSON-nav"><a href="module-UserData.html#.setDataFromJSON">setDataFromJSON</a></li><li data-type="method" id="UserData-setPreference-nav"><a href="module-UserData.html#.setPreference">setPreference</a></li><li data-type="method" id="UserData-setServer-nav"><a href="module-UserData.html#.setServer">setServer</a></li></ul></li><li id="UserItem-nav"><a href="module-UserItem.html">UserItem</a><ul class='methods'><li data-type="method" id="UserItem-init-nav"><a href="module-UserItem.html#.init">init</a></li><li data-type="method" id="UserItem-itemContentChanged-nav"><a href="module-UserItem.html#.itemContentChanged">itemContentChanged</a></li></ul></li><li id="UserLibrary-nav"><a href="module-UserLibrary.html">UserLibrary</a><ul class='methods'><li data-type="method" id="UserLibrary-MarkItemFavorite-nav"><a href="module-UserLibrary.html#.MarkItemFavorite">MarkItemFavorite</a></li><li data-type="method" id="UserLibrary-MarkItemWatched-nav"><a href="module-UserLibrary.html#.MarkItemWatched">MarkItemWatched</a></li><li data-type="method" id="UserLibrary-UnmarkItemFavorite-nav"><a href="module-UserLibrary.html#.UnmarkItemFavorite">UnmarkItemFavorite</a></li><li data-type="method" id="UserLibrary-UnmarkItemWatched-nav"><a href="module-UserLibrary.html#.UnmarkItemWatched">UnmarkItemWatched</a></li></ul></li><li id="UserRow-nav"><a href="module-UserRow.html">UserRow</a><ul class='methods'><li data-type="method" id="UserRow-init-nav"><a href="module-UserRow.html#.init">init</a></li><li data-type="method" id="UserRow-onKeyEvent-nav"><a href="module-UserRow.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="UserRow-setData-nav"><a href="module-UserRow.html#.setData">setData</a></li><li data-type="method" id="UserRow-setUser-nav"><a href="module-UserRow.html#.setUser">setUser</a></li><li data-type="method" id="UserRow-updateSize-nav"><a href="module-UserRow.html#.updateSize">updateSize</a></li></ul></li><li id="UserSelect-nav"><a href="module-UserSelect.html">UserSelect</a><ul class='methods'><li data-type="method" id="UserSelect-init-nav"><a href="module-UserSelect.html#.init">init</a></li><li data-type="method" id="UserSelect-itemContentChanged-nav"><a href="module-UserSelect.html#.itemContentChanged">itemContentChanged</a></li><li data-type="method" id="UserSelect-onKeyEvent-nav"><a href="module-UserSelect.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="UserSelect-redraw-nav"><a href="module-UserSelect.html#.redraw">redraw</a></li></ul></li><li id="VideoData-nav"><a href="module-VideoData.html">VideoData</a><ul class='methods'><li data-type="method" id="VideoData-setFields-nav"><a href="module-VideoData.html#.setFields">setFields</a></li><li data-type="method" id="VideoData-setPoster-nav"><a href="module-VideoData.html#.setPoster">setPoster</a></li></ul></li><li id="VideoPlayer-nav"><a href="module-VideoPlayer.html">VideoPlayer</a><ul class='methods'><li data-type="method" id="VideoPlayer-AddVideoContent-nav"><a href="module-VideoPlayer.html#.AddVideoContent">AddVideoContent</a></li><li data-type="method" id="VideoPlayer-GetPlaybackInfo-nav"><a href="module-VideoPlayer.html#.GetPlaybackInfo">GetPlaybackInfo</a></li><li data-type="method" id="VideoPlayer-GetTranscodingStats-nav"><a href="module-VideoPlayer.html#.GetTranscodingStats">GetTranscodingStats</a></li><li data-type="method" id="VideoPlayer-PlayIntroVideo-nav"><a href="module-VideoPlayer.html#.PlayIntroVideo">PlayIntroVideo</a></li><li data-type="method" id="VideoPlayer-VideoPlayer-nav"><a href="module-VideoPlayer.html#.VideoPlayer">VideoPlayer</a></li><li data-type="method" id="VideoPlayer-autoPlayNextEpisode-nav"><a href="module-VideoPlayer.html#.autoPlayNextEpisode">autoPlayNextEpisode</a></li><li data-type="method" id="VideoPlayer-directPlaySupported-nav"><a href="module-VideoPlayer.html#.directPlaySupported">directPlaySupported</a></li><li data-type="method" id="VideoPlayer-getAudioFormat-nav"><a href="module-VideoPlayer.html#.getAudioFormat">getAudioFormat</a></li><li data-type="method" id="VideoPlayer-getAudioInfo-nav"><a href="module-VideoPlayer.html#.getAudioInfo">getAudioInfo</a></li><li data-type="method" id="VideoPlayer-getContainerType-nav"><a href="module-VideoPlayer.html#.getContainerType">getContainerType</a></li><li data-type="method" id="VideoPlayer-getDisplayBitrate-nav"><a href="module-VideoPlayer.html#.getDisplayBitrate">getDisplayBitrate</a></li><li data-type="method" id="VideoPlayer-getTranscodeReasons-nav"><a href="module-VideoPlayer.html#.getTranscodeReasons">getTranscodeReasons</a></li><li data-type="method" id="VideoPlayer-havePlaybackInfo-nav"><a href="module-VideoPlayer.html#.havePlaybackInfo">havePlaybackInfo</a></li><li data-type="method" id="VideoPlayer-startPlayBackOver-nav"><a href="module-VideoPlayer.html#.startPlayBackOver">startPlayBackOver</a></li></ul></li><li id="VideoPlayerView-nav"><a href="module-VideoPlayerView.html">VideoPlayerView</a><ul class='methods'><li data-type="method" id="VideoPlayerView-ReportPlayback-nav"><a href="module-VideoPlayerView.html#.ReportPlayback">ReportPlayback</a></li><li data-type="method" id="VideoPlayerView-bufferCheck-nav"><a href="module-VideoPlayerView.html#.bufferCheck">bufferCheck</a></li><li data-type="method" id="VideoPlayerView-checkTimeToDisplayNextEpisode-nav"><a href="module-VideoPlayerView.html#.checkTimeToDisplayNextEpisode">checkTimeToDisplayNextEpisode</a></li><li data-type="method" id="VideoPlayerView-hideNextEpisodeButton-nav"><a href="module-VideoPlayerView.html#.hideNextEpisodeButton">hideNextEpisodeButton</a></li><li data-type="method" id="VideoPlayerView-init-nav"><a href="module-VideoPlayerView.html#.init">init</a></li><li data-type="method" id="VideoPlayerView-loadCaption-nav"><a href="module-VideoPlayerView.html#.loadCaption">loadCaption</a></li><li data-type="method" id="VideoPlayerView-onAllowCaptionsChange-nav"><a href="module-VideoPlayerView.html#.onAllowCaptionsChange">onAllowCaptionsChange</a></li><li data-type="method" id="VideoPlayerView-onContentChange-nav"><a href="module-VideoPlayerView.html#.onContentChange">onContentChange</a></li><li data-type="method" id="VideoPlayerView-onKeyEvent-nav"><a href="module-VideoPlayerView.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="VideoPlayerView-onNextEpisodeDataLoaded-nav"><a href="module-VideoPlayerView.html#.onNextEpisodeDataLoaded">onNextEpisodeDataLoaded</a></li><li data-type="method" id="VideoPlayerView-onPlaybackErrorButtonSelected-nav"><a href="module-VideoPlayerView.html#.onPlaybackErrorButtonSelected">onPlaybackErrorButtonSelected</a></li><li data-type="method" id="VideoPlayerView-onPlaybackErrorDialogClosed-nav"><a href="module-VideoPlayerView.html#.onPlaybackErrorDialogClosed">onPlaybackErrorDialogClosed</a></li><li data-type="method" id="VideoPlayerView-onPositionChanged-nav"><a href="module-VideoPlayerView.html#.onPositionChanged">onPositionChanged</a></li><li data-type="method" id="VideoPlayerView-onState-nav"><a href="module-VideoPlayerView.html#.onState">onState</a></li><li data-type="method" id="VideoPlayerView-onSubtitleChange-nav"><a href="module-VideoPlayerView.html#.onSubtitleChange">onSubtitleChange</a></li><li data-type="method" id="VideoPlayerView-onVideoContentLoaded-nav"><a href="module-VideoPlayerView.html#.onVideoContentLoaded">onVideoContentLoaded</a></li><li data-type="method" id="VideoPlayerView-showNextEpisodeButton-nav"><a href="module-VideoPlayerView.html#.showNextEpisodeButton">showNextEpisodeButton</a></li><li data-type="method" id="VideoPlayerView-showPlaybackErrorDialog-nav"><a href="module-VideoPlayerView.html#.showPlaybackErrorDialog">showPlaybackErrorDialog</a></li><li data-type="method" id="VideoPlayerView-toggleCaption-nav"><a href="module-VideoPlayerView.html#.toggleCaption">toggleCaption</a></li><li data-type="method" id="VideoPlayerView-updateCaption-nav"><a href="module-VideoPlayerView.html#.updateCaption">updateCaption</a></li><li data-type="method" id="VideoPlayerView-updateCount-nav"><a href="module-VideoPlayerView.html#.updateCount">updateCount</a></li></ul></li><li id="VideoTrackListItem-nav"><a href="module-VideoTrackListItem.html">VideoTrackListItem</a><ul class='methods'><li data-type="method" id="VideoTrackListItem-focusChanged-nav"><a href="module-VideoTrackListItem.html#.focusChanged">focusChanged</a></li><li data-type="method" id="VideoTrackListItem-init-nav"><a href="module-VideoTrackListItem.html#.init">init</a></li><li data-type="method" id="VideoTrackListItem-itemContentChanged-nav"><a href="module-VideoTrackListItem.html#.itemContentChanged">itemContentChanged</a></li></ul></li><li id="ViewCreator-nav"><a href="module-ViewCreator.html">ViewCreator</a><ul class='methods'><li data-type="method" id="ViewCreator-CreateAudioPlayerView-nav"><a href="module-ViewCreator.html#.CreateAudioPlayerView">CreateAudioPlayerView</a></li><li data-type="method" id="ViewCreator-CreateVideoPlayerView-nav"><a href="module-ViewCreator.html#.CreateVideoPlayerView">CreateVideoPlayerView</a></li><li data-type="method" id="ViewCreator-availSubtitleTrackIdx-nav"><a href="module-ViewCreator.html#.availSubtitleTrackIdx">availSubtitleTrackIdx</a></li><li data-type="method" id="ViewCreator-onPlaybackInfoLoaded-nav"><a href="module-ViewCreator.html#.onPlaybackInfoLoaded">onPlaybackInfoLoaded</a></li><li data-type="method" id="ViewCreator-onSelectPlaybackInfoPressed-nav"><a href="module-ViewCreator.html#.onSelectPlaybackInfoPressed">onSelectPlaybackInfoPressed</a></li><li data-type="method" id="ViewCreator-onSelectSubtitlePressed-nav"><a href="module-ViewCreator.html#.onSelectSubtitlePressed">onSelectSubtitlePressed</a></li><li data-type="method" id="ViewCreator-onSelectionMade-nav"><a href="module-ViewCreator.html#.onSelectionMade">onSelectionMade</a></li><li data-type="method" id="ViewCreator-onStateChange-nav"><a href="module-ViewCreator.html#.onStateChange">onStateChange</a></li><li data-type="method" id="ViewCreator-processSubtitleSelection-nav"><a href="module-ViewCreator.html#.processSubtitleSelection">processSubtitleSelection</a></li></ul></li><li id="WhatsNewDialog-nav"><a href="module-WhatsNewDialog.html">WhatsNewDialog</a><ul class='methods'><li data-type="method" id="WhatsNewDialog-init-nav"><a href="module-WhatsNewDialog.html#.init">init</a></li><li data-type="method" id="WhatsNewDialog-setPalette-nav"><a href="module-WhatsNewDialog.html#.setPalette">setPalette</a></li></ul></li><li id="baserequest-nav"><a href="module-baserequest.html">baserequest</a><ul class='methods'><li data-type="method" id="baserequest-APIRequest-nav"><a href="module-baserequest.html#.APIRequest">APIRequest</a></li><li data-type="method" id="baserequest-authRequest-nav"><a href="module-baserequest.html#.authRequest">authRequest</a></li><li data-type="method" id="baserequest-buildParams-nav"><a href="module-baserequest.html#.buildParams">buildParams</a></li><li data-type="method" id="baserequest-buildURL-nav"><a href="module-baserequest.html#.buildURL">buildURL</a></li><li data-type="method" id="baserequest-deleteVoid-nav"><a href="module-baserequest.html#.deleteVoid">deleteVoid</a></li><li data-type="method" id="baserequest-getJson-nav"><a href="module-baserequest.html#.getJson">getJson</a></li><li data-type="method" id="baserequest-getString-nav"><a href="module-baserequest.html#.getString">getString</a></li><li data-type="method" id="baserequest-getVoid-nav"><a href="module-baserequest.html#.getVoid">getVoid</a></li><li data-type="method" id="baserequest-get_url-nav"><a href="module-baserequest.html#.get_url">get_url</a></li><li data-type="method" id="baserequest-headVoid-nav"><a href="module-baserequest.html#.headVoid">headVoid</a></li><li data-type="method" id="baserequest-postJson-nav"><a href="module-baserequest.html#.postJson">postJson</a></li><li data-type="method" id="baserequest-postString-nav"><a href="module-baserequest.html#.postString">postString</a></li><li data-type="method" id="baserequest-postVoid-nav"><a href="module-baserequest.html#.postVoid">postVoid</a></li><li data-type="method" id="baserequest-setCertificateAuthority-nav"><a href="module-baserequest.html#.setCertificateAuthority">setCertificateAuthority</a></li></ul></li><li id="bslib-nav"><a href="module-bslib.html">bslib</a><ul class='methods'><li data-type="method" id="bslib-rokucommunity_bslib_coalesce-nav"><a href="module-bslib.html#.rokucommunity_bslib_coalesce">rokucommunity_bslib_coalesce</a></li><li data-type="method" id="bslib-rokucommunity_bslib_ternary-nav"><a href="module-bslib.html#.rokucommunity_bslib_ternary">rokucommunity_bslib_ternary</a></li><li data-type="method" id="bslib-rokucommunity_bslib_toString-nav"><a href="module-bslib.html#.rokucommunity_bslib_toString">rokucommunity_bslib_toString</a></li></ul></li><li id="captionTask-nav"><a href="module-captionTask.html">captionTask</a><ul class='methods'><li data-type="method" id="captionTask-fetchCaption-nav"><a href="module-captionTask.html#.fetchCaption">fetchCaption</a></li><li data-type="method" id="captionTask-init-nav"><a href="module-captionTask.html#.init">init</a></li><li data-type="method" id="captionTask-isTime-nav"><a href="module-captionTask.html#.isTime">isTime</a></li><li data-type="method" id="captionTask-newLayoutGroup-nav"><a href="module-captionTask.html#.newLayoutGroup">newLayoutGroup</a></li><li data-type="method" id="captionTask-newRect-nav"><a href="module-captionTask.html#.newRect">newRect</a></li><li data-type="method" id="captionTask-newlabel-nav"><a href="module-captionTask.html#.newlabel">newlabel</a></li><li data-type="method" id="captionTask-parseVTT-nav"><a href="module-captionTask.html#.parseVTT">parseVTT</a></li><li data-type="method" id="captionTask-setFont-nav"><a href="module-captionTask.html#.setFont">setFont</a></li><li data-type="method" id="captionTask-toMs-nav"><a href="module-captionTask.html#.toMs">toMs</a></li><li data-type="method" id="captionTask-updateCaption-nav"><a href="module-captionTask.html#.updateCaption">updateCaption</a></li></ul></li><li id="deviceCapabilities-nav"><a href="module-deviceCapabilities.html">deviceCapabilities</a><ul class='methods'><li data-type="method" id="deviceCapabilities-GetBitRateLimit-nav"><a href="module-deviceCapabilities.html#.GetBitRateLimit">GetBitRateLimit</a></li><li data-type="method" id="deviceCapabilities-GetDirectPlayProfiles-nav"><a href="module-deviceCapabilities.html#.GetDirectPlayProfiles">GetDirectPlayProfiles</a></li><li data-type="method" id="deviceCapabilities-PostDeviceProfile-nav"><a href="module-deviceCapabilities.html#.PostDeviceProfile">PostDeviceProfile</a></li><li data-type="method" id="deviceCapabilities-getDeviceCapabilities-nav"><a href="module-deviceCapabilities.html#.getDeviceCapabilities">getDeviceCapabilities</a></li><li data-type="method" id="deviceCapabilities-getDeviceProfile-nav"><a href="module-deviceCapabilities.html#.getDeviceProfile">getDeviceProfile</a></li><li data-type="method" id="deviceCapabilities-removeDecimals-nav"><a href="module-deviceCapabilities.html#.removeDecimals">removeDecimals</a></li><li data-type="method" id="deviceCapabilities-updateProfileArray-nav"><a href="module-deviceCapabilities.html#.updateProfileArray">updateProfileArray</a></li></ul></li><li id="globals-nav"><a href="module-globals.html">globals</a><ul class='methods'><li data-type="method" id="globals-SaveAppToGlobal-nav"><a href="module-globals.html#.SaveAppToGlobal">SaveAppToGlobal</a></li><li data-type="method" id="globals-SaveDeviceToGlobal-nav"><a href="module-globals.html#.SaveDeviceToGlobal">SaveDeviceToGlobal</a></li><li data-type="method" id="globals-setConstants-nav"><a href="module-globals.html#.setConstants">setConstants</a></li></ul></li><li id="integerKeyboard-nav"><a href="module-integerKeyboard.html">integerKeyboard</a><ul class='methods'><li data-type="method" id="integerKeyboard-init-nav"><a href="module-integerKeyboard.html#.init">init</a></li><li data-type="method" id="integerKeyboard-intkeyboard_onMaxLengthChanged-nav"><a href="module-integerKeyboard.html#.intkeyboard_onMaxLengthChanged">intkeyboard_onMaxLengthChanged</a></li><li data-type="method" id="integerKeyboard-keySelected-nav"><a href="module-integerKeyboard.html#.keySelected">keySelected</a></li><li data-type="method" id="integerKeyboard-onKeyEvent-nav"><a href="module-integerKeyboard.html#.onKeyEvent">onKeyEvent</a></li></ul></li><li id="log-nav"><a href="module-log.html">log</a><ul class='methods'><li data-type="method" id="log-clearLog-nav"><a href="module-log.html#.clearLog">clearLog</a></li><li data-type="method" id="log-getLogInstance-nav"><a href="module-log.html#.getLogInstance">getLogInstance</a></li><li data-type="method" id="log-global-nav"><a href="module-log.html#.global">global</a></li><li data-type="method" id="log-initializeLogManager-nav"><a href="module-log.html#.initializeLogManager">initializeLogManager</a></li><li data-type="method" id="log-log_onDateTimerFire-nav"><a href="module-log.html#.log_onDateTimerFire">log_onDateTimerFire</a></li><li data-type="method" id="log-log_onIncludeDate-nav"><a href="module-log.html#.log_onIncludeDate">log_onIncludeDate</a></li><li data-type="method" id="log-onTransportsChange-nav"><a href="module-log.html#.onTransportsChange">onTransportsChange</a></li><li data-type="method" id="log-updateLogOutput-nav"><a href="module-log.html#.updateLogOutput">updateLogOutput</a></li></ul></li><li id="mLog-nav"><a href="module-mLog.html">mLog</a><ul class='methods'><li data-type="method" id="mLog-Init-nav"><a href="module-mLog.html#.Init">Init</a></li><li data-type="method" id="mLog-Init-nav"><a href="module-mLog.html#.Init">Init</a></li><li data-type="method" id="mLog-log_log_onDateTimerFire-nav"><a href="module-mLog.html#.log_log_onDateTimerFire">log_log_onDateTimerFire</a></li><li data-type="method" id="mLog-log_log_onIncludeDate-nav"><a href="module-mLog.html#.log_log_onIncludeDate">log_log_onIncludeDate</a></li><li data-type="method" id="mLog-log_onTransportsChange-nav"><a href="module-mLog.html#.log_onTransportsChange">log_onTransportsChange</a></li></ul></li><li id="misc-nav"><a href="module-misc.html">misc</a><ul class='methods'><li data-type="method" id="misc-AssocArrayEqual-nav"><a href="module-misc.html#.AssocArrayEqual">AssocArrayEqual</a></li><li data-type="method" id="misc-arrayHasValue-nav"><a href="module-misc.html#.arrayHasValue">arrayHasValue</a></li><li data-type="method" id="misc-div_ceiling-nav"><a href="module-misc.html#.div_ceiling">div_ceiling</a></li><li data-type="method" id="misc-findNodeBySubtype-nav"><a href="module-misc.html#.findNodeBySubtype">findNodeBySubtype</a></li><li data-type="method" id="misc-formatTime-nav"><a href="module-misc.html#.formatTime">formatTime</a></li><li data-type="method" id="misc-getButton-nav"><a href="module-misc.html#.getButton">getButton</a></li><li data-type="method" id="misc-getMinutes-nav"><a href="module-misc.html#.getMinutes">getMinutes</a></li><li data-type="method" id="misc-getMsgPicker-nav"><a href="module-misc.html#.getMsgPicker">getMsgPicker</a></li><li data-type="method" id="misc-get_dialog_result-nav"><a href="module-misc.html#.get_dialog_result">get_dialog_result</a></li><li data-type="method" id="misc-inArray-nav"><a href="module-misc.html#.inArray">inArray</a></li><li data-type="method" id="misc-isLocalhost-nav"><a href="module-misc.html#.isLocalhost">isLocalhost</a></li><li data-type="method" id="misc-isNodeEvent-nav"><a href="module-misc.html#.isNodeEvent">isNodeEvent</a></li><li data-type="method" id="misc-isValid-nav"><a href="module-misc.html#.isValid">isValid</a></li><li data-type="method" id="misc-isValidAndNotEmpty-nav"><a href="module-misc.html#.isValidAndNotEmpty">isValidAndNotEmpty</a></li><li data-type="method" id="misc-lastFocusedChild-nav"><a href="module-misc.html#.lastFocusedChild">lastFocusedChild</a></li><li data-type="method" id="misc-leftPad-nav"><a href="module-misc.html#.leftPad">leftPad</a></li><li data-type="method" id="misc-message_dialog-nav"><a href="module-misc.html#.message_dialog">message_dialog</a></li><li data-type="method" id="misc-option_dialog-nav"><a href="module-misc.html#.option_dialog">option_dialog</a></li><li data-type="method" id="misc-parseUrl-nav"><a href="module-misc.html#.parseUrl">parseUrl</a></li><li data-type="method" id="misc-roundNumber-nav"><a href="module-misc.html#.roundNumber">roundNumber</a></li><li data-type="method" id="misc-secondsToHuman-nav"><a href="module-misc.html#.secondsToHuman">secondsToHuman</a></li><li data-type="method" id="misc-setFieldTextValue-nav"><a href="module-misc.html#.setFieldTextValue">setFieldTextValue</a></li><li data-type="method" id="misc-show_dialog-nav"><a href="module-misc.html#.show_dialog">show_dialog</a></li><li data-type="method" id="misc-standardize_jellyfin_url-nav"><a href="module-misc.html#.standardize_jellyfin_url">standardize_jellyfin_url</a></li><li data-type="method" id="misc-startLoadingSpinner-nav"><a href="module-misc.html#.startLoadingSpinner">startLoadingSpinner</a></li><li data-type="method" id="misc-startMediaLoadingSpinner-nav"><a href="module-misc.html#.startMediaLoadingSpinner">startMediaLoadingSpinner</a></li><li data-type="method" id="misc-stopLoadingSpinner-nav"><a href="module-misc.html#.stopLoadingSpinner">stopLoadingSpinner</a></li><li data-type="method" id="misc-ticksToHuman-nav"><a href="module-misc.html#.ticksToHuman">ticksToHuman</a></li><li data-type="method" id="misc-toString-nav"><a href="module-misc.html#.toString">toString</a></li><li data-type="method" id="misc-versionChecker-nav"><a href="module-misc.html#.versionChecker">versionChecker</a></li></ul></li><li id="schedule-nav"><a href="module-schedule.html">schedule</a><ul class='methods'><li data-type="method" id="schedule-channelFilterSet-nav"><a href="module-schedule.html#.channelFilterSet">channelFilterSet</a></li><li data-type="method" id="schedule-channelsearchTermSet-nav"><a href="module-schedule.html#.channelsearchTermSet">channelsearchTermSet</a></li><li data-type="method" id="schedule-focusProgramDetails-nav"><a href="module-schedule.html#.focusProgramDetails">focusProgramDetails</a></li><li data-type="method" id="schedule-init-nav"><a href="module-schedule.html#.init">init</a></li><li data-type="method" id="schedule-onChannelsLoaded-nav"><a href="module-schedule.html#.onChannelsLoaded">onChannelsLoaded</a></li><li data-type="method" id="schedule-onGridScrolled-nav"><a href="module-schedule.html#.onGridScrolled">onGridScrolled</a></li><li data-type="method" id="schedule-onKeyEvent-nav"><a href="module-schedule.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="schedule-onProgramDetailsLoaded-nav"><a href="module-schedule.html#.onProgramDetailsLoaded">onProgramDetailsLoaded</a></li><li data-type="method" id="schedule-onProgramFocused-nav"><a href="module-schedule.html#.onProgramFocused">onProgramFocused</a></li><li data-type="method" id="schedule-onProgramSelected-nav"><a href="module-schedule.html#.onProgramSelected">onProgramSelected</a></li><li data-type="method" id="schedule-onRecordChannelSelected-nav"><a href="module-schedule.html#.onRecordChannelSelected">onRecordChannelSelected</a></li><li data-type="method" id="schedule-onRecordOperationDone-nav"><a href="module-schedule.html#.onRecordOperationDone">onRecordOperationDone</a></li><li data-type="method" id="schedule-onRecordSeriesChannelSelected-nav"><a href="module-schedule.html#.onRecordSeriesChannelSelected">onRecordSeriesChannelSelected</a></li><li data-type="method" id="schedule-onScheduleLoaded-nav"><a href="module-schedule.html#.onScheduleLoaded">onScheduleLoaded</a></li><li data-type="method" id="schedule-onWatchChannelSelected-nav"><a href="module-schedule.html#.onWatchChannelSelected">onWatchChannelSelected</a></li></ul></li><li id="section-nav"><a href="module-section.html">section</a><ul class='methods'><li data-type="method" id="section-init-nav"><a href="module-section.html#.init">init</a></li><li data-type="method" id="section-onFocusChange-nav"><a href="module-section.html#.onFocusChange">onFocusChange</a></li><li data-type="method" id="section-onIDChange-nav"><a href="module-section.html#.onIDChange">onIDChange</a></li><li data-type="method" id="section-onTranslationChange-nav"><a href="module-section.html#.onTranslationChange">onTranslationChange</a></li><li data-type="method" id="section-scrollDownToOnDeck-nav"><a href="module-section.html#.scrollDownToOnDeck">scrollDownToOnDeck</a></li><li data-type="method" id="section-scrollOffBottom-nav"><a href="module-section.html#.scrollOffBottom">scrollOffBottom</a></li><li data-type="method" id="section-scrollOffOnDeck-nav"><a href="module-section.html#.scrollOffOnDeck">scrollOffOnDeck</a></li><li data-type="method" id="section-scrollOffTop-nav"><a href="module-section.html#.scrollOffTop">scrollOffTop</a></li><li data-type="method" id="section-scrollUpToOnDeck-nav"><a href="module-section.html#.scrollUpToOnDeck">scrollUpToOnDeck</a></li><li data-type="method" id="section-showFromBottom-nav"><a href="module-section.html#.showFromBottom">showFromBottom</a></li><li data-type="method" id="section-showFromTop-nav"><a href="module-section.html#.showFromTop">showFromTop</a></li></ul></li><li id="sectionScroller-nav"><a href="module-sectionScroller.html">sectionScroller</a><ul class='methods'><li data-type="method" id="sectionScroller-displayedIndexChanged-nav"><a href="module-sectionScroller.html#.displayedIndexChanged">displayedIndexChanged</a></li><li data-type="method" id="sectionScroller-init-nav"><a href="module-sectionScroller.html#.init">init</a></li><li data-type="method" id="sectionScroller-onFocusChange-nav"><a href="module-sectionScroller.html#.onFocusChange">onFocusChange</a></li></ul></li><li id="settings-nav"><a href="module-settings.html">settings</a><ul class='methods'><li data-type="method" id="settings-LoadMenu-nav"><a href="module-settings.html#.LoadMenu">LoadMenu</a></li><li data-type="method" id="settings-boolSettingChanged-nav"><a href="module-settings.html#.boolSettingChanged">boolSettingChanged</a></li><li data-type="method" id="settings-init-nav"><a href="module-settings.html#.init">init</a></li><li data-type="method" id="settings-onKeyEvent-nav"><a href="module-settings.html#.onKeyEvent">onKeyEvent</a></li><li data-type="method" id="settings-onKeyGridEscape-nav"><a href="module-settings.html#.onKeyGridEscape">onKeyGridEscape</a></li><li data-type="method" id="settings-onKeyGridSubmit-nav"><a href="module-settings.html#.onKeyGridSubmit">onKeyGridSubmit</a></li><li data-type="method" id="settings-radioSettingChanged-nav"><a href="module-settings.html#.radioSettingChanged">radioSettingChanged</a></li><li data-type="method" id="settings-settingFocused-nav"><a href="module-settings.html#.settingFocused">settingFocused</a></li><li data-type="method" id="settings-settingSelected-nav"><a href="module-settings.html#.settingSelected">settingSelected</a></li></ul></li><li id="userauth-nav"><a href="module-userauth.html">userauth</a><ul class='methods'><li data-type="method" id="userauth-AboutMe-nav"><a href="module-userauth.html#.AboutMe">AboutMe</a></li><li data-type="method" id="userauth-AuthenticateViaQuickConnect-nav"><a href="module-userauth.html#.AuthenticateViaQuickConnect">AuthenticateViaQuickConnect</a></li><li data-type="method" id="userauth-AvailableUsers-nav"><a href="module-userauth.html#.AvailableUsers">AvailableUsers</a></li><li data-type="method" id="userauth-GetPublicUsers-nav"><a href="module-userauth.html#.GetPublicUsers">GetPublicUsers</a></li><li data-type="method" id="userauth-LoadUserAbilities-nav"><a href="module-userauth.html#.LoadUserAbilities">LoadUserAbilities</a></li><li data-type="method" id="userauth-LoadUserPreferences-nav"><a href="module-userauth.html#.LoadUserPreferences">LoadUserPreferences</a></li><li data-type="method" id="userauth-ServerInfo-nav"><a href="module-userauth.html#.ServerInfo">ServerInfo</a></li><li data-type="method" id="userauth-SignOut-nav"><a href="module-userauth.html#.SignOut">SignOut</a></li><li data-type="method" id="userauth-checkQuickConnect-nav"><a href="module-userauth.html#.checkQuickConnect">checkQuickConnect</a></li><li data-type="method" id="userauth-get_token-nav"><a href="module-userauth.html#.get_token">get_token</a></li><li data-type="method" id="userauth-initQuickConnect-nav"><a href="module-userauth.html#.initQuickConnect">initQuickConnect</a></li></ul></li></ul>
</nav>
<div id="main">
<h1 class="page-title">
source/utils/deviceCapabilities.brs
</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>import "pkg:/source/utils/misc.brs"
import "pkg:/source/api/baserequest.brs"
'Device Capabilities for Roku.
'This will likely need further tweaking
function getDeviceCapabilities() as object
return {
"PlayableMediaTypes": [
"Audio",
"Video",
"Photo"
],
"SupportedCommands": [],
"SupportsPersistentIdentifier": true,
"SupportsMediaControl": false,
"SupportsContentUploading": false,
"SupportsSync": false,
"DeviceProfile": getDeviceProfile(),
"AppStoreUrl": "https://channelstore.roku.com/details/cc5e559d08d9ec87c5f30dcebdeebc12/jellyfin"
}
end function
' Send Device Profile information to server
sub PostDeviceProfile()
profile = getDeviceCapabilities()
req = APIRequest("/Sessions/Capabilities/Full")
req.SetRequest("POST")
print "profile =", profile
print "profile.DeviceProfile =", profile.DeviceProfile
print "profile.DeviceProfile.CodecProfiles ="
for each prof in profile.DeviceProfile.CodecProfiles
print prof
for each cond in prof.Conditions
print cond
end for
end for
print "profile.DeviceProfile.ContainerProfiles =", profile.DeviceProfile.ContainerProfiles
print "profile.DeviceProfile.DirectPlayProfiles ="
for each prof in profile.DeviceProfile.DirectPlayProfiles
print prof
end for
print "profile.DeviceProfile.SubtitleProfiles ="
for each prof in profile.DeviceProfile.SubtitleProfiles
print prof
end for
print "profile.DeviceProfile.TranscodingProfiles ="
for each prof in profile.DeviceProfile.TranscodingProfiles
print prof
if isValid(prof.Conditions)
for each condition in prof.Conditions
print condition
end for
end if
end for
print "profile.PlayableMediaTypes =", profile.PlayableMediaTypes
print "profile.SupportedCommands =", profile.SupportedCommands
postJson(req, FormatJson(profile))
end sub
function getDeviceProfile() as object
playMpeg2 = m.global.session.user.settings["playback.mpeg2"]
playAv1 = m.global.session.user.settings["playback.av1"]
di = CreateObject("roDeviceInfo")
' TRANSCODING
' use strings to preserve order
mp4AudioCodecs = "aac"
mp4VideoCodecs = "h264"
tsAudioCodecs = "aac"
tsVideoCodecs = "h264"
' profileSupport["mp4"]["hevc"]["profile name"]["profile level"]
profileSupport = {
mp4: {},
ts: {}
}
' does the users setup support surround sound?
maxAudioChannels = "2" ' jellyfin expects this as a string
' in order of preference from left to right
audioCodecs = ["mp3", "vorbis", "opus", "flac", "alac", "ac4", "pcm", "wma", "wmapro"]
surroundSoundCodecs = ["eac3", "ac3", "dts"]
if m.global.session.user.settings["playback.forceDTS"] = true
surroundSoundCodecs = ["dts", "eac3", "ac3"]
end if
surroundSoundCodec = invalid
if di.GetAudioOutputChannel() = "5.1 surround"
maxAudioChannels = "6"
for each codec in surroundSoundCodecs
if di.CanDecodeAudio({ Codec: codec, ChCnt: 6 }).Result
surroundSoundCodec = codec
if di.CanDecodeAudio({ Codec: codec, ChCnt: 8 }).Result
maxAudioChannels = "8"
end if
exit for
end if
end for
end if
' VIDEO CODECS
'
' AVC / h264 / MPEG4 AVC
h264Profiles = ["main", "high"]
h264Levels = ["4.1", "4.2"]
for each container in profileSupport
for each profile in h264Profiles
for each level in h264Levels
if di.CanDecodeVideo({ Codec: "h264", Container: container, Profile: profile, Level: level }).Result
profileSupport[container] = updateProfileArray(profileSupport[container], "h264", profile, level)
end if
if di.CanDecodeVideo({ Codec: "mpeg4 avc", Container: container, Profile: profile, Level: level }).Result
profileSupport[container] = updateProfileArray(profileSupport[container], "mpeg4 avc", profile, level)
if container = "mp4"
' check for codec string before adding it
if mp4VideoCodecs.Instr(0, ",mpeg4 avc") = -1
mp4VideoCodecs = mp4VideoCodecs + ",mpeg4 avc"
end if
else if container = "ts"
' check for codec string before adding it
if tsVideoCodecs.Instr(0, ",mpeg4 avc") = -1
tsVideoCodecs = tsVideoCodecs + ",mpeg4 avc"
end if
end if
end if
end for
end for
end for
addHevc = false
if m.global.session.user.settings["playback.compatibility.disablehevc"] = false
' HEVC / h265
hevcProfiles = ["main", "main 10"]
hevcLevels = ["4.1", "5.0", "5.1"]
for each container in profileSupport
for each profile in hevcProfiles
for each level in hevcLevels
if di.CanDecodeVideo({ Codec: "hevc", Container: container, Profile: profile, Level: level }).Result
addHevc = true
profileSupport[container] = updateProfileArray(profileSupport[container], "hevc", profile, level)
profileSupport[container] = updateProfileArray(profileSupport[container], "h265", profile, level)
if container = "mp4"
' check for codec string before adding it
if mp4VideoCodecs.Instr(0, "h265,") = -1
mp4VideoCodecs = "h265," + mp4VideoCodecs
end if
if mp4VideoCodecs.Instr(0, "hevc,") = -1
mp4VideoCodecs = "hevc," + mp4VideoCodecs
end if
else if container = "ts"
' check for codec string before adding it
if tsVideoCodecs.Instr(0, "h265,") = -1
tsVideoCodecs = "h265," + tsVideoCodecs
end if
if tsVideoCodecs.Instr(0, "hevc,") = -1
tsVideoCodecs = "hevc," + tsVideoCodecs
end if
end if
end if
end for
end for
end for
end if
' VP9
vp9Profiles = ["profile 0", "profile 2"]
addVp9 = false
for each container in profileSupport
for each profile in vp9Profiles
if di.CanDecodeAudio({ Codec: "vp9", Container: container, Profile: profile }).Result
addVp9 = true
profileSupport[container] = updateProfileArray(profileSupport[container], "vp9", profile)
if container = "mp4"
' check for codec string before adding it
if mp4VideoCodecs.Instr(0, ",vp9") = -1
mp4VideoCodecs = mp4VideoCodecs + ",vp9"
end if
else if container = "ts"
' check for codec string before adding it
if tsVideoCodecs.Instr(0, ",vp9") = -1
tsVideoCodecs = tsVideoCodecs + ",vp9"
end if
end if
end if
end for
end for
' MPEG2
' mpeg2 uses levels with no profiles. see https://developer.roku.com/en-ca/docs/references/brightscript/interfaces/ifdeviceinfo.md#candecodevideovideo_format-as-object-as-object
' NOTE: the mpeg2 levels are being saved in the profileSupport array as if they were profiles
mpeg2Levels = ["main", "high"]
addMpeg2 = false
if playMpeg2
for each container in profileSupport
for each level in mpeg2Levels
if di.CanDecodeVideo({ Codec: "mpeg2", Container: container, Level: level }).Result
addMpeg2 = true
profileSupport[container] = updateProfileArray(profileSupport[container], "mpeg2", level)
if container = "mp4"
' check for codec string before adding it
if mp4VideoCodecs.Instr(0, ",mpeg2video") = -1
mp4VideoCodecs = mp4VideoCodecs + ",mpeg2video"
end if
else if container = "ts"
' check for codec string before adding it
if tsVideoCodecs.Instr(0, ",mpeg2video") = -1
tsVideoCodecs = tsVideoCodecs + ",mpeg2video"
end if
end if
end if
end for
end for
end if
' AV1
av1Profiles = ["main", "main 10"]
av1Levels = ["4.1", "5.0", "5.1"]
addAv1 = false
if playAv1
for each container in profileSupport
for each profile in av1Profiles
for each level in av1Levels
if di.CanDecodeVideo({ Codec: "av1", Container: container, Profile: profile, Level: level }).Result
addAv1 = true
profileSupport[container] = updateProfileArray(profileSupport[container], "av1", profile, level)
if container = "mp4"
' check for codec string before adding it
if mp4VideoCodecs.Instr(0, ",av1") = -1
mp4VideoCodecs = mp4VideoCodecs + ",av1"
end if
else if container = "ts"
' check for codec string before adding it
if tsVideoCodecs.Instr(0, ",av1") = -1
tsVideoCodecs = tsVideoCodecs + ",av1"
end if
end if
end if
end for
end for
end for
end if
' AUDIO CODECS
for each container in profileSupport
for each codec in audioCodecs
if di.CanDecodeAudio({ Codec: codec, Container: container }).result
if container = "mp4"
mp4AudioCodecs = mp4AudioCodecs + "," + codec
else if container = "ts"
tsAudioCodecs = tsAudioCodecs + "," + codec
end if
end if
end for
end for
' HDR SUPPORT
h264VideoRangeTypes = "SDR"
hevcVideoRangeTypes = "SDR"
vp9VideoRangeTypes = "SDR"
av1VideoRangeTypes = "SDR"
dp = di.GetDisplayProperties()
if dp.Hdr10
hevcVideoRangeTypes = hevcVideoRangeTypes + "|HDR10"
vp9VideoRangeTypes = vp9VideoRangeTypes + "|HDR10"
av1VideoRangeTypes = av1VideoRangeTypes + "|HDR10"
end if
if dp.Hdr10Plus
av1VideoRangeTypes = av1VideoRangeTypes + "|HDR10+"
end if
if dp.HLG
hevcVideoRangeTypes = hevcVideoRangeTypes + "|HLG"
vp9VideoRangeTypes = vp9VideoRangeTypes + "|HLG"
av1VideoRangeTypes = av1VideoRangeTypes + "|HLG"
end if
if dp.DolbyVision
h264VideoRangeTypes = h264VideoRangeTypes + "|DOVI"
hevcVideoRangeTypes = hevcVideoRangeTypes + "|DOVI"
'vp9VideoRangeTypes = vp9VideoRangeTypes + ",DOVI" no evidence that vp9 can hold DOVI
av1VideoRangeTypes = av1VideoRangeTypes + "|DOVI"
end if
DirectPlayProfile = GetDirectPlayProfiles()
deviceProfile = {
"Name": "Official Roku Client",
"Id": m.global.device.id,
"Identification": {
"FriendlyName": m.global.device.friendlyName,
"ModelNumber": m.global.device.model,
"SerialNumber": "string",
"ModelName": m.global.device.name,
"ModelDescription": "Type: " + m.global.device.modelType,
"Manufacturer": m.global.device.modelDetails.VendorName
},
"FriendlyName": m.global.device.friendlyName,
"Manufacturer": m.global.device.modelDetails.VendorName,
"ModelName": m.global.device.name,
"ModelDescription": "Type: " + m.global.device.modelType,
"ModelNumber": m.global.device.model,
"SerialNumber": m.global.device.serial,
"MaxStreamingBitrate": 120000000,
"MaxStaticBitrate": 100000000,
"MusicStreamingTranscodingBitrate": 192000,
"DirectPlayProfiles": DirectPlayProfile,
"TranscodingProfiles": [],
"ContainerProfiles": [],
"CodecProfiles": [
{
"Type": "VideoAudio",
"Conditions": [
{
"Condition": "LessThanEqual",
"Property": "AudioChannels",
"Value": maxAudioChannels,
"IsRequired": false
}
]
}
],
"SubtitleProfiles": [
{
"Format": "vtt",
"Method": "External"
},
{
"Format": "srt",
"Method": "External"
},
{
"Format": "ttml",
"Method": "External"
},
{
"Format": "sub",
"Method": "External"
}
]
}
' build TranscodingProfiles
' max resolution
maxResSetting = m.global.session.user.settings["playback.resolution.max"]
maxResMode = m.global.session.user.settings["playback.resolution.mode"]
maxVideoHeight = maxResSetting
maxVideoWidth = invalid
if maxResSetting = "auto"
maxVideoHeight = m.global.device.videoHeight
maxVideoWidth = m.global.device.videoWidth
else if maxResSetting &lt;> "off"
if maxResSetting = "360"
maxVideoWidth = "480"
else if maxResSetting = "480"
maxVideoWidth = "640"
else if maxResSetting = "720"
maxVideoWidth = "1280"
else if maxResSetting = "1080"
maxVideoWidth = "1920"
else if maxResSetting = "2160"
maxVideoWidth = "3840"
else if maxResSetting = "4320"
maxVideoWidth = "7680"
end if
end if
maxVideoHeightArray = {
"Condition": "LessThanEqual",
"Property": "Width",
"Value": maxVideoWidth,
"IsRequired": true
}
maxVideoWidthArray = {
"Condition": "LessThanEqual",
"Property": "Height",
"Value": maxVideoHeight,
"IsRequired": true
}
'
' add mp3 to TranscodingProfile for music
deviceProfile.TranscodingProfiles.push({
"Container": "mp3",
"Type": "Audio",
"AudioCodec": "mp3",
"Context": "Streaming",
"Protocol": "http",
"MaxAudioChannels": maxAudioChannels
})
deviceProfile.TranscodingProfiles.push({
"Container": "mp3",
"Type": "Audio",
"AudioCodec": "mp3",
"Context": "Static",
"Protocol": "http",
"MaxAudioChannels": maxAudioChannels
})
' add aac to TranscodingProfile for stereo audio
' NOTE: multichannel aac is not supported. only decode to stereo on some devices
deviceProfile.TranscodingProfiles.push({
"Container": "ts",
"Type": "Audio",
"AudioCodec": "aac",
"Context": "Streaming",
"Protocol": "http",
"MaxAudioChannels": "2"
})
deviceProfile.TranscodingProfiles.push({
"Container": "ts",
"Type": "Audio",
"AudioCodec": "aac",
"Context": "Static",
"Protocol": "http",
"MaxAudioChannels": "2"
})
tsArray = {
"Container": "ts",
"Context": "Streaming",
"Protocol": "hls",
"Type": "Video",
"AudioCodec": tsAudioCodecs,
"VideoCodec": tsVideoCodecs,
"MaxAudioChannels": maxAudioChannels,
"MinSegments": 1,
"BreakOnNonKeyFrames": false
}
mp4Array = {
"Container": "mp4",
"Context": "Streaming",
"Protocol": "hls",
"Type": "Video",
"AudioCodec": mp4AudioCodecs,
"VideoCodec": mp4VideoCodecs,
"MaxAudioChannels": maxAudioChannels,
"MinSegments": 1,
"BreakOnNonKeyFrames": false
}
' apply max res to transcoding profile
if maxResSetting &lt;> "off"
tsArray.Conditions = [maxVideoHeightArray, maxVideoWidthArray]
mp4Array.Conditions = [maxVideoHeightArray, maxVideoWidthArray]
end if
' surround sound
if surroundSoundCodec &lt;> invalid
' add preferred surround sound codec to TranscodingProfile
deviceProfile.TranscodingProfiles.push({
"Container": surroundSoundCodec,
"Type": "Audio",
"AudioCodec": surroundSoundCodec,
"Context": "Streaming",
"Protocol": "http",
"MaxAudioChannels": maxAudioChannels
})
deviceProfile.TranscodingProfiles.push({
"Container": surroundSoundCodec,
"Type": "Audio",
"AudioCodec": surroundSoundCodec,
"Context": "Static",
"Protocol": "http",
"MaxAudioChannels": maxAudioChannels
})
' put codec in front of AudioCodec string
if tsArray.AudioCodec = ""
tsArray.AudioCodec = surroundSoundCodec
else
tsArray.AudioCodec = surroundSoundCodec + "," + tsArray.AudioCodec
end if
if mp4Array.AudioCodec = ""
mp4Array.AudioCodec = surroundSoundCodec
else
mp4Array.AudioCodec = surroundSoundCodec + "," + mp4Array.AudioCodec
end if
end if
deviceProfile.TranscodingProfiles.push(tsArray)
deviceProfile.TranscodingProfiles.push(mp4Array)
' Build CodecProfiles
' H264
h264Mp4LevelSupported = 0.0
h264TsLevelSupported = 0.0
h264AssProfiles = {}
h264LevelString = invalid
for each container in profileSupport
for each profile in profileSupport[container]["h264"]
h264AssProfiles.AddReplace(profile, true)
for each level in profileSupport[container]["h264"][profile]
levelFloat = level.ToFloat()
if container = "mp4"
if levelFloat > h264Mp4LevelSupported
h264Mp4LevelSupported = levelFloat
end if
else if container = "ts"
if levelFloat > h264TsLevelSupported
h264TsLevelSupported = levelFloat
end if
end if
end for
end for
end for
h264LevelString = h264Mp4LevelSupported
if h264TsLevelSupported > h264Mp4LevelSupported
h264LevelString = h264TsLevelSupported
end if
' convert to string
h264LevelString = h264LevelString.ToStr()
' remove decimals
h264LevelString = removeDecimals(h264LevelString)
codecProfileArray = {
"Type": "Video",
"Codec": "h264",
"Conditions": [
{
"Condition": "NotEquals",
"Property": "IsAnamorphic",
"Value": "true",
"IsRequired": false
},
{
"Condition": "EqualsAny",
"Property": "VideoProfile",
"Value": h264AssProfiles.Keys().join("|"),
"IsRequired": false
},
{
"Condition": "EqualsAny",
"Property": "VideoRangeType",
"Value": h264VideoRangeTypes,
"IsRequired": false
}
]
}
' set max resolution
if maxResMode = "everything" and maxResSetting &lt;> "off"
codecProfileArray.Conditions.push(maxVideoHeightArray)
codecProfileArray.Conditions.push(maxVideoWidthArray)
end if
' check user setting before adding video level restrictions
if not m.global.session.user.settings["playback.tryDirect.h264ProfileLevel"]
codecProfileArray.Conditions.push({
"Condition": "LessThanEqual",
"Property": "VideoLevel",
"Value": h264LevelString,
"IsRequired": false
})
end if
' set bitrate restrictions based on user settings
bitRateArray = GetBitRateLimit("h264")
if bitRateArray.count() > 0
codecProfileArray.Conditions.push(bitRateArray)
end if
deviceProfile.CodecProfiles.push(codecProfileArray)
' MPEG2
' NOTE: the mpeg2 levels are being saved in the profileSupport array as if they were profiles
if addMpeg2
mpeg2Levels = []
for each container in profileSupport
for each level in profileSupport[container]["mpeg2"]
if not arrayHasValue(mpeg2Levels, level)
mpeg2Levels.push(level)
end if
end for
end for
codecProfileArray = {
"Type": "Video",
"Codec": "mpeg2",
"Conditions": [
{
"Condition": "EqualsAny",
"Property": "VideoLevel",
"Value": mpeg2Levels.join("|"),
"IsRequired": false
}
]
}
' set max resolution
if maxResMode = "everything" and maxResSetting &lt;> "off"
codecProfileArray.Conditions.push(maxVideoHeightArray)
codecProfileArray.Conditions.push(maxVideoWidthArray)
end if
' set bitrate restrictions based on user settings
bitRateArray = GetBitRateLimit("mpeg2")
if bitRateArray.count() > 0
codecProfileArray.Conditions.push(bitRateArray)
end if
deviceProfile.CodecProfiles.push(codecProfileArray)
end if
if addAv1
av1Mp4LevelSupported = 0.0
av1TsLevelSupported = 0.0
av1AssProfiles = []
av1HighestLevel = 0.0
for each container in profileSupport
for each profile in profileSupport[container]["av1"]
av1AssProfiles.AddReplace(profile, true)
for each level in profileSupport[container]["av1"][profile]
levelFloat = level.ToFloat()
if container = "mp4"
if levelFloat > av1Mp4LevelSupported
av1Mp4LevelSupported = levelFloat
end if
else if container = "ts"
if levelFloat > av1TsLevelSupported
av1TsLevelSupported = levelFloat
end if
end if
end for
end for
end for
av1HighestLevel = av1Mp4LevelSupported
if av1TsLevelSupported > av1Mp4LevelSupported
av1HighestLevel = av1TsLevelSupported
end if
codecProfileArray = {
"Type": "Video",
"Codec": "av1",
"Conditions": [
{
"Condition": "EqualsAny",
"Property": "VideoProfile",
"Value": av1AssProfiles.Keys().join("|"),
"IsRequired": false
},
{
"Condition": "EqualsAny",
"Property": "VideoRangeType",
"Value": av1VideoRangeTypes,
"IsRequired": false
},
{
"Condition": "LessThanEqual",
"Property": "VideoLevel",
"Value": (120 * av1HighestLevel).ToStr(),
"IsRequired": false
}
]
}
' set max resolution
if maxResMode = "everything" and maxResSetting &lt;> "off"
codecProfileArray.Conditions.push(maxVideoHeightArray)
codecProfileArray.Conditions.push(maxVideoWidthArray)
end if
' set bitrate restrictions based on user settings
bitRateArray = GetBitRateLimit("av1")
if bitRateArray.count() > 0
codecProfileArray.Conditions.push(bitRateArray)
end if
deviceProfile.CodecProfiles.push(codecProfileArray)
end if
if addHevc
hevcMp4LevelSupported = 0.0
hevcTsLevelSupported = 0.0
hevcAssProfiles = {}
hevcHighestLevel = 0.0
for each container in profileSupport
for each profile in profileSupport[container]["hevc"]
hevcAssProfiles.AddReplace(profile, true)
for each level in profileSupport[container]["hevc"][profile]
levelFloat = level.ToFloat()
if container = "mp4"
if levelFloat > hevcMp4LevelSupported
hevcMp4LevelSupported = levelFloat
end if
else if container = "ts"
if levelFloat > hevcTsLevelSupported
hevcTsLevelSupported = levelFloat
end if
end if
end for
end for
end for
hevcHighestLevel = hevcMp4LevelSupported
if hevcTsLevelSupported > hevcMp4LevelSupported
hevcHighestLevel = hevcTsLevelSupported
end if
hevcLevelString = "120"
if hevcHighestLevel = 5.1
hevcLevelString = "153"
end if
codecProfileArray = {
"Type": "Video",
"Codec": "hevc",
"Conditions": [
{
"Condition": "NotEquals",
"Property": "IsAnamorphic",
"Value": "true",
"IsRequired": false
},
{
"Condition": "EqualsAny",
"Property": "VideoProfile",
"Value": profileSupport["ts"]["hevc"].Keys().join("|"),
"IsRequired": false
},
{
"Condition": "EqualsAny",
"Property": "VideoRangeType",
"Value": hevcVideoRangeTypes,
"IsRequired": false
}
]
}
' set max resolution
if maxResMode = "everything" and maxResSetting &lt;> "off"
codecProfileArray.Conditions.push(maxVideoHeightArray)
codecProfileArray.Conditions.push(maxVideoWidthArray)
end if
' check user setting before adding VideoLevel restrictions
if not m.global.session.user.settings["playback.tryDirect.hevcProfileLevel"]
codecProfileArray.Conditions.push({
"Condition": "LessThanEqual",
"Property": "VideoLevel",
"Value": hevcLevelString,
"IsRequired": false
})
end if
' set bitrate restrictions based on user settings
bitRateArray = GetBitRateLimit("h265")
if bitRateArray.count() > 0
codecProfileArray.Conditions.push(bitRateArray)
end if
deviceProfile.CodecProfiles.push(codecProfileArray)
end if
if addVp9
vp9Profiles = []
for each container in profileSupport
for each profile in profileSupport[container]["vp9"]
if vp9Profiles[profile] = invalid
vp9Profiles.push(profile)
end if
end for
end for
codecProfileArray = {
"Type": "Video",
"Codec": "vp9",
"Conditions": [
{
"Condition": "EqualsAny",
"Property": "VideoLevel",
"Value": vp9Profiles.join("|"),
"IsRequired": false
},
{
"Condition": "EqualsAny",
"Property": "VideoRangeType",
"Value": vp9VideoRangeTypes,
"IsRequired": false
}
]
}
' set max resolution
if maxResMode = "everything" and maxResSetting &lt;> "off"
codecProfileArray.Conditions.push(maxVideoHeightArray)
codecProfileArray.Conditions.push(maxVideoWidthArray)
end if
' set bitrate restrictions based on user settings
bitRateArray = GetBitRateLimit("vp9")
if bitRateArray.count() > 0
codecProfileArray.Conditions.push(bitRateArray)
end if
deviceProfile.CodecProfiles.push(codecProfileArray)
end if
return deviceProfile
end function
function GetDirectPlayProfiles() as object
di = CreateObject("roDeviceInfo")
' all possible containers
supportedCodecs = {
mp4: {
audio: [],
video: []
},
hls: {
audio: [],
video: []
},
mkv: {
audio: [],
video: []
},
ism: {
audio: [],
video: []
},
dash: {
audio: [],
video: []
},
ts: {
audio: [],
video: []
}
}
' all possible codecs (besides those restricted by user settings)
videoCodecs = ["h264", "mpeg4 avc", "vp8", "vp9", "h263", "mpeg1"]
audioCodecs = ["mp3", "mp2", "pcm", "lpcm", "wav", "ac3", "ac4", "aiff", "wma", "flac", "alac", "aac", "opus", "dts", "wmapro", "vorbis", "eac3", "mpg123"]
' only try to direct play av1 if asked
if m.global.session.user.settings["playback.av1"]
videoCodecs.push("av1")
end if
' check if hevc is disabled
if m.global.session.user.settings["playback.compatibility.disablehevc"] = false
videoCodecs.push("hevc")
end if
' check video codecs for each container
for each container in supportedCodecs
for each videoCodec in videoCodecs
if di.CanDecodeVideo({ Codec: videoCodec, Container: container }).Result
if videoCodec = "hevc"
supportedCodecs[container]["video"].push("hevc")
supportedCodecs[container]["video"].push("h265")
else
' device profile string matches codec string
supportedCodecs[container]["video"].push(videoCodec)
end if
end if
end for
end for
' user setting overrides
if m.global.session.user.settings["playback.mpeg4"]
for each container in supportedCodecs
supportedCodecs[container]["video"].push("mpeg4")
end for
end if
if m.global.session.user.settings["playback.mpeg2"]
for each container in supportedCodecs
supportedCodecs[container]["video"].push("mpeg2video")
end for
end if
' check audio codecs for each container
for each container in supportedCodecs
for each audioCodec in audioCodecs
if di.CanDecodeAudio({ Codec: audioCodec, Container: container }).Result
supportedCodecs[container]["audio"].push(audioCodec)
end if
end for
end for
' check audio codecs with no container
supportedAudio = []
for each audioCodec in audioCodecs
if di.CanDecodeAudio({ Codec: audioCodec }).Result
supportedAudio.push(audioCodec)
end if
end for
' build return array
returnArray = []
for each container in supportedCodecs
videoCodecString = supportedCodecs[container]["video"].Join(",")
if videoCodecString &lt;> ""
containerString = container
if container = "mp4"
containerString = "mp4,mov,m4v"
else if container = "mkv"
containerString = "mkv,webm"
end if
returnArray.push({
"Container": containerString,
"Type": "Video",
"VideoCodec": videoCodecString,
"AudioCodec": supportedCodecs[container]["audio"].Join(",")
})
end if
end for
returnArray.push({
"Container": supportedAudio.Join(","),
"Type": "Audio"
})
return returnArray
end function
function GetBitRateLimit(codec as string) as object
if m.global.session.user.settings["playback.bitrate.maxlimited"] = true
userSetLimit = m.global.session.user.settings["playback.bitrate.limit"].ToInt()
if isValid(userSetLimit) and type(userSetLimit) = "Integer" and userSetLimit > 0
userSetLimit *= 1000000
return {
"Condition": "LessThanEqual",
"Property": "VideoBitrate",
"Value": userSetLimit.ToStr(),
"IsRequired": true
}
else
codec = Lcase(codec)
' Some repeated values (e.g. same "40mbps" for several codecs)
' but this makes it easy to update in the future if the bitrates start to deviate.
if codec = "h264"
' Roku only supports h264 up to 10Mpbs
return {
"Condition": "LessThanEqual",
"Property": "VideoBitrate",
"Value": "10000000",
"IsRequired": true
}
else if codec = "av1"
' Roku only supports AV1 up to 40Mpbs
return {
"Condition": "LessThanEqual",
"Property": "VideoBitrate",
"Value": "40000000",
"IsRequired": true
}
else if codec = "h265"
' Roku only supports h265 up to 40Mpbs
return {
"Condition": "LessThanEqual",
"Property": "VideoBitrate",
"Value": "40000000",
"IsRequired": true
}
else if codec = "vp9"
' Roku only supports VP9 up to 40Mpbs
return {
"Condition": "LessThanEqual",
"Property": "VideoBitrate",
"Value": "40000000",
"IsRequired": true
}
end if
end if
end if
return {}
end function
' Recieves and returns an assArray of supported profiles and levels for each video codec
function updateProfileArray(profileArray as object, videoCodec as string, videoProfile as string, profileLevel = "" as string) as object
' validate params
if profileArray = invalid then return {}
if videoCodec = "" or videoProfile = "" then return profileArray
if profileArray[videoCodec] = invalid
profileArray[videoCodec] = {}
end if
if profileArray[videoCodec][videoProfile] = invalid
profileArray[videoCodec][videoProfile] = {}
end if
' add profileLevel if a value was provided
if profileLevel &lt;> ""
if profileArray[videoCodec][videoProfile][profileLevel] = invalid
profileArray[videoCodec][videoProfile].AddReplace(profileLevel, true)
end if
end if
' profileSupport[container][codec][profile][level]
return profileArray
end function
' Remove all decimals from a string
function removeDecimals(value as string) as string
r = CreateObject("roRegex", "\.", "")
value = r.ReplaceAll(value, "")
return value
end function
</code></pre>
</article>
</section>
</div>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a>
</footer>
<script src="scripts/linenumber.js"></script>
<script src="scripts/pagelocation.js"></script>
</body>
</html>