示例#1
0
MantaFlextPoly::MantaFlextPoly(int argc, t_atom *argv) :
   StoredValue(-1)
{
   if(argc > 0 && CanbeInt(argv[0]))
   {
      /* Voices initialized to empty vector, so all items are new
       * and initialized to -1 */
      Voices.assign(GetInt(argv[0]), -1);
   }
   else
   {
      Voices.assign(48, -1);
   }
   /* voice stealing is not yet implemented */
   if(argc > 1 && CanbeInt(argv[1]))
   {
      Stealing = GetInt(argv[1]);
   }
   AddInAnything();
   AddInFloat();
   AddOutFloat();
   AddOutFloat();
   AddOutFloat();
   FLEXT_ADDMETHOD(0, PadHandler);
   FLEXT_ADDMETHOD(1, ValueHandler);
   FLEXT_ADDMETHOD(0, PadAndValueHandler);
}
示例#2
0
文件: skidder.cpp 项目: Angeldude/pd
skidder::skidder(int argc, t_atom *argv) {

	post("_ ____  ---- :: _______  ___ _____ _ skidder~ ");

	tempoRateTable = new TempoRateTable;
//	m_setup();				// initialize a fresh skid cycle
	
	AddInSignal(2);
	AddInFloat(6);
	AddOutSignal(2);
	SetupInOut();  

	fTempo = tempoUnscaled(120.0f);
	currentTempoBPS = oldTempoBPS = tempoScaled(fTempo) / 60.0f;

	FLEXT_ADDMETHOD( 1, setRate);
	FLEXT_ADDMETHOD_F(0,"temposync",setTempoSync);
	FLEXT_ADDMETHOD( 2, setTempoRate);
	FLEXT_ADDMETHOD_F(0,"rrf",setRateRandFactor);
	FLEXT_ADDMETHOD( 3, setTempo);
	FLEXT_ADDMETHOD( 4, setPulsewidth);
	FLEXT_ADDMETHOD_F(0,"pwrm",setPulsewidthRandMin);
	FLEXT_ADDMETHOD( 5, setSlope);
	FLEXT_ADDMETHOD( 6, setFloor);
	FLEXT_ADDMETHOD_F(0,"frm",setFloorRandMin);
	FLEXT_ADDMETHOD( 7, setPan);
	FLEXT_ADDMETHOD_F(0,"noise",setNoise);

	post("_ ____ ____ _");

	srand((unsigned int)time(NULL));	// sets a seed value for rand() from the system clock
}
示例#3
0
MantissaMask_kr::MantissaMask_kr(int argc,t_atom * argv)
{

    AtomList Args(argc,argv);
    int bits = sc_getfloatarg(Args,0);

    AddInFloat();
    AddOutFloat();

    FLEXT_ADDMETHOD(0,m_perform);
    FLEXT_ADDMETHOD_(0,"set",m_set);
    mask = -1 << (23 - bits);
}
示例#4
0
文件: scmul.cpp 项目: Angeldude/pd
scmul_ar::scmul_ar(int argc, t_atom *argv)
{
    FLEXT_ADDMETHOD(1,m_set);

    //parse arguments
    AtomList Args(argc,argv);

    m_factor = sc_getfloatarg(Args,0);

    AddInSignal("signal");
    AddInFloat("scalar");
    AddOutSignal();
    
    changed = false;
}    
示例#5
0
transverb::transverb(int argc, t_atom *argv)  {

  fBsize   = (2700.0f-BUFFER_MIN)/(BUFFER_MAX-BUFFER_MIN); 		// "ms"
  drymix 	= 0.5f; 						// "dB"

  mix1 		= 1.0f; 						// "dB"
  dist1		= 0.90009f; 						// "units"
  speed1   = (0.0f-SPEED_MIN)/(SPEED_MAX-SPEED_MIN);			// "units"
  feed1		= 0.0f; 						// "units"

  mix2		= 0.0f;							// "dB"
  dist2		= 0.1f;							// "units"
  speed2   = (1.0f-SPEED_MIN)/(SPEED_MAX-SPEED_MIN);			// "units"
  feed2 	= 0.0f; 						// "units"
  
  fQuality	= 1.0f;
  fTomsound	= 0.0f;
  fSpeed1mode	= 0.0f;
  fSpeed2mode	= 0.0f;

  // default this to something, at least for the sake of getGetTailSize()
  MAXBUF = (int) (BUFFER_MAX * 44.1f);
  buf1[0] = NULL;
  buf2[0] = NULL;
#ifdef TRANSVERB_STEREO
  buf1[1] = NULL;
  buf2[1] = NULL;
#endif
  filter1 = new IIRfilter[NUM_CHANNELS];
  filter2 = new IIRfilter[NUM_CHANNELS];
  firCoefficients1 = new float[numFIRtaps];
  firCoefficients2 = new float[numFIRtaps];
  suspend();
  srand((unsigned int)time(NULL));	// sets a seed value for rand() from the system clock

	post("_ ____transverb~ with flext");

	sr = (int) Samplerate();
	blocksize = Blocksize(); 
	
	post("_ samplerat :: %d",sr);
	
	// The constructor of your class is responsible for
	// setting up inlets and outlets and for registering
	// inlet-methods:
	
	AddInSignal();
//	AddInAnything();
	AddInFloat(9);
	AddOutSignal();         // 1 audio out [ == AddOutSignal(1) ]
	
	SetupInOut();           // set up inlets and outlets. 
				// Must get called once!

	// Now we need to bind the handler function to our
	// inlets, 
	FLEXT_ADDMETHOD( 0,setMix);
	FLEXT_ADDMETHOD( 1,setBsize);
	FLEXT_ADDMETHOD( 2,setMix1);
	FLEXT_ADDMETHOD( 3,setSpeed1);
	FLEXT_ADDMETHOD( 4,setFeed1);
	FLEXT_ADDMETHOD( 5,setDist1);
	FLEXT_ADDMETHOD( 6,setMix2);
	FLEXT_ADDMETHOD( 7,setSpeed2);
	FLEXT_ADDMETHOD( 8,setFeed2);
//	FLEXT_ADDMETHOD( 9,setDist2);
//	FLEXT_ADDMETHOD(10,setQuality);
//	FLEXT_ADDMETHOD(11,setTom);
	
	// We're done constructing:
	post("_ ____ ____ _");
	
} // end of constructor