/// <summary> /// Get the string value for a set of track flags /// </summary> /// <param name="flags">CueTrackFlag to get value from</param> /// <returns>String value representing the CueTrackFlag, if possible</returns> private string FromFlags(CueTrackFlag flags) { string outputFlagString = string.Empty; if (flags.HasFlag(CueTrackFlag.DCP)) { outputFlagString += "DCP "; } if (flags.HasFlag(CueTrackFlag.FourCH)) { outputFlagString += "4CH "; } if (flags.HasFlag(CueTrackFlag.PRE)) { outputFlagString += "PRE "; } if (flags.HasFlag(CueTrackFlag.SCMS)) { outputFlagString += "SCMS "; } if (flags.HasFlag(CueTrackFlag.DATA)) { outputFlagString += "DATA "; } return(outputFlagString.Trim()); }
/// <summary> /// Get the flag value for an array of strings /// </summary> /// <param name="flagStrings">Possible flags as strings</param> /// <returns>CueTrackFlag value representing the strings, if possible</returns> private CueTrackFlag GetFlags(string[] flagStrings) { CueTrackFlag flag = 0; foreach (string flagString in flagStrings) { // TODO: Make default throw an exception switch (flagString.ToLowerInvariant()) { case "flags": // No-op since this is the start of the line break; case "dcp": flag |= CueTrackFlag.DCP; break; case "4ch": flag |= CueTrackFlag.FourCH; break; case "pre": flag |= CueTrackFlag.PRE; break; case "scms": flag |= CueTrackFlag.SCMS; break; case "data": flag |= CueTrackFlag.DATA; break; } } return(flag); }