diff options
Diffstat (limited to 'src/database')
| -rw-r--r-- | src/database/tag_parser.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/database/tag_parser.cpp b/src/database/tag_parser.cpp index 49febe27..b2d206d2 100644 --- a/src/database/tag_parser.cpp +++ b/src/database/tag_parser.cpp @@ -8,7 +8,10 @@ #include <esp_log.h> #include <ff.h> +#include <stdint.h> #include <tags.h> +#include <cstdlib> +#include <iomanip> namespace database { @@ -74,7 +77,14 @@ static void tag(Tagctx* ctx, Aux* aux = reinterpret_cast<Aux*>(ctx->aux); auto tag = convert_tag(t); if (tag) { - aux->tags->set(*tag, v); + std::string value{v}; + if (*tag == Tag::kAlbumTrack) { + uint32_t as_int = std::atoi(v); + std::ostringstream oss; + oss << std::setw(4) << std::setfill('0') << as_int; + value = oss.str(); + } + aux->tags->set(*tag, value); } } |
