From 885eb1812c15263ad759741ad138cf7188fdf739 Mon Sep 17 00:00:00 2001 From: ayumi Date: Fri, 31 Jan 2025 19:08:39 +0100 Subject: Add WavPack support --- src/tangara/audio/fatfs_stream_factory.cpp | 2 ++ src/tangara/database/tag_parser.cpp | 3 +++ src/tangara/database/tag_parser.hpp | 3 ++- src/tangara/database/track.hpp | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src/tangara') diff --git a/src/tangara/audio/fatfs_stream_factory.cpp b/src/tangara/audio/fatfs_stream_factory.cpp index 94f22ae9..9089735c 100644 --- a/src/tangara/audio/fatfs_stream_factory.cpp +++ b/src/tangara/audio/fatfs_stream_factory.cpp @@ -88,6 +88,8 @@ auto FatfsStreamFactory::ContainerToStreamType(database::Container enc) return codecs::StreamType::kFlac; case database::Container::kOpus: return codecs::StreamType::kOpus; + case database::Container::kWavPack: + return codecs::StreamType::kWavPack; case database::Container::kUnsupported: default: return {}; diff --git a/src/tangara/database/tag_parser.cpp b/src/tangara/database/tag_parser.cpp index 6c95d496..0be6cb35 100644 --- a/src/tangara/database/tag_parser.cpp +++ b/src/tangara/database/tag_parser.cpp @@ -413,6 +413,9 @@ auto GenericTagParser::ReadAndParseTags(std::string_view p) case Fopus: out->encoding(Container::kOpus); break; + case Fwavpack: + out->encoding(Container::kWavPack); + break; default: out->encoding(Container::kUnsupported); } diff --git a/src/tangara/database/tag_parser.hpp b/src/tangara/database/tag_parser.hpp index 220339c0..eb0f4c7c 100644 --- a/src/tangara/database/tag_parser.hpp +++ b/src/tangara/database/tag_parser.hpp @@ -63,7 +63,8 @@ class GenericTagParser : public ITagParser { // supported audio formats here: // https://cooltech.zone/tangara/docs/music-library/ static constexpr std::string supported_exts[] = {"flac", "mp3", "ogg", - "ogx", "opus", "wav"}; + "ogx", "opus", "wav", + "wv"}; }; } // namespace database diff --git a/src/tangara/database/track.hpp b/src/tangara/database/track.hpp index c7dff425..d6039451 100644 --- a/src/tangara/database/track.hpp +++ b/src/tangara/database/track.hpp @@ -45,6 +45,7 @@ enum class Container { kOgg = 3, kFlac = 4, kOpus = 5, + kWavPack = 6, }; enum class MediaType { -- cgit v1.2.3