/// <summary> /// Creates a copy of this mapping. /// </summary> /// <param name="includeMidiBinding">Optionally include the midi binding.</param> /// <returns>Copy of mapping</returns> public Mapping Copy(bool includeMidiBinding) { Format.Mapping rawMappingCopy; using (var copyStream = new System.IO.MemoryStream()) { _rawMapping.Write(new Utils.Writer(copyStream)); copyStream.Seek(0, System.IO.SeekOrigin.Begin); rawMappingCopy = new Format.Mapping(copyStream); } var copy = new Mapping(rawMappingCopy); if (includeMidiBinding) { copy.MidiBinding = MidiBinding; } return(copy); }