MLYamaha Plugin

From Cinemar Wiki
Jump to: navigation, search

About

MLYamaha plugin supports many of Yamaha's RS232 receivers. It does not support all Yamaha receivers.

The following paragraphs detail the installation, configuration and usage of the MainLobby / MLServer Yamaha Reciever Plug-In.

Installation and Configuration

The Yamaha receiver should be pluged into an unused PC serial port via a Null Modem cable.

This plug-in is capable of supporting a total of four Yamaha Receiver/Amplifiers attached to a PC serial port or a Global Cache GC100 style serial port.

Installation

Copy the MLYamaha.dll file to the MLServer plug-ins folder. This is typically located in the C:\Program Files\MLServer\Plugins folder. After copying the file to the folder you must register the plug-in with Windows. You may use the following command to register the plug-in:

RegSvr32 “C:\Program Files\MLServer\Plugins\MLYamaha.dll”

Configuration

This plug-in must be configured prior to using it in a Main Lobby scene. Highlight the MLYamaha plug-in in MLServer and click on the Settings button to bring up the Yamaha Receiver/Amplifier plug-in configuration screen. You will be presented with a tabbed dialog box of configuration settings as shown in figure 1.

Registration

Registration

The plug-in installs initially with a 30-day trial period. The plug-in is fully functional during this period. This plug-in must be registered to continue using it beyond the 30-day trial period. Use after the trial period without registration will disable command interaction with the plugin.



To register the plug-in:



Highlight the MLYamaha plug-in in MLServer and click on the Settings button to bring up the Yamaha Receiver/Amplifier plug-in configuration screen. You will be presented with a tabbed dialog box of configuration settings as shown in figure 1. From the “Help” menu, select “Registration”. This will pop up a dialog box that will allow you to purchase the plug-in and request activation.

The Events 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. See Figure 1.



The Events 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. See Figure 1.

The Serial Tab

Use this tab to configure the serial port(s) that will be used to control the various receiver. For each receiver that is attached to a PC serial port set the serial port data and then specify the receiver number to be associated with the Receiver on the serial port. Receiver should be numbered sequentially from 1 to 4. If there is no receiver attached to the serial port then set the receiver number to the default value of N/A. See Figure 2.

The Global Cache Tab

The Global Cache Tab

Use this tab to configure the Global Cache serial port(s) that will be used to control the various receivers. For each receiver that is attached to a Global Cache serial port set the IP address and port number associated with the receiver. Receivers should be numbered sequentially from 1 to 4. If there is no receiver attached to the Global Cache serial port then set the receiver number to the default value of N/A. See Figure 3.

The Options Tab

This tab is used to configure options for the plug-in. Options include Expanded Reporting, the ability to change the Variable Prefix and Volume limiting. Volume limit values are zone specific, only work in conjuction with the ZnVolSet command. Values are a percentage value up to 100. See Figure 4.

The Zone Triggers Tabs

These tabs are used to configure triggers for specific zone commands. Each zone has triggers for four receivers. The commands entered into each box are run upon receipt of the specified command. See Figure 5.

The Other Triggers Tabs

This tab is used to configure triggers not specifically tied to a zone. The “Warnings” trigger will be run whenever a report by the receiver is made to the plug-in of a dangerous condition, such as receiver over-current or over-temperature. Place commands such as notification and shutdown in these triggers. See Figure 6.

MLServer Variables

This plug-in has the ability to collect status information from the Receivers and automatically create ML Server variables that reflect the status of each of the Receivers.

The following are some of the ML Server variables that will be created during normal operation of the Receiver:

yamaha_x_dc1trigctrl All yamaha_x_dc2trigctrl All yamaha_x_dctrig1 On yamaha_x_dctrig2 On yamaha_x_dimmer 0 yamaha_x_dsppgm THX Cinema (Ultra 2) yamaha_x_dts9624 Off yamaha_x_dtsred Release yamaha_x_exeskey Off yamaha_x_headphones Out yamaha_x_memoryguard Off yamaha_x_nightmode Off yamaha_x_nightmodeparam Off yamaha_x_osd Short yamaha_x_puredirect Off yamaha_x_sleeptimer Off yamaha_x_softver R yamaha_x_spkra On yamaha_x_spkrb Off yamaha_x_spkrbzone ZoneB yamaha_x_status OK yamaha_x_systemtype Yamaha RX-V2500 yamaha_x_testtone Off yamaha_x_tuner Tuned yamaha_x_tunerband FM yamaha_x_tunermemory 3 yamaha_x_tunerpage A yamaha_x_vidconv On yamaha_x_z1exstat Off yamaha_x_z1input DVD yamaha_x_z1inputmode Auto yamaha_x_z1mute On yamaha_x_z1playback PCM yamaha_x_z1power Off yamaha_x_z1srcfreq 48kHz yamaha_x_z1thrbypass Off yamaha_x_z1volume 39 yamaha_x_z2input MD/Tape yamaha_x_z2intamp On yamaha_x_z2mute Off yamaha_x_z2power On yamaha_x_z2volume 28 yamaha_x_z3input MD/Tape yamaha_x_z3mute On yamaha_x_z3mutelvl Mute yamaha_x_z3power Off yamaha_x_z3volume 44

