package net.mkonrad.synes.data;

import javax.vecmath.Point3f;

import net.mkonrad.synes.gui.elements.instruments.InstrumentShape;
import net.mkonrad.synes.gui.elements.instruments.PentagonShape;
import net.mkonrad.synes.gui.style.Colors;

public class Modulator extends SynthObj
{

  /**
   * Create a Modulator for Synths. It has a "strength" parameter, which is
   * internally handled like the "amp" parameter of a SynthObj
   * @see SynthObj 
   * @param strength Describes the power of influence of this modulator on his
   *                 Synths 
   */
  public Modulator(float strength, Point3f pos)
  {
    super(null, strength);
    
    _instrument = new AbstractInstrument()
    { 
      public boolean needsKeyboard()
      {
        return false;
      }
      
      public float getValueForArg(String argName, SynthObj synthData)
      {
        return 0;
      }
      
      public InstrumentShape createInstrumentShape(SynthObj synthData, Point3f pos)
      {
        return null;
      }
    };
    
    _instrument.setColor(Colors.white);
    _instrument.setTexture("pentagon.png");
    
    PentagonShape shape = new PentagonShape(this, pos);
    shape.getPrimitive().setPickable(false);
    setInstrumentShape(shape);
  }
}
