User:Bulek: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 50: | Line 50: | ||
Internal | Internal | ||
#373 Private Method Listing | #373 Private Method Listing | ||
def ReceiveReportCommand() | |||
buff = conn_.RecvDelimited("\r", 1000) | |||
log("Cmd response from Marantz: " + buff + "\n") | |||
end | |||
def SendIrCommand(command) | |||
log("SendIrCommand: " + command + "\n") | |||
conn_.Send(command+ "\r") | |||
log("Sending Command: " + command + "\n") | |||
ReceiveReportCommand() | |||
end | |||
def log_older(word) | |||
logTime = Time.now | |||
timeStr = logTime.strftime("%d-%m-%Y %H:%M:%S ") | |||
print( timeStr + " " + word) | |||
if( $logFile.nil? == false ) then | |||
$logFile.print( timeStr + " " + word ) | |||
$logFile.flush() | |||
end | |||
end | |||
def log(line) | |||
# $log = File.open("/var/log/pluto/" + device_.devid_.to_s + "_Generic_Serial_Device.log", "a") | |||
$log = File.open("/var/log/pluto/Marantz_SR5600.log", "a") | |||
logTime = Time.now | |||
timeStr = logTime.strftime("%d-%m-%Y %H:%M:%S ") | |||
$log.puts timeStr + "(***):" + line.to_s | |||
$log.close | |||
end | |||
def SendMultiZoneCommand(cmd, commandsArray, commandParam="") | |||
log("Got Command with ID: " + cmd.id_.to_s + " from: " + cmd.devidfrom_.to_s + " to: " + cmd.devidto_.to_s + "\n") | |||
zone = GetZone(cmd.devidto_) | |||
if( zone >= 0 and zone < commandsArray.size ) | |||
zone_desc=device_.childdevices_[cmd.devidto_].devdata_[186] | |||
log("Determine zone for command : " + zone_desc + "[" + zone.to_s + "]\n") | |||
SendIrCommand(commandsArray[zone] + commandParam.to_s) | |||
else | |||
log("SendMultiZoneCommand: invalid zone " + zone.to_s + ". Send commands only to valid child devices!!!") | |||
end | |||
end | |||
def SendMultiZonePowerOnCommand(cmd, commandsArray, commandParam="") | |||
#It will Unmute Zone first and then see also global power should be turned on... | |||
log("Got Power On Command with ID: " + cmd.id_.to_s + " from: " + cmd.devidfrom_.to_s + " to: " + cmd.devidto_.to_s + "\n") | |||
zone = GetZone(cmd.devidto_) | |||
if( zone >= 0 and zone < commandsArray.size ) | |||
zone_desc=device_.childdevices_[cmd.devidto_].devdata_[186] | |||
log("Determine zone for command : " + zone_desc + "[" + zone.to_s + "]\n") | |||
SendIrCommand(commandsArray[zone] + commandParam.to_s) | |||
$ZoneStatus[zone.to_s] = 'ON' | |||
log("*** Setting zone : " + zone_desc + "[" + zone.to_s + "] to ON\n") | |||
ShowZones() | |||
if ($DevicePower == 0) | |||
SendIrCommand("@PWR:2") | |||
end | |||
$DevicePower = 1 | |||
elsif (zone == -1) | |||
if ($DevicePower == 0) | |||
SendIrCommand("@PWR:2") | |||
end | |||
$DevicePower = 1 | |||
log("####### Powering device On\n") | |||
else | |||
log("SendMultiZonePowerOnCommand: invalid zone " + zone.to_s + ". Send commands only to valid child devices!!!") | |||
end | |||
end | |||
def SendMultiZonePowerOffCommand(cmd, commandsArray, commandParam="") | |||
#It will Mute Zone first and then see if also global power can be turned off... | |||
log("Got Power Off Command with ID: " + cmd.id_.to_s + " from: " + cmd.devidfrom_.to_s + " to: " + cmd.devidto_.to_s + "\n") | |||
zone = GetZone(cmd.devidto_) | |||
if( zone >= 0 and zone < commandsArray.size ) | |||
zone_desc=device_.childdevices_[cmd.devidto_].devdata_[186] | |||
log("Determine zone for command : " + zone_desc + "[" + zone.to_s + "]\n") | |||
SendIrCommand(commandsArray[zone] + commandParam.to_s) | |||
$ZoneStatus[zone.to_s] = 'OFF' | |||
log("*** Setting zone : " + zone_desc + "[" + zone.to_s + "] to OFF\n") | |||
ShowZones() | |||
if (($ZoneStatus["0"] == 'OFF') and ($ZoneStatus["1"] == 'OFF') and ($ZoneStatus["2"] == 'OFF')) | |||
SendIrCommand("@PWR:1") | |||
$DevicePower = 0 | |||
log("####### All zones are muted - device is powered Off\n") | |||
end | |||
else | |||
log("SendMultiZonePowerOffCommand: invalid zone " + zone.to_s + ". Send commands only to valid child devices!!!") | |||
end | |||
end | |||
def GetZone(deviceDestination) | |||
if( device_.mapDevice_PortChannel_.has_key?(deviceDestination) and | |||
device_.mapDevice_PortChannel_[deviceDestination] != nil and | |||
!device_.mapDevice_PortChannel_[deviceDestination].empty? ) | |||
return device_.mapDevice_PortChannel_[deviceDestination].to_i | |||
end | |||
return -1 | |||
end | |||
def ShowZonesDebug() | |||
log("####### Dev 2 PortChanel\n") | |||
device_.mapDevice_PortChannel_.each do |key, value| | |||
log(key.to_s + " => " + value.to_s + "\n") | |||
end | |||
log("======= PortChanel 2 Dev\n") | |||
device_.mapPortChannel_Device_.each do |key, value| | |||
log(key.to_s + " => " + value.to_s+ "\n") | |||
end | |||
end | |||
def ShowZonesInitialVolumes() | |||
log("####### Show Initial Volume Levels for zones\n") | |||
device_.mapDevice_PortChannel_.each do |key, value| | |||
volume = device_.childdevices_[key].devdata_[208] | |||
log("Zone " + value.to_s + " => " + volume.to_s + "\n") | |||
SetVolumeInZone(volume,value) | |||
end | |||
end | |||
def ShowZones() | |||
temp = "####### Zones Status : " | |||
device_.mapDevice_PortChannel_.each do |key, value| | |||
temp = temp + " | Zone " + value.to_s + " => " + $ZoneStatus[value] | |||
end | |||
temp = temp + "\n" | |||
log(temp) | |||
end | |||
def SetZones(state) | |||
log("####### Setting all zones to " + state + "\n") | |||
device_.mapDevice_PortChannel_.each do |key, value| | |||
$ZoneStatus[value] = state | |||
log("Zone " + value.to_s + " => " + state + "\n") | |||
end | |||
end | |||
def InitZones() | |||
log("####### Initializing all zones to OFF\n") | |||
device_.mapDevice_PortChannel_.each do |key, value| | |||
$ZoneStatus[value] = 'OFF' | |||
log("Zone " + value.to_s + " => " + $ZoneStatus[value] + "\n") | |||
end | |||
log("####### Print $ZoneStatus Hash:\n") | |||
$ZoneStatus.each do |key, value| | |||
log("Zone " + key.to_s + " => " + value.to_s + "\n") | |||
end | |||
end | |||
def SetVolumeInZone(level,zone) | |||
# Sets Normalized Volume Level (0..100) in certain zone | |||
log("SetVolumeInZone: volume: " + level.to_s + " => Zone: " + zone + "\n") | |||
if ( zone == "0") | |||
log("SetVolumeInZone0: volume: " + level.to_s + " => Zone: " + zone + "\n") | |||
new_level = DeNormalizeVolume_MainZone(level.to_i) | |||
log("SetVolumeInZone00: volume: " + level.to_s + " => Zone: " + zone + "\n") | |||
temp_str="@VOL:0"+new_level.to_s; | |||
log("SetVolumeInZone: About to send command :" + temp_str + "\n") | |||
SendIrCommand(temp_str) | |||
elsif ( zone == "1") | |||
log("SetVolumeInZone1: volume: " + level.to_s + " => Zone: " + zone + "\n") | |||
new_level = DeNormalizeVolume_OtherZone(level.to_i) | |||
log("SetVolumeInZone11: volume: " + level.to_s + " => Zone: " + zone + "\n") | |||
temp_str="@MSV:0"+new_level.to_s; | |||
log("SetVolumeInZone: About to send command :" + temp_str + "\n") | |||
SendIrCommand(temp_str) | |||
elsif ( zone == "2") | |||
log("SetVolumeInZone2: volume: " + level.to_s + " => Zone: " + zone + "\n") | |||
new_level = DeNormalizeVolume_OtherZone(level.to_i) | |||
# log("SetVolumeInZone22: volume: " + level + " => Zone: " + zone + "\n") | |||
temp_str="@MVL:0"+new_level.to_s; | |||
log("SetVolumeInZone: About to send command :" + temp_str + "\n") | |||
SendIrCommand(temp_str) | |||
else | |||
log("SetVolumeInZone: invalid zone " + zone.to_s + ". Send commands only to valid child devices!!!") | |||
end | |||
log("SetVolumeInZone End: volume: " + level.to_s + " => Zone: " + zone + "\n") | |||
end | |||
def NormalizeVolume_MainZone(level) | |||
# Normalizes Marantz Volume Level (-99..+10) to 0-100 boundaries for Main Zone | |||
temp = (level+100)/110.0*100.0 | |||
log("Normalizing Main Zone Volume Level from : " + level.to_s + " to " + temp.to_s + "\n") | |||
return temp.round | |||
end | |||
def NormalizeVolume_OtherZone(level) | |||
# Normalizes Marantz Volume Level to 0-100 boundaries for Second Zone (-90..0) | |||
temp = ((level+90.0)/90.0)*100.0 | |||
log("Normalizing Other Zone Volume Level from : " + level.to_s + " to " + temp.to_s + "\n") | |||
return temp.round | |||
end | |||
def DeNormalizeVolume_MainZone(level) | |||
# DeNormalizes volume level in 0-100 boundaries to Marantz Volume Level (-99..+10) for Main Zone | |||
temp = (level/100.0)*110.0-99 | |||
log("DeNormalizing Main Zone Volume Level from : " + level.to_s + " to " + temp.to_s + "\n") | |||
return temp.round | |||
end | |||
def DeNormalizeVolume_OtherZone(level) | |||
# DeNormalizes volume level in 0-100 boundaries to Marantz Volume Level (-90..0) for Other Zone | |||
temp = ((level/100.0)*90.0)-90.0 | |||
log("DeNormalizing Other Zone Volume Level from : " + level.to_s + " to " + temp.to_s + "\n") | |||
return temp.round | |||
end | |||
#351 Process IDLE | #351 Process IDLE | ||
ShowZones() | |||
#350 Process Incoming Data | #350 Process Incoming Data | ||
Revision as of 23:38, 25 June 2008
Power
#193 Off
#SendMultiZoneCommand(cmd, ["@PWR:1", "@MSP:1", "@MAM:2"]) SendMultiZonePowerOffCommand(cmd, ["@AMT:2", "@MSP:1", "@MAM:2"])
#192 On
#SendMultiZoneCommand(cmd, ["@PWR:2", "@MSP:2", "@MAM:1"]) SendMultiZonePowerOnCommand(cmd, ["@AMT:1", "@MSP:2", "@MAM:1"])
#194 Toggle Power
Inputs
#164 Aux
SendMultiZoneCommand(cmd, ["@SRC:9", "@MSC:9", "@MSC:9"])
#172 Aux 2
SendMultiZoneCommand(cmd, ["@SRC:A", "@MSC:A", "@MSC:A"])
#162 CD
SendMultiZoneCommand(cmd, ["@SRC:C", "@MSC:C", "@MSC:C"])
#420 CDR
SendMultiZoneCommand(cmd, ["@SRC:D", "@MSC:D", "@MSC:D"])
#178 DSS
SendMultiZoneCommand(cmd, ["@SRC:4", "@MSC:4", "@MSC:4"])
#165 DVD
SendMultiZoneCommand(cmd, ["@SRC:2", "@MSC:2", "@MSC:2"])
#170 FM
SendMultiZoneCommand(cmd, ["@SRC:G", "@MSC:G", "@MSC:G"])
#160 Tape / Tape 1
SendMultiZoneCommand(cmd, ["@SRC:E", "@MSC:E", "@MSC:E"])
#166 Tuner
SendMultiZoneCommand(cmd, ["@SRC:F", "@MSC:F", "@MSC:F"])
#161 TV
SendMultiZoneCommand(cmd, ["@SRC:1", "@MSC:1", "@MSC:1"])
#282 VCR-1
SendMultiZoneCommand(cmd, ["@SRC:3", "@MSC:3", "@MSC:3"])
DSP Modes (Audio)
#891 All Ch Stereo
#<$"@SUR:0H\r"$> SendIrCommand("@SUR:0H")
Internal
#373 Private Method Listing
def ReceiveReportCommand()
buff = conn_.RecvDelimited("\r", 1000)
log("Cmd response from Marantz: " + buff + "\n")
end
def SendIrCommand(command)
log("SendIrCommand: " + command + "\n")
conn_.Send(command+ "\r")
log("Sending Command: " + command + "\n")
ReceiveReportCommand()
end
def log_older(word)
logTime = Time.now
timeStr = logTime.strftime("%d-%m-%Y %H:%M:%S ")
print( timeStr + " " + word)
if( $logFile.nil? == false ) then
$logFile.print( timeStr + " " + word )
$logFile.flush()
end
end
def log(line)
# $log = File.open("/var/log/pluto/" + device_.devid_.to_s + "_Generic_Serial_Device.log", "a")
$log = File.open("/var/log/pluto/Marantz_SR5600.log", "a")
logTime = Time.now
timeStr = logTime.strftime("%d-%m-%Y %H:%M:%S ")
$log.puts timeStr + "(***):" + line.to_s
$log.close
end
def SendMultiZoneCommand(cmd, commandsArray, commandParam="")
log("Got Command with ID: " + cmd.id_.to_s + " from: " + cmd.devidfrom_.to_s + " to: " + cmd.devidto_.to_s + "\n")
zone = GetZone(cmd.devidto_)
if( zone >= 0 and zone < commandsArray.size )
zone_desc=device_.childdevices_[cmd.devidto_].devdata_[186]
log("Determine zone for command : " + zone_desc + "[" + zone.to_s + "]\n")
SendIrCommand(commandsArray[zone] + commandParam.to_s)
else
log("SendMultiZoneCommand: invalid zone " + zone.to_s + ". Send commands only to valid child devices!!!")
end
end
def SendMultiZonePowerOnCommand(cmd, commandsArray, commandParam="")
#It will Unmute Zone first and then see also global power should be turned on...
log("Got Power On Command with ID: " + cmd.id_.to_s + " from: " + cmd.devidfrom_.to_s + " to: " + cmd.devidto_.to_s + "\n")
zone = GetZone(cmd.devidto_)
if( zone >= 0 and zone < commandsArray.size )
zone_desc=device_.childdevices_[cmd.devidto_].devdata_[186]
log("Determine zone for command : " + zone_desc + "[" + zone.to_s + "]\n")
SendIrCommand(commandsArray[zone] + commandParam.to_s)
$ZoneStatus[zone.to_s] = 'ON'
log("*** Setting zone : " + zone_desc + "[" + zone.to_s + "] to ON\n")
ShowZones()
if ($DevicePower == 0)
SendIrCommand("@PWR:2")
end
$DevicePower = 1
elsif (zone == -1)
if ($DevicePower == 0)
SendIrCommand("@PWR:2")
end
$DevicePower = 1
log("####### Powering device On\n")
else
log("SendMultiZonePowerOnCommand: invalid zone " + zone.to_s + ". Send commands only to valid child devices!!!")
end
end
def SendMultiZonePowerOffCommand(cmd, commandsArray, commandParam="")
#It will Mute Zone first and then see if also global power can be turned off...
log("Got Power Off Command with ID: " + cmd.id_.to_s + " from: " + cmd.devidfrom_.to_s + " to: " + cmd.devidto_.to_s + "\n")
zone = GetZone(cmd.devidto_)
if( zone >= 0 and zone < commandsArray.size )
zone_desc=device_.childdevices_[cmd.devidto_].devdata_[186]
log("Determine zone for command : " + zone_desc + "[" + zone.to_s + "]\n")
SendIrCommand(commandsArray[zone] + commandParam.to_s)
$ZoneStatus[zone.to_s] = 'OFF'
log("*** Setting zone : " + zone_desc + "[" + zone.to_s + "] to OFF\n")
ShowZones()
if (($ZoneStatus["0"] == 'OFF') and ($ZoneStatus["1"] == 'OFF') and ($ZoneStatus["2"] == 'OFF'))
SendIrCommand("@PWR:1")
$DevicePower = 0
log("####### All zones are muted - device is powered Off\n")
end
else
log("SendMultiZonePowerOffCommand: invalid zone " + zone.to_s + ". Send commands only to valid child devices!!!")
end
end
def GetZone(deviceDestination)
if( device_.mapDevice_PortChannel_.has_key?(deviceDestination) and
device_.mapDevice_PortChannel_[deviceDestination] != nil and
!device_.mapDevice_PortChannel_[deviceDestination].empty? )
return device_.mapDevice_PortChannel_[deviceDestination].to_i
end
return -1
end
def ShowZonesDebug()
log("####### Dev 2 PortChanel\n")
device_.mapDevice_PortChannel_.each do |key, value|
log(key.to_s + " => " + value.to_s + "\n")
end
log("======= PortChanel 2 Dev\n")
device_.mapPortChannel_Device_.each do |key, value|
log(key.to_s + " => " + value.to_s+ "\n")
end
end
def ShowZonesInitialVolumes()
log("####### Show Initial Volume Levels for zones\n")
device_.mapDevice_PortChannel_.each do |key, value|
volume = device_.childdevices_[key].devdata_[208]
log("Zone " + value.to_s + " => " + volume.to_s + "\n")
SetVolumeInZone(volume,value)
end
end
def ShowZones()
temp = "####### Zones Status : "
device_.mapDevice_PortChannel_.each do |key, value|
temp = temp + " | Zone " + value.to_s + " => " + $ZoneStatus[value]
end
temp = temp + "\n"
log(temp)
end
def SetZones(state)
log("####### Setting all zones to " + state + "\n")
device_.mapDevice_PortChannel_.each do |key, value|
$ZoneStatus[value] = state
log("Zone " + value.to_s + " => " + state + "\n")
end
end
def InitZones()
log("####### Initializing all zones to OFF\n")
device_.mapDevice_PortChannel_.each do |key, value|
$ZoneStatus[value] = 'OFF'
log("Zone " + value.to_s + " => " + $ZoneStatus[value] + "\n")
end
log("####### Print $ZoneStatus Hash:\n")
$ZoneStatus.each do |key, value|
log("Zone " + key.to_s + " => " + value.to_s + "\n")
end
end
def SetVolumeInZone(level,zone)
# Sets Normalized Volume Level (0..100) in certain zone
log("SetVolumeInZone: volume: " + level.to_s + " => Zone: " + zone + "\n")
if ( zone == "0")
log("SetVolumeInZone0: volume: " + level.to_s + " => Zone: " + zone + "\n")
new_level = DeNormalizeVolume_MainZone(level.to_i)
log("SetVolumeInZone00: volume: " + level.to_s + " => Zone: " + zone + "\n")
temp_str="@VOL:0"+new_level.to_s;
log("SetVolumeInZone: About to send command :" + temp_str + "\n")
SendIrCommand(temp_str)
elsif ( zone == "1")
log("SetVolumeInZone1: volume: " + level.to_s + " => Zone: " + zone + "\n")
new_level = DeNormalizeVolume_OtherZone(level.to_i)
log("SetVolumeInZone11: volume: " + level.to_s + " => Zone: " + zone + "\n")
temp_str="@MSV:0"+new_level.to_s;
log("SetVolumeInZone: About to send command :" + temp_str + "\n")
SendIrCommand(temp_str)
elsif ( zone == "2")
log("SetVolumeInZone2: volume: " + level.to_s + " => Zone: " + zone + "\n")
new_level = DeNormalizeVolume_OtherZone(level.to_i)
# log("SetVolumeInZone22: volume: " + level + " => Zone: " + zone + "\n")
temp_str="@MVL:0"+new_level.to_s;
log("SetVolumeInZone: About to send command :" + temp_str + "\n")
SendIrCommand(temp_str)
else
log("SetVolumeInZone: invalid zone " + zone.to_s + ". Send commands only to valid child devices!!!")
end
log("SetVolumeInZone End: volume: " + level.to_s + " => Zone: " + zone + "\n")
end
def NormalizeVolume_MainZone(level)
# Normalizes Marantz Volume Level (-99..+10) to 0-100 boundaries for Main Zone
temp = (level+100)/110.0*100.0
log("Normalizing Main Zone Volume Level from : " + level.to_s + " to " + temp.to_s + "\n")
return temp.round
end
def NormalizeVolume_OtherZone(level)
# Normalizes Marantz Volume Level to 0-100 boundaries for Second Zone (-90..0)
temp = ((level+90.0)/90.0)*100.0
log("Normalizing Other Zone Volume Level from : " + level.to_s + " to " + temp.to_s + "\n")
return temp.round
end
def DeNormalizeVolume_MainZone(level)
# DeNormalizes volume level in 0-100 boundaries to Marantz Volume Level (-99..+10) for Main Zone
temp = (level/100.0)*110.0-99
log("DeNormalizing Main Zone Volume Level from : " + level.to_s + " to " + temp.to_s + "\n")
return temp.round
end
def DeNormalizeVolume_OtherZone(level)
# DeNormalizes volume level in 0-100 boundaries to Marantz Volume Level (-90..0) for Other Zone
temp = ((level/100.0)*90.0)-90.0
log("DeNormalizing Other Zone Volume Level from : " + level.to_s + " to " + temp.to_s + "\n")
return temp.round
end
#351 Process IDLE
ShowZones()
#350 Process Incoming Data
buff = conn_.RecvDelimited("\r", 1000) print "Info from Marantz: " + buff + "\n" log("Info from Marantz: " + buff + "\n")
#355 Process Initialize
$DevicePower = 1 SendIrCommand("@PWR:2") log("Initializing Marantz GSD Device\n") SendIrCommand("@AST:F") # max level of feedback SendIrCommand("@MPW:2") # multi room always on SendIrCommand("@MSP:1") # turn multi room speakers off by default SendIrCommand("@MAM:2") # mute multi room line out by default SendIrCommand("@VOL:0-20") # default main volume -20 SendIrCommand("@MSV:0-60") # default multi speaker volume SendIrCommand("@MVL:0-60") # default multi room line out volume $ZoneStatus = Hash.new() InitZones() ShowZonesInitialVolumes() #$DevicePower = 0 #SendIrCommand("@PWR:1") log("Initialization of Marantz GSD Device finished - Device is powered off!!!!\n")
#384 Process Receive Command For Child
#356 Process Release
log("Shutting down Marantz GSD Device\n") SendIrCommand("@MAM:2") SendIrCommand("@MSP:1") log("Sending Marantz : Power Off: PWR:1\n") SendIrCommand("@PWR:1")
Misc
#587 Preset/Prog/Freq
identifier = cmd.params_[216] # Main Frequency "TFQ:0xxxxx" from 08700 till + 10800 # Multiroom Frequency “MTF:0xxxxx“ from 08700 till + 10800 # switch to tuner mode first SendMultiZoneCommand(cmd, ["@SRC:G", "@MSC:G", "@MSC:G"]) # tune to desired frequency SendMultiZoneCommand(cmd, ["@TFQ:0"+identifier, "@MTF:0"+identifier, "@MTF:0"+identifier]) log("Sending Marantz : Setting tuner frequency to "+identifier+"\n")
Simple Control
#64 Skip Back - Channel/Track Lower
#63 Skip Fwd - Channel/Track Greater
Sound & Volume
#97 Mute
SendMultiZoneCommand(cmd, ["@AMT:0", "@MSM:0", "@MAM:0"])
#313 Set Volume
level = cmd.params_[76] # Main volume “VOL:0xxx” from - 99 till + 18 # Multiroom Speakers "MSV:0xxx" from - 99 till + 0 # Multiroom Speakers “MVL:0xxx” from - 99 till + 0 zone = GetZone(cmd.devidto_) log("313:Set Volume Command: Got Cmd with ID: " + cmd.id_.to_s + " from: " + cmd.devidfrom_.to_s + " to: " + cmd.devidto_.to_s + " | Zone : " + zone.to_s + "\n") if ( zone == 0) new_level = DeNormalizeVolume_MainZone(level.to_i) temp_str = "@VOL:0"+new_level.to_s log("SetVolumeCommand: About to send command :" + temp_str + "\n") SendIrCommand(temp_str) elsif ( zone == 1) new_level = DeNormalizeVolume_OtherZone(level.to_i) temp_str = "@MSV:0"+new_level.to_s SendIrCommand(temp_str) elsif ( zone == 2) new_level = DeNormalizeVolume_OtherZone(level.to_i) temp_str = "@MVL:0"+new_level.to_s log("SetVolumeCommand: About to send command :" + temp_str + "\n") SendIrCommand(temp_str) else log("SetVolumeCommand: invalid zone " + zone.to_s + ":" + zone.to_i + ". Send commands only to valid child devices!!!\n") end
#90 Vol Down
SendMultiZoneCommand(cmd, ["@VOL:2", "@MSV:2", "@MVL:2"])
#89 Vol Up
SendMultiZoneCommand(cmd, ["@VOL:1", "@MSV:1", "@MVL:1"])
Speed Ctrl
#125 Scan Back/Rewind
#93 Scan Fwd/Fast Fwd
DSP Modes