Browse Source

Add `/boot/ofxpimapper/sources` directory as additional store

master
Krisjanis Rijnieks 9 years ago
parent
commit
6a6702e4f9
  1. 32
      src/MediaServer/MediaServer.cpp
  2. 9
      src/MediaServer/MediaServer.h

32
src/MediaServer/MediaServer.cpp

@ -13,7 +13,9 @@ namespace piMapper {
MediaServer::MediaServer() : MediaServer::MediaServer() :
videoWatcher(ofToDataPath(DEFAULT_VIDEOS_DIR, true), SourceType::SOURCE_TYPE_VIDEO), videoWatcher(ofToDataPath(DEFAULT_VIDEOS_DIR, true), SourceType::SOURCE_TYPE_VIDEO),
imageWatcher(ofToDataPath(DEFAULT_IMAGES_DIR, true), SourceType::SOURCE_TYPE_IMAGE){ imageWatcher(ofToDataPath(DEFAULT_IMAGES_DIR, true), SourceType::SOURCE_TYPE_IMAGE),
piVideoWatcher(PI_IMAGES_DIR, SourceType::SOURCE_TYPE_VIDEO),
piImageWatcher(PI_IMAGES_DIR, SourceType::SOURCE_TYPE_IMAGE){
addWatcherListeners(); addWatcherListeners();
} }
@ -22,17 +24,30 @@ MediaServer::~MediaServer(){
} }
int MediaServer::getNumImages(){ int MediaServer::getNumImages(){
return imageWatcher.getFilePaths().size(); int numLocalImages = imageWatcher.getFilePaths().size();
int numPiImages = piImageWatcher.getFilePaths().size();
int sum = numLocalImages + numPiImages;
return sum;
} }
int MediaServer::getNumVideos(){ int MediaServer::getNumVideos(){
return videoWatcher.getFilePaths().size(); int numLocalVideos = videoWatcher.getFilePaths().size();
int numPiVideos = piVideoWatcher.getFilePaths().size();
int sum = numLocalVideos + numPiVideos;
return sum;
} }
int MediaServer::getNumFboSources(){ int MediaServer::getNumFboSources(){
return fboSources.size(); return fboSources.size();
} }
vector <string> & MediaServer::getImagePaths(){ vector <string> & MediaServer::getImagePaths(){
return imageWatcher.getFilePaths(); vector <string> & localPaths = imageWatcher.getFilePaths();
vector <string> & piPaths = piImageWatcher.getFilePaths();
_tempImagePaths.clear();
_tempImagePaths.insert(_tempImagePaths.end(), localPaths.begin(), localPaths.end());
_tempImagePaths.insert(_tempImagePaths.end(), piPaths.begin(), piPaths.end());
return _tempImagePaths;
} }
vector <string> MediaServer::getImageNames(){ vector <string> MediaServer::getImageNames(){
@ -56,7 +71,14 @@ vector <string> MediaServer::getFboSourceNames(){
} }
vector <string> & MediaServer::getVideoPaths(){ vector <string> & MediaServer::getVideoPaths(){
return videoWatcher.getFilePaths(); vector <string> & localPaths = videoWatcher.getFilePaths();
vector <string> & piPaths = piVideoWatcher.getFilePaths();
_tempVideoPaths.clear();
_tempVideoPaths.insert(_tempVideoPaths.begin(), localPaths.begin(), localPaths.end());
_tempVideoPaths.insert(_tempVideoPaths.begin(), piPaths.begin(), piPaths.end());
return _tempVideoPaths;
} }
vector <string> MediaServer::getVideoNames(){ vector <string> MediaServer::getVideoNames(){

9
src/MediaServer/MediaServer.h

@ -26,6 +26,9 @@
#define DEFAULT_IMAGES_DIR "sources/images/" #define DEFAULT_IMAGES_DIR "sources/images/"
#define DEFAULT_VIDEOS_DIR "sources/videos/" #define DEFAULT_VIDEOS_DIR "sources/videos/"
#define PI_IMAGES_DIR "/boot/ofxpimapper/sources/images"
#define PI_VIDEOS_DIR "/boot/ofxpimapper/sources/videos"
namespace ofx { namespace ofx {
namespace piMapper { namespace piMapper {
@ -79,6 +82,12 @@ class MediaServer {
// Directory Watchers // Directory Watchers
ofx::piMapper::DirectoryWatcher videoWatcher; ofx::piMapper::DirectoryWatcher videoWatcher;
ofx::piMapper::DirectoryWatcher imageWatcher; ofx::piMapper::DirectoryWatcher imageWatcher;
ofx::piMapper::DirectoryWatcher piVideoWatcher;
ofx::piMapper::DirectoryWatcher piImageWatcher;
vector <string> _tempImagePaths;
vector <string> _tempVideoPaths;
map <string, BaseSource *> loadedSources; map <string, BaseSource *> loadedSources;
// imageWatcher event listeners // imageWatcher event listeners
void handleImageAdded(string & path); void handleImageAdded(string & path);

Loading…
Cancel
Save