#include "dirscanner.h" void playItem::play(){ if (video.isLoaded()){ video.play(); ofLogNotice() << "playing video: "<0; } void playItem::draw(){ if (image.isAllocated()){ //ofEnableAlphaBlending(); //ofSetColor(255,255,255,1.0); image.draw(0,0); //ofDisableAlphaBlending(); if (ofGetElapsedTimef()-startTime>5.0){ isFinished=true; } } if (video.isLoaded()){ video.draw(0,0); if (video.getIsMovieDone()){ isFinished=true; } } } void dirScanner::scan(){ /* parse directories and create structure showing which folder to check at which time */ slots.clear(); ofDirectory dir(rootdir); dir.allowExt(""); //get directories dir.listDir(); for(int i = 0; i < dir.size(); i++){ string d=dir.getName(i); int start = ofToInt(d.substr(0,4)); int end = ofToInt(d.substr(5,4)); if (end){ slots.push_back(timeSlot(dir.getPath(i),start,end)); ofLogNotice() << "directory "<=railwaytime){ return i; } } return -1; } void dirPlayer::load(std::string path){ items.clear(); ofDirectory dir(path); dir.allowExt("mp4"); dir.allowExt("mov"); dir.allowExt("jpg"); dir.allowExt("png"); dir.listDir(); for(int i = 0; i < dir.size(); i++){ string d=dir.getPath(i); playItem item; if (item.load(d)){ items.push_back(item); } } currentItem=0; ofLogNotice() << "found "<getSlotForTime(); if (slot!=currentslot){ if (slot>-1){ ofLogNotice() << "entering slot "<slots[slot].path; load(scanner->slots[slot].path); } else { ofLogNotice() << "leaving slot"; } currentslot=slot; } if (items[currentItem].isFinished){ items[currentItem].isFinished=false; currentItem=(currentItem+1)%items.size(); items[currentItem].play(); } items[currentItem].draw(); }