Showing the changes to Spectacle/Spectacle.cpp (1 of 2 files). Show all
Unified · Split
| @@ -193,6 +193,31 @@ public: · 192 unmodified lines | ||
| 193 | 193 | // get parameter example |
| 194 | 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 | 222 | private: |
| 198 | 223 | // instance data |
| @@ -269,6 +294,22 @@ CK_DLL_QUERY( Spectacle ) · 70 unmodified lines | ||
| 269 | 294 | // example of adding setter method |
| 270 | 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 | 313 | // example of adding setter method |
| 273 | 314 | QUERY->add_mfun(QUERY, spectacle_setMaxDelay, "dur", "setMaxDelay"); |
| 274 | 315 | // example of adding argument to the above method |
| @@ -415,3 +456,39 @@ CK_DLL_MFUN(spectacle_getPostEQ) · 140 unmodified lines | ||
| 415 | 456 | // set the return value |
| 416 | 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 | +} | |