private void GenerateChannel(Track track, byte channel, PlaybackInformation playbackInfo) { var volume = ToChannelShort(playbackInfo.Volume); var balance = ToChannelShort(playbackInfo.Balance); _handler.AddControlChange(track.Index, 0, channel, (byte)MidiController.Volume, (byte)volume); _handler.AddControlChange(track.Index, 0, channel, (byte)MidiController.Balance, (byte)balance); _handler.AddControlChange(track.Index, 0, channel, (byte)MidiController.Expression, 127); _handler.AddProgramChange(track.Index, 0, channel, (byte)playbackInfo.Program); }
private void GenerateChannel(Track track, byte channel, PlaybackInformation playbackInfo) { var volume = ToChannelShort(playbackInfo.Volume); var balance = ToChannelShort(playbackInfo.Balance); _handler.AddControlChange(track.Index, 0, channel, (byte)MidiController.VolumeCoarse, (byte)volume); _handler.AddControlChange(track.Index, 0, channel, (byte)MidiController.PanCoarse, (byte)balance); _handler.AddControlChange(track.Index, 0, channel, (byte)MidiController.ExpressionControllerCoarse, 127); // set parameter that is being updated (0) -> PitchBendRangeCoarse _handler.AddControlChange(track.Index, 0, channel, (byte)MidiController.RegisteredParameterFine, 0); _handler.AddControlChange(track.Index, 0, channel, (byte)MidiController.RegisteredParameterCourse, 0); // Set PitchBendRangeCoarse to 12 _handler.AddControlChange(track.Index, 0, channel, (byte)MidiController.DataEntryFine, 0); _handler.AddControlChange(track.Index, 0, channel, (byte)MidiController.DataEntryCoarse, 12); _handler.AddProgramChange(track.Index, 0, channel, (byte)playbackInfo.Program); }