Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
audio_tap.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4
6
7namespace pulp::audio {
8
12class AudioTap {
13public:
14 bool prepare(std::uint32_t channels, std::uint64_t capacity_frames) {
15 return ring_.prepare(channels, capacity_frames);
16 }
17 void release() noexcept { ring_.release(); }
18 void reset() noexcept { ring_.reset(); }
19
20 std::uint64_t push(BufferView<const float> source) noexcept {
21 return ring_.write(source, source.num_samples());
22 }
23 std::uint64_t push(BufferView<float> source) noexcept {
24 return ring_.write(source, source.num_samples());
25 }
26 bool read(BufferView<float> destination) noexcept {
27 return ring_.read(destination, destination.num_samples());
28 }
29
30 std::uint32_t num_channels() const noexcept { return ring_.num_channels(); }
31 std::uint64_t available_frames() const noexcept { return ring_.available_frames(); }
32 PlanarAudioRingBufferStats stats() const noexcept { return ring_.stats(); }
33
34private:
36};
37
38} // namespace pulp::audio
Fixed-capacity, single-producer/single-consumer audio analysis tap.
Definition audio_tap.hpp:12
std::uint32_t num_channels() const noexcept
Definition audio_tap.hpp:30
bool read(BufferView< float > destination) noexcept
Definition audio_tap.hpp:26
PlanarAudioRingBufferStats stats() const noexcept
Definition audio_tap.hpp:32
std::uint64_t push(BufferView< float > source) noexcept
Definition audio_tap.hpp:23
bool prepare(std::uint32_t channels, std::uint64_t capacity_frames)
Definition audio_tap.hpp:14
std::uint64_t available_frames() const noexcept
Definition audio_tap.hpp:31
std::uint64_t push(BufferView< const float > source) noexcept
Definition audio_tap.hpp:20
void reset() noexcept
Definition audio_tap.hpp:18
void release() noexcept
Definition audio_tap.hpp:17
Non-owning view over multi-channel audio sample data.
Definition buffer.hpp:30
Definition planar_audio_ring_buffer.hpp:22
Definition analyzer_provider.hpp:12
Definition planar_audio_ring_buffer.hpp:16