Library to calculate and verify AccurateRip checksums and ids
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tristero fb1513ed2f
Address install problem with cmake config files
2 months ago
doc Typo 3 months ago
examples Fix lib name in examples 2 months ago
src Add API method to get the default URL prefix 2 months ago
test Complete to use CHECK instead of REQUIRE in tests 2 months ago
thirdparty Move to Catch2 version 2.7.0 4 months ago
.clang Initial commit 6 months ago
.gitignore Correct typo 2 months ago
API.md Rename project to 'libarcstk' 4 months ago
BUILD.md Update project name 3 months ago
CMakeLists.txt Address install problem with cmake config files 2 months ago
CODING.md Update project name 3 months ago
DESIGN.md Update project name 3 months ago
LICENSE Initial commit 6 months ago
README.md Fix release URL in badge 2 months ago
TODO.md Rework Markdown files for web use 6 months ago
VERSIONING.md Update project name 3 months ago
libarcstk-config.cmake.in Fix cmake config 2 months ago
libarcstk.pc.in Make libname CMake controlled 3 months ago

README.md

A library to calculate and verify AccurateRip checksums and ids

MIT licensed Latest

What libarcstk is

Libarcstk supports the following tasks:

  • Compute the AccurateRip checksums of a sequence of decoded samples
  • Verify local AccurateRip checksums against their reference values provided by AccurateRip
  • Calculate the AccurateRip ID of a CD image from TOC information
  • Parse the response from AccurateRip database to plain text

Libarcstk provides:

  • An API for working with AccurateRip checksums and ids
  • Conservative OO API (intended to be usable from other languages)
  • Builds on Linux (and presumably/untested on *BSD)
  • Reasonably fast

Although AccurateRip checksums are often referred to as “CRCs”, they are not CRCs in a mathematical sense. Therefore, we call them just “AccurateRip Checksums” or “ARCS”s for short.

What libarcstk does not

  • Libarcstk does not rip CDs
  • Libarcstk does not offer to read, buffer or decode any audio data. You have to provide the samples on your own.
  • Libarcstk offers no network facilities and is not supposed to do so. The actual HTTP request for fetching the reference values from AccurateRip is better performed by the HTTP networking client of your choice.

How to Build

Build and install to just use the libarcstk API:

$ cd libarcstk       # your libarcstk root directory where README.md resides
$ mkdir build && cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ cmake --build .
$ sudo make install  # installs to /usr/local

See a detailed HowTo explaining different build scenarios and all build switches.

How to Use

  • Consult the example applications in the examples folder. They illustrate the supported usecases.
  • Build the API documentation and view it in a browser.
  • For local ARCS calculation, also check whether libarcsdec is helpful. Its target is to read virtually any lossless audio format by a uniform API that is really simple to use.
  • As soon as I manage to write a quickstart tutorial, it will be found in the Wiki.

Current Limitations

  • No production release yet - will be 1.0.0
  • API is not considered stable before 1.0.0 (may change any time in any way until then)
  • Supports only little endian plattforms. Release-build on big endian plattforms is therefore ruled out by cmake.
  • Never built, installed or tested on Windows or Mac OS X, but it is intended to support these platforms in the future

Bugs

  • Never tested with CD images containing data tracks.