Network 
renderer setup instructions
Note:  Most of the algorithms and methodolgy described here 
is Patent Pending or Patent Protected.
Playback to NAB/NBX audio renderers
Playback using generic RTSP/RTP PCM audio
	- 
	Some devices support Bonjour based RTP streaming natively.  On these 
	devices, streaming selection is available in all apps.
- 
	On other devices you can select an application which supports mDNS/Bonjour
- 
	Run the app and go to speaker selection  (all speakers will 
	automatically be located on the network)
- 
	Select the output you wish to play audio on.  Assuming you have 
	configured the device (below), these will usually be the room or rooms you 
	want to send audio to.
- 
	Play your audio from any other app.  All audio on the device will be 
	routed to the requested room speakers.
- 
	Select another network speaker (or speakers) whenever you want.
- 
	Select "Internal speaker" to totally disable network streaming
	
 Playback using DLNA streaming
	- 
	Make sure you have Upnp publishing enabled on NBX/NAB
- 
	Enter any DLNA remote control application (smart phones, TVs, etc)
- 
	The virtual DLNA renderers (speakers) will be automatically detected
- 
	Select the output you wish to play audio on.  Assuming you have 
	configured the device (below), these will usually be the room or rooms you 
	want to send audio to.
- 
	The DLNA remote control will also show you all the available audio sources 
	you can play.  Select a source to start audio.
- 
	Select another network speaker (or speakers) whenever you want.
Playback using Logitech Media / Squeezebox streaming
	- 
	Make sure you have Squeeze publishing enabled on NBX/NAB
- 
	If do not already have a Logitech Media Server on your network, enable the 
	local server on NBX/NAB general config page and reboot
- 
	The virtual SqueezeBox renderers (speakers) will be automatically attached 
	to the first LMS server on the network
- 
	If you have more than one LMS server, enter the desired server in the LMS 
	config page.  Speakers may also be dynamically moved between servers 
	using iPeng or other apps
- 
	Playback is controlled via LMS apps (iPeng, etc) or the LMS web server on 
	port 9000.  Select a source to start audio.
- 
	Select another network speaker (or speakers) whenever you want.
Since NAB/NBX can automatically control attached matrixes the 
end user does not have to go through another step of using a control system 
remote or program to route the audio from the player to the speakers.  It 
is all done in ONE STEP directly on the users smart phone / tablet. 
NAB/NBX also keeps the 3rd party control system in sync and aware of 
the audio routing that was done (so that other programming can be added if 
needed).
Setup for NAB/NBX audio renderers
NBX/NAB supports configurable multichannel rendering.  To 
setup your device, enter the NAB/NBX IP address into a web browser.  From 
the main page, select "renderer channel config".
The config screen will look like the below.
      
      
      
	| Name | Enabled | Type | Fixed | Output mux | Connect | Disconnect | Assigned |  | 
      
	|  |  | Bonjour | Upnp | Squeeze | channel | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | command | command | channel |  | 
  
Each row corresponds to 1 of 48 configurable network audio renderers.  
NBX/NAB can "publish" up to 48 virtual renderer devices to the network.  
Audio servers and control points will see all these published devices as valid 
"speakers" they can connect to.
When a network server connects to one of the virtual channels, the following 
sequence takes place:
	- NAB/NBX assigns the active connections to one of 8 internal renderers (1 
	renderer on NBX010).  
	This assignment is either fixed or dynamic based on the user config.  
	Fixed assignments always use the same given channel for a virtual device.  
	Dynamic assignment will select the first unused channel and assign it to the 
	virtual device only while the audio stream is active.
- On NBX, the assigned channel is a direct output of the device (channel X 
	is audio out X, etc).
- On NAB, the assigned channel is the numbered network audio input to the 
	CMXA2 matrix (channel X is CMX input 38+X).
- Next, on NAB the Output Mux settings for the virtual device are applied.  
	CMX will switch all outputs defined in the Output Mux for this virtual 
	device to the new assigned network audio channel.  These commands are 
	echoed via Ethernet to keep any control system in sync.
- Finally, the Connect Command is executed.  The disconnect command 
	is a configurable notification send via Ethernet and RS232.  This can 
	be used to control external matrix or power amps and for synchronization 
	with a control system.
When a network server disconnects from one of the virtual channels, the 
following sequence takes place:
	- NAB/NBX removes the channel assignment is using dynamic assignment on 
	this virtual device.
- On NAB, NAB will disconnect all CMX matrix outputs that were switched to 
	this input.  These commands are echoed via Ethernet to keep any control 
	system in sync.
- NAB/NBX executes the Disconnect Command.  The disconnect command is 
	a configurable notification send via Ethernet and RS232.  This can be 
	used to control external matrix or power amps and for synchronization with a 
	control system.
The configuration shown above is the default configuration for NBX100.  
It exposes the 8 audio outputs directly via 8 fixed virtual devices.  
Dynamic assignment can be done on NBX, but in most cases the default config will 
be preferred.
The default configuration for NAB100 is quite different.  It exposes 17 
virtual devices using all dynamic assignment.  The first 16 devices are 
used as direct selection for each of the 16 output groups (out 1 
analog/coax/toslink, out 2 etc).  Device 17 is a group that allows direct 
selection to all output zones.  You may want to add additional virtual 
devices for diferent groupings, such as "Main floor" etc.  The dynamic 
assignment allows NAB to automatically utilize all 8 renderers as needed to 
stream 8 different audio streams to any combination of matrix outputs.
The details on each column data:
	- Name:  Configurable name for the virtual device.  This is the 
	name the user will see and select from.
- Enabled:  If set, this virtual device will be "published" to the 
	network.
- Type - Bonjour:  If set, the device will be published via 
	mDNS/Bonjour  (used by many smart phones) 
- Type - Upnp:  If set, the device will be published via Upnp  
	(used by DLNA mostly)
- Type - Squeeze:  If set, the device will be published as a virtual 
	SqueezeBox speaker
- Fixed Channel:  If set, fixed assignment will be used for this 
	device (otherwise it will be dynamic).  You cannot have more than 8 
	fixed assignments
- Output Mux:  Each box corresponds to the output number on CMXA2 (38 
	total outputs, analog 1-16, coax 17-32, optical 33-38).  All the 
	outputs selected on the device will automatically switch when a connection 
	is made.
- Connect Command:  The connect command is a configurable 
	notification send via Ethernet and RS232.  This can be used to control 
	external matrix or power amps and for synchronization with a control system.
- Disconnect Command:  The disconnect command is a configurable 
	notification send via Ethernet and RS232.  This can be used to control 
	external matrix or power amps and for synchronization with a control system.
- Assigned Channel:  This is a read only value which tells you the 
	current channel assignment.  If a channel is fixed assignment, these 
	will not change.
The connect and disconnect commands use a printf style format.  The 
first assigned integer parameter is the assigned channel.