| @@ -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 | } |