public MemoryModule() { items = new AggregateDurationField <RenderedSheetMusicItem>( items_clefsymbols, items_measure, items_timesigsimple ); }
public static IEnumerable <IDuratedItem <T> > Intersecting_children <T>( this IDurationField <IDurationField <T> > field, Duration duration ) => field .Intersecting(duration) .SelectMany( child => child .Value .Intersecting(duration - child.Duration.Start) .Select( item => new DuratedItem <T> { Value = item.Value, Duration = item.Duration + child.Duration.Start } ) );
public static bool AnyItemIn <T>( this IDurationField <T> field, Duration duration ) => field.Intersecting(duration).Any();
public IgnorantMemoryModule(IDurationField <T> knowledge) { this.knowledge = knowledge; }