Where

x = Receiver number 1..4


MLServeCmds

VidConv~On~Receiver

VidConv~Off~Receiver

Where

Receiver = Receiver number (1..4) optional


Sending Remote Commands

ML Server Command:

Command~Parameter~Receiver

Where

Command = (ZzPower, ZzVol, ZzMute, ZzInput, ZzInputMode, Status, ZzMemSet, ZzMemRecall, ZzVolMemSet, ZzVolMemRecall, ZzDCxTrig, DCxTrigCntrl, Sleep, OSD, ESEX, ZzVolTextReq, ZzInputTextReq, TuneTextReq, NightMode, NightModeSet, DSPProgram, PureDirect, Tune, TunerBand, TunerPresetPg,TunerPresetNum, Spkrz, SpkrBZone, DualMono, Z2IntAmp, DimmerSet, GuiKey, MemoryGuard, VidConv, TestTone, DirectCommand, Send)

Where

z = 1, 2 or 3

x = 1 or 2

n = A or B


Receiver = Receiver number (1..4) (Optional)

Example:

MLYamaha|Z1Power~On~1


Sending Power Commands

ML Server Command:

ZnPower~On~Receiver

ZnPower~Off~Receiver

Where

n = Zone number (1..3) required

Receiver = Receiver number (1..4) optional


Sending Volume Commands

ML Server Command:

ZnVol~Up~Receiver

ZnVol~Down~Receiver

ZnVolSet~###~Receiver

Where

n = Zone number (1..3) required

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

Receiver = Receiver number (1..4) optional

ML Server Command:

ZnMute~On~Receiver

ZnMute~Off~Receiver

Where

n = Zone number (1..3) required

Receiver = Receiver number (1..4) optional


Sending Input Change Commands

ML Server Command:

ZnInput~Param~Receiver

Where

Param = Receiver Input:

(Phono, CD, Tuner, CDR, MD, DVD, DTV, CBL, SAT, VCR1, VCR2, VCR3, VAUX,XM)

n = Zone number (1..3) required

Receiver = Receiver number (1..4) optional




ML Server Command:

ZnInputMode~Param~Receiver

Where

Param = Auto, DolbyRF, Analog, DTS, Digital and AAC

n = Zone number (1..3) required

Receiver = Receiver number (1..4) optional

Note: Tested on a Yamaha 5990, the Zn will not work. Use this command "MLYamaha|InputMode~Param~Receiver". Also, the 5990 has no DolbyRF, DTS or AAC as an input mode. Therefore, only Auto, Analog and Digital (digital being coax/optical) will work.

Note: Tested on a Yamaha 1500 (s/w F), the Zn will not work. Use this command "MLYamaha|InputMode~Param~Receiver". Also, the 1500 has no DolbyRF, Digital or AAC as an input mode. Therefore, only Auto, Analog and DTS. Auto uses digital signals if available, then analog.


ML Server Command:

MultichannelSelect~Param~Receiver

Where

Param = Receiver Input:

(6Ch , MCHCD, MCHCDR, MCHMD, MCHDVD, MCHDTV, MCHCBL, MCHSAT, MCHVCR1, MCHVCR2, MCHVCR3, MCHVAUX)

Receiver = Receiver number (1..4) optional


Getting Receiver Status

ML Server Command:

Status~Receiver

Where

Receiver = Receiver number (1..4) optional

This command will have no effect if the “Extended Reporting” checkbox is not checked on the “Options” tab.


XM Radio Commands

Note: These commands only function with internal XM Radio tuners (i.e. RX-V1600/2600, etc.)



ML Server Command:

XMChannelUp~Receiver

XMChannelDown~Receiver

Where

Receiver = Receiver number (1..4) optional



ML Server Command:

