Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::audio::SampleSlotBank Class Reference

#include <sample_slot_bank.hpp>

Public Member Functions

 SampleSlotBank ()=default
bool prepare (std::uint32_t slot_count, std::uint32_t max_channels, std::uint64_t max_frames_per_slot)
void reset () noexcept
void release () noexcept
std::uint32_t slot_count () const noexcept
std::uint32_t max_channels () const noexcept
std::uint64_t max_frames_per_slot () const noexcept
int reserve_slot (std::uint32_t num_channels, std::uint64_t num_frames, double sample_rate) noexcept
bool write_slot (std::uint32_t slot_index, BufferView< const float > source, std::uint64_t frames) noexcept
bool write_slot (std::uint32_t slot_index, BufferView< float > source, std::uint64_t frames) noexcept
bool publish_from_buffer (BufferView< const float > source, std::uint64_t frames, double sample_rate, std::uint64_t audio_safe_generation=0) noexcept
bool publish_from_buffer (BufferView< float > source, std::uint64_t frames, double sample_rate, std::uint64_t audio_safe_generation=0) noexcept
bool complete_slot (std::uint32_t slot_index) noexcept
bool publish_slot (std::uint32_t slot_index) noexcept
bool release_slot (std::uint32_t slot_index) noexcept
PublishedSampleView read_published_view () const noexcept
bool acknowledge_audio_generation (std::uint64_t generation) noexcept
SampleSlotState slot_state (std::uint32_t slot_index) const noexcept
std::uint32_t slot_num_channels (std::uint32_t slot_index) const noexcept
std::uint64_t slot_num_frames (std::uint32_t slot_index) const noexcept
double slot_sample_rate (std::uint32_t slot_index) const noexcept
bool slot_view_valid (const PublishedSampleView &view) const noexcept
const float * channel_data (const PublishedSampleView &view, std::uint32_t channel) const noexcept
const float * slot_channel_data_for_test (std::uint32_t slot_index, std::uint32_t channel) const noexcept
const float * channel_data (std::uint32_t slot_index, std::uint32_t channel) const noexcept

Static Public Member Functions

static std::uint64_t oldest_active_generation (const PublishedSampleView &current, const PublishedSampleView *active_views, std::size_t active_count) noexcept

Constructor & Destructor Documentation

◆ SampleSlotBank()

pulp::audio::SampleSlotBank::SampleSlotBank ( )
default

Member Function Documentation

◆ acknowledge_audio_generation()

bool pulp::audio::SampleSlotBank::acknowledge_audio_generation ( std::uint64_t generation)
noexcept

◆ channel_data() [1/2]

const float * pulp::audio::SampleSlotBank::channel_data ( const PublishedSampleView & view,
std::uint32_t channel ) const
noexcept

◆ channel_data() [2/2]

const float * pulp::audio::SampleSlotBank::channel_data ( std::uint32_t slot_index,
std::uint32_t channel ) const
noexcept

◆ complete_slot()

bool pulp::audio::SampleSlotBank::complete_slot ( std::uint32_t slot_index)
noexcept

◆ max_channels()

std::uint32_t pulp::audio::SampleSlotBank::max_channels ( ) const
inlinenoexcept

◆ max_frames_per_slot()

std::uint64_t pulp::audio::SampleSlotBank::max_frames_per_slot ( ) const
inlinenoexcept

◆ oldest_active_generation()

std::uint64_t pulp::audio::SampleSlotBank::oldest_active_generation ( const PublishedSampleView & current,
const PublishedSampleView * active_views,
std::size_t active_count )
staticnoexcept

◆ prepare()

bool pulp::audio::SampleSlotBank::prepare ( std::uint32_t slot_count,
std::uint32_t max_channels,
std::uint64_t max_frames_per_slot )

◆ publish_from_buffer() [1/2]

bool pulp::audio::SampleSlotBank::publish_from_buffer ( BufferView< const float > source,
std::uint64_t frames,
double sample_rate,
std::uint64_t audio_safe_generation = 0 )
noexcept

◆ publish_from_buffer() [2/2]

bool pulp::audio::SampleSlotBank::publish_from_buffer ( BufferView< float > source,
std::uint64_t frames,
double sample_rate,
std::uint64_t audio_safe_generation = 0 )
noexcept

◆ publish_slot()

bool pulp::audio::SampleSlotBank::publish_slot ( std::uint32_t slot_index)
noexcept

◆ read_published_view()

PublishedSampleView pulp::audio::SampleSlotBank::read_published_view ( ) const
inlinenoexcept

◆ release()

void pulp::audio::SampleSlotBank::release ( )
noexcept

◆ release_slot()

bool pulp::audio::SampleSlotBank::release_slot ( std::uint32_t slot_index)
noexcept

◆ reserve_slot()

int pulp::audio::SampleSlotBank::reserve_slot ( std::uint32_t num_channels,
std::uint64_t num_frames,
double sample_rate )
noexcept

◆ reset()

void pulp::audio::SampleSlotBank::reset ( )
noexcept

◆ slot_channel_data_for_test()

const float * pulp::audio::SampleSlotBank::slot_channel_data_for_test ( std::uint32_t slot_index,
std::uint32_t channel ) const
noexcept

◆ slot_count()

std::uint32_t pulp::audio::SampleSlotBank::slot_count ( ) const
inlinenoexcept

◆ slot_num_channels()

std::uint32_t pulp::audio::SampleSlotBank::slot_num_channels ( std::uint32_t slot_index) const
noexcept

◆ slot_num_frames()

std::uint64_t pulp::audio::SampleSlotBank::slot_num_frames ( std::uint32_t slot_index) const
noexcept

◆ slot_sample_rate()

double pulp::audio::SampleSlotBank::slot_sample_rate ( std::uint32_t slot_index) const
noexcept

◆ slot_state()

SampleSlotState pulp::audio::SampleSlotBank::slot_state ( std::uint32_t slot_index) const
noexcept

◆ slot_view_valid()

bool pulp::audio::SampleSlotBank::slot_view_valid ( const PublishedSampleView & view) const
noexcept

◆ write_slot() [1/2]

bool pulp::audio::SampleSlotBank::write_slot ( std::uint32_t slot_index,
BufferView< const float > source,
std::uint64_t frames )
noexcept

◆ write_slot() [2/2]

bool pulp::audio::SampleSlotBank::write_slot ( std::uint32_t slot_index,
BufferView< float > source,
std::uint64_t frames )
noexcept

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