libDaisy
Hardware Library for Daisy
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
audio.h
Go to the documentation of this file.
1#ifndef DSY_AUDIO_H
2#define DSY_AUDIO_H
4#include "per/sai.h"
5
6namespace daisy
7{
23{
24 public:
44
45 enum class Result
46 {
47 OK,
48 ERR,
49 };
50
55 typedef const float* const* InputBuffer;
56
60 typedef float** OutputBuffer;
61
65 typedef void (*AudioCallback)(InputBuffer in,
66 OutputBuffer out,
67 size_t size);
68
73 typedef const float* InterleavingInputBuffer;
74
79
85 size_t size);
86
87 AudioHandle() : pimpl_(nullptr) {}
89
90 AudioHandle(const AudioHandle& other) = default;
91 AudioHandle& operator=(const AudioHandle& other) = default;
92
94 Result Init(const Config& config, SaiHandle sai);
95
97 Result Init(const Config& config, SaiHandle sai1, SaiHandle sai2);
98
101
103 const Config& GetConfig() const;
104
112 size_t GetChannels() const;
113
116
119
123 Result SetBlockSize(size_t size);
124
129 Result SetPostGain(float val);
130
138
141
146
149
152
155
156
157 class Impl;
158
159 private:
160 Impl* pimpl_;
161};
162
163} // namespace daisy
164
165#endif
Audio Engine Handle.
Definition audio.h:23
Result Start(AudioCallback callback)
float ** OutputBuffer
Definition audio.h:60
Result ChangeCallback(InterleavingAudioCallback callback)
void(*) AudioCallback(InputBuffer in, OutputBuffer out, size_t size)
Definition audio.h:65
Result SetSampleRate(SaiHandle::Config::SampleRate samplerate)
~AudioHandle()
Definition audio.h:88
float * InterleavingOutputBuffer
Definition audio.h:78
const float * InterleavingInputBuffer
Definition audio.h:73
const Config & GetConfig() const
Result SetBlockSize(size_t size)
AudioHandle(const AudioHandle &other)=default
Result Start(InterleavingAudioCallback callback)
size_t GetChannels() const
AudioHandle()
Definition audio.h:87
const float *const * InputBuffer
Definition audio.h:55
Result Init(const Config &config, SaiHandle sai)
AudioHandle & operator=(const AudioHandle &other)=default
Result SetOutputCompensation(float val)
void(*) InterleavingAudioCallback(InterleavingInputBuffer in, InterleavingOutputBuffer out, size_t size)
Definition audio.h:83
Result ChangeCallback(AudioCallback callback)
Result Init(const Config &config, SaiHandle sai1, SaiHandle sai2)
Result SetPostGain(float val)
Result
Definition audio.h:46
Definition sai.h:44
Hardware defines and helpers for daisy field platform.
Definition index.h:2
Definition audio.h:28
float output_compensation
Definition audio.h:42
SaiHandle::Config::SampleRate samplerate
Definition audio.h:34
size_t blocksize
Definition audio.h:30
float postgain
Definition audio.h:37
SampleRate
Definition sai.h:58