コード例 #1
0
ファイル: MediaServer.cpp プロジェクト: ARKopp/ofxPiMapper
 BaseSource* MediaServer::loadImage(string& path) {
   ImageSource* imageSource = NULL;
   // Check if this image is already loaded
   bool isImageLoaded = false;
   if (loadedSources.count(path)) {
     imageSource = static_cast<ImageSource*>(loadedSources[path]);
     isImageLoaded = true;
   }
   // If image is loaded
   if (isImageLoaded) {
     // Increase reference count of this source
     //referenceCount[path]++;
     imageSource->referenceCount++;
     std::stringstream refss;
     refss << "Current reference count for " << path << " = " << imageSource->referenceCount;
     ofLogNotice("MediaServer") << refss.str();
     // Notify objects registered to onImageLoaded event
     std::stringstream ss;
     ss << "Image " << path << " already loaded";
     ofLogNotice("MediaServer") << ss.str();
     ofNotifyEvent(onImageLoaded, path, this);
     return imageSource;
   }
   // Else load fresh
   imageSource = new ImageSource();
   imageSource->loadImage(path);
   loadedSources[path] = imageSource;
   // Set reference count of this image path to 1
   //referenceCount[path] = 1;
   std::stringstream refss;
   refss << "Initialized reference count of " << path << " to " << imageSource->referenceCount;
   ofLogNotice("MediaServer") << refss.str();
   // Notify objects registered to onImageLoaded event
   ofNotifyEvent(onImageLoaded, path, this);
   return imageSource;
 }