void Table::setTableInfo(FileDir fdir, PerlInterpreter* perlInterp){ if (tableInfo.size() > 0){ for (unsigned int i = 0; i < tableInfo.size(); i++) delete tableInfo[i]; tableInfo.clear(); } for (int i = 0; i < fdir.getDirSize(); i++) tableInfo.push_back(new Info(fdir.getAllFilenames()[i], perlInterp)); removeInvalidFiles(); setID_all(); }
FileList FileDir::getEntries() const { FileSystem& fs = FileSystem::instance(); FileDir saveDir( fs.getWorkingDirectory() ); FileDir changeDd = *this; fs.changeWorkingDirectoryTo( changeDd ); FileList fList( changeDd.toString(), false, false ); fList = fs.getFileList(); fs.changeWorkingDirectoryTo( saveDir ); return fList; }
void FileDir::_OsCreate( const FileDir& dirName ) { #ifdef _WIN32 CreateDirectory( removeEndSlash().toString().c_str(), NULL ); #else ::mkdir( dirName.toString().c_str(), S_IRWXU|S_IRWXG|S_IRWXO ); #endif }
void FileDir::_OsCreate( const FileDir& dirName ) { #ifdef OC3_PLATFORM_WIN CreateDirectory( removeEndSlash().toString().c_str(), NULL ); #elif defined(OC3_PLATFORM_UNIX) ::mkdir( dirName.toString().c_str(), S_IRWXU|S_IRWXG|S_IRWXO ); #endif }
void Table::removeEmailByID(FileDir& fdir, unsigned int emailID){ if ((emailID > 0)&&(emailID < tableInfo.size()+1)){ if (!remove ((emailDirectory+(tableInfo[emailID-1])->getFilename()).c_str ())){ cout << "File "<<(tableInfo[emailID-1])->getFilename()<<" was successfully removed." << endl; fdir.removeByFilename((tableInfo[emailID-1])->getFilename()); delete (tableInfo[emailID-1]); tableInfo.erase(tableInfo.begin()+emailID-1); } else cout << "Could not delete file."<<endl; } else { cout<<"Could not find an email with this ID."<<endl; } }
void DirReaderMenu::onOpen() { clearItems(); if(dir.length()==0) { //empty return; } //read files FileDir fd; //FIXME: make this optional bool ok = fd.read(dir, false, postfix, false); if(!ok) { cout << "read failed:" << dir << endl; return; } vector<string> ret; fd.getFiles(ret); vector<FileDir::TYPE> ret_t; fd.getTypes(ret_t); for(uint i=0;i<ret.size();i++) { if(skip_prefix.size()>0) { size_t pf = ret[i].find_first_of(skip_prefix); if(pf==0) { continue; } } if(ret_t[i]==FileDir::T_FILE) { addFileItem(ret[i]); } else //is dir { DirReaderMenu* sub = new DirReaderMenu(back->getUseSurf(), selback->getUseSurf(), f, maxchar, subback->getUseSurf(), subback_sel->getUseSurf()); //NOTICE: dirnames does not contain a trailing / //FIXME: never? string s_dir = dir+ret[i]; if(s_dir.at(s_dir.size()-1) != '/') { s_dir+="/"; } sub->setDir(s_dir); sub->copyDirAction(dir_action); sub->setOnlyPostfix(postfix); sub->setSkipPrefix(skip_prefix); sub->setDisplayPostfix(getDisplayPostfix()); addSubDirReaderMenu(ret[i], sub); } } }
FileDir::FileDir( const FileDir& nPath ) : FilePath( nPath.toString() ) { }
int SampleHold::loadDir(const string& path) { ProgramState& progstate = ProgramState::instance(); if(path.size()==0) { DERROR("path empty"); return 1; } FileDir fd; bool exist = fd.read(path, false, ".wav", false, false); if(!exist) { DERROR("(E) SampleHold loadDIR(): no such dir!"); return 1; } vector<string> files; fd.getFiles(files); if(files.size()==0)return 0; for(unsigned int i=0; i<files.size(); i++) { Wav w; string str=path+files[i]; //FIXME: better errorchecking! Wav::err ret = w.load(str); //w.info(); if(ret==Wav::FILE_NOTFOUND_ERR)continue; //something went wrong but probably file does not exist... if(!w.ok()) { DERROR("something wrong happend"); continue; } WavSample* samp; if(w.isStereo()) { SampleValue* l = new SampleValue(w.makeSample(Wav::EXTRACT_LEFT)); l->setResampleRate(w.getSampleRate(), progstate.getSampleRate()); SampleValue* r = new SampleValue(w.makeSample(Wav::EXTRACT_RIGHT)); r->setResampleRate(w.getSampleRate(), progstate.getSampleRate()); samp = new WavSample(files[i], l,r); } else { SampleValue* m = new SampleValue(w.makeSample(Wav::EXTRACT_ALL)); m->setResampleRate(w.getSampleRate(), progstate.getSampleRate()); samp = new WavSample(files[i], m); } samples.push_back(samp); w.del(); } return 0; }