예제 #1
0
파일: ofApp.cpp 프로젝트: marcpadro/poe
//--------------------------------------------------------------
void ofApp::setup(){
    
    dir.open( DIR_PATH );
    result_dir.open( RESULT_DIR );
    template_dir.open( TEMPLATE_DIR );
    queue_dir.open( QUEUE_DIR );
    
    
    if (!dir.exists() || !result_dir.exists() || !template_dir.exists() || !queue_dir.exists() ) ofExit();
    
    
    templateFile = getLatestFile(template_dir, "png");
    
    if (templateFile == ""  || !loadTemplate(TEMPLATE_DIR + templateFile)) ofExit();
    
    
    latestResult = getLatestFile(result_dir, "png");
    
    if (latestResult != "" ) {
        //deletePrevious(result_dir, latestResult);
        resultImage.loadImage(RESULT_DIR + latestResult);
        resultImage.resize(RESULT_WIDTH, RESULT_HEIGHT);
    } else {
        resultImage.allocate(templateImagePixels.getWidth(), templateImagePixels.getHeight(), OF_IMAGE_COLOR);
        memset(resultImage.getPixels(), 0, resultImage.getPixelsRef().size());
    }
    
    
    
#if FRAME_RATE > 0
    ofSetFrameRate(FRAME_RATE);
#endif
    
}
예제 #2
0
std::wstring getLatestConfigFile(const std::wstring& configname)
{
    return getLatestFile({
        getModulePath() + L"//" + configname,
        getModulePath() + L"//config//" + configname
    });
}
예제 #3
0
파일: ofApp.cpp 프로젝트: marcpadro/poe
//--------------------------------------------------------------
int ofApp::getBuffer(){
    
    size_t size;
    
    string fileToOpen = getLatestFile(dir, "ebb");
    
    if (fileToOpen != "") {
        
        cout << "file to open: " << fileToOpen << "\n";
        
        string filePath = DIR_PATH + fileToOpen;
        
        if ( fileToOpen.substr(fileToOpen.length() - 5) == "R.ebb" ) {
            
            size = RAND_SIZE;
            is_random = true;
            rand_pos_center = rand_pos = std::rand() % dataset.pix_num;
            size_t i = rand_pos * 3;
            rand_value_center[0] = rand_value[0] = dataset.imageData[i];
            rand_value_center[1] = rand_value[1] = dataset.imageData[i+1];
            rand_value_center[2] = rand_value[2] = dataset.imageData[i+2];
            
        }
        else {
            
            imageData.clear();
            
            imageData = ofBufferFromFile(filePath);
            
            data_ptr = (unsigned char*)imageData.getBinaryBuffer();
            
            cout << "buffer size: " << imageData.size() << "\n";
            
            size = (imageData.size() / 3) * 3;
            
            is_random = false;
            
        }
        
        ofFile::removeFile(filePath);
        
        dir.open(DIR_PATH);
        if (!dir.exists()) ofExit();
        
        return size;
        
    }
    
    return 0;
}