コード例 #1
0
ファイル: Reverb.cs プロジェクト: simonwittber/fuzzball
        public override void OnAddToRack(Synthesizer synth)
        {
            outputs[0].id = synth.NextOutputID();
            outputs[1].id = synth.NextOutputID();

            if (SAMPLERATE != 44100)
            {
                var samplesPerMillisecond = 88;
                var scaler = SAMPLERATE / 44100.0f;
                samplesPerMillisecond = Mathf.FloorToInt(scaler * samplesPerMillisecond);
                for (var i = 0; i < reverbDelay.Length; i++)
                {
                    var delay = Mathf.FloorToInt(scaler * reverbDelay[i]);
                    if ((delay & 1) == 0)
                    {
                        delay++;
                    }
                    while (!IsPrime(delay))
                    {
                        delay += 2;
                    }
                    reverbDelay[i] = delay;
                }
            }

            allpass1 = new InternalDelayLine(reverbDelay[0]);
            allpass2 = new InternalDelayLine(reverbDelay[1]);
            comb1    = new InternalDelayLine(reverbDelay[2]);
            comb2    = new InternalDelayLine(reverbDelay[3]);
        }
コード例 #2
0
 public override void OnAddToRack(Synthesizer synth)
 {
     output.id         = synth.NextOutputID();
     outputTrigger.id  = synth.NextOutputID();
     outputEnvelope.id = synth.NextOutputID();
     beatIndex         = -1;
     Parse();
     ScheduleNoteTriggers(0);
 }
コード例 #3
0
 public override void OnAddToRack(Synthesizer synth)
 {
     output.id = synth.NextOutputID();
     amps      = new Signal[items.Length];
     for (var i = 0; i < items.Length; i++)
     {
         amps[i].localValue = 0.5f;
     }
 }
コード例 #4
0
 public override void OnAddToRack(Synthesizer synth)
 {
     osc.OnAddToRack(synth);
     noise.OnAddToRack(synth);
     filter.OnAddToRack(synth);
     output.id = synth.NextOutputID();
     mixer     = new InternalMixer(synth, osc.output, noise.output);
     filter.input.Connect(mixer.output);
     output.Connect(filter.output);
 }
コード例 #5
0
ファイル: NoiseOsc.cs プロジェクト: simonwittber/fuzzball
 public override void OnAddToRack(Synthesizer synth)
 {
     output.id = synth.NextOutputID();
 }
コード例 #6
0
 public InternalMixer(Synthesizer synth, params Signal[] items)
 {
     this.output.id = synth.NextOutputID();
     this.items     = items;
 }