static void Main() { OutputDevice outputDevice = ExampleUtil.ChooseOutputDeviceFromConsole(); if (outputDevice == null) { Console.WriteLine("Warning, there is no sound device found!"); } if (outputDevice != null) { outputDevice.Open(); } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new frmMain(outputDevice)); }
private void Form1_Load(object sender, EventArgs e) { savedMelodysList = new List <Melody>(); savedMelodysList = Parser.GetAllMelodys(); for (int i = 0; i < savedMelodysList.Count; i++) { savedMelodysComboBox.Items.Add(savedMelodysList[i].Name + "(" + savedMelodysList[i].ScaleName.ToString() + ")"); } if (savedMelodysComboBox.Items.Count != 0) { savedMelodysComboBox.SelectedIndex = 0; } nameLabel.Text = "Сгенерируйте мелодию!"; notesTextBox.Text = ""; rhythmTextBox.Text = ""; notesCountTextBox.Text = "16"; //Melody.Number = melodyList.Count + 1; generatedMelodysList = new List <Melody>(); gridButtons = new int[6, 16]; /* Гаммы можно менять, но их длина должна оставаться прежней. * В противном случае, нужно произвести изменения в файле MyRandom.cs */ minorScale = new int[7] { 2, 1, 2, 2, 1, 2, 2 }; majorScale = new int[7] { 2, 2, 1, 2, 2, 2, 1 }; flamencoScale = new int[7] { 1, 3, 1, 2, 1, 3, 1 }; bluesScale = new int[] { 3, 2, 1, 1, 3, 2 }; flamenco2Scale = new int[7] { 1, 3, 1, 2, 1, 2, 2 }; int[] scaleIntervals = minorScale; ScaleName scaleName = ScaleName.Minor; selectedScale = new MyScale(scaleName, scaleIntervals); tonica = Note.A3; scaleComboBox.SelectedIndex = 0; buttons = new Button[6, 16]; player = new MediaPlayer(); player.Volume = 0.3; outputDevice = ExampleUtil.ChooseOutputDeviceFromConsole(); outputDevice.Open(); outputDevice.SendProgramChange(Channel.Channel1, Instrument.AcousticGuitarSteel); grifNotes = new Note[6, 16]; //Заполняем 6 струну for (int i = 0; i < grifNotes.GetLength(1); i++) { grifNotes[5, i] = (Note)(40 + i); } //Заполняем 5 струну for (int i = 0; i < grifNotes.GetLength(1); i++) { grifNotes[4, i] = (Note)(45 + i); } //Заполняем 4 струну for (int i = 0; i < grifNotes.GetLength(1); i++) { grifNotes[3, i] = (Note)(50 + i); } //Заполняем 3 струну for (int i = 0; i < grifNotes.GetLength(1); i++) { grifNotes[2, i] = (Note)(55 + i); } //Заполняем 2 струну for (int i = 0; i < grifNotes.GetLength(1); i++) { grifNotes[1, i] = (Note)(59 + i); } //Заполняем 1 струну for (int i = 0; i < grifNotes.GetLength(1); i++) { grifNotes[0, i] = (Note)(64 + i); } int tabindex = 4; for (int i = 0; i < 6; i++) { for (int j = 0; j < 16; j++) { buttons[i, j] = (Button)this.Controls["s" + (i + 1).ToString() + j.ToString()]; buttons[i, j].TabIndex = tabindex; tabindex++; } } //Создание надписей над аппликатурой labels = new Label[6, 16]; this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); for (int i = 0; i < 6; i++) { for (int j = 0; j < 16; j++) { labels[i, j] = new Label(); labels[i, j].AutoSize = true; labels[i, j].Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); labels[i, j].ForeColor = System.Drawing.Color.Black; Point p = new Point(); p.X = buttons[i, j].Location.X;// +buttons[i, j].Width / 2; p.Y = buttons[i, j].Location.Y; labels[i, j].Location = p; labels[i, j].Name = "label" + i.ToString() + j.ToString(); labels[i, j].Size = new System.Drawing.Size(15, 13); //labels[i, j].TabIndex = 113; labels[i, j].Text = "T"; labels[i, j].Visible = false; labels[i, j].BackColor = System.Drawing.Color.Transparent; this.Controls.Add(labels[i, j]); labels[i, j].BringToFront(); } } for (int j = 0; j < 6; j++) { for (int k = 0; k < 16; k++) { buttons[j, k].Click += grif_Click; } } }