IEnumerable <LayoutObject> CreateStemAndFlagObjects( double tickPosition, BeatGroup beatGroup) { var(stem, flag) = CreateStemAndFlagForIndividualBeat(tickPosition, beatGroup); if (stem != null) { yield return(stem); } if (flag != null) { yield return(flag); } }
public BeatGroupLayout ComputeBeatGroupLayout(BeatGroup group) { var offsetNotes = ComputeOffsetNotes(group.ScoreNotes).ToReadOnlyList(); return(new BeatGroupLayout(offsetNotes)); }
IEnumerable <SymbolObject> CreateNoteSymbols(BeatGroup beatGroup, double beatOffset) => beatGroup.ScoreNotes.Select( note => CreateNoteSymbol(note.StaffPosition, note.Duration, beatOffset));