Media Browse library provides functionality to browse through the media library and Now Playing playlist.
Enables a remote application to browse through the media library of a Media Player.
The DLL that provides the functionality and the library to which your code must link is identified below.
An application that wants to support Media Browse commands must
provide implementations of the commands in the CRemConDatabaseAwareMediaBrowseTarget
class.
This library provides functionality to navigate through the Media Library, and display information about the items in the Media Library.
This library's functions can be divided into five groups:
navigation
Functions are provided to move around a tree-structure of folders and media items. Specific functions are provided to:
list the contents of a folder
list the details of a particular media item
search for items that match a search string
respond to database state changes.
Note: the Now Playing playlist appears as a folder of items.
Note: search results are returned as a single folder or a more complex tree structure depending on which format the media player supports. The media player can return all search results in one folder or in a tree of folders. The navigation functions can be used on the search results tree.
Note: a media item (such as a song) is identified by a UID. Media Browse allows the UID to either be persistent, where the media player supports a database of all UIDs/Track IDs, or to transient where the media player does not support a database.
The key classes required for Media Browse are as follows:
MRemConDatabaseAwareMediaLibraryBrowseObserver
A class that receives the commands, from RemCon, to navigate and retrieve information about the media library.
Functionality includes folder navigation, asking for the current path, asking for information about a particular media item and setting search criteria to filter the information returned about the media library.
MRemConDatabaseAwareMediaLibraryBrowse
The object used by an application to pass the requested data back to RemCon to be returned to the remote controller.
MRemConDatabaseAwareNowPlayingBrowseObserver
A class that receives the remote command/request to retrieve the Now Playing playlist. Not every Media Player implements a Now Playing playlist then the application handling this class must return a listing consisting of just one item, the currently playing media item.
This class also provides the interface for the Controller to request attribute information about a specific item in the Now Playing playlist.
MRemConDatabaseAwareNowPlayingBrowse
A class that provides the interface to return a folder listing of the Now Playing playlist. It also provides the interface for the application to return the attributes of the selected Now Playing media item.
CRemConDatabaseAwareMediaBrowseTarget
This class pulls together the APIs for MRemConDatabaseAwareNowPlayingBrowse
and MRemConDatabaseAwareMediaLibraryBrowse
to
provide the functionality to return the data requested by the matching
Observer class.
A handle to the remote control server application. This handles the connection for sending and receiving commands and notifications.
Note: for each of the Database aware classes above, there are matching Database unware classes. See to decide which to use.
Media Browse enables a device to receive commands for navigation through a media player's media library, to return folder listings and to return media item attributes. It also provides the functionality to do the same for the Now Playing playlist and the search results, treating them as just another set of folders in the media library.