// // Created by eric on 8/15/15. // #ifndef HATHOR_SCANNER_HH #define HATHOR_SCANNER_HH #include #include #include // Include boost #include "boost/filesystem.hpp" #include "boost/filesystem/operations.hpp" #include "boost/filesystem/path.hpp" #include "boost/progress.hpp" // Include taglib #include #include #include #include #include #include "common.hh" #ifndef HATHOR_MAX_SUPPORTED #define HATHOR_MAX_SUPPORTED 9 #endif unsigned long file_count = 0; unsigned long dir_count = 0; unsigned long other_count = 0; unsigned long err_count = 0; unsigned long skip_count = 0; unsigned long no_info_count = 0; static std::array s_fileTypeStrings = {"","mp2","mp3","mp4","m4p","m4a","ogg","flac","wma"}; struct s_fileFields { std::string artist; std::string albumartist; std::string album; std::string title; unsigned int tracknum; std::string genre; unsigned int year; std::string label; std::string lyrics; std::string comment; unsigned int bitrate; unsigned int sample; unsigned int channels; unsigned int length; unsigned int minutes; // (properties->length() - seconds) / 60 unsigned int seconds; // properties->length() % 60 }; enum FileType { Unknown = 0, mp2 = 1, mp3 = 2, mp4 = 3, // please use just for Ogg Vorbis m4p = 4, m4a = 5, ogg = 6, // a file in MPEG-4 container that may or may not contain video flac = 7, // a file in MPEG-4 container that contains only audio wma = 8 }; //static FileType fileType( std::string extension ); //static bool is_hidden(const fs::path &p); #endif //HATHOR_SCANNER_HH