diff --git a/src/MediaServer/MediaServer.cpp b/src/MediaServer/MediaServer.cpp index 4a63b13..b55489f 100644 --- a/src/MediaServer/MediaServer.cpp +++ b/src/MediaServer/MediaServer.cpp @@ -363,7 +363,8 @@ BaseSource * MediaServer::loadFboSource(string & fboSourceName){ // Is loaded, increase reference count and return existing loadedSources[fboSourceName]->referenceCount++; ofLogNotice("MediaServer") << "Current " << fboSourceName << "reference count: " << loadedSources[fboSourceName]->referenceCount; - return loadedSources[fboSourceName]; + source->setActive(true); + return loadedSources[fboSourceName]; } // else // Not loaded, add to loaded sources and activate @@ -372,7 +373,8 @@ BaseSource * MediaServer::loadFboSource(string & fboSourceName){ source->referenceCount = 1; ofLogNotice("MediaServer") << "Current " << fboSourceName << " reference count: " << source->referenceCount; loadedSources[fboSourceName] = source; - return loadedSources[fboSourceName]; + source->setActive(true); + return loadedSources[fboSourceName]; } // loadFboSource void MediaServer::unloadFboSource(string & fboSourceName){ @@ -392,6 +394,7 @@ void MediaServer::unloadFboSource(string & fboSourceName){ if(source->referenceCount <= 0){ ofLogNotice("MediaServer") << fboSourceName << " reference count <= 0, removing from loaded sources"; source->referenceCount = 0; + source->setActive(false); //source->removeAppListeners(); map ::iterator it = loadedSources.find(fboSourceName); loadedSources.erase(it); diff --git a/src/Sources/BaseSource.cpp b/src/Sources/BaseSource.cpp index 0bb8958..77f9c7f 100644 --- a/src/Sources/BaseSource.cpp +++ b/src/Sources/BaseSource.cpp @@ -7,7 +7,7 @@ BaseSource::BaseSource(){ //cout << "BaseSource" << endl; init(); runInBackground = false; - displayed = true; + displayed = false; } BaseSource::BaseSource(ofTexture * newTexture){ diff --git a/src/Surfaces/SurfaceManager.cpp b/src/Surfaces/SurfaceManager.cpp index 0d821b0..160c3bd 100644 --- a/src/Surfaces/SurfaceManager.cpp +++ b/src/Surfaces/SurfaceManager.cpp @@ -457,11 +457,12 @@ void SurfaceManager::setPresetSourcesActiveState(unsigned int presetIndex, bool // tell sources associated with current preset that they are not displayed any more // this is so that we can optionally update the buffers or not. for (int j=0; j<_presets[presetIndex]->getSurfaces().size(); j++){ - _presets[_activePresetIndex]->getSurfaces()[j]->getSource()->setActive(state); + _presets[presetIndex]->getSurfaces()[j]->getSource()->setActive(state); } } void SurfaceManager::setPreset(unsigned int i){ + cout << "CALLED IT" << endl; if(_presets.size() <= 1){ throw runtime_error("ofxPiMapper: No presets to set."); } @@ -470,8 +471,9 @@ void SurfaceManager::setPreset(unsigned int i){ throw runtime_error("ofxPiMapper: Preset index out of bounds."); } - //let sources associated with OLD preset know that they are not being displayed any more + //let sources associated with all preset know that they are not being displayed any more setPresetSourcesActiveState(_activePresetIndex, false); + //change preset _activePresetIndex = i; //let sources associated with NEW preset know that they are now being displayed