5#include "platforms/is_platform.h"
12#include "platforms/audio_input_null.hpp"
19#include "platforms/arm/teensy/audio_input_teensy_config.h"
22#ifndef FASTLED_USES_ARDUINO_AUDIO_INPUT
27 #if defined(FL_IS_ESP32) && !defined(FL_IS_ESP8266)
28 #define FASTLED_USES_ARDUINO_AUDIO_INPUT 0
29 #elif defined(FL_IS_WASM)
30 #define FASTLED_USES_ARDUINO_AUDIO_INPUT 0
31 #elif defined(FL_IS_TEENSY)
33 #define FASTLED_USES_ARDUINO_AUDIO_INPUT 0
34 #elif FL_HAS_INCLUDE(<Arduino.h>)
35 #define FASTLED_USES_ARDUINO_AUDIO_INPUT 1
37 #define FASTLED_USES_ARDUINO_AUDIO_INPUT 0
41#if !FASTLED_USES_ARDUINO_AUDIO_INPUT
42#if defined(FL_IS_ESP32) && !defined(FL_IS_ESP8266)
43#define FASTLED_USES_ESP32_AUDIO_INPUT 1
45#define FASTLED_USES_ESP32_AUDIO_INPUT 0
48#define FASTLED_USES_ESP32_AUDIO_INPUT 0
52#if !FASTLED_USES_ARDUINO_AUDIO_INPUT && !FASTLED_USES_ESP32_AUDIO_INPUT
53#if defined(FL_IS_WASM)
54#define FASTLED_USES_WASM_AUDIO_INPUT 1
56#define FASTLED_USES_WASM_AUDIO_INPUT 0
59#define FASTLED_USES_WASM_AUDIO_INPUT 0
64#if FASTLED_USES_TEENSY_AUDIO_INPUT
65#define FASTLED_TEENSY_AUDIO_INPUT_HEADER \
66 "platforms/arm/teensy/audio_input_teensy.h"
67#include FASTLED_TEENSY_AUDIO_INPUT_HEADER
68#undef FASTLED_TEENSY_AUDIO_INPUT_HEADER
69#elif FASTLED_USES_ARDUINO_AUDIO_INPUT
70#include "platforms/arduino/audio_input.hpp"
71#elif FASTLED_USES_ESP32_AUDIO_INPUT
72#include "platforms/esp/32/audio/audio_impl.hpp"
73#elif FASTLED_USES_WASM_AUDIO_INPUT
74#include "platforms/wasm/audio_input_wasm.hpp"
81#if FASTLED_USES_TEENSY_AUDIO_INPUT
84 return teensy_create_audio_input(config, error_message);
86#elif FASTLED_USES_ARDUINO_AUDIO_INPUT
89 return arduino_create_audio_input(config, error_message);
91#elif FASTLED_USES_ESP32_AUDIO_INPUT
94 return esp32_create_audio_input(config, error_message);
96#elif FASTLED_USES_WASM_AUDIO_INPUT
99 return wasm_create_audio_input(config, error_message);
107 *error_message =
"AudioInput not supported on this platform.";
118 input->setGain(config.getGain());
fl::UIAudio audio("Audio Input")
shared_ptr< T > make_shared(Args &&... args) FL_NO_EXCEPT
FL_LINK_WEAK fl::shared_ptr< IInput > platform_create_audio_input(const Config &config, fl::string *error_message) FL_NO_EXCEPT
u8 u8 fract8 blur_amount FL_NO_EXCEPT
Base definition for an LED controller.