public void Deserialize(ParsedByteArray cmd) { Id = (VideoSource)cmd.GetUInt16(); LongName = cmd.GetString(20); ShortName = cmd.GetString(4); cmd.Skip(2); IsExternal = cmd.GetUInt8() == 0; AvailableExternalPorts = (ExternalPortTypeFlags)cmd.GetUInt8(); cmd.Skip(); // Xd ExternalPortType = (ExternalPortTypeFlags)cmd.GetUInt8(); InternalPortType = (InternalPortType)cmd.GetUInt8(); cmd.Skip(); SourceAvailability = (SourceAvailability)cmd.GetUInt8(); MeAvailability = (MeAvailability)cmd.GetUInt8(); if (!IsExternal) { AvailableExternalPorts = ExternalPortTypeFlags.Internal; } if (!IsExternal) { ExternalPortType = ExternalPortTypeFlags.Internal; } }
public static MeAvailability FilterProfile(this MeAvailability orig, DeviceProfile profile) { MeAvailability res = orig; if (profile.MixEffectBlocks < 2) { res &= ~MeAvailability.Me2; } return(res); }
public static bool Includes(this MeAvailability me, MixEffectBlockId id) { switch (id) { case MixEffectBlockId.One: return(me.HasFlag(MeAvailability.Me1)); case MixEffectBlockId.Two: return(me.HasFlag(MeAvailability.Me2)); default: return(false); } }
public void Deserialize(ParsedByteArray cmd) { Id = (VideoSource)cmd.GetUInt16(); LongName = cmd.GetString(20); ShortName = cmd.GetString(4); cmd.Skip(2); IsExternal = cmd.GetUInt8() == 0; // TODO - one of the unknowns will be the currently selected ExternalPortType bool[] portBools = cmd.GetBoolArray(); var ports = new List <ExternalPortType>(); if (portBools[0]) { ports.Add(ExternalPortType.SDI); } if (portBools[1]) { ports.Add(ExternalPortType.HDMI); } if (portBools[2]) { ports.Add(ExternalPortType.Component); } if (portBools[3]) { ports.Add(ExternalPortType.Composite); } if (portBools[4]) { ports.Add(ExternalPortType.SVideo); } ExternalPorts = ports.Any() ? ports : null; cmd.Skip(); // Xd ExternalPortType = (ExternalPortType)cmd.GetUInt8(); InternalPortType = (InternalPortType)cmd.GetUInt8(); cmd.Skip(); SourceAvailability = (SourceAvailability)cmd.GetUInt8(); MeAvailability = (MeAvailability)cmd.GetUInt8(); }
public VideoSourceAvailabilityAttribute(SourceAvailability sourceAvailability, MeAvailability me = MeAvailability.None) { SourceAvailability = sourceAvailability; MeAvailability = me; }