Navidrome logo

Navidrome

Open source music collection server and streamer, like your personal Spotify

Alternative to: spotify, apple music, youtube music


About Versions (100)

v0.33.0

2020-09-09

New Metadata Extractor

I’ve been working on a new scanner that uses TagLib and will enable Navidrome to handle multi-valued tags. It also fixes some small quirks caused by ffprobe/ffmpeg (Ex: #465). It is not complete yet, but it is already in a releasable state, and can be used to replace ffmpeg in most use cases.

The default metadata extractor is still ffmpeg but the you can use the new taglib extractor by using the config option Scanner.Extractor = "taglib" or ND_SCANNER_EXTRACTOR=taglib

There aren’t many new features in this release, but a couple of bug fixes and translation updates were enough to justify a new release.

Highlights

  • [Scanner] Initial support to use TagLib for extracting metadata from music files (#480)
  • [UI] Add option to add a playlist or album to the play queue (#481, thanks @AndersMoberg)

Changelog

841c112 Break-up album/artist refresh in chunks ba30f7f Fix label for items per page (not always rows) 6026638 Update fr.json (POEditor.com) cbab2e4 go mod tidy a3ecc41 Change taglib extractor log level to trace 4d18212 Extract all id3 frames from file 5dea258 Extract basic tags, as a fallback 0802ab7 Trim tag value, not tag key 865b9cd Trim spaces from tags e70ec53 Rewrite taglib integration, now with TCMP 2d0031f Parse more date formats 78ecda5 Get the first occurrence of multi-valued tags a1879ff Reorganize tests 34eda3c Add config option to select tag extractor (taglib, ffmpeg) 506899b Add more fallback options for main tags 3a4e252 Fix possible concurrency issue 674b56a Install taglib in lint and go jobs 58a0c44 Embed audiotags lib, to make it static compilable df43288 Initial implementation of taglib MetadataExtractor b6aa6eb Disable some jobs for now, as taglib is not available 1187ee7 Moved Metadata Extraction to its own package 0beec55 Introduce Metadata and MetadataExtractor interfaces 6a6d4c3 Use new ci-releaser image, that contains static taglib library 1216c9b Bump react-measure version to 2.5.0 2a88839 Bump prettier version to 2.1.1 56772f5 Bump @testing libraries 07b5469 Bump uuid to v.1.1.2 58324b4 Bump ginkgo to v1.14.1 c0e5b44 Bump github.com/onsi/gomega from 1.10.1 to 1.10.2 6820e12 Test for accented article sanitization 28aefb4 Fix sanitizing accented articles e50a720 Sort by album name, then artist name 9003370 Upgrade React-Player to 4.18.0 34af6fc Clean up code a bit a25044b Reorder action buttons 30e9884 Adding playlist button to Album Actions 8fe335e Adding playlist button to Playlist actions 8549451 Fix potential undefined property 596a489 Do not force username to always be lowercase in the DB