Showing the changes to Spectacle/Spectacle.cpp (1 of 2 files). Show all
Unified · Split
| @@ -193,6 +193,31 @@ public: · 192 unmodified lines | |||
| 193 | // get parameter example | 193 | // 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 | ||
| 197 | private: | 222 | private: |
| 198 | // instance data | 223 | // instance data |
| @@ -269,6 +294,22 @@ CK_DLL_QUERY( Spectacle ) · 70 unmodified lines | |||
| 269 | // example of adding setter method | 294 | // 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 method | 313 | // 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 method | 315 | // example of adding argument to the above method |
| @@ -415,3 +456,39 @@ CK_DLL_MFUN(spectacle_getPostEQ) · 140 unmodified lines | |||
| 415 | // set the return value | 456 | // set the return value |
| 416 | RETURN->v_int = bcdata->getPostEQ(); | 457 | RETURN->v_int = bcdata->getPostEQ(); |
| 417 | } | 458 | } |
| 459 | |||
| 460 | // example implementation for setter | ||
| 461 | CK_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 | ||
| 470 | CK_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 | ||
| 479 | CK_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 | ||
| 488 | CK_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 | } | ||