NAB100 Control4 driver setup:

NAB100 is a multi channel streaming product integrated inside a DSP matrix switch.  You will use many instances of the NBX ipod proxy driver PLUS the CMX-A2 matrix driver.

First, you need to decide how you will use the two enhanced user interface features of NetPlay audio.

Publishing mode: 

Mobile streaming renderers normally publish themselves as a single device or virtual speaker.  When you try to connect from your phone, you can select the device to play to.  Then you switch to your Control4 remote to actually select that device as the source for your room and turn on the amps/etc.  This is the default publishing mode known as "source mode".

NetPlay Audio offers a patent pending enhanced publishing mode known as "room mode".  This mode allows you to publish channels for every zoned audio room and/or groups of rooms in the house.  This allows the user to simply select the room to play to directly on the mobile device.  The Control4 source selection and turn-on/off happens automatically.  This mode provides a much better user experience, but takes more setup for the installer.

Note that with NAB100, the whole family can stream different audio to different rooms simultaneously.

Volume mode:

Most mobile apps allow volume control.  However, integrating this "remote" volume with the Control4 room endpoint volume can be done different ways.  NetPlay audio provides three different modes.

"Source volume" is the default mode and also how most mobile streaming renderers work.  In this mode, the remote volume is applied to the signal before it is output from NAB (to CMX-A2), effectively making it a source volume control.  The users C4 remotes and touch panels would then control the room endpoint volume, and the total effective volume is (remote_vol * room_vol).  Even though this is how most devices work today, we think this is confusing and don't recommend using this mode in Control4.

"No volume" mode simply allows you to disable/ignore the remote volume control.  This is easy to setup (no director code) easy for the customer to understand, but does mean they need to switch from the phone to the C4 remote to change the volume.

"Remote volume forwarding" is a Video Storm enchanced mode that applies the remote volume control directly to the Control4 room volume endpoint.  This allows the customer to control volume directly using any device.  This enhancement does require a little Directory code to setup.  Note that with NAB/CMX-A2 the room volume endpoint may be the CMX switch for some zones and external devices on other zones (like surround sound receivers).  We have controls for this.

Driver architecture:

The recommended driver setup for NAB100/CMX-A2 for Control 4 is:

Note:  There are other ways to setup NAB/CMX-A2 by using fixed channels for squeezebox connected to the physical network inputs, but in our experience means the user needs to choose between them manually (which is avoided in the recommended approach).

Driver setup:

The CMX-A2 avswitch driver will automatically be added to your project when you double click on the NAB from the available devices list.  This should also automatically bind the control port of this driver to the NAB uuid.

The NBX ipod proxy drivers need to be manually added for each virtual and physical input used. 

The NBX driver has 2 connections listed.  The first connection is the control port and should always be tied to the UUID of the device.  You can just drag/drop from the right panel onto this connection.  The second connection is the LMS server port.  If you are using the internal LMS (squeezebox) server on NBX simply connect this port to the SAME UUID.  If you are using an external LMS server (PC/NAS/etc) you can enter its IP address here instead.  If you are not using LMS (squeezebox), leave the second connection unconnected.

Next, go to system design and properties of the NBX driver.

Virtual channel should be set to true for drivers hooked up to a virtual network input on CMX-A2.  It should be set to false for drivers hooked up to physical network inputs on CMX-A2.  In our recommended setup everything will be virtual.

Output channel should be set to either the virtual audio input number (1-48) or the physical audio input number (1-8).

If you are using Squeezeplayer on this channel, enter the MAC address of the NBX100 player here.  The MAC address will be the last part of the UUID, but be sure to enter the ":"s like above.  The first squeezeplayer will have a MAC address = UUID.  The second player will be UUID+1, the third UUID +2, etc.  The order of the MAC addresses follows the order of the renderer channels.  Another method to find the correct MAC address of the player on this virtual or physical channel is to use the LMS server to start playing audio to this channel.  The MAC address will be in the "Current Player" field while the audio is playing.  The MAC address MUST be entered in lower case.

List select options

  1. Default : Selected music will play immediately

  2. Playlist insert:  Selected music is inserted in the playlist after the current song

  3. Playlist add:  Selected music is added to the end of the current playlist

Now we need to configure the NAB using its own web interface.  Connect to NAB by typing the IP address into any web browser.  You can find the IP addresses of NAB using the MAC address in your routers DHCP table.  Alternately, you can use a Upnp or Bonjour browser app on your smartphone to locate it. 

The next sections refer to the config pages located at the root index.php.

General config:  Normally no changes needed here.  If you do not plan to use LMS, you will need to set the "Logitech Media Server" to OFF.  Note that "Pandora" should always be set to OFF.  The Pandora player is part of squeezebox so we do not need the standalone player.

Renderer config:  In our recommended setup, you will use "room mode" and all your channels will be virtual with dynamic mapping.  Refer to these instructions for more details.  All channels should be setup with:  "fixed"=false, "Output mux" = rooms this channel will play to, "Bonjour","Upnp", "Squeeze" each = true if used else false.

Renderer volume config:  If you are using "Source volume", then nothing should be changed on this page.  If you are using "Remote volume forwarding" or "No volume" modes, check the "check to use optional output volume" box.  In "No volume mode", set the "bypass vol" field on all outputs and you are done.  For "Remote volume forwarding mode", set the "bypass vol" field only on the outputs which the volume control endpoint is NOT CMX-A2.  All zones should leave default volume at 192.

Renderer LMS config:  If you have more than one enabled LMS server on the network, you will need to enter the IP address of the server to connect to here.  However, this is very rare so most people don't need to change anything here.

Announcement service config:  If you want to use the announcement engine on NAB, config it on this page.  The CMX-A2 driver exposes the annoucement engine commands to director programming.  They are also on the NBX driver, but use only the commands on CMX-A2 when using NAB.

After making all these changes, we need to REBOOT NAB100.  This is NOT done by power cycling.  Go to the "manual control" page and click on the REBOOT button there.

Finally, it's time to go back to Composer and add the required Director programming.  NetPlay provides all the hooks for an enhanced customer interface, but there is some support code needed in Director.

NOTE that on NAB100 this code will be added to the CMX-A2 driver, NOT the NBX drivers!!

Publishing:  The following code is required for the recommended configuration.

For each of your published rooms (mobile streaming channels), you need to add code to 2 events.  These events translate the remote room/channel selections to the room selection variables in Control4.  Note that these selections must match the way you setup your renderer config output mux!

NetworkEventNCONx :
        Select RENDER_SOURCE_x as the audio source in ROOM_y
        (if virtual channel x connects to more than one room, additional lines here)
        (also can set amp volume if desired, else it will go to room default)
NetworkEventNDCNx :
        Disconnect the audio source in ROOM_y

Volume:  "No volume" and "Source volume" modes do not require any Director code.  "Remote volume forwarding" requires the following.

Code is only required on zones that do NOT use the CMX-A2 as the volume endpoint (zones with "bypass vol" in the web setup).  All the following code for each of these zones.

You need to add code to the Output X volume level change event.  This code copies the remote volume to the selected room zone volume whenever the remote volume changes. 

Output X volume level change event:
Set the room endpoint AMP volume level = value of CMX=>OUTPUT_Y_VOLUME_LEVEL

X is the physical output connected to that room.  Y is the output level variable for that output, but the number format of Y is a little strange. 
(Output 1 = 01, Output 2 = 11, Output 3 = 21, Output 17 = 161, etc)