Exemplo n.º 1
0
 /// <summary>
 /// Инициализирует новый экземпляр класса.
 /// </summary>
 /// <param name = "enable">
 /// Состояние вкл / выкл.
 /// </param>
 /// <param name = "volume">
 /// Процентная громкость [0; 150] %.
 /// </param>
 /// <param name = "frequency">
 /// Частота [1; 100] Гц.
 /// </param>
 /// <param name = "amplitude">
 /// Амплитуда [1; 100] м.
 /// </param>
 /// <param name = "shape">
 /// Волноформа.
 /// </param>
 /// <exception cref = "SynthesisException"></exception>
 public Oscillator(Boolean enable, Int32 volume, Int32 frequency, Int32 amplitude, Waveshape shape)
 {
     if (volume < 0 || volume > 150 || frequency < 1 || frequency > 100 || amplitude < 1 || amplitude > 100)
     {
         throw new SynthesisException("Нарушены границы допустимого значения.");
     }
     this.enable    = enable;
     this.volume    = volume;
     this.frequency = frequency;
     this.amplitude = amplitude;
     this.shape     = shape;
 }
Exemplo n.º 2
0
        public WaterGenerator(byte[] options, bool applyFixes = false)
        {
            this.waveshape           = (Waveshape)options[0];
            this.watercolor          = (Watercolor)options[1];
            this.reflection          = (Reflection)options[2];
            this.refraction          = (Refraction)options[3];
            this.bankalpha           = (Bankalpha)options[4];
            this.appearance          = (Appearance)options[5];
            this.global_shape        = (Global_Shape)options[6];
            this.foam                = (Foam)options[7];
            this.reach_compatibility = options.Length > 8 ? (Reach_Compatibility)options[8] : Reach_Compatibility.Disabled;

            ApplyFixes = applyFixes;
            TemplateGenerationValid = true;
        }
Exemplo n.º 3
0
        public WaterGenerator(Waveshape waveshape, Watercolor watercolor, Reflection reflection, Refraction refraction,
                              Bankalpha bankalpha, Appearance appearance, Global_Shape global_shape, Foam foam, Reach_Compatibility reach_compatibility, bool applyFixes = false)
        {
            this.waveshape           = waveshape;
            this.watercolor          = watercolor;
            this.reflection          = reflection;
            this.refraction          = refraction;
            this.bankalpha           = bankalpha;
            this.appearance          = appearance;
            this.global_shape        = global_shape;
            this.foam                = foam;
            this.reach_compatibility = reach_compatibility;

            ApplyFixes = applyFixes;
            TemplateGenerationValid = true;
        }
Exemplo n.º 4
0
    /// <summary>
    /// Emulates a reduced sample rate of the LFO
    /// </summary>
    /// <param name="samples">Sample rate</param>
    public void LoFi(int samples)
    {
        Waveshape func = Function;

        Function = x => func(Math.Round(x * samples) / (float)samples);
    }
Exemplo n.º 5
0
 public LFO(Waveshape func, double freq, double phase)
 {
     Function    = func;
     Frequency   = freq;
     PhaseOffset = phase;
 }
Exemplo n.º 6
0
 /// <summary>
 /// Creates a new LFO instance
 /// </summary>
 /// <param name="func">Function to create LFO with</param>
 /// <param name="freq">Frequency of LFO</param>
 public LFO(Waveshape func, double freq)
 {
     Function  = func;
     Frequency = freq;
 }
Exemplo n.º 7
0
 /// <summary>
 /// Creates a new LFO instance
 /// </summary>
 /// <param name="func">Function to create LFO with</param>
 public LFO(Waveshape func)
 {
     Function = func;
 }