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; }
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 ) { }
public BeatSequence DeleteAllInLastSecondsRange(double seconds) { if (seconds <= 0) { throw new ArgumentOutOfRangeException(nameof(seconds), seconds, "Must be greater than zero."); } return(DeleteAllInLastBeatsRange(BeatPositioner.TimeDeltaToBeatDelta(seconds))); }
public BeatSequence HardRewindBySeconds(double seconds) { if (seconds <= 0) { throw new ArgumentOutOfRangeException(nameof(seconds), seconds, "Must be greater than zero."); } return(HardRewindByBeats(BeatPositioner.TimeDeltaToBeatDelta(seconds))); }
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>() ) ) { }