Exemple #1
0
  // constructor
  Spectacle( t_CKFLOAT fs)
  {
    fftlen = kDefaultFFTLen;
    windowlen = kDefaultWindowLen;
    overlap = kDefaultOverlap;
    maxdeltime = kDefaultMaxDelTime;
    maxdeltime = CLIP(maxdeltime, kMinMaxDelTime, kMaxMaxDelTime);
	mindeltime = 0.0;
    srate = fs;
    mix = 1.0;
    spectdelay = NULL;
    float *del = dttable;
    float *eq = eqtable;
    float *feed = fbtable;
    for (int i = 0; i < kMaxTableLen; i++)
      {
	*del++ = rand2f(mindeltime, maxdeltime);
	*eq++ = 0.0;
	*feed++ = 0.0;
      }
    dttablen = eqtablen = fbtablen = kDefaultTableSize;
    minfreq = maxfreq = 0.0;
    posteq = hold = false;
    
    spectdelay = new Spectacle_dsp();
    spectdelay->init(fftlen, windowlen, overlap, srate, maxdeltime);
	spectdelay->set_deltable(dttable,dttablen);
	spectdelay->set_eqtable(eqtable,eqtablen);
	spectdelay->set_feedtable(fbtable,fbtablen);
  }
Exemple #2
0
  void setFBTable (int type)
  {
	for (int i=0; i<fbtablen; i++)
	  {
		switch (type)
		  {
		  case 0:
			fbtable[i] = lerp((float)i, 0, (float)fbtablen, -1.0 , 1.0);
			break;
		  case 1:
			fbtable[i] = lerp((float)i, (float)fbtablen, 0, -1.0, 1.0);
			break;
		  default:
			fbtable[i] = rand2f( -0.1, 0.1 );
		  }
	  }
  }
Exemple #3
0
  void setEQTable (int type)
  {
	for (int i=0; i<eqtablen; i++)
	  {
		switch (type)
		  {
		  case 0:
			eqtable[i] = lerp((float)i, 0, (float)dttablen, -24.f,24.f);
			break;
		  case 1:
			eqtable[i] = lerp((float)i, (float)dttablen, 0, -24.f,24.f);
			break;
		  default:
			eqtable[i] = rand2f(-24.f,24.f);
		  }
	  }
  }
Exemple #4
0
  void setDelayTable (int type)
  {
	for (int i=0; i<dttablen; i++)
	  {
		switch (type)
		  {
		  case 0:
			dttable[i] = lerp((float)i, 0, (float)dttablen, mindeltime, maxdeltime);
			break;
		  case 1:
			dttable[i] = lerp((float)i, (float)dttablen, 0, mindeltime, maxdeltime);
			break;
		  default:
			dttable[i] = rand2f(mindeltime, maxdeltime);
		  }
	  }
  }
Exemple #5
0
 glm::vec2 randt(const glm::vec2& max)
 {
     return rand2f(max);
 }
Exemple #6
0
 Vector2 randt(const Vector2& max)
 {
     return rand2f(max);
 }