AlphaTab.Audio.Generator.MidiFileGenerator.GenerateAutomation C# (CSharp) Метод

GenerateAutomation() приватный Метод

private GenerateAutomation ( Beat beat, AlphaTab.Model.Automation automation, int startMove ) : void
beat AlphaTab.Model.Beat
automation AlphaTab.Model.Automation
startMove int
Результат void
        private void GenerateAutomation(Beat beat, Automation automation, int startMove)
        {
            switch (automation.Type)
            {
                case AutomationType.Instrument:
                    _handler.AddProgramChange(beat.Voice.Bar.Staff.Track.Index, beat.Start + startMove,
                                                (byte)beat.Voice.Bar.Staff.Track.PlaybackInfo.PrimaryChannel,
                                                (byte)(automation.Value));
                    _handler.AddProgramChange(beat.Voice.Bar.Staff.Track.Index, beat.Start + startMove,
                                                (byte)beat.Voice.Bar.Staff.Track.PlaybackInfo.SecondaryChannel,
                                                (byte)(automation.Value));
                    break;
                case AutomationType.Balance:
                    _handler.AddControlChange(beat.Voice.Bar.Staff.Track.Index, beat.Start + startMove,
                                                (byte)beat.Voice.Bar.Staff.Track.PlaybackInfo.PrimaryChannel,
                                                (byte)MidiController.PanCoarse,
                                                (byte)(automation.Value));
                    _handler.AddControlChange(beat.Voice.Bar.Staff.Track.Index, beat.Start + startMove,
                                                (byte)beat.Voice.Bar.Staff.Track.PlaybackInfo.SecondaryChannel,
                                                (byte)MidiController.PanCoarse,
                                                (byte)(automation.Value));
                    break;
                case AutomationType.Volume:
                    _handler.AddControlChange(beat.Voice.Bar.Staff.Track.Index, beat.Start + startMove,
                                                (byte)beat.Voice.Bar.Staff.Track.PlaybackInfo.PrimaryChannel,
                                                (byte)MidiController.VolumeCoarse,
                                                (byte)(automation.Value));
                    _handler.AddControlChange(beat.Voice.Bar.Staff.Track.Index, beat.Start + startMove,
                                                (byte)beat.Voice.Bar.Staff.Track.PlaybackInfo.SecondaryChannel,
                                                (byte)MidiController.VolumeCoarse,
                                                (byte)(automation.Value));
                    break;
            }
        }