Exemplo n.º 1
0
        public void Snap()
        {
            EnsureParent();
            if (_parent == null)
            {
                return;
            }

            TimeSpan duration = TimePanel.GetDuration(_parent);

            if (duration <= TimeSpan.Zero)
            {
                return;
            }

            if (!TimeLock)
            {
                _patternRepeats = duration.Divide(PatternDuration);
            }

            int repeats = (int)Math.Round(_patternRepeats);

            if (repeats <= 0)
            {
                repeats = 1;
            }

            duration        = PatternDuration.Multiply(repeats);
            _patternRepeats = repeats;

            TimePanel.SetDuration(_parent, duration);
        }
Exemplo n.º 2
0
        public void SetBeatSegment(BeatSegment summary)
        {
            TimePanel.SetPosition(this, TimeSpan.FromTicks(summary.Position));
            TimePanel.SetDuration(this, TimeSpan.FromTicks(summary.Duration));

            BeatLine.SetBeatSegment(summary);
        }