void ofxTLVideoPlayer::setVideoPlayer(ofVideoPlayer& newPlayer, string thumbDir){ ofDirectory checkCreateDirectory(thumbDir); if (!checkCreateDirectory.exists()) { ofLogError("ofxTLVideoPlayer -- Directory " + thumbDir + " doesn't exist! Creating"); checkCreateDirectory.create(true); } if(inFrame == -1){ cout << "reseting in out" << endl; inFrame = 0; outFrame = newPlayer.getTotalNumFrames(); } //TODO: check out videoThumbs.clear(); player = &newPlayer; thumbDirectory = thumbDir; for(int i = 0; i < newPlayer.getTotalNumFrames(); i++){ ofxTLVideoThumb t; t.setup(i, thumbDir); videoThumbs.push_back(t); } videoThumbs[0].visible = true; generateThumbnailForFrame(0); calculateFramePositions(); generateVideoThumbnails(); }
void ofxTLVideoPlayer::zoomEnded(ofxTLZoomEventArgs& args){ ofxTLElement::zoomEnded(args); calculateFramePositions(); if(thumbsEnabled){ generateVideoThumbnails(); purgeOldThumbnails(); } }
void ofxTLVideoTrack::setPlayer(ofPtr<ofVideoPlayer> newPlayer){ player = newPlayer; if(player->isLoaded()){ backLock.lock(); videoThumbs.clear(); backthreadedPlayer = ofPtr<ofVideoPlayer>(new ofVideoPlayer()); backthreadedPlayer->setUseTexture(false); backthreadedPlayer->loadMovie(player->getMoviePath()); backLock.unlock(); calculateFramePositions(); inFrame = 0; outFrame = player->getTotalNumFrames(); currentlyPlaying = false; player->setLoopState(OF_LOOP_NONE); player->setFrame(0); player->update(); } else { ofLogError("ofxTLVideoTrack::setPlayer -- setting a video player before loading movie doesn't work!"); } }
void ofxTLVideoPlayer::zoomDragged(ofxTLZoomEventArgs& args){ ofxTLElement::zoomDragged(args); calculateFramePositions(); }
void ofxTLVideoPlayer::drawRectChanged(){ calculateFramePositions(); }