/// <summary> /// Converts a version-specific flag value to the general form. /// </summary> /// <param name="flags2_4">The ID3v2.4 flags to convert.</param> /// <returns>The converted TagHeaderFlagsV2 value.</returns> private static TagHeaderFlagsV2 ConvertFlags(TagHeaderFlagsV2_4 flags2_4) { TagHeaderFlagsV2 flags = TagHeaderFlagsV2.None; if (HasFlag(flags2_4, TagHeaderFlagsV2_4.Unsynchronization)) { flags |= TagHeaderFlagsV2.Unsynchronization; } if (HasFlag(flags2_4, TagHeaderFlagsV2_4.ExtendedHeader)) { flags |= TagHeaderFlagsV2.ExtendedHeader; } if (HasFlag(flags2_4, TagHeaderFlagsV2_4.ExperimentalIndicator)) { flags |= TagHeaderFlagsV2.ExperimentalIndicator; } if (HasFlag(flags2_4, TagHeaderFlagsV2_4.FooterPresent)) { flags |= TagHeaderFlagsV2.FooterPresent; } 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_4 flagSet, TagHeaderFlagsV2_4 flagToCheck) { return((flagSet & flagToCheck) == flagToCheck); }