Пример #1
0
        private BeatSequence(ImmutableList <double> beats, BeatPositioner beatPositioner, double nextBeatOffset)
        {
            if (beats == null)
            {
                throw new ArgumentNullException(nameof(beats));
            }
            if (beats.Count == 0)
            {
                throw new ArgumentException("Cannot be empty", nameof(beats));
            }
            if (beatPositioner == null)
            {
                throw new ArgumentNullException(nameof(beatPositioner));
            }

            this.BeatPositioner = beatPositioner;
            this.NextBeatOffset = nextBeatOffset;

            if (beats == null)
            {
                throw new ArgumentNullException(nameof(beats));
            }
            if (beats.Count < 1)
            {
                throw new ArgumentException("Cannot be empty", nameof(beats));
            }

            this.Beats = beats;
        }
Пример #2
0
 public BeatSequence(BeatPositioner beatPositioner, double nextBeatOffset = 0)
     : this(
         beats : ImmutableList.Create <double>(0),               // first beat is always at beat-time = 0
         beatPositioner : beatPositioner,
         nextBeatOffset : nextBeatOffset
         )
 {
 }
Пример #3
0
 public BeatSequence DeleteAllInLastSecondsRange(double seconds)
 {
     if (seconds <= 0)
     {
         throw new ArgumentOutOfRangeException(nameof(seconds), seconds, "Must be greater than zero.");
     }
     return(DeleteAllInLastBeatsRange(BeatPositioner.TimeDeltaToBeatDelta(seconds)));
 }
Пример #4
0
 public BeatSequence HardRewindBySeconds(double seconds)
 {
     if (seconds <= 0)
     {
         throw new ArgumentOutOfRangeException(nameof(seconds), seconds, "Must be greater than zero.");
     }
     return(HardRewindByBeats(BeatPositioner.TimeDeltaToBeatDelta(seconds)));
 }
Пример #5
0
 public BeatTagSequence(BeatPositioner beatPositioner, ImmutableList <object> firstBeatTags, double nextBeatOffset = 0)
     : this(
         beatSequence : new BeatSequence(
             beatPositioner : beatPositioner,
             nextBeatOffset : nextBeatOffset
             ),
         tagLists : ImmutableList.Create(
             item : firstBeatTags ?? ImmutableList.Create <object>()
             )
         )
 {
 }