arcsdec::v_1_0_0 namespace inline

libarcsdec API version 1.0.0.

Classes

class v_1_0_0::ARCSCalculator
Calculate ARCSs for input audio files.
class v_1_0_0::ARIdCalculator
Calculate AccurateRip ID of an album.
class v_1_0_0::AudioInfo
Format-independent parser for audio metadata.
class v_1_0_0::AudioReader
Read audio files and provide the decoded samples.
class v_1_0_0::AudioReaderImpl
Abstract base class for AudioReader implementations.
class v_1_0_0::AudioValidator
Abstract base class for validation handlers for AudioReaderImpls.
struct v_1_0_0::BigEndianBytes
Service: interpret 2 or 4 big-endian bytes as integer.
struct v_1_0_0::BLOCKSIZE
Symbolic constants for certain block sizes (in PCM 32 bit samples).
class v_1_0_0::Bytes
A sequence of bytes read from a specific offset in a file.
class v_1_0_0::ByteSeq
Byte sequence with or without wildcards.
struct v_1_0_0::CDDAValidator
Service: verify the CDDA conformity of values.
class v_1_0_0::DefaultPreference
Preference for the most specific descriptor.
class v_1_0_0::DefaultSelector
Selector for highest preference.
class v_1_0_0::DefaultValidator
Abstract base implementation of AudioValidator.
class v_1_0_0::DescriptorCue
A MetadataParser for Cuesheet files, implemented with libcue 2.
class v_1_0_0::DescriptorCuesheet
A MetadataParser for Cuesheet files.
class v_1_0_0::DescriptorFFmpeg
Reader for lossless audio formats, implemented with ffmpeg.
class v_1_0_0::DescriptorFlac
An AudioReader for fLaC/fLaC files.
class v_1_0_0::DescriptorPreference
Interface for a descriptor preference.
class v_1_0_0::DescriptorSndfile
A generic AudioReader for losslessly encoded audio files.
class v_1_0_0::DescriptorToc
A MetadataParser for CDRDAO/TOC files, implemented with libcdio.
class v_1_0_0::DescriptorWavpack
Wavpack-5-based reader for losslessly encoded wavpack files.
class v_1_0_0::DescriptorWavPCM
AudioReader for RIFF/WAVE files with CDDA-compliant PCM data.
class v_1_0_0::FileReader
Abstract base class for FileReaders.
class v_1_0_0::FileReaderDescriptor
Abstract base class for the properties of a FileReader.
template<typename P, typename S>
class v_1_0_0::FileReaderPreferenceSelection
FileReaderSelection of FileReaderDescriptors.
template<class ReaderType>
class v_1_0_0::FileReaderProvider
Abstract base class for classes that create opaque readers.
class v_1_0_0::FileReaderRegistry
Hold all available FileReaderDescriptors and all supported Formats.
class v_1_0_0::FileReaderSelection
Interface to select a FileReaderDescriptor by Format and Codec.
class v_1_0_0::FileReaderSelector
Interface for a selector on a set of FileReaderDescriptor instances.
class v_1_0_0::FileReadException
Reports an error while reading a file.
template<enum Format F>
class v_1_0_0::FormatMatcher
Matcher for file formats.
class v_1_0_0::FormatPreference
Preference for the most specific descriptor accepting the Format.
class v_1_0_0::IdSelector
FileReaderSelector for a specific descriptor id.
class v_1_0_0::InputFormatException
Reports an error concerning the input file format.
class v_1_0_0::InvalidAudioException
Reports validation failure on audio data.
struct v_1_0_0::LittleEndianBytes
Service: interpret 2 or 4 little-endian bytes as integer.
class v_1_0_0::Matcher
Interface for matchers.
class v_1_0_0::MetadataParseException
Reports unexpected content while parsing a metadata file.
class v_1_0_0::MetadataParser
Parse metadata files and provide the content as a ToC instance.
class v_1_0_0::MetadataParserImpl
Abstract base class for MetadataParser implementations.
class v_1_0_0::MinPreference
DescriptorPreference equivalent to MIN_PREFERENCE.
class v_1_0_0::ReaderAndFormatHolder
Interface for a class that holds formats and readers.
template<class D>
struct v_1_0_0::RegisterDescriptor
Register a FileReaderDescriptor type.
template<enum Format F>
struct v_1_0_0::RegisterFormat
Register a Format.
class v_1_0_0::SampleProcessor
Interface for processing samples as provided by a SampleProvider.
class v_1_0_0::SampleProvider
Inteface for providers of sample sequences.
template<class ReaderType>
class v_1_0_0::SelectionPerformer
Interface for a class that performs a selection.
class v_1_0_0::ToCParser
Format-independent parser for CD ToC metadata files.

Enums

enum class Codec: unsigned { UNKNOWN, PCM_S16BE, PCM_S16BE_PLANAR, PCM_S16LE, PCM_S16LE_PLANAR, PCM_S32BE, PCM_S32BE_PLANAR, PCM_S32LE, PCM_S32LE_PLANAR, FLAC, WAVPACK, MONKEY, ALAC, NONE }
A supported audio codec.
enum class Format: unsigned { UNKNOWN, CUE, CDRDAO, WAV, FLAC, APE, CAF, M4A, OGG, WV, AIFF }
List of supported file formats for metadata and audio.
enum class InputType: unsigned { AUDIO, TOC }
Input filetype.

Typedefs

using ByteSequence = ByteSeq
A sequence of bytes.
using FileReaders = std::unordered_map<std::string, std::unique_ptr<FileReaderDescriptor>>
Type for the container of available FileReaderDescriptor instances.
using FormatList = std::vector<std::unique_ptr<Matcher>>
An unordered list of Matchers for Formats.
using LibInfo = std::list<LibInfoEntry>
Represents a list of pairs of a library name and an additional string.
using LibInfoEntry = std::pair<std::string, std::string>
Entry of a LibInfo.
using SuffixSet = std::set<details::ci_string>
A set of filename suffices.

Functions

auto api_version_is_at_least(const int major, const int minor, const int patch) -> bool
Compares specified version to actual version.
template<typename INT>
static auto cast_to_int32(const INT value) -> int32_t constexpr
Perform a safe cast to int32_t.
template<class ReaderType>
auto default_selection() -> const FileReaderSelection*
Provide the default FileReaderSelection for the specified ReaderType.
auto libinfo_entry_filepath(const std::string& libname) -> LibInfoEntry
Create a LibInfoEntry for libname, lookup filepath of library.
auto name(Codec codec) -> std::string
Name of the codec.
auto name(Format format) -> std::string
Name of the format.

Variables

const std::string LIBARCSDEC_GIT_VERSION
Version info as shown by git describe --always HEAD.
const std::string LIBARCSDEC_NAME
Library name.
const std::string LIBARCSDEC_VERSION
Complete semantic version information.
const int LIBARCSDEC_VERSION_MAJOR
Major version number.
const int LIBARCSDEC_VERSION_MINOR
Minor version number.
const int LIBARCSDEC_VERSION_PATCH
Patch level.
const std::string LIBARCSDEC_VERSION_SUFFIX
Version suffix (e.g. 'alpha.1', 'beta.6', 'rc.3' etc.).
const int32_t MAX_SAMPLES_TO_READ
Maximum number of PCM 32 bit samples to read from a file.