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 // Is loaded, increase reference count and return existing
loadedSources[fboSourceName]->referenceCount++; loadedSources[fboSourceName]->referenceCount++;
ofLogNotice("MediaServer") << "Current " << fboSourceName << "reference count: " << loadedSources[fboSourceName]->referenceCount; ofLogNotice("MediaServer") << "Current " << fboSourceName << "reference count: " << loadedSources[fboSourceName]->referenceCount;
return loadedSources[fboSourceName]; source->setActive(true);
return loadedSources[fboSourceName];
} }
// else // else
// Not loaded, add to loaded sources and activate // Not loaded, add to loaded sources and activate
@ -372,7 +373,8 @@ BaseSource * MediaServer::loadFboSource(string & fboSourceName){
source->referenceCount = 1; source->referenceCount = 1;
ofLogNotice("MediaServer") << "Current " << fboSourceName << " reference count: " << source->referenceCount; ofLogNotice("MediaServer") << "Current " << fboSourceName << " reference count: " << source->referenceCount;
loadedSources[fboSourceName] = source; loadedSources[fboSourceName] = source;
return loadedSources[fboSourceName]; source->setActive(true);
return loadedSources[fboSourceName];
} // loadFboSource } // loadFboSource
void MediaServer::unloadFboSource(string & fboSourceName){ void MediaServer::unloadFboSource(string & fboSourceName){
@ -392,6 +394,7 @@ void MediaServer::unloadFboSource(string & fboSourceName){
if(source->referenceCount <= 0){ if(source->referenceCount <= 0){
ofLogNotice("MediaServer") << fboSourceName << " reference count <= 0, removing from loaded sources"; ofLogNotice("MediaServer") << fboSourceName << " reference count <= 0, removing from loaded sources";
source->referenceCount = 0; source->referenceCount = 0;
source->setActive(false);
//source->removeAppListeners(); //source->removeAppListeners();
map <string, BaseSource *>::iterator it = loadedSources.find(fboSourceName); map <string, BaseSource *>::iterator it = loadedSources.find(fboSourceName);
loadedSources.erase(it); loadedSources.erase(it);

2
src/Sources/BaseSource.cpp

@ -7,7 +7,7 @@ BaseSource::BaseSource(){
//cout << "BaseSource" << endl; //cout << "BaseSource" << endl;
init(); init();
runInBackground = false; runInBackground = false;
displayed = true; displayed = false;
} }
BaseSource::BaseSource(ofTexture * newTexture){ 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 // 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. // this is so that we can optionally update the buffers or not.
for (int j=0; j<_presets[presetIndex]->getSurfaces().size(); j++){ 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){ void SurfaceManager::setPreset(unsigned int i){
cout << "CALLED IT" << endl;
if(_presets.size() <= 1){ if(_presets.size() <= 1){
throw runtime_error("ofxPiMapper: No presets to set."); 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."); 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); setPresetSourcesActiveState(_activePresetIndex, false);
//change preset //change preset
_activePresetIndex = i; _activePresetIndex = i;
//let sources associated with NEW preset know that they are now being displayed //let sources associated with NEW preset know that they are now being displayed

Loading…
Cancel
Save