XMDisplayTime~Param~Receiver

Where

Param = (Off, 10Sec, 30Sec, On) required

Receiver = Receiver number (1..4) optional




ML Server Command:

XMDisplay~Param~Receiver

Where

Param = (Release, Hold) required

Receiver = Receiver number (1..4) optional




ML Server Command:

XMSetChannel~Param~Receiver

Where

Param = (Channel Number) required

Receiver = Receiver number (1..4) optional




ML Server Command:

XMAntennaInfo~Receiver

Where

Receiver = Receiver number (1..4) optional




ML Server Command:

XMChannelInfo~Receiver

Where

Param = (Off, 10Sec, 30Sec, On) required

Receiver = Receiver number (1..4) optional




ML Server Command:

XMCategoryInfo~Receiver

Where

Param = (Off, 10Sec, 30Sec, On) required

Receiver = Receiver number (1..4) optional




ML Server Command:

XMArtistInfo~Receiver

Where

Param = (Off, 10Sec, 30Sec, On) required

Receiver = Receiver number (1..4) optional




ML Server Command:

XMSongInfo~Receiver

Where

Param = (Off, 10Sec, 30Sec, On) required

Receiver = Receiver number (1..4) optional




ML Server Command:

XMChannelInfo~Receiver

Where

Param = (Off, 10Sec, 30Sec, On) required

Receiver = Receiver number (1..4) optional


Sending Memory Commands

ML Server Command:

ZnMemSet~Param~Receiver

ZnMemRecall~Param~Receiver

ZnVolMemSet~Param~Receiver

ZnVolMemRecall ~Param~Receiver

Where

Param = Memory Page (A..F) required

n = Zone number (1..3) required

Receiver = Receiver number (1..4) optional


Sending Text Request Commands

ML Server Command:

ZnVolTextReq~Receiver

ZnInputTextReq~Receiver

TuneTextReq~Receiver

Where

n = Zone number (1..3) required

Receiver = Receiver number (1..4) optional


Sending Sleep Timer Commands

ML Server Command:

Sleep~Param~Receiver

Where

Param = (Off, 30, 60,90,120)

Receiver = Receiver number (1..4) optional


Sending On Screen Display Commands

ML Server Command:

OSD~Param~Receiver

Where

Param = (Off, Short, Full)

Receiver = Receiver number (1..4) optional


Sending Dolby Digital EX/DTS EX Commands

ML Server Command:

EXES~Param~Receiver

Where

Param = (Off, On, Auto, Discrete, DolbyEX, PLIIxMovie, PLIIxMusic)

Receiver = Receiver number (1..4) optional


Sending Night Mode Commands

ML Server Command:

NightMode~Param~Receiver

NightModeSet~Param2~Receiver

Where

Param = (Off, Cinema, Music)

Param2 = (Off, CinemaL, CinemaM, CinemaH, MusicL, MusicM, MusicH)

Receiver = Receiver number (1..4) optional


Sending Digital Signal Processor (DSP) Mode Commands

ML Server Command:

DSPProgram~Param~Receiver

Where

Param = See List Below

Receiver = Receiver number (1..4) optional



"STEREO", "HALLA", "HALLB", "HALLC", "HALLUSA", "HALLE", "LIVECONCERT", "TOKYO", "FREIBURG", "ROYAUMONT", "VILLAGEGATE", "VILLAGEVANGUARD", "BOTTOMLINE", "ROXY", "WAREHOUSE", "ARENA", "DISCO", "PARTY", "GAME", "MULTISTEREO", "2CHSTEREO", "ROCK", "DJ", "OPERA", "PAVILLION", "MONOMOVIE", "VARIETYSPORTS", "SPECTACLE", "SCIFI", "ADVENTURE", "GENERAL", "NORMAL", "ENHANCED", "PLIIMOVIE", "PLIIMUSIC", "NEO6CINEMA", "NEO6MUSIC", "2CHDIRECT", "THXCINEMA", "THXMUSIC", "PLIIGAME"



One additional option - Send the 2 Hex Character Code for whatever DSP mode is required, i.e. "E1" is "Hall A". This code is placed without the quotation marks in the Param position.


Sending Pure Direct Mode Commands

ML Server Command:

PureDirect~On~Receiver

PureDirect~Off~Receiver

Where

Receiver = Receiver number (1..4) optional


Sending Tuner Commands

ML Server Command:

Tune~Up~Receiver

Tune~Down~Receiver

TunerBand~AM~Receiver

TunerBand~FM~Receiver

