private static void PlayNotes(List <int> notes) { List <List <MidiEvent> > musicNotes = new List <List <MidiEvent> >(); foreach (var note in notes) { OutputDevice.GetAll().FirstOrDefault().SendEvent(new NoteOffEvent(SevenBitNumber.Parse(note.ToString()), SevenBitNumber.MaxValue)); //List<MidiEvent> events = new List<MidiEvent>(); //events.Add(new NoteOnEvent(SevenBitNumber.Parse(note.ToString()), SevenBitNumber.MaxValue)); //Playback playback = new Playback(events, TempoMap.Default); //playback.OutputDevice = OutputDevice.GetAll().FirstOrDefault(); //playback.Play(); //playback.Stop(); } //var midiFile = new MidiFile(); //var tempoMap = midiFile.GetTempoMap(); //var trackChunk = new TrackChunk(); //using (var notesManager = trackChunk.ManageNotes()) //{ // var length = LengthConverter.ConvertFrom(2 * MusicalTimeSpan.Eighth.Triplet(), // 0, // tempoMap); // foreach (var note in notes) // { // notesManager.Notes.Add(new Note(SevenBitNumber.Parse(note.ToString()))); // } //} //midiFile.Chunks.Add(trackChunk); //midiFile.Write("Single note great song.mid"); //midiFile.Play(); }
public static MidiMessage Parse(string message) { var arr = message.Split(','); return(new MidiMessage((MidiCommand)Enum.Parse(typeof(MidiCommand), arr[0]), SevenBitNumber.Parse(arr[1]), SevenBitNumber.Parse(arr[2]))); }
private static void PlayNotes(List <int> notes) { List <List <MidiEvent> > musicNotes = new List <List <MidiEvent> >(); var playbackDevice = OutputDevice.GetAll().FirstOrDefault(); foreach (var note in notes) { Note n = new Note(SevenBitNumber.Parse(note.ToString())); Console.Write(n + " "); //playbackDevice.SendEvent(new NoteOnEvent(SevenBitNumber.Parse(note.ToString()), SevenBitNumber.MaxValue)); } }
public void Parse() { Assert.AreEqual((SevenBitNumber)12, SevenBitNumber.Parse("12")); Assert.AreEqual((SevenBitNumber)0, SevenBitNumber.Parse("0")); Assert.AreEqual((SevenBitNumber)127, SevenBitNumber.Parse("127")); }
public void Parse_OutOfRange() { Assert.Throws <FormatException>(() => SevenBitNumber.Parse("200")); Assert.Throws <FormatException>(() => SevenBitNumber.Parse("128")); }
public void Parse_InvalidFormat() { Assert.Throws <FormatException>(() => SevenBitNumber.Parse("sdsd")); }