{"id":16838088,"url":"https://github.com/phw/dotnet-discid","last_synced_at":"2025-04-11T05:15:49.676Z","repository":{"id":8197868,"uuid":"9628812","full_name":"phw/dotnet-discid","owner":"phw","description":".NET bindings for libdiscid using P/Invoke","archived":false,"fork":false,"pushed_at":"2024-04-04T13:55:34.000Z","size":181,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-11T05:15:45.340Z","etag":null,"topics":["audio","c-sharp","cd","discid","libdiscid","library","mono","musicbrainz"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phw.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.txt","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["phw"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2013-04-23T17:19:54.000Z","updated_at":"2023-03-06T20:58:50.000Z","dependencies_parsed_at":"2023-01-11T18:46:15.609Z","dependency_job_id":null,"html_url":"https://github.com/phw/dotnet-discid","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phw%2Fdotnet-discid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phw%2Fdotnet-discid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phw%2Fdotnet-discid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phw%2Fdotnet-discid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phw","download_url":"https://codeload.github.com/phw/dotnet-discid/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248345273,"owners_count":21088245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","c-sharp","cd","discid","libdiscid","library","mono","musicbrainz"],"created_at":"2024-10-13T12:20:48.153Z","updated_at":"2025-04-11T05:15:49.623Z","avatar_url":"https://github.com/phw.png","language":"C#","funding_links":["https://github.com/sponsors/phw"],"categories":[],"sub_categories":[],"readme":"# .NET bindings for MusicBrainz libdiscid\n[![Build status](https://ci.appveyor.com/api/projects/status/i94b2wovn11tm6hy?svg=true)](https://ci.appveyor.com/project/phw/dotnet-discid)\n[![NuGet version](https://badge.fury.io/nu/DotNetDiscId.svg)](http://badge.fury.io/nu/DotNetDiscId)\n\n## About\ndotnet-discid provides .NET bindings for the MusicBrainz DiscID library [libdiscid](https://github.com/metabrainz/libdiscid).\nIt allows calculating DiscIDs (MusicBrainz and freedb) for Audio CDs. Additionally\nthe library can extract the MCN/UPC/EAN and the ISRCs from disc.\n\n## Requirements\n* .NET or Mono\n* libdiscid \u003e= 0.1.0\n\nTo utilize all features you will need libdiscid 0.5.0 or later. The libdiscid\n[feature matrix](http://musicbrainz.org/doc/libdiscid#Feature_Matrix) shows which\nfeatures are available in each version.\n\n## Installation\nIf you are using Visual Studio the easiest way to install and use dotnet-discid is by\ninstalling the NuGet package from https://nuget.org/packages/DotNetDiscId/ . The\npackage contains the .NET assembly and the corresponding native DLLs (both 32 and 64 bit).\nYou just have to make sure to set your build configuration to either x86 or x64 instead\nof AnyCPU.\n\nIf you compile the `DotNetDiscId.dll` yourself and use it in a project make sure you also\nhave the native libdiscid libraries available. Pre-compiled versions of libdiscid for\nWindows can be downloaded from http://musicbrainz.org/doc/libdiscid . On Windows it is\nrecommended to ship the `discid.dll` in your project. If you are using Mono on other\nplatforms such as Linux or macOS you can use a system wide installation of libdiscid, e.g.\ninstalled using the platform's package manager.\n\nSource and binary releases of dotnet-discid are available on\n[GitHub](https://github.com/phw/dotnet-discid/releases).\n\n## Usage\nIn order to use dotnet-discid you have to reference the `DotNetDiscId.dll` assembly in\nyour project and make sure the native discid library is available (see notes above).\n\nBelow is a simple usage example. The dotnet-discid-example project provides a more\n[complete example](https://github.com/phw/dotnet-discid/blob/master/dotnet-discid-example/Program.cs).\n\n```C#\ntry\n{\n    string device = DiscId.Disc.DefaultDevice;\n    using (var disc = DiscId.Disc.Read(device, Features.Mcn | Features.Isrc))\n    {\n        Console.Out.WriteLine(\"DiscId         : {0}\", disc.Id);\n        Console.Out.WriteLine(\"FreeDB ID      : {0}\", disc.FreedbId);\n        Console.Out.WriteLine(\"MCN            : {0}\", disc.Mcn);\n        Console.Out.WriteLine(\"First track no.: {0}\", disc.FirstTrackNumber);\n        Console.Out.WriteLine(\"Last track no. : {0}\", disc.LastTrackNumber);\n        Console.Out.WriteLine(\"Sectors        : {0}\", disc.Sectors);\n        Console.Out.WriteLine(\"Submission URL : {0}\", disc.SubmissionUrl);\n    }\n}\ncatch (DiscIdException ex)\n{\n    Console.Out.WriteLine(\"Could not read disc: {0}.\", ex.Message);\n}\n```\n\n## Contribute\nThe source code for dotnet-discid is available on\n[GitHub](https://github.com/phw/dotnet-discid).\n\nPlease report any issues on the\n[issue tracker](https://github.com/phw/dotnet-discid/issues).\n\n## License\ndotnet-discid is released under the GNU Lesser General Public License Version 3. See LICENSE.txt for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphw%2Fdotnet-discid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphw%2Fdotnet-discid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphw%2Fdotnet-discid/lists"}