capo-lite v2.0.1
Simple audio playback library
 
Loading...
Searching...
No Matches
capo::Buffer Class Reference

Audio Buffer: stores decoded PCM data in memory. More...

#include <capo/buffer.hpp>

Public Member Functions

auto get_samples () const -> std::span< float const >
 
auto get_channels () const -> std::uint8_t
 
auto get_frame_count () const -> std::uint64_t
 
auto is_loaded () const -> bool
 
void set_frames (std::vector< float > samples, std::uint8_t channels)
 Set custom PCM data.
 
auto decode_bytes (std::span< std::byte const > bytes, std::optional< Encoding > encoding={}) -> bool
 Decode bytes in memory.
 
auto decode_file (char const *path, std::optional< Encoding > encoding={}) -> bool
 Decode an audio file.
 

Static Public Attributes

static constexpr auto sample_rate_v = 48000u
 Sample rate is constant (48kHz).
 

Detailed Description

Audio Buffer: stores decoded PCM data in memory.

Member Function Documentation

◆ decode_bytes()

auto capo::Buffer::decode_bytes ( std::span< std::byte const >  bytes,
std::optional< Encoding encoding = {} 
) -> bool

Decode bytes in memory.

Parameters
bytesEncoded bytes.
encodingEncoding format, if known.
Returns
true on success.

◆ decode_file()

auto capo::Buffer::decode_file ( char const *  path,
std::optional< Encoding encoding = {} 
) -> bool

Decode an audio file.

Parameters
pathPath to audio file.
encodingEncoding format, if known.
Returns
true on success.

◆ get_channels()

auto capo::Buffer::get_channels ( ) const -> std::uint8_t
inline

◆ get_frame_count()

auto capo::Buffer::get_frame_count ( ) const -> std::uint64_t
inline

◆ get_samples()

auto capo::Buffer::get_samples ( ) const -> std::span<float const>
inline

◆ is_loaded()

auto capo::Buffer::is_loaded ( ) const -> bool
inline

◆ set_frames()

void capo::Buffer::set_frames ( std::vector< float >  samples,
std::uint8_t  channels 
)

Set custom PCM data.

Member Data Documentation

◆ sample_rate_v

constexpr auto capo::Buffer::sample_rate_v = 48000u
staticconstexpr

Sample rate is constant (48kHz).


The documentation for this class was generated from the following file: