PianoKeyEmulator.Note.isDiez C# (CSharp) Méthode

isDiez() public méthode

public isDiez ( ) : bool
Résultat bool
        public bool isDiez()
        {
            return Tone.ToString().Contains('d');
        }

Usage Example

        public MainWindow()
        {
            InitializeComponent();

            _player = new Player(this);

            WindowStartupLocation = WindowStartupLocation.CenterScreen;

            CInstrument.ItemsSource = InstrumentNames;

            CTunes.ItemsSource = _tunes;

            CChordMods.ItemsSource = Chords.chordMods;

            CChords.ItemsSource = Chords.chordsBases;

            for (double speed = 0.25; speed <= 2.0; speed += 0.25)
            {
                CPlaySpeed.Items.Add(speed);
            }

            int devicesCount = MidiIn.NumberOfDevices;
            for (int i = 0; i < devicesCount; i++)
            {
                MidiInCapabilities device = MidiIn.DeviceInfo(i);
                CSelectedInput.Items.Add(device);
            }

            #region Генерация клавиш пианино

            int keyPosition = KeysOffset;

            for (byte octave = StartOctave; octave <= EndOctave; ++octave)
            {
                for (int i = 0; i < 12; ++i) // 12 полутонов в октаве
                {
                    var currentKey = new TextBlock();

                    var note = new Note(octave, (Tones) i);

                    currentKey.Text = note.ToString();
                    currentKey.Name = GenerateKeyName(note);

                    if (!note.isDiez()) //Если не диез
                    {
                        currentKey.Width = KeyWidth;
                        currentKey.Height = KeyHeight;

                        currentKey.Background = _genericColor;

                        currentKey.Margin = new Thickness(keyPosition, 0, 0, 0);
                        currentKey.Padding = new Thickness(0, 130, 0, 0);

                        currentKey.SetValue(Panel.ZIndexProperty, 0);

                        keyPosition += KeyWidth + KeysOffset;

                        currentKey.Foreground = Brushes.Black;

                        currentKey.FontSize = 14;
                    }
                    else
                    {
                        currentKey.Width = DiezWiddth;
                        currentKey.Height = DiezHeight;

                        currentKey.Background = _diezColor;

                        currentKey.Margin = new Thickness(keyPosition - DiezWiddth/2 + KeysOffset/2,
                            0, 0, 0);
                        currentKey.Padding = new Thickness(0, 75, 0, 0);

                        currentKey.SetValue(Panel.ZIndexProperty, 1);

                        currentKey.Foreground = Brushes.White;

                        currentKey.FontSize = 10;
                    }

                    currentKey.TextAlignment = TextAlignment.Center;

                    currentKey.FontWeight = FontWeights.Bold;
                    currentKey.Focusable = true;

                    currentKey.HorizontalAlignment = HorizontalAlignment.Left;
                    currentKey.VerticalAlignment = VerticalAlignment.Top;

                    currentKey.PreviewMouseLeftButtonDown += PianoKeyDown;
                    currentKey.PreviewMouseLeftButtonUp += PianoKeyUp;
                    currentKey.MouseLeave += PianoKeyLeave;

                    currentKey.PreviewMouseRightButtonUp += KeyToggled;

                    KeysGrid.Children.Add(currentKey);
                }
            }

            #endregion

            #region Генерация ладов для гитары

            for (byte guitarString = 0; guitarString < 6; ++guitarString)
            {
                for (byte fret = 0; fret < FretsCount; ++fret)
                {
                    Shape currentFret;
                    if (fret != 0)
                    {
                        currentFret = new Ellipse {Margin = new Thickness(FretOffset)};
                    }
                    else
                    {
                        currentFret = new Rectangle {Margin = new Thickness(0)};
                    }

                    currentFret.Name = GenerateFretName(guitarString, fret);

                    currentFret.Stroke = _fretStroke;
                    currentFret.Fill = _inactiveFret;

                    FretsGrid.Children.Add(currentFret);

                    currentFret.SetValue(Grid.ColumnProperty, (int) fret);
                    currentFret.SetValue(Grid.RowProperty, (int) guitarString);

                    currentFret.PreviewMouseLeftButtonDown += FretMouseDown;
                    currentFret.PreviewMouseLeftButtonUp += FretMouseUp;
                    currentFret.MouseLeave += FretMouseLeave;

                    currentFret.PreviewMouseRightButtonUp += FretToggled;
                }
            }

            #endregion
        }