Driver Details

Russound MBX

By: RTI
Updated: Nov. 20, 2020
Version: 1.02

Description:

This driver controls the Russound MBX family of media players over ethernet. It can control the MBX AMP as a standalone player, and the MBX PRE as either a standalone player, or as part of a larger MCA based multiroom system.

Version History:

Version 1.01 Fixes an issue causing grouping commands to fail.

Version 1.02 Fixes a problem with the repeat command and repeat variables, fixes a utf-8 encoding problem with Favorites names, and adds the 'Channel Art' variable for station art.

Russound MBX Media Player

This driver controls the Russound MBX family of media players over ethernet. It can control the MBX AMP as a standalone player, and the MBX PRE as either a standalone player, or as part of a larger MCA based multiroom system.

Revision History

1.0 Initial Release of the Driver.

1.01 Fixes an issue causing grouping commands to fail

1.02 Fixes a problem with the repeat command and repeat variables, fixes a utf-8 encoding problem with Favorites names, adds the 'Channel Art' variable for station art.

Device Template
When added to a project the driver looks for a template page called MBX, but will fall back to the standard RTI template for the device type "Music Player"

Driver Properties/Configuration
Connection Type: The driver controls the device via TCP, but the connection can be made one of two ways:

1) Fixed (Static) IP address

2) Auto discovery by device ‘Friendly Name’

Choose the connection type and enter the identifying information.

Player Mode: The MBX PRE and AMP models both operate by default in what is called Zone mode. This allows them to work as standalone units and control their own volume, favorites, grouping, etc. This is the ONLY mode the MBX AMP can operate in. The MBX PRE can also run in Source mode, a mode that allows it to integrate into a complete Russound multiroom audio system with a Russound MCA. The MBX PRE can be placed in this mode from the setup page of its web interface. When in source mode, the volume commands, the grouping commands, and favorite selection are taken care of by the MCA.

Source Address: When an MBX PRE is set to Source mode you must also assign a source address to the device. This is the address of the Source Address that the occupies in the Russound system. Enter the address here so the driver can correctly address the device.

Use Context Menu: Many items in the browse menu offer additional selections as part of a ‘Context Menu’. In the app this is shown as a button on the right-hand side of the menu. In the driver the presence of a context menu is shown by following the menu text with 3 periods. The browse section has more information on how to use the context menu.

Metadata
Playback Info: Variables for the currently playing audio are provided, including timing and progress info. Some of these variables occasionally have non-metadata information in them. The Playlist variable for instance, contains text from playback state, like “PAUSED”, or “STOPPED”, while showing the correct metadata when playing.
There is a variable available for making the progress and timing variables visible. When broadcast type streaming sources are selected the elapsed time is a continuously increasing number and the ‘Display Time Info’ variable allows you to only have the timing information available when it’s meaningful

Favorites

NOTE: When an MBX-PRE is placed in ‘Source; mode, all favorites selections are controlled by the MCA, and the MCA driver. Favorites chosen in the MCA driver can create source changes in MCA zones so these events must be monitored to create macros that will change pages on the controller to follow any source changes on the MCA.

Favorites can be chosen/browsed in two ways: there is a list variable/command combination that lets you browse on a two way list, and there are individual variables for all the favorites information, allowing the creation of discrete buttons, with cover art, for each favorite. Discrete variables include a Favorite Valid variable that allows the Favorite button to only visible when the favorite is valid.

Favorites cannot be created in the driver at this point, and must be created in the Russound app.

Transport

Transport controls include variables that can be used for visibility, allowing transport commands to disappear when they are not valid for that source. Play, pause, stop, repeat, shuffle, and thumbs up/down have reverse state variables for showing when they are active.

Browsing

Browsing: The browsing capabilities center on the Browse list variable and its command. All the music selection is accomplished through that list. In addition, there is a command for backing up in the browse list, and one for resetting the browse list to the home level, called Browse Init. The Browse list has a title variable that is dynamically updated as you navigate the list.

Context Menu: To access the context menu, the Set to Select Context command must be run to tell the driver to use the next menu selection to select the Context of the item instead of the item itself. The context menu is supported by 2 variables as well as the Select Context command: The ‘Menu has context’ variable will be true when any selections in the menu have a context menu. This can be used as visibility to display a button allowing you to activate the ‘Context Mode’. This button should be programmed with the Select Context Command, and the Select Context variable will show when this has happened, and the next selection will be of the context instead of the menu item itself. Any menu selection, in either mode will clear the Select Context mode, as will any refresh of the menu.

Audio

NOTE: When an MBX-PRE is placed in ‘Source’ mode, all volume control is disabled, volume for the room will be controlled by the MCA.

The audio control of the system is primarily through volume and mute commands, but control of Treble, Bass, and Balance are included as well. All the audio controls have up and down commands, as well as direct level control so control can be through nudge buttons, sliders, or buttons with fixed volume levels. Volume range is from 0 to 100 in steps of 2. The ‘tone’ and balance commands range from -10 to 10. The balance command variable is an integer variable that is automatically formatted to show Left 10, through 0, to Right 10. That can be defeated or altered by editing the String Index in the Button Properties.
The MBX devices have analog and digital external inputs which can be selected either from the browse menu, or by using discrete ‘Device Input Selection’ commands. Boolean variables also exist to display when either of those are chosen, and driver events allow you to have the UI change to the appropriate page when the selection of those inputs happen, regardless of how the switch happens.

UI Elements

The Russound device, and its app, are very ‘stateful’ devices, with clearly delimited ‘screens’ that become active and block operation of other elements of the UI. The driver lets you bypass most of that but there are several instances where knowing which of those different screens is active can be very useful: It can help you fit your UI on a smaller screen with less crowding, and it can create a more ‘dynamic’ UI. It also is the way the driver tells you that the device wants to gather information, or display extra information to the user. These pages all have their own variables, and also events when the UI ‘switches’ to a specific page.

The UI pages are:

The Menu Screen: When the Menu Screen is active the system is expecting a browse action. You can use this screens variable to show a screen which is normally hidden. Once a selection is made, the system general switches to the Now Playing screen

The Now Playing Screen: You can max out the metadata when this page is active, no input is expected. It’s kind of the ‘default’ UI state.

The Info Screen: This state tells you that some information needs to be displayed to the user, it is essentially a dialog. You can create a generic dialog and use the boolean for this screen as the visibility variable. The Source Info Screen variables will be filled with the information to display. They contain four lines of text and the labels for two buttons to exit the Info Screen. One will be the OK button the other will be the Back, or Return, button. If you continuously show the menu information, the Info Screen data will be displayed in the list, as well as the two choices for exiting the state and return to the Now Playing state.

The Text Entry Screen: The MBX allows extensive user input, and driver commands for an extensive keyboard are included. The Text Entry Screen variable should be used to make your keyboard visible, or the Text Entry Event can be used to switch to your keyboard page, where data can be entered. A Keyboard data variable shows data as you type. Enter, Clear, and other keys commands are found in the Keyboard section in the ‘Other’ Category.

Grouping

NOTE: When an MBX-PRE is placed in ‘Source; mode, all grouping commands are disabled, multiroom audio will be handled by the MCA

Grouping is controlled from the Grouping List and The Grouping Item command. Available items to group with the unit are listed in the list. If the have a plus sign in front of their name they are available to add to your group, if they have a minus, they are already part of a group and selecting them will remove them from the group.

The Grouping Title variable will change based on the players grouping status. If it is part of a group, it will show the ‘Master’ of that group followed by the word ‘group’. If it is not in a group, the title will just show the name of the player.