void HbThemeSystemEffect::setCurrentTheme(const QString &themeName) { #ifdef HBTHEMESYSTEMEFFECT_DEBUG qDebug() << "HbThemeSystemEffect::setCurrentTheme:" << themeName; #endif //HBTHEMESYSTEMEFFECT_DEBUG if (!themeName.isEmpty()) { bool registeringOk = false; QString confPath; // Try registering the theme specific effects if (getThemeEffectFolder(confPath)) { HbThemeSystemEffectMap *themeEffects = parseConfigurationFile(confPath); if (themeEffects->entryCount()) { verifyAllEffectsFound(*themeEffects); registerEffects(themeEffects); registeringOk = true; } delete themeEffects; themeEffects = 0; } // Theme specific effects registration failed // Try registering the base theme effects if (!registeringOk) { // If base theme configuration does not exist, all effects are unregistered registerEffects(baseThemeEffects()); } } }
int main (int argc, char** argv) { if(argc>1) { OSCConn::setServer(argv[1]); if(argc>2) { OSCConn::setPort(atoi(argv[2])); } } else { if(getSCPath() && launchSuperCollider()); else { fprintf(stderr, "Cant get sclang patch - exiting\n"); exit(0); } } registerEffects(); registerControllers(); if(!OSCConn::connect()) exit(1); if(!OSCConn::startServer()) exit(2); if(!checkEffectsList()) {OSCConn::quitServer(); exit(3);} saveSCPath(); initSDL(); effectCreator.init(); recordingInfoTex=generateText("Recording", COLOR_SELECTED_TEXT); auto effectInstanceList=getEffectInstanceList(); auto controllerInstanceList=getControllerInstanceList(); while (!checkInputs()) { for(auto it=controllerInstanceList->rbegin();it!=controllerInstanceList->rend();++it) { it->second->step(); } setColor(COLOR_CLEARCOLOR); SDL_RenderClear(render); drawRecordingInfo(); for(auto it=effectInstanceList->begin();it!=effectInstanceList->end();++it) { it->second->doSomething(); } for(auto it=effectInstanceList->begin();it!=effectInstanceList->end();++it) { it->second->draw(); } for(auto it=controllerInstanceList->rbegin();it!=controllerInstanceList->rend();++it) { it->second->draw(); } drawConnections(); int screen_width; SDL_GetWindowSize(window, &screen_width, NULL); effectCreator.draw(screen_width-EffectCreator::menu_period, 0); SDL_RenderPresent(render); } Effect::saveToFile("last_session.cello"); Effect::clearAll(); quitSDL(); OSCConn::quitServer(); fprintf(stderr, "Done\n"); }