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);
}