/// <summary> /// 3b. Search for a like named patch if Like Named Patches is selected, on same location. /// </summary> /// <param name="clipBoardPatch"></param> /// <param name="bank"></param> /// <param name="sameLocationPatch"></param> /// <returns></returns> private bool SearchLikeNamedPatch(IClipBoardPatch clipBoardPatch, IBank bank, IPatch sameLocationPatch) { if (Settings.Default.CopyPaste_PatchDuplicationName == (int)CopyPaste.PatchDuplication.LikeNamedNames) { if (sameLocationPatch != null) { if (sameLocationPatch.IsNameLike(clipBoardPatch.OriginalLocation.Name)) { clipBoardPatch.PasteDestination = sameLocationPatch; PcgClipBoard.ProtectedPatches.Add(sameLocationPatch); return(true); } } // 2b. Search for an identical name patch, on first occurence. foreach (var patch in bank.Patches.Where( patch => patch.IsNameLike(clipBoardPatch.OriginalLocation.Name))) { clipBoardPatch.PasteDestination = patch; PcgClipBoard.ProtectedPatches.Add(patch); return(true); } } return(false); }