예제 #1
0
 public Channel()
 {
     m_vco = new Envelope(0.0, 60.0 / VELOCITY_MAX2, 30.0 / VELOCITY_MAX2, 1.0 / VELOCITY_MAX2);
     m_vcf = new Envelope(0.0, 30.0 / VELOCITY_MAX2, 0.0, 1.0);
     m_osc1 = new Oscillator();
     m_mod1 = m_osc1.CurrentModulator;
     m_osc2 = new Oscillator() { Form = OscillatorForm.Sine };
     m_osc2.MakeAsLFO();
     m_mod2 = m_osc2.CurrentModulator;
     m_filter = new Filter();
     m_osc2connect = m_enableFilter = false;
     m_formant = new Formant();
     m_volumeMode = 0;
     m_expression = 0;
     m_onCounter = 0;
     m_lfoDelay = 0;
     m_lfoDepth = 0;
     m_lfoEnd = 0;
     m_lpfAmount = 0;
     m_lpfFrequency = 0;
     m_lpfResonance = 0;
     NoteIndex = 0;
     Detune = 0;
     m_frequencyIndex = 0;
     Pan = 64;
     Expression = 127;
     Velocity = 100;
     Input = new Events.Input() { Sens = 0, Pipe = 0 };
     Output = new Events.Output() { Mode = ChannelOutputMode.Default, Pipe = 0 };
     Ring = new Events.Ring() { Sens = 0, Pipe = 0 };
     Sync = new Events.Sync() { Mode = ChannelOutputMode.Default, Pipe = 0 };
 }
예제 #2
0
 public void RecordOutput(ChannelOutputMode mode, int pipe)
 {
     Events.Output e = new Events.Output() { Mode = mode, Pipe = pipe };
     SetDeltaAndAddEvent(e);
 }