21template <
typename T =
int16_t>
30 virtual bool read(
T &result) = 0;
34 if (data ==
nullptr) {
60 for (
int j = 0;
j < len;
j++) {
67 LOGD(
"writeArray %d -> %d", len, result);
81 virtual bool peek(
T &result) = 0;
111 if (
size() == 0)
return 0.0f;
112 return 100.0f *
static_cast<float>(
available()) /
113 static_cast<float>(
size());
118 LOGE(
"resize not implemented for this buffer");
126template <
typename T =
int16_t>
135 for (
int j = 0;
j < result;
j++) {
145 template <
int rows,
int channels>
151 for (
int i = 0; i < channels; i++) {
171template <
typename T =
int16_t>
235 return max(result, 0);
340template <
typename T =
int16_t>
375 for (
int j = 0;
j < n;
j++) {
380 if (count == 0)
break;
420 LOGI(
"resize: %d", len);
451template <
class File,
typename T>
468 LOGE(
"file is not valid");
478 if (
p_file ==
nullptr)
return 0;
479 int read_count = min(count,
available());
484 if (offset.
len1 > 0) {
492 for (
int i = 0; i < count; i++) {
493 LOGI(
"read #%d value %d", offset.
pos, (
int)data[i]);
513 if (
p_file ==
nullptr)
return 0;
514 int read_count = min(count,
available());
519 if (offset.
len1 > 0) {
532 if (
p_file ==
nullptr)
return 0;
533 for (
int i = 0; i < len; i++) {
542 if (offset.
len1 > 0) {
619 LOGD(
"file_seek: %d", pos);
630 LOGD(
"file_write: %d", count);
631 if (
p_file ==
nullptr)
return 0;
644 LOGD(
"file_read: %d", count);
662template <
typename T =
int16_t>
789 for (
int j = 0;
j < count;
j++) {
791 LOGD(
"new buffer %p", buffer);
826 while (ptr !=
nullptr) {
827 LOGD(
"deleting %p", ptr);
833 while (ptr !=
nullptr) {
834 LOGD(
"deleting %p", ptr);
878template <
typename T =
int16_t>
932template <
class File,
typename T>
953 if (!file)
return false;
984 bool result =
read(data);
1002 return result /
sizeof(
T);
1070 char file_name[len + 1];
1086template <
typename T =
int16_t>
1090 LOGI(
"BufferedArray(%d)", len);
1096 LOGD(
"getValues(%d,%d) - max %d", offset, length,
array.size());
1114 return &
array[offset];
#define TRACED()
Definition AudioLoggerIDF.h:31
#define LOGI(...)
Definition AudioLoggerIDF.h:28
#define LOGD(...)
Definition AudioLoggerIDF.h:27
#define LOGE(...)
Definition AudioLoggerIDF.h:30
#define assert(T)
Definition avr.h:10