Browse Source

fixed minor bugs here and there and made sure media server sets displayed flag to false once source is unloaded

master
Theodoros Papatheodorou 8 years ago
parent
commit
7099fee8f5
  1. 7
      src/MediaServer/MediaServer.cpp
  2. 2
      src/Sources/BaseSource.cpp
  3. 6
      src/Surfaces/SurfaceManager.cpp

7
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 <string, BaseSource *>::iterator it = loadedSources.find(fboSourceName);
loadedSources.erase(it);

2
src/Sources/BaseSource.cpp

@ -7,7 +7,7 @@ BaseSource::BaseSource(){
//cout << "BaseSource" << endl;
init();
runInBackground = false;
displayed = true;
displayed = false;
}
BaseSource::BaseSource(ofTexture * newTexture){

6
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

Loading…
Cancel
Save