private List <Note> ShiftNotesToPlaybackPosition(List <Note> notes) { Note firstNote = notes.FindMinElement(note => note.StartBeat); int playbackPositionInBeats = (int)Math.Round(songAudioPlayer.GetCurrentBeat(true)); int difference = playbackPositionInBeats - firstNote.StartBeat; if (difference == 0) { return(notes); } return(notes .Select(note => new Note( note.Type, note.StartBeat + difference, note.Length, note.TxtPitch, note.Text)) .ToList()); }