ControlMatrix Devices
Purpose
ControlMatrix is a MediaMatrix add-on product that provides MediaMatrix with all the capabilities of serving as a large-scale audio and visual paging system. We won't go into a great level of detail here on how it all works. The goal of this topic is to teach you how to use the ControlMatrix devices for MWare. These devices are only needed if you are constructing a view file for use with a ControlMatrix system. The devices themselves won't function as a paging system without the necessary ControlMatrix hardware. With that said, you can read all available documents about ControlMatrix, including spec sheets, manuals, etc. on the ControlMatrix Resources Page.
These devices were designed to make it easy for you, the view file designer to construct a view file for use with ControlMatrix. In going through the process of adding devices, it may not seem that easy, but there are reasons for things to be the way they are. The device set provided here is really the fifth or sixth generation of devices. The first version was just a template view file that you had to start with. Since that was quite inflexible, a large all-in-one device was created. But this proved inflexible as well, since you couldn't scale it down to fit the size of the project. These latest devices break most of the functions into separate blocks which can be spread out and placed as needed into any view file. As we at Peavey get more experience with ControlMatrix View File design, we have tweaked the ControlMatrix device set into a set of devices that make sense and can be expanded easily with project growth.
First we will cover the different device types and how they function, then we'll show you how to construct a simple view file with them. Finally, we will provide a checklist of "gotchas" that must be avoided as well as tips for successful implementation.
ControlMatrix Device Types
Input Blocks

These Input Blocks are used to get control of audio from the ControlMatrix system. These shouldn't be confused with the green audio Input Blocks that are used to bring virtual audio into the view file itself. The difference here is that we are inputting the audio into the whole set of ControlMatrix devices. Audio from each PCU paging station, Telephone Paging Units, background sources and local room inputs are all supposed to be fed to the Input Blocks. Audio that is not supposed to be controlled by ControlMatrix should not be wired to these input blocks (e.g. ambient sense microphones, etc.). The labels you see are not for you to modify directly. They are updated automatically from the Setup program on the Q-Host. When you change the input labels in the Setup program and restart the servers, these labels will be updated.
Output Blocks

There are three types of Output Blocks. The selection of Output Block will depend on the hardware you are using. You need to place enough Output Blocks to cover the amount of separate paging zones in the system. In most cases, you will use only Standard Output Blocks.
TPU devices are used to send recorded audio prompts to the external Telephone Paging Units (also known as Telephone Paging Interfaces).
If you are using SVC2 wall-mounted controllers, you must use an SVC2 Block in place of a standard block. In this case, you have the option of having up to ten SVC2 zones (with more than ten SVC2s) in your file. The difference between a standard zone and an SVC2 zone is that SVC2 zones have four separate outputs, which correspond with the four separate BGM sources available to each SVC2 zone (Standard Zones only have one BGM selection). For each count of SVC2 zones (up to ten), there is a separate device tailored exclusively to that combination of SVC2 zones to standard zones. If this makes no sense to you, have no fear -- when you see the procedure, it will become clear.
You cannot have SVC2 and standard Output Blocks using the same zone numbers in the same file. For example, if you are using SVC2 zones 1-5 (which also includes standard zones 6-8), you cannot also place a Standard Zone Block 1-8 into the file. You can use standard zones starting with the next unused group of 8 zones, however.
The Zone Labels you see are not for you to modify. They are automatically updated from the Setup program on the Q-Host. When you change the output labels in the Setup program and restart the servers, these labels will be updated.
ControlMatrix Logic

This device is required once in every ControlMatrix view file. It contains various logic and SubPreset functions necessary for the Q-Host of the ControlMatrix system to communicate with the frame. These presets are automatically saved and recalled while the system is operational. Since controls from the Input Blocks and both SVC2 and Standard Output Blocks have to be within the Logic Block's SubPreset device's scope, there are special "Copy Blocks" that must be copied into the logic block prior to compilation. Spaces are provided in the Logic device for all copy blocks to make it easier to verify you've copied everything that you should.
MessageNet Blocks

MessageNet Blocks are the devices that enable the ControlMatrix system to playback recorded audio like delayed pages, canned announcements and telephone paging prompts. The other half of the device is responsible for sending live audio to the S560 MessageNet card for recording. You only need these devices if you have at least one S560 MessageNet card in your system. Up to four cards can be used in one ControlMatrix "head-end". If you didn't know, each card is capable of recording four channels of 48kHz audio simultaneously and playing back eight channels of 48kHz audio simultaneously. These devices have Bundle displays that aren't supposed to be changed within MWare. When you set up S560 cards on the Q-Host, there are a couple of fields to enter the Transmit Bundle and Receive bundle for that card (see screen shot below). Whatever settings you enter there are shown in the MessageNet blocks once the view file is compiled and the ControlMatrix servers are started or restarted. The official ControlMatrix standard is that Transmits are on Bundles 3001-3004 and Receives are Bundles 3011-3014.

