35 bool prepared() const noexcept {
return storage_ready_; }
36 std::uint32_t
slot_count() const noexcept {
return slots_.slot_count(); }
37 std::uint32_t
max_channels() const noexcept {
return slots_.max_channels(); }
39 return slots_.max_frames_per_slot();
45 std::uint64_t audio_safe_generation = 0);
49 std::uint64_t audio_safe_generation = 0);
53 std::uint64_t audio_safe_generation = 0);
55 bool has_sample() const noexcept {
return slots_.read_published_view().valid; }
59 return slots_.read_published_view();
62 return slots_.slot_view_valid(
view);
65 std::uint32_t channel)
const noexcept {
66 return slots_.channel_data(
view, channel);
69 const float** channel_ptrs,
70 std::size_t channel_capacity)
const noexcept;
78 std::uint64_t audio_safe_generation);
81 std::mutex load_mutex_;
82 std::vector<float> load_scratch_;
84 bool storage_ready_ =
false;
Non-owning view over multi-channel audio sample data.
Definition buffer.hpp:30
PublishedSampleStore()=default
bool prepared() const noexcept
Definition published_sample_store.hpp:35
int sample_length() const noexcept
bool load_mono(const float *data, int num_samples, double sample_rate, std::uint64_t audio_safe_generation=0)
const float * channel_data(const PublishedSampleView &view, std::uint32_t channel) const noexcept
Definition published_sample_store.hpp:64
bool slot_view_valid(const PublishedSampleView &view) const noexcept
Definition published_sample_store.hpp:61
bool prepare(const PublishedSampleStoreConfig &config)
std::uint32_t slot_count() const noexcept
Definition published_sample_store.hpp:36
bool load_interleaved_stereo(const float *interleaved, int num_frames, double sample_rate, std::uint64_t audio_safe_generation=0)
std::uint64_t max_frames_per_slot() const noexcept
Definition published_sample_store.hpp:38
std::uint32_t max_channels() const noexcept
Definition published_sample_store.hpp:37
bool has_sample() const noexcept
Definition published_sample_store.hpp:55
bool populate_channel_ptrs(const PublishedSampleView &view, const float **channel_ptrs, std::size_t channel_capacity) const noexcept
bool publish(BufferView< const float > source, std::uint64_t frames, double sample_rate, std::uint64_t audio_safe_generation=0)
PublishedSampleView read_published_view() const noexcept
Definition published_sample_store.hpp:58
Definition sample_slot_bank.hpp:37
Definition analyzer_provider.hpp:12
Hover-cursor tracking for platform window hosts.
Definition fwd.hpp:27
Definition published_sample_store.hpp:13
std::uint64_t max_frames_per_slot
Definition published_sample_store.hpp:19
std::uint32_t slot_count
Definition published_sample_store.hpp:17
std::uint32_t max_channels
Definition published_sample_store.hpp:18
Definition sample_slot_bank.hpp:22