summaryrefslogtreecommitdiff
path: root/music.cpp
diff options
context:
space:
mode:
authorJon Bergli Heier <snakebite@jvnv.net>2011-01-02 01:16:35 +0100
committerJon Bergli Heier <snakebite@jvnv.net>2011-01-02 01:16:35 +0100
commit3d5901b73cc4e46e57233ea3ccc9b27ffba4c7df (patch)
tree9a3a3d79f6f8acac9a4298a719dcfcf42fa39596 /music.cpp
parent75f14984fa648c66ba6677f0d7c84429169e95f1 (diff)
Moved MusicDirectory conversion code to music::get_directory().
Diffstat (limited to 'music.cpp')
-rw-r--r--music.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/music.cpp b/music.cpp
index 772ae9c..6265771 100644
--- a/music.cpp
+++ b/music.cpp
@@ -9,6 +9,7 @@
#include <boost/algorithm/string/predicate.hpp>
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/split.hpp>
+#include <boost/cast.hpp>
#include <boost/filesystem/fstream.hpp>
#include <soci/soci.h>
@@ -51,6 +52,16 @@ MusicListing::p music::get(const std::string& path) {
return get(path_vector);
}
+MusicDirectory::p music::get_directory(const std::string& path) {
+ MusicListing::p ml = get(path);
+ if(!ml || !fs::is_directory(ml->path)) {
+ return MusicDirectory::p();
+ }
+ MusicDirectory::p dir(boost::dynamic_pointer_cast<MusicDirectory>(ml));
+
+ return dir;
+}
+
std::vector<MusicListing::p> music::find_artist(const std::string artist) {
soci::session sql(config::vm["audist.database"].as<std::string>());