Screen shot of the S560 MessageNet CobraNet
settings from ControlMatrix Setup on the Q-Host.
The values that appear on the MessageNet Input and Output devices should be manually typed into the Bundle control within the green and orange CobraNet blocks that the MessageNet Blocks are wired to.
Note that for these CobraNet I/O blocks, there are no associated CAB ("Taxi") Devices. In this case, the S560 MessageNet cards take the place of CABs and are controlled from the ControlMatrix software and not MWare.
ControlMatrix CAB Devices

These devices serve the same function as standard CAB ("Taxi") Devices in a ControlMatrix View File. Please see the CAB Topics for information on how to use these devices. These devices have all of the same features of standard CAB devices, except they already have their serial bridging settings Control Grouped to work with the ControlMatrix system. This serial bridging is a technology of CobraNet that allows compatible devices to transmit serial data between them. In a ControlMatrix system, PCU paging stations, SVC and SCP wall panels send and receive their data to a nearby CAB's RS-485 port. These CAB devices configure the destination of that data to be the CobraNet NIC on the Q-Host. All of this happens behind the scenes. You only need to have these devices in your view file for this to work.
Unless you know you should use another CAB Network, you should always use only CAB devices from CAB Network 1. The other networks require additional hardware and would only be used when more than 253 ControlMatrix devices are to be configured from one head-end. Instructions for using additional 485 networks can be found in the Advanced Topics section of the ControlMatrix User's Guide which can be downloaded here.
ControlMatrix View File Design Procedure
This is an example procedure. There are certainly some restrictions in the combination of devices that must be used, but as with all lessons in MediaMatrix, there are always more than one way to achieve similar performance. When you understand the functionality of the various ControlMatrix devices, you will most likely find a method that works best for you.
Here are the basic requirements for this example view file:
1 PCU2
10 PCU3
1 TPU2
4 SVC2 panels in 2 SVC2 Zones (2 each)
2 SCP2 (just like local audio, but with remote control)
4 User Inputs (Local audio returned from the zone)
1 S560 MessageNet card
16 Total Zones
Your requirements are almost certainly different than these, but we are trying to show you a mixture of different devices in the ControlMatrix design.
Add the
first 3 ControlMatrix Input Devices.
Place enough Input Blocks in the view file to handle the audio from
the various input devices (PCUs, TPUs, User Inputs, SCP and background
inputs). In
our example, this count miraculously adds up to 19 (1 (PCU2) + 10 (PCU3s)
+ 2 (TPU2) + 2 (SCP2s) + 4 (User Inputs)). The
simple answer is that you'd need to place the first three Input Blocks
into the file (1-8, 9-16, 17-24).
Add SVC2
Output Block "Zone 1 - 2" and Standard "Zones 9 - 16".
If there are any SVC2 Zones in the project, you must add SVC2 Output
Blocks for those zones. These
aren't different devices. In
our example, we have 4 SVC2 Zones, so we need to use the "Zones 1
- 2" SVC2 device. In
this device, the first two zones have four outputs, which are for the
four BGM sources that are sent to each SVC2 zone. The
remainder of the zone outputs are standard, meaning that they only have
one output node.
So, after we've placed the SVC2 "Zones 1 - 2" device (which
also includes Standard Zones 3-8), we have to place Standard Output Blocks
for the rest of the zones. In
our example, we have 16 total zones, so we still need to add the "Zones
9 - 16" device from the Standard category.
FYI, since you can use up to 10 SVC2 zones, there are also a couple
of SVC2 devices in a nearby category for instances where you need a ninth
or ninth and tenth SVC2 zone.
Add two
TPU Output Devices to the file.
Add any TPU Outputs necessary for the total number of telephone paging
ports. The
maximum number of ports per head-end is 16. For
this example, we are using a TPU2, which has two telephone ports and therefore
two audio ports for audio I/O. So
we need two TPU Output Devices in the example file.
Add "MessageNet
1" devices to the view file.
Add MessageNet devices for each S560 card in your system. In
this example, we only have one card in the system. We
only have to add one set of MessageNet devices.
Add "ControlMatrix
Logic" device.
Add ControlMatrix Logic device to the file. You
will have to copy controls from the input and output blocks into this
logic block for the file to work properly. We
will do that now.
Copy Input
Copy Blocks into the ControlMatrix Logic block.
Open each input block and copy each "Input Copy Block..."
to the main window. Open
the ControlMatrix Logic block and the "Input/Output Level Blocks"
block. There,
you will see a teal block called Input Level Blocks. Open
that. Cut
and paste those Copy Blocks from the main window into the appropriate
places in this block. Close
the "Input Level Blocks" block.
Copy Output
Copy Block from SVC2 Zones block to ControlMatrix Logic Block.
Open the SVC2 Zones 1 - 2 device. Copy
the "Output Copy Block 1-8". In
the Input/Output Level Blocks, open "Output Zone Copy Blocks".
Paste "Output
Copy Block 1-8" into the area to the left of the "Output Zones
1-8 ->" bump panel. You
will probably have to carefully line up the Copy Block to appear correctly.
Copy Output
Copy Block from Standard Zones block to ControlMatrix Logic Block.
Open the Standard Zones 9 - 16 block. Copy
the "Output Copy Block 9-16". Back
in the Logic block, paste this block in the proper spot in the "Output
Zone Copy Blocks." Now
you can close both "Output Zone Copy Blocks" and "Input/Output
Level Blocks."
Copy Routing/Ducking
Copy Blocks into the "Routing & Ducking" block.
Open both the Zones 1-8 and Zones 9-16 Output blocks and copy their
Routing/Ducking Copy Blocks one-at-a-time to the Routing & Ducking
block within the ControlMatrix Logic block in the proper place. You
may now close all output zone blocks and the Logic block.
Straighten
up the devices in this way: Make input and output columns of blocks. Inputs
should be in this vertical order (top to bottom): Input Block 1 - 8, Input
Block 9 - 16, Input Blocks 17 - 24, MessageNet Input 1. You
may wish to put them in the general location (not precise) and use CTRL-L
to Pack Left.
Outputs should be in this vertical order: SVC2 Zones 1 - 2, TPU1, TPU2,
Standard Zones 9 - 16, MessageNet Output 1.
Add CobraNet
Audio Blocks.
Place CobraNet Interface 1A - 1D audio blocks into the view file. Move
the green inputs to the left of the ControlMatrix Input Blocks and the
MessageNet Input block. Move
the orange output blocks to the right of the output zone blocks. Wire
the devices in the obvious way. On
the outputs, the SVC2 Zones 1 - 2 doesn't have an output node count that
is an exact multiple of eight, so I've used the leftover ports on the
CobraNet 1B Output for the TPU Outputs.
MessageNet Output blocks only have four nodes (because the S560 card
can only record four channels). Since
these audio channels aren't intended for CABs, you should not use the
remainder of the nodes on the CobraNet output block for anything else.
Exceptions
to this exist if you are using the advanced bundle features of the CNII
DSP card and create a four-channel bundle for the MessageNet card. If
not, you can only use the first four nodes on the output block.
Add ControlMatrix
CAB Blocks.
In this example we are using only CAB 8i and CAB 8o units. So
place 3 ControlMatrix CAB 8i devices and 3 ControlMatrix CAB 8o devices
(to match all analog input and output requirements). Remember
that the MessageNet Input and Output blocks and the DSP I/O blocks they
are wired to will go across the CobraNet to the MessageNet cards and not
to CABs.
At this point, you have a complete ControlMatrix View File. When you go through the process of setting up the Setup program on the Q-Host, you will have to enter bundle assignments for the MessageNet card(s). When you finish setup and restart the servers or the Q-Host, those bundle settings will be copied to the Bundle fields on the MessageNet Input and Output blocks (assuming that you've already compiled your view file). Those bundle numbers should be manually entered into the CobraNet Input and Output blocks in order for the MediaMatrix frame and MessageNet cards to communicate properly.
Things to keep in mind
You must make sure that there is a [Cobranet] section in your pa.ini file with a "useDynavar=True" setting. This permits the CABs to transmit and receive RS-485 information across CobraNet. If this entry doesn't exist, add the following (you can copy the text here) to the end of your pa.ini file like this:
[Cobranet]
useDynavar=True
The DefaultUser account must have the "Access the system remotely" privilege selected in order to work properly with ControlMatrix. No other settings are required. If you notice that the Q-Host is quickly connecting and disconnecting repeatedly, this setting is most likely unchecked.

To get the bundles to show up in the MessageNet Bundle fields, you have to compile the view file and then start or restart the ControlMatrix servers on the Q-Host. Only then will the Bundle numbers show up.
The maximum number of ControlMatrix inputs is 144. The maximum number of outputs is 200. This is often confusing to people familiar with the 256x256 limitation of MediaMatrix. The 144x200 limitation only applies to audio that is fed through the ControlMatrix "logic" (not to be confused with the ControlMatrix "Logic" device). The most common example of audio inputs that don't subtract from the 144 inputs is audio from ambient sense microphones. That audio is used to adjust the level of audio coming out of the ControlMatrix Zone Outputs before that audio is sent to the D-A converters.
For the latest information regarding ControlMatrix and any downloadable documentation, software, etc., you can go to the ControlMatrix Resources Page on the web at: http://mm.peavey.com/cm