Пример #1
0
        /// <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());
        }
Пример #2
0
        /// <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);
        }