calculate.hpp file

Public API for calculating AccurateRip checksums.

Namespaces

namespace arcstk
libarcstk main namespace
namespace arcstk::v_1_0_0 inline
API version 1.0.0.
namespace arcstk::v_1_0_0::checksum
Everything regarding operation with Checksums.

Classes

class arcstk::v_1_0_0::AudioSize
Uniform access to the size of the input audio information.
class arcstk::v_1_0_0::CalcContext
Interface for information about the current audio input.
class arcstk::v_1_0_0::Calculation
Checksum calculation for a requested checksum::type.
class arcstk::v_1_0_0::Checksum
An AccurateRip checksum for a single file or track.
class arcstk::v_1_0_0::Checksums
The result of a Calculation, an iterable list of ChecksumSets.
class arcstk::v_1_0_0::ChecksumSet
A set of Checksum instances of different types for a single track.
class arcstk::v_1_0_0::SampleInputIterator
Type erasing interface for iterators over PCM 32 bit samples.

Enums

enum class type: unsigned int { ARCS1 = 1, ARCS2 = 2 }
Pre-defined checksum types.

Typedefs

using sample_count_t = int32_t
Type to represent amounts of PCM 32 bit samples.
using sample_t = uint32_t
Type to represent a 32 bit PCM stereo sample.

Functions

auto make_context(const bool& skip_front, const bool& skip_back) -> std::unique_ptr<CalcContext>
Create a CalcContext from two skip flags.
auto make_context(const bool& skip_front, const bool& skip_back, const std::string& audiofilename) -> std::unique_ptr<CalcContext>
Create a CalcContext from an audio filename and two skip flags.
auto make_context(const std::unique_ptr<TOC>& toc) -> std::unique_ptr<CalcContext>
Create a CalcContext from a TOC.
auto make_context(const std::unique_ptr<TOC>& toc, const std::string& audiofilename) -> std::unique_ptr<CalcContext>
Create a CalcContext from an audio filename and a TOC.
auto make_context(const TOC& toc) -> std::unique_ptr<CalcContext>
Create a CalcContext from a TOC.
auto make_context(const TOC& toc, const std::string& audiofilename) -> std::unique_ptr<CalcContext>
Create a CalcContext from an audio filename and a TOC.
auto type_name(const type t) -> std::string
Obtain the name of a checksum::type.

Variables

const Checksum EmptyChecksum
Global instance of an empty Checksum.
static const std::array<type, 2> types
Iterable sequence of all predefined checksum types.