From 4887378ce74c27f837fe1939ad5917b221736fac Mon Sep 17 00:00:00 2001 From: ayumi Date: Tue, 22 Jul 2025 09:27:29 +0200 Subject: Preliminary ALAC support --- src/tangara/audio/fatfs_stream_factory.cpp | 2 ++ src/tangara/database/tag_parser.cpp | 3 +++ src/tangara/database/tag_parser.hpp | 6 +++--- src/tangara/database/track.hpp | 1 + 4 files changed, 9 insertions(+), 3 deletions(-) (limited to 'src/tangara') diff --git a/src/tangara/audio/fatfs_stream_factory.cpp b/src/tangara/audio/fatfs_stream_factory.cpp index 9089735c..2385eb69 100644 --- a/src/tangara/audio/fatfs_stream_factory.cpp +++ b/src/tangara/audio/fatfs_stream_factory.cpp @@ -90,6 +90,8 @@ auto FatfsStreamFactory::ContainerToStreamType(database::Container enc) return codecs::StreamType::kOpus; case database::Container::kWavPack: return codecs::StreamType::kWavPack; + case database::Container::kAlac: + return codecs::StreamType::kAlac; case database::Container::kUnsupported: default: return {}; diff --git a/src/tangara/database/tag_parser.cpp b/src/tangara/database/tag_parser.cpp index 0be6cb35..1b7b4b82 100644 --- a/src/tangara/database/tag_parser.cpp +++ b/src/tangara/database/tag_parser.cpp @@ -416,6 +416,9 @@ auto GenericTagParser::ReadAndParseTags(std::string_view p) case Fwavpack: out->encoding(Container::kWavPack); break; + case Falac: + out->encoding(Container::kAlac); + break; default: out->encoding(Container::kUnsupported); } diff --git a/src/tangara/database/tag_parser.hpp b/src/tangara/database/tag_parser.hpp index eb0f4c7c..fc86c10a 100644 --- a/src/tangara/database/tag_parser.hpp +++ b/src/tangara/database/tag_parser.hpp @@ -62,9 +62,9 @@ class GenericTagParser : public ITagParser { // Supported file extensions for parsing tags, derived from the list of // supported audio formats here: // https://cooltech.zone/tangara/docs/music-library/ - static constexpr std::string supported_exts[] = {"flac", "mp3", "ogg", - "ogx", "opus", "wav", - "wv"}; + static constexpr std::string supported_exts[] = {"flac", "m4a", "mp3", + "ogg", "ogx", "opus", + "wav", "wv"}; }; } // namespace database diff --git a/src/tangara/database/track.hpp b/src/tangara/database/track.hpp index d6039451..e215abb1 100644 --- a/src/tangara/database/track.hpp +++ b/src/tangara/database/track.hpp @@ -46,6 +46,7 @@ enum class Container { kFlac = 4, kOpus = 5, kWavPack = 6, + kAlac = 7, }; enum class MediaType { -- cgit v1.2.3