Advertisement
Guest User

Untitled

a guest
Apr 14th, 2024
12
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. #include <iostream>
  2. #include <taglib/fileref.h>
  3. #include <taglib/flacfile.h>
  4. #include <taglib/wavpackfile.h>
  5. #include <taglib/mpegfile.h>
  6. #include <taglib/apefile.h>
  7. #include <taglib/mp4file.h>
  8. #include <taglib/mpcfile.h>
  9. #include <taglib/asffile.h>
  10. #include <filesystem>
  11.  
  12. int main(int argc, char** argv) {
  13. std::string dir = "/path/to/album";
  14. for (const auto & entry : std::filesystem::directory_iterator(dir)) {
  15. if (entry.path().extension() != ".wav") { continue; }
  16.  
  17. TagLib::FileRef fileref(entry.path().c_str());
  18. std::cout << "Title: " << fileref.tag()->title() << "\n";
  19. std::cout << "Artist: " << fileref.tag()->artist() << "\n";
  20. std::cout << "Album: " << fileref.tag()->album() << "\n";
  21. std::cout << "Genre: " << fileref.tag()->genre() << "\n";
  22. std::cout << "Track: " << fileref.tag()->track() << "\n";
  23.  
  24. if (TagLib::FLAC::File *file_flac = dynamic_cast<TagLib::FLAC::File*>(fileref.file())) {
  25. std::cout << "Flac\n";
  26. }
  27. else if (TagLib::WavPack::File *file_wavpack = dynamic_cast<TagLib::WavPack::File*>(fileref.file())) {
  28. std::cout << "Wav\n";
  29. }
  30. else if (TagLib::APE::File *file_ape = dynamic_cast<TagLib::APE::File*>(fileref.file())) {
  31. std::cout << "APE\n";
  32. }
  33. else if (TagLib::MPEG::File *file_mpeg = dynamic_cast<TagLib::MPEG::File*>(fileref.file())) {
  34. std::cout << "MPEG\n";
  35. }
  36. else if (TagLib::MP4::File *file_mp4 = dynamic_cast<TagLib::MP4::File*>(fileref.file())) {
  37. std::cout << "MP4\n";
  38. }
  39. else if (TagLib::ASF::File *file_asf = dynamic_cast<TagLib::ASF::File*>(fileref.file())) {
  40. std::cout << "ASF\n";
  41. }
  42. else if (TagLib::MPC::File *file_mpc = dynamic_cast<TagLib::MPC::File*>(fileref.file())) {
  43. std::cout << "MPC\n";
  44. }
  45. else if (fileref.tag()) {
  46. std::cout << "tag\n";
  47. }
  48. }
  49. return 0;
  50. }
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement