AlphaTab.Rendering.Staves.StaveGroup.AddStave C# (CSharp) Method

AddStave() public method

public AddStave ( AlphaTab.Model.Track track, Staff staff ) : void
track AlphaTab.Model.Track
staff Staff
return void
        public void AddStave(Track track, Staff staff)
        {
            var group = GetStaveTrackGroup(track);
            if (group == null)
            {
                group = new StaveTrackGroup(this, track);
                Staves.Add(group);
            }

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

            if (staff.IsInAccolade)
            {
                if (_firstStaffInAccolade == null)
                {
                    _firstStaffInAccolade = staff;
                    staff.IsFirstInAccolade = true;
                }
                if (group.FirstStaffInAccolade == null)
                {
                    group.FirstStaffInAccolade = staff;
                }
                if (_lastStaffInAccolade == null)
                {
                    _lastStaffInAccolade = staff;
                    staff.IsLastInAccolade = true;
                }

                if (_lastStaffInAccolade != null) { _lastStaffInAccolade.IsLastInAccolade = false; }
                _lastStaffInAccolade = staff;
                _lastStaffInAccolade.IsLastInAccolade = true;
                group.LastStaffInAccolade = staff;
            }
        }

Usage Example

Beispiel #1
0
        protected StaveGroup CreateEmptyStaveGroup()
        {
            var group = new StaveGroup();
            group.Layout = this;

            var isFirstTrack = true;
            for (var i = 0; i < Renderer.Tracks.Length; i++)
            {
                var track = Renderer.Tracks[i];
                for (var j = 0; j < Renderer.Settings.Staves.Count; j++)
                {
                    var s = Renderer.Settings.Staves[j];
                    if (Environment.StaveFactories.ContainsKey(s.Id))
                    {
                        var factory = Environment.StaveFactories[s.Id](this);
                        if (factory.CanCreate(track) && (isFirstTrack || !factory.HideOnMultiTrack))
                        {
                            group.AddStave(track, new Stave(s.Id, factory, s.AdditionalSettings));
                        }
                    }
                }
                isFirstTrack = false;
            }
            return group;
        }
All Usage Examples Of AlphaTab.Rendering.Staves.StaveGroup::AddStave