Пример #1
0
        private MidiLineView InitTrackLine(int rowIndex, Track track)
        {
            track.Id();
            track.Channel = rowIndex;
            MidiLineView lineView = new MidiLineView(track);

            lineView.Ctrl.TrackFocused += FocusTrack;
            return(lineView);
        }
Пример #2
0
        public void InitTracks()
        {
            vue.TracksPanel.Children.Clear();
            vue.TracksPanel.RowDefinitions.Clear();
            int i = 0;

            foreach (Track track in MidiManager.Tracks)
            {
                MidiLineView lineView = InitTrackLine(i, track);
                AddTrackGridRow(i, lineView);
                AddSeparatorGridRow(i);
                i++;
            }
            vue.TracksPanel.RowDefinitions.Add(
                new RowDefinition()
            {
                Height = new GridLength(400, GridUnitType.Pixel)
            }
                );
        }
Пример #3
0
        private void AddTrackGridRow(int rowIndex, MidiLineView lineView)
        {
            // make row
            vue.TracksPanel.RowDefinitions.Add(
                new RowDefinition()
            {
                Height    = new GridLength(UiManager.TrackHeightDefault, GridUnitType.Pixel),
                MaxHeight = UiManager.TrackHeightMax,
                MinHeight = UiManager.TrackHeightMin,
            }
                );
            // add trackline in row
            var trackLine = new Frame()
            {
                Content = lineView
            };

            vue.TracksPanel.Children.Add(trackLine);
            Grid.SetRow(trackLine, 2 * rowIndex);
        }