1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
// Sequenceur
Sequence sequence = new Sequence();
Sequencer sequencer = new Sequencer();
// Track
Track track = new Track();
// Tempo
TempoChangeBuilder tempoBuilder = new TempoChangeBuilder();
tempoBuilder.Tempo = 100;
tempoBuilder.Build();
track.Insert(0, tempoBuilder.Result);
ChannelMessageBuilder channelBuilder = new ChannelMessageBuilder();
// Choix Intrument
channelBuilder.MidiChannel = 0;
channelBuilder.Command = ChannelCommand.ProgramChange;
channelBuilder.Data1 = 0;
channelBuilder.Data2 = 0;
channelBuilder.Build();
track.Insert(0, channelBuilder.Result);
// Jouer note
channelBuilder.MidiChannel = 0;
channelBuilder.Command = ChannelCommand.NoteOn;
channelBuilder.Data1 = 60;
channelBuilder.Data2 = 127;
channelBuilder.Build();
track.Insert(0, channelBuilder.Result);
// Arrêter note
channelBuilder.MidiChannel = 0;
channelBuilder.Command = ChannelCommand.NoteOff;
channelBuilder.Data1 = 60;
channelBuilder.Data2 = 0;
channelBuilder.Build();
track.Insert(479, channelBuilder.Result);
track.EndOfTrackOffset = 480;
sequence.Add(track);
sequence.Format = 0;
sequencer.Position = 0;
sequencer.Sequence = sequence;
sequence.Save("C:\\test\\test.mid");
sequencer.Start(); |
Partager