This package provides classes for accessing information about a CD (its MusicBrainz Disc ID, EAN/ISRC values, CD-TEXT info, ...).

MusicBrainz, discid, audio, cd, cd-text, isrc, upc, ean, libdiscid
Install-Package MetaBrainz.MusicBrainz.DiscId -Version 2.0.1+20200417.165735.093


MetaBrainz.MusicBrainz.DiscId Build Status NuGet Version

This is a .NET implementation of libdiscid. The main point of divergence at this point is that fewer platforms are supported (see below), and that this library supports retrieval of CD-TEXT information.

It uses PInvoke to access devices so is platform-dependent; currently, Windows, Linux and BSD (FreeBSD, NetBSD and OpenBSD) are supported. However, things should work regardless of the host implementation (.NET Framework, Mono or .NET Core).

Support for Solaris is unlikely, because there does not seem to be any easy way to get Mono to work on it. Support for OSX is similarly unlikely, because I have no access to a system.

Release Notes

v2.0.1 (2020-04-17)

Fixed a build issue causing the XML documentation to be missing from the NuGet package.

v2.0 (2020-03-22)

  • Target .NET Standard 2.0 and 2.1, .NET Core 2.1 and 3.1 (the current LTS releases) and .NET Framework 4.6.1, 4.7.2 and 4.8.
  • Minor doc fixes.
  • Use nullable reference types.

v1.0.1 (2018-11-15)

Corrected the build so that the IntelliSense XML documentation is property built and packaged.

v1.0 (2018-01-21)

First official release.

  • Dropped support for .NET framework versions before 4.0 (and 4.0 may be dropped in a later version); this allows for builds using .NET Core (which cannot target 2.0/3.5).
  • Added support for .NET Standard 2.0; the only unsupported API is RawImage.Decode() (because System.Drawing.Image is not available).