Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
signalsmith_time_pitch_processor.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4
6
7namespace pulp::audio {
8
9// Optional time/pitch processor backed by the `signalsmith-stretch` package
10// when that package target is present. The class is always linkable: default
11// builds report MissingPackage and return `unavailable` from prepare/process.
13public:
16
21
22 [[nodiscard]] static bool available() noexcept;
23
24 [[nodiscard]] const AnalyzerDescriptor& descriptor() const noexcept override;
26 const TimePitchPrepareConfig& config) override;
27 void release() noexcept override;
28 [[nodiscard]] TimePitchProcessResult process(BufferView<const float> input,
29 BufferView<float> output,
30 const TimePitchProcessSpec& spec) override;
31
32private:
33 struct Impl;
34
35 AnalyzerDescriptor descriptor_;
36 std::unique_ptr<Impl> impl_;
37};
38
39} // namespace pulp::audio
Non-owning view over multi-channel audio sample data.
Definition buffer.hpp:30
SignalsmithTimePitchProcessor(SignalsmithTimePitchProcessor &&) noexcept
TimePitchPrepareResult prepare(const TimePitchPrepareConfig &config) override
SignalsmithTimePitchProcessor & operator=(const SignalsmithTimePitchProcessor &)=delete
TimePitchProcessResult process(BufferView< const float > input, BufferView< float > output, const TimePitchProcessSpec &spec) override
const AnalyzerDescriptor & descriptor() const noexcept override
SignalsmithTimePitchProcessor(const SignalsmithTimePitchProcessor &)=delete
Definition analyzer_provider.hpp:252
Definition analyzer_provider.hpp:12
STL namespace.
Definition analyzer_provider.hpp:93
Definition analyzer_provider.hpp:203
Definition analyzer_provider.hpp:218
Definition analyzer_provider.hpp:224
Definition analyzer_provider.hpp:210