public IEnumerable <TMediaMarker> WhereContainedByRange(TimeSpan rangeStart, TimeSpan rangeEnd)
        {
            var comparer   = new MediaMarkerComparable(rangeStart);
            var startIndex = SearchForInsertIndex(comparer);

            return(this.Skip(startIndex).TakeWhile(i => i.IsContainedByRange(rangeStart, rangeEnd)));
        }
Example #2
0
 public new void Add(TMediaMarker mediaMarker)
 {
     if (mediaMarker is CaptionElement)
     {
         var comparable = new CaptionMarkerComparable(mediaMarker.Begin, (mediaMarker as CaptionElement).Index, true);
         Add(mediaMarker, comparable);
     }
     else
     {
         var comparable = new MediaMarkerComparable(mediaMarker.Begin);
         Add(mediaMarker, comparable);
     }
 }
Example #3
0
        public IEnumerable <TMediaMarker> WhereActiveAtPosition(TimeSpan mediaPosition, TimeSpan?searchAfter = null)
        {
            var startIndex = 0;

            if (searchAfter.HasValue)
            {
                var comparer = new MediaMarkerComparable(searchAfter.Value);
                startIndex = SearchForInsertIndex(comparer);
            }

            return(this.Skip(startIndex)
                   .TakeWhile(i => i.Begin <= mediaPosition)
                   .Where(i => i.IsActiveAtPosition(mediaPosition))
                   .ToList());
        }
        public IEnumerable <TMediaMarker> WhereActiveInRange(TimeSpan rangeStart, TimeSpan rangeEnd, TimeSpan?searchAfter = null)
        {
            var startIndex = 0;

            if (searchAfter.HasValue)
            {
                var comparer = new MediaMarkerComparable(searchAfter.Value);
                startIndex = SearchForInsertIndex(comparer);
            }

            return(this.Skip(startIndex)
                   .TakeWhile(i => i.Begin <= rangeEnd)
                   .Where(i => i.IsActiveInRange(rangeStart, rangeEnd))
                   .ToList());
        }
 public new void Add(TMediaMarker mediaMarker)
 {
     if (!_itemHash.ContainsKey(mediaMarker.Id))
     {
         if (mediaMarker is CaptionElement)
         {
             var comparable = new CaptionMarkerComparable(mediaMarker.Begin, (mediaMarker as CaptionElement).Index, true);
             //var comparable = new MediaMarkerComparable(mediaMarker.End);
             Add(mediaMarker, comparable);
         }
         else
         {
             var comparable = new MediaMarkerComparable(mediaMarker.Begin);
             //var comparable = new MediaMarkerComparable(mediaMarker.End);
             Add(mediaMarker, comparable);
         }
     }
 }
        public new void Add(MediaMarker mediaMarker)
        {
            var comparable = new MediaMarkerComparable(mediaMarker.Begin);

            Add(mediaMarker, comparable);
        }