AlphaTab.Wpf.ViewModel.TrackViewModel.TrackViewModel C# (CSharp) Метод

TrackViewModel() публичный Метод

public TrackViewModel ( AlphaTab.Model.Track track ) : AlphaTab.Model
track AlphaTab.Model.Track
Результат AlphaTab.Model
        public TrackViewModel(Track track)
        {
            _track = track;

            // general midi Programs
            if (track.IsPercussion)
            {
                TrackType = TrackType.Drums;
            }
            else if (track.PlaybackInfo.Program >= 0 && track.PlaybackInfo.Program <= 6)
            {
                TrackType = TrackType.Piano;
            }
            else if (track.PlaybackInfo.Program >= 26 && track.PlaybackInfo.Program <= 31)
            {
                TrackType = TrackType.ElectricGuitar;
            }
            else if (track.PlaybackInfo.Program >= 32 && track.PlaybackInfo.Program <= 39)
            {
                TrackType = TrackType.BassGuitar;
            }
            else
            {
                TrackType = TrackType.Default;
            }

            // scan all bars if they have any note
            _usedBars = new bool[track.Score.MasterBars.Count];
            for (int s = 0; s < track.Staves.Count; s++)
            {
                var staff = track.Staves[s];
                for (int barI = 0; barI < staff.Bars.Count; barI++)
                {
                    Bar bar = staff.Bars[barI];
                    _usedBars[barI] = false;

                    for (int voiceI = 0; voiceI < bar.Voices.Count && (!_usedBars[barI]); voiceI++)
                    {
                        Voice voice = bar.Voices[voiceI];
                        for (int i = 0; i < voice.Beats.Count; i++)
                        {
                            var b = voice.Beats[i];
                            if (!b.IsRest)
                            {
                                _usedBars[barI] = true;
                            }
                        }
                    }
                }
            }
        }
TrackViewModel