From 4e93dc8f3b02cdba86ba3c5c0a8ed764fa4fa49b Mon Sep 17 00:00:00 2001 From: Krisjanis Rijnieks Date: Wed, 15 Oct 2014 21:04:31 +0200 Subject: [PATCH] Add image loading and unloading and events --- src/MediaServer/MediaServer.cpp | 2 ++ src/MediaServer/MediaServer.h | 2 ++ src/SourcesEditor.cpp | 24 ++++++++++++++++++++++++ src/SourcesEditor.h | 2 ++ 4 files changed, 30 insertions(+) diff --git a/src/MediaServer/MediaServer.cpp b/src/MediaServer/MediaServer.cpp index 6c83155..fdd5628 100644 --- a/src/MediaServer/MediaServer.cpp +++ b/src/MediaServer/MediaServer.cpp @@ -37,6 +37,7 @@ namespace piMapper { if (image.loadImage(path)) { loadedImages.push_back(image); loadedImagePaths.push_back(path); // Save also path + ofNotifyEvent(onImageLoaded, path, this); } } @@ -49,6 +50,7 @@ namespace piMapper { loadedImagePaths.erase(loadedImagePaths.begin() + i); loadedImages[i].clear(); loadedImages.erase(loadedImages.begin() + i); + ofNotifyEvent(onImageUnloaded, path, this); break; } } diff --git a/src/MediaServer/MediaServer.h b/src/MediaServer/MediaServer.h index 4e1530a..e190cc2 100644 --- a/src/MediaServer/MediaServer.h +++ b/src/MediaServer/MediaServer.h @@ -36,6 +36,8 @@ class MediaServer { ofEvent onImageRemoved; ofEvent onVideoAdded; ofEvent onVideoRemoved; + ofEvent onImageLoaded; + ofEvent onImageUnloaded; private: // Directory Watchers diff --git a/src/SourcesEditor.cpp b/src/SourcesEditor.cpp index 6d69893..c25aa6d 100644 --- a/src/SourcesEditor.cpp +++ b/src/SourcesEditor.cpp @@ -27,6 +27,14 @@ namespace piMapper { */ addMediaServerListeners(); + + // Test media server onImageLoaded event + /* + if (mediaServer->getNumImages()) { + mediaServer->loadImage(mediaServer->getImagePaths()[0]); + } + */ + } SourcesEditor::SourcesEditor(MediaServer* externalMediaServer) { @@ -171,6 +179,9 @@ namespace piMapper { ofAddListener(mediaServer->onImageRemoved, this, &SourcesEditor::handleImageRemoved); ofAddListener(mediaServer->onVideoAdded, this, &SourcesEditor::handleVideoAdded); ofAddListener(mediaServer->onVideoRemoved, this, &SourcesEditor::handleVideoRemoved); + ofAddListener(mediaServer->onImageLoaded, this, &SourcesEditor::handleImageLoaded); + ofAddListener(mediaServer->onImageUnloaded, this, &SourcesEditor::handleImageUnloaded); + } void SourcesEditor::removeMediaServerListeners() { @@ -185,6 +196,8 @@ namespace piMapper { ofRemoveListener(mediaServer->onImageRemoved, this, &SourcesEditor::handleImageRemoved); ofRemoveListener(mediaServer->onVideoAdded, this, &SourcesEditor::handleVideoAdded); ofRemoveListener(mediaServer->onVideoRemoved, this, &SourcesEditor::handleVideoRemoved); + ofRemoveListener(mediaServer->onImageLoaded, this, &SourcesEditor::handleImageLoaded); + ofRemoveListener(mediaServer->onImageUnloaded, this, &SourcesEditor::handleImageUnloaded); } void SourcesEditor::guiEvent(string& imageName) { @@ -231,5 +244,16 @@ namespace piMapper { void SourcesEditor::handleVideoRemoved(string& path) { cout << "video removed: " << path << endl; } + + void SourcesEditor::handleImageLoaded(string& path) { + cout << "Image loaded: " << path << endl; + + // Test image unload + // mediaServer->unloadImage(path); + } + + void SourcesEditor::handleImageUnloaded(string& path) { + cout << "Image unloaded: " << path << endl; + } } } \ No newline at end of file diff --git a/src/SourcesEditor.h b/src/SourcesEditor.h index 9c4b4ab..bc2b382 100644 --- a/src/SourcesEditor.h +++ b/src/SourcesEditor.h @@ -66,6 +66,8 @@ class SourcesEditor { void handleImageRemoved(string& path); void handleVideoAdded(string& path); void handleVideoRemoved(string& path); + void handleImageLoaded(string& path); + void handleImageUnloaded(string& path); }; } } \ No newline at end of file