/// <summary> /// See description of INuvoEssentiaCommand /// </summary> public void addCommand(ENuvoEssentiaCommands command) { switch (command) { // combined commands -> TurnZoneON, SetVolume and SetSource. case ENuvoEssentiaCommands.SetZoneStatus: _commandList.Add(new NuvoEssentiaSingleCommand(ENuvoEssentiaCommands.TurnZoneON, _zoneId)); _commandList.Add(new NuvoEssentiaSingleCommand(ENuvoEssentiaCommands.SetVolume, _zoneId, _volume)); _commandList.Add(new NuvoEssentiaSingleCommand(ENuvoEssentiaCommands.SetSource, _zoneId, _sourceId)); break; // combined command --> Two commands => ReadStatusCONNECT and ReadStatusZONE. case ENuvoEssentiaCommands.GetZoneStatus: _commandList.Add(new NuvoEssentiaSingleCommand(ENuvoEssentiaCommands.ReadStatusCONNECT, _zoneId)); _commandList.Add(new NuvoEssentiaSingleCommand(ENuvoEssentiaCommands.ReadStatusZONE, _zoneId)); break; case ENuvoEssentiaCommands.NoCommand: break; // default, single command and add them to the list default: _commandList.Add(new NuvoEssentiaSingleCommand(command)); break; } }
/// <summary> /// Public constructor, setting the Command, Zone Id, Source Id and Volume level. /// </summary> /// <param name="command">Nuvo Essentia Command.</param> /// <param name="zone">Zone Id.</param> /// <param name="source">Source Id.</param> /// <param name="volume">Volume Level.</param> public NuvoEssentiaCommand(ENuvoEssentiaCommands command, ENuvoEssentiaZones zone, ENuvoEssentiaSources source, int volume) { initMembers(); _zoneId = zone; _sourceId = source; _volume = limitVolume2NuvoEssentia(volume); addCommand(command); }
/// <summary> /// Public constructor, setting the Command and Zone id. /// </summary> /// <param name="command">Nuvo Essentia Command.</param> /// <param name="zone">Zone Id.</param> public NuvoEssentiaCommand(ENuvoEssentiaCommands command, ENuvoEssentiaZones zone) { initMembers(); _zoneId = zone; addCommand(command); }