コード例 #1
0
        public void AddStave(Track track, Stave stave)
        {
            var group = GetStaveTrackGroup(track);

            if (group == null)
            {
                group = new StaveTrackGroup(this, track);
                Staves.Add(group);
            }

            stave.StaveTrackGroup = group;
            stave.StaveGroup      = this;
            stave.Index           = _allStaves.Count;
            _allStaves.Add(stave);
            group.Staves.Add(stave);

            if (stave.IsInAccolade)
            {
                if (_firstStaveInAccolade == null)
                {
                    _firstStaveInAccolade   = stave;
                    stave.IsFirstInAccolade = true;
                }
                if (group.FirstStaveInAccolade == null)
                {
                    group.FirstStaveInAccolade = stave;
                }
                if (_lastStaveInAccolade == null)
                {
                    _lastStaveInAccolade   = stave;
                    stave.IsLastInAccolade = true;
                }

                if (_lastStaveInAccolade != null)
                {
                    _lastStaveInAccolade.IsLastInAccolade = false;
                }
                _lastStaveInAccolade = stave;
                _lastStaveInAccolade.IsLastInAccolade = true;
                group.LastStaveInAccolade             = stave;
            }
        }
コード例 #2
0
ファイル: StaveGroup.cs プロジェクト: stefan-j/alphaTab
        public void AddStave(Track track, Stave stave)
        {
            var group = GetStaveTrackGroup(track);
            if (group == null)
            {
                group = new StaveTrackGroup(this, track);
                Staves.Add(group);
            }

            stave.StaveTrackGroup = group;
            stave.StaveGroup = this;
            stave.Index = _allStaves.Count;
            _allStaves.Add(stave);
            group.Staves.Add(stave);

            if (stave.IsInAccolade)
            {
                if (_firstStaveInAccolade == null)
                {
                    _firstStaveInAccolade = stave;
                    stave.IsFirstInAccolade = true;
                }
                if (group.FirstStaveInAccolade == null)
                {
                    group.FirstStaveInAccolade = stave;
                }
                if (_lastStaveInAccolade == null)
                {
                    _lastStaveInAccolade = stave;
                    stave.IsLastInAccolade = true;
                }

                if (_lastStaveInAccolade != null) { _lastStaveInAccolade.IsLastInAccolade = false; }
                _lastStaveInAccolade = stave;
                _lastStaveInAccolade.IsLastInAccolade = true;
                group.LastStaveInAccolade = stave;
            }
        }