NBX100 Control4 driver setup:
NBX100 is a multi channel streaming product, so you will use up to 8 instances of the NBX ipod proxy driver (1 per channel).
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 NBX100, 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 NBX, 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.
Driver architecture:
The recommended driver setup for NBX100 for Control 4 is:
Squeezebox will have 1-3 dedicated players, each with its own Squeezebox only driver. These will be fixed channels/outputs 1-3.
Bonjour / DLNA streaming uses "room mode" publishing and 3 to 5 simultaneous audio streams. 3-5 NBX drivers will be dedicated to mobile streaming (no squeezebox). These will be dynamic assignment (not fixed) to the next 3-5 audio outputs.
Driver setup:
The NBX ipod proxy driver will automatically be added to your project when you double click on the NBX from the available devices list. You can also add the driver manually if you prefer.
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.
Output channel should always be set to the physical audio output number (1-8) on NBX100.
Virtual channel should always be set to false on NBX100.
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 MAC address MUST be entered in lower case.
List select options
Default : Selected music will play immediately
Playlist insert: Selected music is inserted in the playlist after the current song
Playlist add: Selected music is added to the end of the current playlist
Now we need to configure the NBX using its own web interface. Connect to NBX by typing the IP address into any web browser. You can find the IP addresses of NBX 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: The first 1-3 channels will be squeezebox. Set them up with "enabled", "squeeze", and "fixed" set. The rest of the channels are available for normal "Room mode" setup. Refer to these instructions for more details. These mobile streaming should be setup with "fixed" OFF, "squeeze" OFF, and make sure outputs 1-8 are all set in the output mux.
Renderer volume config: For NBX, if you are using "Remote volume forwarding" or "No volume" modes, check the "check to use optional output volume" box and set Outputs 1-8 default volume to 100. If you are using "Source volume", then nothing should be changed on this page.
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 NBX, config it on this page. The NBX driver exposes the annoucement engine commands to director programming.
After making all these changes, we need to REBOOT NBX100. 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 NBX100 this code must be added on EACH of the network streaming drivers (normally 3 to 5 of them). The squeezebox only drivers do not require any director code.
Publishing: "Source mode" does not require any Director code. "Room mode" requires the following.
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.
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 :
If the
ROOM_y source is RENDER_SOURCE_x, then turn off room
Volume: "No volume" and "Source volume" modes do not require any Director code. "Remote volume forwarding" requires the following.
You need to add code to the Network volume event. This code copies the remote volume to the selected room zone volume whenever the remote volume changes. NetworkEventVol and Network_stream_Y are device variables on the NBX. (Note that remote volume forwarding only works for NBX if using "Room mode" for publishing)
NetworkEventVOL event:
If room->NBX->Network_stream_Y
EQUAL to x (where x is the virtual channel for that room, Y is the output
channel number)
Set the room
endpoint AMP volume level = value of NetworkVOL variable