// playback-seek (float)posSeconds base::cell_t seek(base::lisp &gl, base::cell_t c, base::cells_t &) { if (base::lisp::validate(c, base::cell::list(1), base::cell::typeFloat)) { const auto &pos = c + 1; ts.setPosition((double)pos->f); return gl.nil(); } gl.signalError("playback-seek: invalid arguments, expected (float)"); return gl.nil(); }
void buttonClicked (Button* buttonThatWasClicked) override { if (buttonThatWasClicked == &startStopButton) { if (transportSource.isPlaying()) { transportSource.stop(); } else { transportSource.setPosition (0); transportSource.start(); } } else if (buttonThatWasClicked == &followTransportButton) { thumbnail->setFollowsTransport (followTransportButton.getToggleState()); } }