TunerPresetPg~Param~Receiver

TunerPresetNum~Param2~Receiver

Where

Param = Tuner Memory Page (A..E) required

Param2 = Tuner Preset Number (1..8) required

Receiver = Receiver number (1..4) optional


For XM Tuner equipped receivers, also see the "XM Tuner Commands" Section.


Sending Speaker Mode Commands

ML Server Command:

SpkrX~On~Receiver

SpkrX~Off~Receiver

Where

X = Speaker pair (A/B) required

Receiver = Receiver number (1..4) optional



ML Server Command:

SpkrBZone~Param~Receiver

Where

Param = Main, ZoneB required

Receiver = Receiver number (1..4) optional


ML Server Command:

DualMono~Param~Receiver

SpkrX~Off~Receiver

Where

Param = Main, Sub, All required

Receiver = Receiver number (1..4) optional



ML Server Command:

PrSbSelect~Param~Receiver

Where

Param = Presence, Surround required

Receiver = Receiver number (1..4) optional


Sending Internal Amplifier Commands

ML Server Command:

Z2IntAmp~Off~Receiver

Z2IntAmp~DANGERTurnItOn~Receiver

Where

Receiver = Receiver number (1..4) optional



This way you can't say I didn't warn you!


Sending GUI Key Commands

ML Server Command:

GUIKey~Param~Receiver

Where

Param = Top, Enter, Exit, Up, Down, Right, Left required

Receiver = Receiver number (1..4) optional


Sending Display Dim Commands

ML Server Command:

DimmerSet~Param~Receiver

Where

Param = 0, -1, -2, -3, -4

Receiver = Receiver number (1..4) optional


Sending Memory Guard Mode Commands

ML Server Command:

MemoryGuard~On~Receiver

MemoryGuard~Off~Receiver

Where

Receiver = Receiver number (1..4) optional


Sending DC Trigger Commands

ML Server Command:

ZnTrigDCx~On~Receiver

ZnTrigDCx~Off~Receiver

DCxTrigCntrl~Param~Receiver

Where

n = Zone number (1..3) required

x = DC Trigger number (1..2) required

Param = Trigger parameter (All, Zone1, Zone2, Zone3) required

Receiver = Receiver number (1..4) optional


Sending Test Tone Commands

ML Server Command:

TestTone~ Off ~Receiver

TestTone~Dolby~Receiver

TestTone~DSP~Receiver

Where

Receiver = Receiver number (1..4) optional


Sending Any Command Directly to the Receiver

ML Server Command:

DirectCommand~Command~Receiver

Where

Receiver = Receiver number (1..4) optional




Send receiver any command with a format of "SS HH HH HH HH HH EE",

For Example, “Zone 1 Power On” would be "MLYamaha|DirectCommand~02 30 37 45 37 45 03"



ML Server Command:

Send~Command~Receiver

Where

Receiver = Receiver number (1..4) optional



Send receiver any command with a format of "H..H ", i.e. the above command would be:



MLYamaha|Send~02303745374502



These commands may be found in the RS-232C protocol documentation for your particular receiver.



IF YOU ACTUALLY USE THIS COMMAND, PLEASE NOTIFY CINEMAR TO ADD YOUR COMMAND TO THE PLUGIN!


Troubleshooting

Unknown – See Documentation

If any item variable contains a value such as “Unknown – See Documentation”, please contact the author or Cinemar directly. Please be prepared to document the variable name, the receiver type, and provide the MLYamaha plugin event log if possible.



If the message “System Configuration Reports: System Type Unknown “is received in the log, please note the code after the “-“ in this message and forward this information to Cinemar. This message means that the receiver is currently seen as unsupported by the plugin.

Troubleshooting



Problem Description

Possible resolution

No response from plugin, plugin “Help” button, or plugin “Settings” button.

Ensure the plugin resides in the MLServer/plugins directory.


Ensure the dll has been registered (see beginning of plugin documentation for instructions).


Check the “error.log” file for messages. This file is generated by MLServer.exe and is located in the MLServer directory.

Plugin variables do not appear to be set.

Check plugin “Options” tab.

Ensure Variable name is entered as expected.


Ensure that “Extended Reporting” checkbox is checked if full status reporting is desired.

Receiver not responding to plugin.

Attempt to send a “Power On” command several times in a row.

Bugs

New Feature Requests

If none of the above provides a satisfactory problem resolution, please contact the author. Please be prepared to describe the problem/difficulty in detail and provide copies of the plugin event logs.