/// <summary> /// Converts a version-specific flag value to the general form. /// </summary> /// <param name="flags2_3">The ID3v2.3 flags to convert.</param> /// <returns>The converted TagHeaderFlagsV2 value.</returns> private static TagHeaderFlagsV2 ConvertFlags(TagHeaderFlagsV2_3 flags2_3) { TagHeaderFlagsV2 flags = TagHeaderFlagsV2.None; if (HasFlag(flags2_3, TagHeaderFlagsV2_3.Unsynchronization)) { flags |= TagHeaderFlagsV2.Unsynchronization; } if (HasFlag(flags2_3, TagHeaderFlagsV2_3.ExtendedHeader)) { flags |= TagHeaderFlagsV2.ExtendedHeader; } if (HasFlag(flags2_3, TagHeaderFlagsV2_3.ExperimentalIndicator)) { flags |= TagHeaderFlagsV2.ExperimentalIndicator; } return(flags); }
/// <summary> /// Returns true if the flag set contains the specified flag; false otherwise. /// </summary> /// <param name="flagSet">The flag set to check.</param> /// <param name="flagToCheck">The desired flag.</param> /// <returns>True if the flag set contains the specified flag; false otherwise.</returns> private static bool HasFlag(TagHeaderFlagsV2_3 flagSet, TagHeaderFlagsV2_3 flagToCheck) { return((flagSet & flagToCheck) == flagToCheck); }