Пример #1
0
        public override AnalyzedAudio Slice(int begin, int count)
        {
            if (count < 1)
            {
                throw new ArgumentException(nameof(count));
            }
            if (begin < 0 || begin + count >= FrameLength)
            {
                throw new ArgumentOutOfRangeException();
            }

            var list = Elements.ToList();
            var end  = begin + count;
            var beginElementIndex = Math.Max(list.FindIndex((e) => e.FramePosition > begin) - 1, 0);
            var elementCount      = list.FindLastIndex((e) => e.FramePosition + e.F0.Length > end) + 1;
            var newElements       = Elements.Skip(beginElementIndex).Take(elementCount).ToArray();

            return(new WorldAnalyzedAudio(
                       F0.BlockClone(begin, count),
                       FramePeriod,
                       SampleRate,
                       (int)Math.Ceiling((newElements.Last().FramePosition + newElements.Last().F0.Length) * FrameSize) - (int)Math.Ceiling(newElements[0].FramePosition * FrameSize),
                       begin,
                       newElements
                       ));
        }
 public void Should_map_delegate2()
 {
     F0 f = Method0;
     var o = new DynamicObject(f);
     var r = new DynamicObjectMapper().Map<F0>(o);
     var x = r();
 }
        public void Should_map_delegate()
        {
#pragma warning disable SA1130 // Use lambda syntax
            F0 f = delegate { return 1; };
#pragma warning restore SA1130 // Use lambda syntax
            var o = new DynamicObject(f);
            var r = new DynamicObjectMapper().Map<F0>(o);
            var x = r();
        }
Пример #4
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (F0 != 0)
            {
                hash ^= F0.GetHashCode();
            }
            if (f1_ != null)
            {
                hash ^= F1.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Пример #5
0
 public override AnalyzedAudio Copy()
 {
     return(new WorldAnalyzedAudio(F0.BlockClone(), FramePeriod, SampleRate, SampleCount, BeginFrame, Elements));
 }