Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <taglib/fileref.h>
- #include <taglib/flacfile.h>
- #include <taglib/wavpackfile.h>
- #include <taglib/mpegfile.h>
- #include <taglib/apefile.h>
- #include <taglib/mp4file.h>
- #include <taglib/mpcfile.h>
- #include <taglib/asffile.h>
- #include <filesystem>
- int main(int argc, char** argv) {
- std::string dir = "/path/to/album";
- for (const auto & entry : std::filesystem::directory_iterator(dir)) {
- if (entry.path().extension() != ".wav") { continue; }
- TagLib::FileRef fileref(entry.path().c_str());
- std::cout << "Title: " << fileref.tag()->title() << "\n";
- std::cout << "Artist: " << fileref.tag()->artist() << "\n";
- std::cout << "Album: " << fileref.tag()->album() << "\n";
- std::cout << "Genre: " << fileref.tag()->genre() << "\n";
- std::cout << "Track: " << fileref.tag()->track() << "\n";
- if (TagLib::FLAC::File *file_flac = dynamic_cast<TagLib::FLAC::File*>(fileref.file())) {
- std::cout << "Flac\n";
- }
- else if (TagLib::WavPack::File *file_wavpack = dynamic_cast<TagLib::WavPack::File*>(fileref.file())) {
- std::cout << "Wav\n";
- }
- else if (TagLib::APE::File *file_ape = dynamic_cast<TagLib::APE::File*>(fileref.file())) {
- std::cout << "APE\n";
- }
- else if (TagLib::MPEG::File *file_mpeg = dynamic_cast<TagLib::MPEG::File*>(fileref.file())) {
- std::cout << "MPEG\n";
- }
- else if (TagLib::MP4::File *file_mp4 = dynamic_cast<TagLib::MP4::File*>(fileref.file())) {
- std::cout << "MP4\n";
- }
- else if (TagLib::ASF::File *file_asf = dynamic_cast<TagLib::ASF::File*>(fileref.file())) {
- std::cout << "ASF\n";
- }
- else if (TagLib::MPC::File *file_mpc = dynamic_cast<TagLib::MPC::File*>(fileref.file())) {
- std::cout << "MPC\n";
- }
- else if (fileref.tag()) {
- std::cout << "tag\n";
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement