9#define FAUSTFLOAT float
13#define PSRAM_LIMIT 1024
27 virtual void init(
int sample_rate) = 0;
54 const char* label=
nullptr;
68 return e!=
nullptr ? *(e->zone) :(
FAUSTFLOAT) 0.0;
75 if (value>=e->min && value<=e->max){
79 LOGE(
"Value '%s' outsde limits %f (%f-%f)", e->label, value, e->min, e->max);
151 StrView nameStr(name);
153 if (nameStr.equals(
entries[j].label)){
164 e.withLimits = withLimits;
168 LOGI(
"Label: %s value: %f range: %f - %f",
label, *zone, min, max);
170 LOGI(
"Label: %s value: %f",
label, *zone);
201 virtual void info(
size_t size,
size_t reads,
size_t writes) {
202 LOGD(
"info %d", size);
212 is_psram = total>2000 && ESP.getFreePsram()>0;
214 LOGI(
"use PSRAM: %s", is_psram?
"true":
"false");
222 LOGD(
"allocate %d", size);
224 void* result = is_psram && size >
PSRAM_LIMIT ? ps_malloc(size) : malloc(size);
226 void* result = malloc(size);
228 if (result!=
nullptr){
229 memset(result, size, 0);
231 LOGE(
"allocate %u bytes - failed", (
unsigned) size);
249 bool is_psram =
false;
#define PSRAM_LIMIT
Definition AudioFaustDSP.h:13
void Soundfile
Definition AudioFaustDSP.h:45
#define FAUSTFLOAT
Definition AudioFaustDSP.h:9
#define LOGI(...)
Definition AudioLoggerIDF.h:28
#define LOGD(...)
Definition AudioLoggerIDF.h:27
#define LOGE(...)
Definition AudioLoggerIDF.h:30
Minimum implementation of UI parameters. We only support the setting and getting of values.
Definition AudioFaustDSP.h:52
virtual float getValue(const char *label)
Definition AudioFaustDSP.h:63
void addEntry(const char *label, float *zone, bool withLimits=false, float min=0, float max=0)
Definition AudioFaustDSP.h:160
const char * label(int idx)
Returns the label at the indicated position. nullptr is returned if the index is too big.
Definition AudioFaustDSP.h:140
virtual void addVerticalSlider(const char *label, float *zone, float init, float min, float max, float step)
Definition AudioFaustDSP.h:106
audio_tools::Vector< Entry > entries
Definition AudioFaustDSP.h:148
virtual void addButton(const char *label, float *zone)
Definition AudioFaustDSP.h:100
virtual bool exists(const char *label)
checks if a label exists
Definition AudioFaustDSP.h:130
virtual void closeBox()
Definition AudioFaustDSP.h:97
Entry * findEntry(const char *name)
Definition AudioFaustDSP.h:150
virtual void addVerticalBargraph(const char *label, float *zone, float min, float max)
Definition AudioFaustDSP.h:121
virtual void addCheckButton(const char *label, float *zone)
Definition AudioFaustDSP.h:103
virtual void addHorizontalSlider(const char *label, float *zone, float init, float min, float max, float step)
Definition AudioFaustDSP.h:110
virtual void openTabBox(const char *label)
Definition AudioFaustDSP.h:94
virtual void openHorizontalBox(const char *label)
Definition AudioFaustDSP.h:95
virtual size_t size()
Returns the number of label entries.
Definition AudioFaustDSP.h:135
virtual bool setValue(const char *label, float value)
Definition AudioFaustDSP.h:70
virtual void addSoundfile(const char *label, const char *filename, Soundfile **sf_zone)
Definition AudioFaustDSP.h:124
virtual void openVerticalBox(const char *label)
Definition AudioFaustDSP.h:96
virtual void declare(float *zone, const char *key, const char *val)
Definition AudioFaustDSP.h:127
virtual void addNumEntry(const char *label, float *zone, float init, float min, float max, float step)
Definition AudioFaustDSP.h:114
virtual void addHorizontalBargraph(const char *label, float *zone, float min, float max)
Definition AudioFaustDSP.h:120
Memory manager which uses psram when it is available.
Definition AudioFaustDSP.h:181
virtual void destroy(void *ptr)
Definition AudioFaustDSP.h:241
virtual ~dsp_memory_manager()
Definition AudioFaustDSP.h:183
virtual void info(size_t size, size_t reads, size_t writes)
Definition AudioFaustDSP.h:201
virtual void * allocate(size_t size)
Definition AudioFaustDSP.h:221
virtual bool begin(size_t count)
Definition AudioFaustDSP.h:189
virtual void end()
Definition AudioFaustDSP.h:210
minimal dsp base class needed by Faust
Definition AudioFaustDSP.h:25
virtual void compute(int count, float **inputs, float **outputs)=0
virtual void instanceClear()=0
virtual int getNumOutputs()=0
virtual void buildUserInterface(UI *ui_interface)=0
virtual void init(int sample_rate)=0
virtual int getNumInputs()=0