void drumkv1_config::savePrograms ( drumkv1_programs *pPrograms ) { bProgramsEnabled = pPrograms->enabled(); clearPrograms(); QSettings::beginGroup(programsGroup()); const drumkv1_programs::Banks& banks = pPrograms->banks(); drumkv1_programs::Banks::ConstIterator bank_iter = banks.constBegin(); const drumkv1_programs::Banks::ConstIterator& bank_end = banks.constEnd(); for ( ; bank_iter != bank_end; ++bank_iter) { drumkv1_programs::Bank *pBank = bank_iter.value(); const QString& bank_key = QString::number(pBank->id()); const QString& bank_name = pBank->name(); QSettings::setValue(bank_key, bank_name); QSettings::beginGroup(bankPrefix() + bank_key); const drumkv1_programs::Progs& progs = pBank->progs(); drumkv1_programs::Progs::ConstIterator prog_iter = progs.constBegin(); const drumkv1_programs::Progs::ConstIterator& prog_end = progs.constEnd(); for ( ; prog_iter != prog_end; ++prog_iter) { drumkv1_programs::Prog *pProg = prog_iter.value(); const QString& prog_key = QString::number(pProg->id()); const QString& prog_name = pProg->name(); QSettings::setValue(prog_key, prog_name); } QSettings::endGroup(); } QSettings::endGroup(); QSettings::sync(); }
void UniformManager::clear() { clearPrograms(); for(auto i : vals) { delete i.second; } }
OpenCL::~OpenCL() { clFinish(clQueue); for(int i=0; i<memObjects.size(); i++) delete memObjects[i]; // FIX kernels.clear(); clearPrograms(); clReleaseCommandQueue(clQueue); clReleaseContext(clContext); ofLog(OF_LOG_VERBOSE, "OpenCL::~OpenCL"); }