JQMGizmo is a rewrite of the JRiver MC web remote. It uses the JQueryMobile SPA framework, and leverage the JRMC services as a library.
library.html => main library navigation libraryfiles.html => leaf element navigation (the main URL doesn't change but the template is different)
the current mode is stored as a 'mode' cookie where
- [Mode.Display] : the current zone label Playing to ...
- [Mode.IsRemote) : whether it's playing in a zone
- [Mode.IsPlay] : whether it's local playing (on the remote)
The current playing zone
-
[ModeZone.ID] : the id
-
[ModeZone.Name] : the name
-
[ShowPlayingNow] : whether the playing now button should be shown on this screen
-
[ShowSearch] : whether the search button should be shown on this screen
- [CurrentLibraryItem.ShowPlay] : is it playable?
- [CurrentLibraryItem.UseThumbnails] :
- [ZoneCount]: the number of zones
- [LibraryItemCount]: the number of items in a library view
- [PlayingNowFileCount]: the number of files in Playing Now (in the active zone)
- [LibraryFilesCount]: the number of items in a library files view
- [LibraryLocation]: name of the current location when browsing
- [ProgramFullName]: full name of the program (i.e. J. River Media Center)
- [ProgramName]: name of the program (i.e. Media Center)
- [ProgramVersion]: version of the program (i.e. 15.0.75)
- [ActiveZoneName]: name of the current playback zone
- [PlaybackStatus]: status of playback in the current zone (i.e. Playing, Stopped, etc.)
- [LibraryServerLink]: URL to root of server
- [Token]: access token used for authorization (helpful to append to URLs to avoid the need for authentication)
The index is the index (0-based) of the zone.
- [Zone(x).Name]: name of the zone
- [Zone(x).ID]: Identifier of the zone
When browsing, the individual items that make up a library view. For example, they could be an artist, album, keyword, etc.
- [LibraryItem(x).Name]: name of item
- [LibraryItem(x).ImageLink]: URL to a thumbnail (JPEG) for the item
- [LibraryItem(x).IntoLink]: URL to navigate into this item
- [LibraryItem(x).ShowPlay]: whether it makes sense to show play commands for this item (0 or 1)
- [LibraryItem(x).PlayLink]: URL to play the library item on the server machine
- [LibraryItem(x).AddLink]: URL to add the library item to Playing Now on the server machine
- [LibraryItem(x).ShuffleLink]: URL to play (with shuffle) the library item on the server machine
- [LibraryItem(x).M3ULink]: URL that will provide an M3U playlist of the files in the library item
- [LibraryItem(x).ASXLink]: URL that will provide an ASX playlist of the files in the library item
- [LibraryItem(x).MPLLink]: URL that will provide an MPL playlist of the files in the library item
- [LibraryItem(x).WebPlayPlayLink]: URL that will play the library item files on the client
- [LibraryItem(x).WebPlayShuffleLink]: URL that will play (with shuffle) the library item files on the client
The playing file. Uses same variable names as 'LibraryFile', so see below for variable names.
The file at the specified index in Playing Now (zero based). Uses same variable names as 'LibraryFile', so see below for variable names.
The file at the specified index in the current LibraryItem (zero based).
- [LibraryFile(x).FileKey]: key of the file in the database (immutable, and safe to use between sessions)
- [LibraryFile(x).ImageLink]: URL to a thumbnail (JPEG) of the file
- [LibraryFile(x).Artist]: artist of the file
- [LibraryFile(x).Name]: name of the file
- [LibraryFile(x).PlayLink]: URL to play the file on the server
- [LibraryFile(x).AddLink]: URL to add the file to Playing Now on the server
- [LibraryFile(x).FileLink]: URL to provide the file to the client (on Android, provides MPL playlist pointing to file)
Tools and variables for splitting large lists into multiple pages.
- [Pagination.StartIndex]: the first index of the current page (can be used in loops)
- [Pagination.FinishIndex]: the last index of the current page (can be used in loops)
- [Pagination.ShowControls(item count)]: whether a page should show pagination controls for the given item count
- [Pagination.Controls(item count)]: links for the list of pages given an item count ( i.e. Previous 1 2 3 Next )