Methods

(static) getPlaceholderImagePath(itemType) → {string}

Returns the local placeholder image URI for a given Jellyfin item type. Used by JRPlaceholder when an item has no image URL or its image fails to load. The returned URI uses Roku's $$RES$$ autosub token (see manifest's uri_resolution_autosub declaration) so the OS rewrites it to the correct per-device asset (_fhd.png / _hd.png) at load time.

Parameters:
NameTypeDescription
itemTypestring

Jellyfin item type string (e.g., "Movie", "Person")

Returns:

pkg:/ URI to the appropriate placeholder image

Type: 
string

(static) resolveItemPlaceholderType(item) → {string}

Resolves the Jellyfin item type string to use as JRPlaceholder.itemType for a given content node. For most types this is just item.type. For library-tile container types (CollectionFolder / UserView / Folder) it consults DeterminePresenterType() in libraryViewFactory.bs so that, e.g., a Movies library with no custom art surfaces the Movie glyph instead of a generic folder, a Music library surfaces the album glyph, and so on. Unresolved library tiles fall back to "Folder" so every cell surfaces a placeholder rather than rendering as an empty backdrop.

ChannelFolderItem is intentionally NOT treated as a library-tile here — it passes through unchanged so getPlaceholderImagePath maps it to the livetv glyph (matching its parent channel's visual treatment).

NOTE: The library-tile set here (CollectionFolder / UserView / Folder) is intentionally narrower than what might initially seem natural and is distinct from JRRowItem.bs's isLibraryTile check at line 112 (CollectionFolder / UserView / Channel). JRRowItem renders library tiles in a dedicated branch with its own backdropText + itemIcon overlay (not via JRPlaceholder), so its set reflects what naturally appears in horizontal rows on Home. This routing is grid-side and serves a different purpose (typed-glyph fallback for empty-art tiles).

Returns "" only when the item itself is invalid or has no type at all — valid items always resolve to a typed glyph or the "Folder" catch-all.

or "" only when item is invalid / typeless

Parameters:
NameTypeDescription
itemobject

Jellyfin content node

Returns:

Title-cased Jellyfin type string compatible with getPlaceholderImagePath,

Type: 
string