History

added fftlen and overlap methods

Joel Matthys committed 12 years ago

Commit a66b2441 parent b9da22e2 files · +80 −0Browse files

Unified · Split

2 files
  1. Spectacle/Spectacle.cpp +77 −0
  2. Spectacle/spectacle-help.ck +3 −0
Spectacle/Spectacle.cpp+77−0
@@ -193,6 +193,31 @@ public: · 192 unmodified lines
193 // get parameter example193 // get parameter example
194 int getPostEQ() { return posteq; }194 int getPostEQ() { return posteq; }
195 195
196 // set parameter example
197 int setFFTlen( t_CKINT p )
198 {
199 clear();
200 int newfft = 1;
201 // ensure it's a power of 2
202 while (newfft < p) newfft = newfft << 1;
203 fftlen = newfft;
204 windowlen = newfft * 2;
205 spectdelay->init(fftlen, windowlen, overlap, srate, maxdeltime);
206 return fftlen;
207 }
208
209 int getFFTlen() { return fftlen; };
210
211 // set parameter example
212 int setOverlap( t_CKINT p )
213 {
214 clear();
215 overlap = p;
216 spectdelay->init(fftlen, windowlen, overlap, srate, maxdeltime);
217 return overlap;
218 }
219
220 int getOverlap() { return overlap; };
196 221
197private:222private:
198 // instance data223 // instance data
@@ -269,6 +294,22 @@ CK_DLL_QUERY( Spectacle ) · 70 unmodified lines
269 // example of adding setter method294 // example of adding setter method
270 QUERY->add_mfun(QUERY, spectacle_getPostEQ, "int", "posteq");295 QUERY->add_mfun(QUERY, spectacle_getPostEQ, "int", "posteq");
271 296
297 // example of adding setter method
298 QUERY->add_mfun(QUERY, spectacle_setFFTlen, "int", "fftlen");
299 // example of adding argument to the above method
300 QUERY->add_arg(QUERY, "int", "arg");
301
302 // example of adding setter method
303 QUERY->add_mfun(QUERY, spectacle_getFFTlen, "int", "fftlen");
304
305 // example of adding setter method
306 QUERY->add_mfun(QUERY, spectacle_setOverlap, "int", "overlap");
307 // example of adding argument to the above method
308 QUERY->add_arg(QUERY, "int", "arg");
309
310 // example of adding setter method
311 QUERY->add_mfun(QUERY, spectacle_getOverlap, "int", "overlap");
312
272 // example of adding setter method313 // example of adding setter method
273 QUERY->add_mfun(QUERY, spectacle_setMaxDelay, "dur", "setMaxDelay");314 QUERY->add_mfun(QUERY, spectacle_setMaxDelay, "dur", "setMaxDelay");
274 // example of adding argument to the above method315 // example of adding argument to the above method
@@ -415,3 +456,39 @@ CK_DLL_MFUN(spectacle_getPostEQ) · 140 unmodified lines
415 // set the return value456 // set the return value
416 RETURN->v_int = bcdata->getPostEQ();457 RETURN->v_int = bcdata->getPostEQ();
417}458}
459
460// example implementation for setter
461CK_DLL_MFUN(spectacle_setFFTlen)
462{
463 // get our c++ class pointer
464 Spectacle * bcdata = (Spectacle *) OBJ_MEMBER_INT(SELF, spectacle_data_offset);
465 // set the return value
466 RETURN->v_int = bcdata->setFFTlen(GET_NEXT_INT(ARGS));
467}
468
469// example implementation for setter
470CK_DLL_MFUN(spectacle_getFFTlen)
471{
472 // get our c++ class pointer
473 Spectacle * bcdata = (Spectacle *) OBJ_MEMBER_INT(SELF, spectacle_data_offset);
474 // set the return value
475 RETURN->v_int = bcdata->getFFTlen();
476}
477
478// example implementation for setter
479CK_DLL_MFUN(spectacle_setOverlap)
480{
481 // get our c++ class pointer
482 Spectacle * bcdata = (Spectacle *) OBJ_MEMBER_INT(SELF, spectacle_data_offset);
483 // set the return value
484 RETURN->v_int = bcdata->setOverlap(GET_NEXT_INT(ARGS));
485}
486
487// example implementation for setter
488CK_DLL_MFUN(spectacle_getOverlap)
489{
490 // get our c++ class pointer
491 Spectacle * bcdata = (Spectacle *) OBJ_MEMBER_INT(SELF, spectacle_data_offset);
492 // set the return value
493 RETURN->v_int = bcdata->getOverlap();
494}
Spectacle/spectacle-help.ck+3−0
@@ -3,5 +3,8 @@ Spectacle spect => dac; · 2 unmodified lines
310::second => spect.setMaxDelay;310::second => spect.setMaxDelay;
4<<< spect.getMaxDelay()/second >>>;4<<< spect.getMaxDelay()/second >>>;
5spect.clear();5spect.clear();
62048 => spect.fftlen;
74 => spect.overlap;
62 => spect.hold;82 => spect.hold;
73 => spect.posteq;93 => spect.posteq;
10second => now;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t