From cdd514dbf5be90f132cd07e4b839860fffeec389 Mon Sep 17 00:00:00 2001 From: Krisjanis Rijnieks Date: Wed, 15 Oct 2014 20:54:00 +0200 Subject: [PATCH] Add loadImage and unloadImage methods --- src/MediaServer/MediaServer.cpp | 23 +++++++++++++++++++++++ src/MediaServer/MediaServer.h | 8 ++++++++ 2 files changed, 31 insertions(+) diff --git a/src/MediaServer/MediaServer.cpp b/src/MediaServer/MediaServer.cpp index 5e9bfa7..6c83155 100644 --- a/src/MediaServer/MediaServer.cpp +++ b/src/MediaServer/MediaServer.cpp @@ -31,6 +31,29 @@ namespace piMapper { return videoWatcher.getFilePaths(); } + void MediaServer::loadImage(string& path) { + // Load image and add to vector if loading success + ofImage image; + if (image.loadImage(path)) { + loadedImages.push_back(image); + loadedImagePaths.push_back(path); // Save also path + } + } + + void MediaServer::unloadImage(string& path) { + // Search for given path in loaded image paths + for (int i = 0; i < loadedImagePaths.size(); i++) { + // If found + if (loadedImagePaths[i] == path) { + // Remove path and unload image as well as remove it from storage + loadedImagePaths.erase(loadedImagePaths.begin() + i); + loadedImages[i].clear(); + loadedImages.erase(loadedImages.begin() + i); + break; + } + } + } + void MediaServer::handleImageAdded(string& path) { /* cout << "onImageAdded: " << path << endl; diff --git a/src/MediaServer/MediaServer.h b/src/MediaServer/MediaServer.h index 3c4b7a3..4e1530a 100644 --- a/src/MediaServer/MediaServer.h +++ b/src/MediaServer/MediaServer.h @@ -27,6 +27,10 @@ class MediaServer { std::vector& getVideoPaths(); std::vector& getImagePaths(); + // Image loading and handling + void loadImage(string& path); + void unloadImage(string& path); + // Custom events ofEvent onImageAdded; ofEvent onImageRemoved; @@ -37,6 +41,10 @@ class MediaServer { // Directory Watchers ofx::piMapper::DirectoryWatcher videoWatcher; ofx::piMapper::DirectoryWatcher imageWatcher; + + // Loaded media + vector loadedImages; + vector loadedImagePaths; // imageWatcher event listeners void handleImageAdded(string& path);