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
23 #if defined(FL_IS_ESP32) && !defined(FL_IS_ESP8266)
24 #define FASTLED_USES_ARDUINO_AUDIO_INPUT 0
25 #elif defined(FL_IS_WASM)
26 #define FASTLED_USES_ARDUINO_AUDIO_INPUT 0
27 #elif defined(FL_IS_TEENSY)
29 #define FASTLED_USES_ARDUINO_AUDIO_INPUT 0
30 #elif FL_HAS_INCLUDE(<Arduino.h>)
31 #define FASTLED_USES_ARDUINO_AUDIO_INPUT 1
33 #define FASTLED_USES_ARDUINO_AUDIO_INPUT 0
37#if !FASTLED_USES_ARDUINO_AUDIO_INPUT
38#if defined(FL_IS_ESP32) && !defined(FL_IS_ESP8266)
39#define FASTLED_USES_ESP32_AUDIO_INPUT 1
41#define FASTLED_USES_ESP32_AUDIO_INPUT 0
44#define FASTLED_USES_ESP32_AUDIO_INPUT 0
48#if !FASTLED_USES_ARDUINO_AUDIO_INPUT && !FASTLED_USES_ESP32_AUDIO_INPUT
49#if defined(FL_IS_WASM)
50#define FASTLED_USES_WASM_AUDIO_INPUT 1
52#define FASTLED_USES_WASM_AUDIO_INPUT 0
55#define FASTLED_USES_WASM_AUDIO_INPUT 0
60#if FASTLED_USES_TEENSY_AUDIO_INPUT
61#define FASTLED_TEENSY_AUDIO_INPUT_HEADER \
62 "platforms/arm/teensy/audio_input_teensy.h"
63#include FASTLED_TEENSY_AUDIO_INPUT_HEADER
64#undef FASTLED_TEENSY_AUDIO_INPUT_HEADER
65#elif FASTLED_USES_ARDUINO_AUDIO_INPUT
66#include "platforms/arduino/audio_input.hpp"
67#elif FASTLED_USES_ESP32_AUDIO_INPUT
68#include "platforms/esp/32/audio/audio_impl.hpp"
69#elif FASTLED_USES_WASM_AUDIO_INPUT
70#include "platforms/wasm/audio_input_wasm.hpp"
77#if FASTLED_USES_TEENSY_AUDIO_INPUT
80 return teensy_create_audio_input(config, error_message);
82#elif FASTLED_USES_ARDUINO_AUDIO_INPUT
85 return arduino_create_audio_input(config, error_message);
87#elif FASTLED_USES_ESP32_AUDIO_INPUT
90 return esp32_create_audio_input(config, error_message);
92#elif FASTLED_USES_WASM_AUDIO_INPUT
95 return wasm_create_audio_input(config, error_message);
103 *error_message =
"AudioInput not supported on this platform.";
114 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.