MLMusica Plugin

From Cinemar Wiki
Jump to: navigation, search

Introduction

Overview

This plugin is designed to control the NetSreams Musica NS-MU5066 House Audio controller. It is a fully integrated 2-Way plugin with advanced features to maximize the utility of the NetStreams system. Installation and Configuration This plug-in is capable of supporting a total of four Netstreams Musica systems attached to a PC serial port or a Global Cache GC100 style serial port. Installation Close the MLServer application.

Start the automated setup program by double clicking on the “mlmusica_plugin_setup.exe” file.

The program will install both the documentation (Full Installation), the plugin only (Compact Installation) or you may choose which components you would like to install (Custom Installation). The automated setup will also register the plugin as a windows component.

Restart the MLServer application.


Deinstallation

You may de-install the plugin via the Add/Delete Programs icon in the Windows control panel.

Configuration

This plug-in must be configured prior to using it in a MainLobby scene.

Restore the MLServer to on screen operation.

Highlight the MLMusica plug-in in MLServer and click on the Settings button to bring up the plug-in configuration screen. You will be presented with a tabbed dialog box of configuration settings with the Event Logger as the default pane selected. (See Figure


The Event Log Tab

This tab is used to collect and view the status of the plug-in while is use. This is a diagnostic feature and is useful during the initial setup of the plug-in. Click on the Start Logging button to enable the display of plug-in events while the plug-in is in use. The Event Logger is used mainly for troubleshooting and initial configuration purposes. It is not recommended to leave logging on during normal operation as this will put undue stress on the automation system. See Figure 1.

Figure 1


The Serial Ports Tab

The Musica Plugin communications are accomplished via an RS-232 serial protocol. The protocol is designed and published by NetStreams. Details can be found in their Systems Integration Guide. To communicate a 9 pin female to 9 pin female cable wired as a null modem (AKA crossover cable) will be required.

The screen shot below shows the typical serial port configuration needed for the Musica System. There is a separate section for each Musica unit. Each unit should be numbered sequentially from 1 to 4. If there is no unit attached to the serial port then set the System number to the default value of N/A. See Figure 2.

Figure 2


The Global Cache Tab

As an alternative to connecting the Musica directly via a standard serial cable, you can also use a Global Cache Unit to extend or add serial ports to the system. The screen shot below shows the Global Cache configuration screen. Again there is a separate section for each Musica system, and they should be numbered sequentially from 1 to 4. If there is no unit attached to the Global Cache serial port then set the system number to the default value of N/A. See Figure 3.

Figure 3


The Plugin Options Tab

This is simply a place to configure the variable name prefix for variables created by the MLMusica plugin. You can use whichever name you choose here, but Musica_ is a good choice. See Figure 4.


Figure 4


The Zone Triggers Tabs

The zone triggers are used to generate event based triggers for Power On, Power Off, and Source Change events in each zone, and for each Musica controller. This will allow you to build macros (AKA Mapped Commands in MLServer) and other commands to execute when these events occur. The picture below illustrates a typical configuration for a single controller system. See Figure 5.


Figure 5


The Source Options Tab

Source options are used for setting the source component names for devices that are input to the Musica system as well as setting volume limits for zones where full volume control is not desirable. A typical setup is shown below. See Figure 6.


Figure 5

ML Server Two-Way Support

The MLMusica plugin generates many useful variables that can be used to populate Main Lobby scenes. If you are familiar with the Musica system, they should be self explanatory and include the following. They are also reproduced for each zone.


Variable Name Description Range

Zone Variables

musica_1_z1volume Volume Level 1 to 35

musica_1_z1mute Volume Mute 0=Off, 1=On

musica_1_z1balance Left Right Audio Balance 1 to 15

musica_1_z1bass Bass Level 2 to 14 (note: adjusts in .5 increments, updates every other push)

musica_1_z1treble Treble Level 2 to 14 (note: adjusts in .5 increments, updates every other push)

musica_1_z1loudness Loudness Effect 0=Off, 1=On

musica_1_z1amp Amplifier Selection 0=Internal, 1=Internal + External, 2=Varaible External, 3=Fixed External

musica_1_z1input Current Source 1-4, External, FM, or depends on alias setup

musica_1_z1lock Menu Lock 0=Unlocked, 1=Locked

musica_1_z1spkrimpedance Speaker Impedance Setting 0=4 Ohm, 1=6Ohm, 2=8Ohm

Keypad Variables

musica_1_z1backlight Backlight Color 0=White, 1=Blue

musica_1_z1bali Backlight Brightness 1 to 8

FM Tuner Variables

musica_1_z1freq FM Tuned Frequency FM Frequency in MHz

musica_1_z1mode Tuning Mode Manual, Search, Scan, Preset

musica_1_z1preset Tuning Preset # Displays preset # (if any) of currently tuned channel

musica_1_z1signallevel FM Signal Strength Readout Poor, Low, Good, Excellent

musica_1_z1signalstrength FM Signal Strength Readout 0-100

musica_1_z1stereo Station Type Stereo/Mono

musica_1_z1emphasis See Musica User Manual 50 uS, 75uS

musica_1_z1sensitivity See Musica User Manual Low, Middle, High

musica_1_z1spacing See Musica User Manual 50 kHz, 100 kHz, 200 kHz Mystery Variables

musica_1_z1unknown Mystery Value 1 Undocumented

musica_1_z1unknown2 Mystery Value 2 Undocumented


Supported Commands

Basic Command Syntax

MLServeCmd.MLMusica|Command~Z~S~B~D

Where:

Z=Zone (1-6; 0 for All Zones)

S=Source (1,2,3,4,FM,Ext)

B=Button Pressed (1-10)

D=Device# (1-4)

P=Preset# (0-9)

M=Menu#

Note: When only 1 Musica Device is in your configuration, the Device # is optional and will default to device #1 if left empty.

ML Server Command:

Command~Parameter~D

Where

Command = (Power, Vol, Mute, Source, Bass, Treble, Balance, Loudness, Preset, Freq, Mode, Press, Hold, Lock, Outlet, Send)

Where z = 1, 2 or 3

x = 1 or 2

n = A or B

D = Device number (1..4) (Optional)

Example:

MLMusica|Source~1~1

Sending Subscription Commands

ML Server Command:

MLServeCmd.MLMusica|Init~D

Where

D = Device number (1..4) required


Event subscription is used to subscribe to data event / status feedback. The plugin automatically subscribes to the requisite data sets when it is initialized, so this command is only needed to subscribe to these data sets if after the Musica system has been restarted it is not convenient to restart MLServer.


Sending Power Commands

ML Server Command:

MLServeCmd.MLMusica|Power~Z~Off~D

Where

Z = Zone number (1..6) Required

D = Device number (1..4; 0 for All) optional

Note: There is no power on command in the Musica System. Zone power will be applied automatically when a Source selection is made and the power is off

Sending Volume Commands

ML Server Command: MLServeCmd.MLMusica|Vol~Z~Up/Down~D MLServeCmd.MLMusica|Vol~Z~###~D

Where

Z = Zone number (1..6; 0 for All) required

      1. = Direct volume setting (1-35) required

D = Device number (1..4) optional

Set volume up 1, down 1 or to an absolute value

ML Server Command:

MLServeCmd.MLMusica|Mute~Z~On/Off~D

Where

Z = Zone number (1...6; 0 for All) required

D = Device number (1..4) optional

Sending Input Source Commands

ML Server Command:

MLServeCmd.MLMusica|Source~Z~S/Up/Down~D

Where

Z = Zone number (1..6) required

S = Source Input Number (1..6) required

Ext=5; FM=6

D = Device number (1..4) optional


Note: There is no power on command in the Musica System. Zone power will be applied automatically when a Source selection is made and the power is off


Sending Audio Parameter Change Commands

Bass

ML Server Command:

MLServeCmd.MLMusica|Bass~Z~Up/Down~D

MLServeCmd.MLMusica|Bass~Z~###~D

Where

Z = Zone number (1..6) required

      1. = Direct setting required (2..14)

D = Device number (1..4) optional

Treble

ML Server Command:

MLServeCmd.MLMusica|Treble~Z~Up/Down~D

MLServeCmd.MLMusica|Treble~Z~###~D

Where

Z = Zone number (1..6) required

      1. = Direct setting required (2..14)

D = Device number (1..4) optional

Balance

ML Server Command:

MLServeCmd.MLMusica|Balance~Z~Up/Down~D

MLServeCmd.MLMusica|Balance~Z~###~D

Where

Z = Zone number (1..6) required

      1. = Direct setting required (1..15)

15=Max Left, 01=Max Right, 8=Centered

D = Device number (1..4) optional

Loudness

ML Server Command:

MLServeCmd.MLMusica|Loudness~Z~On/Off~D

Where

Z = Zone number (1..6; 0 for All) required

D = Device number (1..4) optional

Sending Tuner Control Commands

Set/Recall Presets

ML Server Command:

MLServeCmd.MLMusica|Preset~Set~Z~P~D (Sets Recalls Preset P)

MLServeCmd.MLMusica|Preset~Z~P~D (Recalls Sets Preset P)

Where

Z = Zone number (1..6; 0 for All) required

P = Preset # (1…8) required

D = Device number (1..4) optional

Radio Frequency Control / Set

ML Server Command:

MLServeCmd.MLMusica|Freq~ Set~Z~Up/Down~D (Increments/Decrements according to Mode control)

For Manual Mode: Up / Down Freq 2 tenths

For SEarch Mode: Up / Down to next received station and hold

For SCan Mode: Up / Down to next received station pauses, then scans to next station until send Stop

MLServeCmd.MLMusica|Freq~ Set~Z~#####~D

Where

Z = Zone number (1..6; 0 for All) required

          1. = Frequency # required (Where Freq is 9330 for 93.3 MHz and 10530 for 105.3 MHz)

D = Device number (1..4) optional


Radio Tuning Mode Control / Set

ML Server Command:

MLServeCmd.MLMusica|Mode~Z~Up/Down/Mode~D

Where

Z = Zone number (1..6; 0 for All) required

Mode = 1 for Search, 2 for Scan, 3 for Preset and 40 for Manual

D = Device number (1..4) optional Sending Simulated Keypress Commands

Simulate Keypad Button Press

ML Server Command:

MLServeCmd.MLMusica|Press~S~K~D

Where

S = Source number (1..6) required

K = Keypad Button # required

D = Device number (1..4) optional

K MAPS TO MUSICA KEYPAD NUMBER

1 1

2 9

3 2

4 3

5 n/a

6 4

7 7

8 n/a

9 8

10 5

11 10

12 6

Simulate Keypad Button Press and Hold

ML Server Command: (not tested)

MLServeCmd.MLMusica|Hold~S~K~D

Where

S = Source number (1..6) required

K = Keypad Button # required

D = Device number (1..4) optional


Lock Keypad Menu

ML Server Command:

MLServeCmd.MLMusica|Lock~Z~On/Off~D

Where

Z = Zone number (1..6; 0 for All) required

D = Device number (1..4) optional

Sending Switched Outlet Commands

Turn Switched Outlet On/Off (Not Working)

ML Server Command:

MLServeCmd.MLMusica|Outlet~On/Off~D

Where

D = Device number (1..4) optional



Troubleshooting

Problem Description Possible resolution No response from plug-in, plug-in “Help” button, or plug-in “Settings” button.

1. Ensure the plug-in resides in the MLServer/plugins directory.

2. De-Install and Re-Install the plug-in from the original setup.exe file. All settings will be maintained.


Plug-in variables do not appear to be set. Check “Plugin Options” tab.

1. Ensure Variable name is entered as expected.