arcstk::v_1_0_0::toc namespace

Functions for managing ToCData instances.

This is intended to be used when implementing metadata parsers.

Functions

auto complete(const ToCData& data) -> bool
TRUE iff non-zero leadout and non-empty sequence of offsets are specified.
auto construct(const int32_t leadout, const std::vector<int32_t>& offsets) -> ToCData
Construct ToCData from leadout and offsets.
auto leadout(const ToCData& data) -> AudioSize
Leadout of a ToC object.
auto lengths(const ToCData& data) -> std::vector<AudioSize>
Lengths of tracks object.
auto offsets(const ToCData& data) -> std::vector<AudioSize>
Offsets of a ToC object.
void set_leadout(const AudioSize& leadout, ToCData& data)
Set the leadout of a ToC object.
auto total_tracks(const ToCData& data) -> int
Total tracks of a ToC object.
void validate(const ToCData& toc_data)
Validate ToCData object.

Function documentation

bool arcstk::v_1_0_0::toc::complete(const ToCData& data)

TRUE iff non-zero leadout and non-empty sequence of offsets are specified.

Returns TRUE iff non-zero leadout and non-empty offsets exist

This does not entail a validation of the specified values.

ToCData arcstk::v_1_0_0::toc::construct(const int32_t leadout, const std::vector<int32_t>& offsets)

Construct ToCData from leadout and offsets.

Parameters
leadout in Leadout frame
offsets in Offset frames in order of tracks
Returns Formatted ToCData object

All int32_t data types denote amounts of LBA frames.

AudioSize arcstk::v_1_0_0::toc::leadout(const ToCData& data)

Leadout of a ToC object.

Parameters
data in ToCData to read from
Returns Leadout of a ToC object

std::vector<AudioSize> arcstk::v_1_0_0::toc::lengths(const ToCData& data)

Lengths of tracks object.

Parameters
data in ToCData to read from
Returns Track lengths

std::vector<AudioSize> arcstk::v_1_0_0::toc::offsets(const ToCData& data)

Offsets of a ToC object.

Parameters
data in ToCData to read from
Returns Offsets of a ToC object

void arcstk::v_1_0_0::toc::set_leadout(const AudioSize& leadout, ToCData& data)

Set the leadout of a ToC object.

Parameters
leadout in Leadout to set
data in ToCData to update

int arcstk::v_1_0_0::toc::total_tracks(const ToCData& data)

Total tracks of a ToC object.

Parameters
data in ToCData to read from
Returns Total tracks of a ToC object

void arcstk::v_1_0_0::toc::validate(const ToCData& toc_data)

Validate ToCData object.

Parameters
toc_data in ToCData object to be validated
Exceptions
invalid_argument If validation fails