Media Browse Overview

Media Browse library provides functionality to browse through the media library and Now Playing playlist.

Purpose

Enables a remote application to browse through the media library of a Media Player.

Media Browse library details

The DLL that provides the functionality and the library to which your code must link is identified below.

DLL LIB Short description

remconmediabrowse.dll

remconmediabrowse.lib

Interfaces for an application to support media browse functions.

Architecture

An application that wants to support Media Browse commands must provide implementations of the commands in the CRemConDatabaseAwareMediaBrowseTarget class.

Description

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:

    • retrieve the path to the current folder

    • move one level up the tree to the parent of the current folder

    • move down one level in the tree by specifying the UID of the child folder.

  • 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.

Key classes

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.

  • CRemConInterfaceSelector

    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.

Using Media Browse

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.

Related concepts