示例#1
0
        private void createMidiFiles()
        {
            stopMusic();

            if (!Directory.Exists("./fichier"))
            {
                Directory.CreateDirectory("./fichier");
            }

            for (int i = 0; i < _population.nbIndividu; i++)
            {
                MIDISong song = new MIDISong();
                song.AddTrack("Piste " + i.ToString());
                song.SetTimeSignature(0, 4, 4);
                song.SetTempo(0, 150);
                song.SetChannelInstrument(0, 0, _population.individus[i].instrument);
                for (int x = 0; x < _population.nbNotes; x++)
                {
                    song.AddNote(0, 0, _population.individus[i].notes[x], 12);
                }

                // on prépare le flux de sortie
                MemoryStream ms = new MemoryStream();
                song.Save(ms);
                ms.Seek(0, SeekOrigin.Begin);
                byte[] src = ms.GetBuffer();
                byte[] dst = new byte[src.Length];
                for (int y = 0; y < src.Length; y++)
                {
                    dst[y] = src[y];
                }
                ms.Close();
                // et on écrit le fichier
                string     strFileName = "./fichier/Fichier" + i.ToString() + ".mid";
                FileStream objWriter   = File.Create(strFileName);
                objWriter.Write(dst, 0, dst.Length);
                objWriter.Close();
                objWriter.Dispose();
                objWriter = null;
            }
        }
示例#2
0
        private void createMidiFiles()
        {
            stopMusic();

            if (!Directory.Exists("./fichier"))
            {
                Directory.CreateDirectory("./fichier");
            }

            for (int i=0;i < _population.nbIndividu; i++)
            {
                MIDISong song = new MIDISong();
                song.AddTrack("Piste " + i.ToString());
                song.SetTimeSignature(0, 4, 4);
                song.SetTempo(0, 150);
                song.SetChannelInstrument(0, 0, _population.individus[i].instrument);
                for(int x = 0; x < _population.nbNotes; x++)
                {
                    song.AddNote(0, 0, _population.individus[i].notes[x], 12);
                }

                // on prépare le flux de sortie
                MemoryStream ms = new MemoryStream();
                song.Save(ms);
                ms.Seek(0, SeekOrigin.Begin);
                byte[] src = ms.GetBuffer();
                byte[] dst = new byte[src.Length];
                for (int y = 0; y < src.Length; y++)
                {
                    dst[y] = src[y];
                }
                ms.Close();
                // et on écrit le fichier
                string strFileName = "./fichier/Fichier" + i.ToString() + ".mid";
                FileStream objWriter = File.Create(strFileName);
                objWriter.Write(dst, 0, dst.Length);
                objWriter.Close();
                objWriter.Dispose();
                objWriter = null;
            }
        }