Skip to content

Cutomizing the Main Menu

Sean Stuckless edited this page Feb 2, 2014 · 5 revisions

The Plex Plugin allows you to define the list of VFS views that you want to see in the Main Menu by providing your own plexmenu.json menu file.

The plexmenu.json file, must exist in the SAGE_HOME/userdata/Phoenix/Menus/ directory, and it must be a valid json structured file.

A sample file looks like this...

[
    {
        'title':'TV Shows',
        'view':'phoenix.view.default.allTV',
        'items': 100
    },
    {
        'title':'Recent Recordings',
        'view':'phoenix.view.util.recentrecordings',
        'items': 50
    },
    {
        'title':'Recent Imports',
        'view':'phoenix.view.util.recentimports',
        'items': 50
    },
    {
        'title':'Upcomming Movies',
        'view':'phoenix.view.default.upcomingmovies',
        'items': 50
    },
    {
        'title':'Home Videos',
        'view':'phoenix.view.default.homevideos',
        'items': 50
    },
    {
        'title':'All Movies',
        'view':'phoenix.view.default.allMovies',
        'items': 50
    },
    {
        'title':'Video Folders',
        'view':'phoenix.view.default.videofolders',
        'items': 50
    },
    {
        'title':'Recording Schedule (Grouped by Date)',
        'view':'phoenix.view.default.scheduledrecordings'
    },
    {
        'title':'Recording Schedule',
        'view':'phoenix.view.primary.scheduledrecordings'
    },
    {
        'title':'Currently Recording',
        'view':'phoenix.view.default.currentlyrecording'
    }
]

The menu a JSONArray of JSONObjects where each object has a title and a view field.

The title will be what you want displayed in the menu. The view must be a valid Phoenix VFS view name.

Here's a list of VFS views. Please note that some views may not work correctly, or that views that return lots of items may take a long time to load.

  • phoenix.view.util.todaysrecordings
  • phoenix.view.util.instantstatus.todaysrecordings
  • phoenix.view.util.recentrecordings
  • phoenix.view.util.instantstatus.recentrecordings
  • phoenix.view.util.recentmusic
  • phoenix.view.util.recentpictures
  • phoenix.view.util.recentlywatchedtv
  • phoenix.view.util.instantstatus.recentlywatchedtv
  • phoenix.view.util.recentlywatchedmovies
  • phoenix.view.util.instantstatus.recentlywatchedmovies
  • phoenix.view.util.currentlyrecording
  • phoenix.view.util.instantstatus.currentlyrecording
  • phoenix.view.util.featuredfavorite
  • phoenix.view.util.recentimports
  • phoenix.view.util.instantstatus.recentimports
  • phoenix.view.util.conflicts
  • phoenix.view.util.allsagefanart
  • phoenix.view.default.upcomingmovies
  • phoenix.view.default.scheduledrecordings
  • phoenix.view.default.nowshowing
  • phoenix.view.default.videofolders
  • phoenix.view.default.archivedTV
  • phoenix.view.default.allTV
  • phoenix.view.default.allTVseasons
  • phoenix.view.default.TV
  • phoenix.view.default.allMovies
  • phoenix.view.default.bluray
  • phoenix.view.default.dvd
  • phoenix.view.default.recentlywatched
  • phoenix.view.default.currentlyrecording
  • phoenix.view.default.homevideos
  • phoenix.view.default.playlists
  • phoenix.view.default.music.album
  • phoenix.view.default.music.artist
  • phoenix.view.default.music.genre
  • phoenix.view.default.upnpdevices
  • phoenix.view.online.videos

These should never be used directly

  • phoenix.view.source.music
  • phoenix.view.source.pictures
  • phoenix.view.source.sagerecordings
  • phoenix.view.source.sagearchivedrecordings
  • phoenix.view.source.videos
  • phoenix.view.source.dvd
  • phoenix.view.source.bluray
  • phoenix.view.source.allimportedvideo
  • phoenix.view.source.mediafiles
  • phoenix.view.source.scheduledrecordings
  • phoenix.view.primary.importedmovies
  • phoenix.view.primary.recordedmovies
  • phoenix.view.primary.recordedtv
  • phoenix.view.primary.recordedtvarchived
  • phoenix.view.primary.importedtv
  • phoenix.view.primary.homevideos
  • phoenix.view.primary.scheduledrecordings
  • phoenix.view.primary.upcomingairings
  • phoenix.view.primary.currentlyairing

And if you've created your own views, and they work in BMT and Phoenix, then it might also work here as well.

For a complete list of Phoenix Views (with comments) check out the xml vfs file that Phoenix uses.

https://github.com/stuckless/sagetv-phoenix-ui/blob/master/STVs/Phoenix/vfs/x-vfs.xml

After editing the plexmenu.json please validate it using a json validation tool such as http://jsonformatter.curiousconcept.com/ to make sure it is valid (ie, no missing commas, etc)

Clone this wiki locally