internal static WaveFormatExtensiblePart.SPEAKER ToSPEAKER(SPEAKER speaker)
 {
     WaveFormatExtensiblePart.SPEAKER result = 0;
     result |= speaker.HasFlag(SPEAKER.FrontLeft) ? WaveFormatExtensiblePart.SPEAKER.FRONT_LEFT: 0;
     result |= speaker.HasFlag(SPEAKER.FrontRight) ? WaveFormatExtensiblePart.SPEAKER.FRONT_RIGHT : 0;
     result |= speaker.HasFlag(SPEAKER.FrontCenter) ? WaveFormatExtensiblePart.SPEAKER.FRONT_CENTER : 0;
     result |= speaker.HasFlag(SPEAKER.LowFrequency) ? WaveFormatExtensiblePart.SPEAKER.LOW_FREQUENCY : 0;
     result |= speaker.HasFlag(SPEAKER.BackLeft) ? WaveFormatExtensiblePart.SPEAKER.BACK_LEFT : 0;
     result |= speaker.HasFlag(SPEAKER.BackRight) ? WaveFormatExtensiblePart.SPEAKER.BACK_RIGHT : 0;
     result |= speaker.HasFlag(SPEAKER.FrontLeftOfCenter) ? WaveFormatExtensiblePart.SPEAKER.FRONT_LEFT_OF_CENTER : 0;
     result |= speaker.HasFlag(SPEAKER.FrontRightOfCenter) ? WaveFormatExtensiblePart.SPEAKER.FRONT_RIGHT_OF_CENTER : 0;
     result |= speaker.HasFlag(SPEAKER.BackCenter) ? WaveFormatExtensiblePart.SPEAKER.BACK_CENTER : 0;
     result |= speaker.HasFlag(SPEAKER.SideLeft) ? WaveFormatExtensiblePart.SPEAKER.SIDE_LEFT : 0;
     result |= speaker.HasFlag(SPEAKER.SideRight) ? WaveFormatExtensiblePart.SPEAKER.SIDE_RIGHT : 0;
     result |= speaker.HasFlag(SPEAKER.TopCenter) ? WaveFormatExtensiblePart.SPEAKER.TOP_CENTER : 0;
     result |= speaker.HasFlag(SPEAKER.TopFrontLeft) ? WaveFormatExtensiblePart.SPEAKER.TOP_FRONT_LEFT : 0;
     result |= speaker.HasFlag(SPEAKER.TopFrontCenter) ? WaveFormatExtensiblePart.SPEAKER.TOP_FRONT_CENTER : 0;
     result |= speaker.HasFlag(SPEAKER.TopFrontRight) ? WaveFormatExtensiblePart.SPEAKER.TOP_FRONT_RIGHT : 0;
     result |= speaker.HasFlag(SPEAKER.TopBackLeft) ? WaveFormatExtensiblePart.SPEAKER.TOP_BACK_LEFT : 0;
     result |= speaker.HasFlag(SPEAKER.TopBackCenter) ? WaveFormatExtensiblePart.SPEAKER.TOP_BACK_CENTER : 0;
     result |= speaker.HasFlag(SPEAKER.TopBackRight) ? WaveFormatExtensiblePart.SPEAKER.TOP_BACK_RIGHT : 0;
     return(result);
 }