diff --git a/libesp32/ESP8266Audio/.github/workflows/pr-or-master-push.yml b/lib/ESP8266Audio/.github/workflows/pr-or-master-push.yml similarity index 100% rename from libesp32/ESP8266Audio/.github/workflows/pr-or-master-push.yml rename to lib/ESP8266Audio/.github/workflows/pr-or-master-push.yml diff --git a/libesp32/ESP8266Audio/LICENSE b/lib/ESP8266Audio/LICENSE similarity index 100% rename from libesp32/ESP8266Audio/LICENSE rename to lib/ESP8266Audio/LICENSE diff --git a/libesp32/ESP8266Audio/README.md b/lib/ESP8266Audio/README.md similarity index 100% rename from libesp32/ESP8266Audio/README.md rename to lib/ESP8266Audio/README.md diff --git a/libesp32/ESP8266Audio/examples/MixerSample/MixerSample.ino b/lib/ESP8266Audio/examples/MixerSample/MixerSample.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/MixerSample/MixerSample.ino rename to lib/ESP8266Audio/examples/MixerSample/MixerSample.ino diff --git a/libesp32/ESP8266Audio/examples/MixerSample/viola.h b/lib/ESP8266Audio/examples/MixerSample/viola.h similarity index 100% rename from libesp32/ESP8266Audio/examples/MixerSample/viola.h rename to lib/ESP8266Audio/examples/MixerSample/viola.h diff --git a/libesp32/ESP8266Audio/examples/PlayAACFromPROGMEM/PlayAACFromPROGMEM.ino b/lib/ESP8266Audio/examples/PlayAACFromPROGMEM/PlayAACFromPROGMEM.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayAACFromPROGMEM/PlayAACFromPROGMEM.ino rename to lib/ESP8266Audio/examples/PlayAACFromPROGMEM/PlayAACFromPROGMEM.ino diff --git a/libesp32/ESP8266Audio/examples/PlayAACFromPROGMEM/homer.aac b/lib/ESP8266Audio/examples/PlayAACFromPROGMEM/homer.aac similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayAACFromPROGMEM/homer.aac rename to lib/ESP8266Audio/examples/PlayAACFromPROGMEM/homer.aac diff --git a/libesp32/ESP8266Audio/examples/PlayAACFromPROGMEM/sampleaac.h b/lib/ESP8266Audio/examples/PlayAACFromPROGMEM/sampleaac.h similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayAACFromPROGMEM/sampleaac.h rename to lib/ESP8266Audio/examples/PlayAACFromPROGMEM/sampleaac.h diff --git a/libesp32/ESP8266Audio/examples/PlayFLAC-SD-SPDIF/PlayFLAC-SD-SPDIF.ino b/lib/ESP8266Audio/examples/PlayFLAC-SD-SPDIF/PlayFLAC-SD-SPDIF.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayFLAC-SD-SPDIF/PlayFLAC-SD-SPDIF.ino rename to lib/ESP8266Audio/examples/PlayFLAC-SD-SPDIF/PlayFLAC-SD-SPDIF.ino diff --git a/libesp32/ESP8266Audio/examples/PlayFLACFromPROGMEMToDAC/PlayFLACFromPROGMEMToDAC.ino b/lib/ESP8266Audio/examples/PlayFLACFromPROGMEMToDAC/PlayFLACFromPROGMEMToDAC.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayFLACFromPROGMEMToDAC/PlayFLACFromPROGMEMToDAC.ino rename to lib/ESP8266Audio/examples/PlayFLACFromPROGMEMToDAC/PlayFLACFromPROGMEMToDAC.ino diff --git a/libesp32/ESP8266Audio/examples/PlayFLACFromPROGMEMToDAC/sample.h b/lib/ESP8266Audio/examples/PlayFLACFromPROGMEMToDAC/sample.h similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayFLACFromPROGMEMToDAC/sample.h rename to lib/ESP8266Audio/examples/PlayFLACFromPROGMEMToDAC/sample.h diff --git a/libesp32/ESP8266Audio/examples/PlayMIDIFromLittleFS/PlayMIDIFromLittleFS.ino b/lib/ESP8266Audio/examples/PlayMIDIFromLittleFS/PlayMIDIFromLittleFS.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayMIDIFromLittleFS/PlayMIDIFromLittleFS.ino rename to lib/ESP8266Audio/examples/PlayMIDIFromLittleFS/PlayMIDIFromLittleFS.ino diff --git a/libesp32/ESP8266Audio/examples/PlayMIDIFromLittleFS/data/1mgm.sf2 b/lib/ESP8266Audio/examples/PlayMIDIFromLittleFS/data/1mgm.sf2 similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayMIDIFromLittleFS/data/1mgm.sf2 rename to lib/ESP8266Audio/examples/PlayMIDIFromLittleFS/data/1mgm.sf2 diff --git a/libesp32/ESP8266Audio/examples/PlayMIDIFromLittleFS/data/furelise.mid b/lib/ESP8266Audio/examples/PlayMIDIFromLittleFS/data/furelise.mid similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayMIDIFromLittleFS/data/furelise.mid rename to lib/ESP8266Audio/examples/PlayMIDIFromLittleFS/data/furelise.mid diff --git a/libesp32/ESP8266Audio/examples/PlayMIDIFromSPIFFS/PlayMIDIFromSPIFFS.ino b/lib/ESP8266Audio/examples/PlayMIDIFromSPIFFS/PlayMIDIFromSPIFFS.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayMIDIFromSPIFFS/PlayMIDIFromSPIFFS.ino rename to lib/ESP8266Audio/examples/PlayMIDIFromSPIFFS/PlayMIDIFromSPIFFS.ino diff --git a/libesp32/ESP8266Audio/examples/PlayMIDIFromSPIFFS/data/1mgm.sf2 b/lib/ESP8266Audio/examples/PlayMIDIFromSPIFFS/data/1mgm.sf2 similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayMIDIFromSPIFFS/data/1mgm.sf2 rename to lib/ESP8266Audio/examples/PlayMIDIFromSPIFFS/data/1mgm.sf2 diff --git a/libesp32/ESP8266Audio/examples/PlayMIDIFromSPIFFS/data/furelise.mid b/lib/ESP8266Audio/examples/PlayMIDIFromSPIFFS/data/furelise.mid similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayMIDIFromSPIFFS/data/furelise.mid rename to lib/ESP8266Audio/examples/PlayMIDIFromSPIFFS/data/furelise.mid diff --git a/libesp32/ESP8266Audio/examples/PlayMODFromPROGMEMToDAC/PlayMODFromPROGMEMToDAC.ino b/lib/ESP8266Audio/examples/PlayMODFromPROGMEMToDAC/PlayMODFromPROGMEMToDAC.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayMODFromPROGMEMToDAC/PlayMODFromPROGMEMToDAC.ino rename to lib/ESP8266Audio/examples/PlayMODFromPROGMEMToDAC/PlayMODFromPROGMEMToDAC.ino diff --git a/libesp32/ESP8266Audio/examples/PlayMODFromPROGMEMToDAC/enigma.h b/lib/ESP8266Audio/examples/PlayMODFromPROGMEMToDAC/enigma.h similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayMODFromPROGMEMToDAC/enigma.h rename to lib/ESP8266Audio/examples/PlayMODFromPROGMEMToDAC/enigma.h diff --git a/libesp32/ESP8266Audio/examples/PlayMP3FromSPIFFS/PlayMP3FromSPIFFS.ino b/lib/ESP8266Audio/examples/PlayMP3FromSPIFFS/PlayMP3FromSPIFFS.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayMP3FromSPIFFS/PlayMP3FromSPIFFS.ino rename to lib/ESP8266Audio/examples/PlayMP3FromSPIFFS/PlayMP3FromSPIFFS.ino diff --git a/libesp32/ESP8266Audio/examples/PlayMP3FromSPIFFS/data/pno-cs.mp3 b/lib/ESP8266Audio/examples/PlayMP3FromSPIFFS/data/pno-cs.mp3 similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayMP3FromSPIFFS/data/pno-cs.mp3 rename to lib/ESP8266Audio/examples/PlayMP3FromSPIFFS/data/pno-cs.mp3 diff --git a/libesp32/ESP8266Audio/examples/PlayMP3ToSPDIF/PlayMP3ToSPDIF.ino b/lib/ESP8266Audio/examples/PlayMP3ToSPDIF/PlayMP3ToSPDIF.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayMP3ToSPDIF/PlayMP3ToSPDIF.ino rename to lib/ESP8266Audio/examples/PlayMP3ToSPDIF/PlayMP3ToSPDIF.ino diff --git a/libesp32/ESP8266Audio/examples/PlayOpusFromSPIFFS/PlayOpusFromSPIFFS.ino b/lib/ESP8266Audio/examples/PlayOpusFromSPIFFS/PlayOpusFromSPIFFS.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayOpusFromSPIFFS/PlayOpusFromSPIFFS.ino rename to lib/ESP8266Audio/examples/PlayOpusFromSPIFFS/PlayOpusFromSPIFFS.ino diff --git a/libesp32/ESP8266Audio/examples/PlayOpusFromSPIFFS/data/gs-16b-2c-44100hz.opus b/lib/ESP8266Audio/examples/PlayOpusFromSPIFFS/data/gs-16b-2c-44100hz.opus similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayOpusFromSPIFFS/data/gs-16b-2c-44100hz.opus rename to lib/ESP8266Audio/examples/PlayOpusFromSPIFFS/data/gs-16b-2c-44100hz.opus diff --git a/libesp32/ESP8266Audio/examples/PlayRTTTLToI2SDAC/PlayRTTTLToI2SDAC.ino b/lib/ESP8266Audio/examples/PlayRTTTLToI2SDAC/PlayRTTTLToI2SDAC.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayRTTTLToI2SDAC/PlayRTTTLToI2SDAC.ino rename to lib/ESP8266Audio/examples/PlayRTTTLToI2SDAC/PlayRTTTLToI2SDAC.ino diff --git a/libesp32/ESP8266Audio/examples/PlayWAVFromPROGMEM/PlayWAVFromPROGMEM.ino b/lib/ESP8266Audio/examples/PlayWAVFromPROGMEM/PlayWAVFromPROGMEM.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayWAVFromPROGMEM/PlayWAVFromPROGMEM.ino rename to lib/ESP8266Audio/examples/PlayWAVFromPROGMEM/PlayWAVFromPROGMEM.ino diff --git a/libesp32/ESP8266Audio/examples/PlayWAVFromPROGMEM/viola.h b/lib/ESP8266Audio/examples/PlayWAVFromPROGMEM/viola.h similarity index 100% rename from libesp32/ESP8266Audio/examples/PlayWAVFromPROGMEM/viola.h rename to lib/ESP8266Audio/examples/PlayWAVFromPROGMEM/viola.h diff --git a/libesp32/ESP8266Audio/examples/StreamMP3FromHTTP/StreamMP3FromHTTP.ino b/lib/ESP8266Audio/examples/StreamMP3FromHTTP/StreamMP3FromHTTP.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/StreamMP3FromHTTP/StreamMP3FromHTTP.ino rename to lib/ESP8266Audio/examples/StreamMP3FromHTTP/StreamMP3FromHTTP.ino diff --git a/libesp32/ESP8266Audio/examples/StreamMP3FromHTTP_SPIRAM/Schema_Spiram.png b/lib/ESP8266Audio/examples/StreamMP3FromHTTP_SPIRAM/Schema_Spiram.png similarity index 100% rename from libesp32/ESP8266Audio/examples/StreamMP3FromHTTP_SPIRAM/Schema_Spiram.png rename to lib/ESP8266Audio/examples/StreamMP3FromHTTP_SPIRAM/Schema_Spiram.png diff --git a/libesp32/ESP8266Audio/examples/StreamMP3FromHTTP_SPIRAM/StreamMP3FromHTTP_SPIRAM.ino b/lib/ESP8266Audio/examples/StreamMP3FromHTTP_SPIRAM/StreamMP3FromHTTP_SPIRAM.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/StreamMP3FromHTTP_SPIRAM/StreamMP3FromHTTP_SPIRAM.ino rename to lib/ESP8266Audio/examples/StreamMP3FromHTTP_SPIRAM/StreamMP3FromHTTP_SPIRAM.ino diff --git a/libesp32/ESP8266Audio/examples/TalkingClockI2S/TalkingClockI2S.ino b/lib/ESP8266Audio/examples/TalkingClockI2S/TalkingClockI2S.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/TalkingClockI2S/TalkingClockI2S.ino rename to lib/ESP8266Audio/examples/TalkingClockI2S/TalkingClockI2S.ino diff --git a/libesp32/ESP8266Audio/examples/WebRadio/WebRadio.ino b/lib/ESP8266Audio/examples/WebRadio/WebRadio.ino similarity index 100% rename from libesp32/ESP8266Audio/examples/WebRadio/WebRadio.ino rename to lib/ESP8266Audio/examples/WebRadio/WebRadio.ino diff --git a/libesp32/ESP8266Audio/examples/WebRadio/web.cpp b/lib/ESP8266Audio/examples/WebRadio/web.cpp similarity index 100% rename from libesp32/ESP8266Audio/examples/WebRadio/web.cpp rename to lib/ESP8266Audio/examples/WebRadio/web.cpp diff --git a/libesp32/ESP8266Audio/examples/WebRadio/web.h b/lib/ESP8266Audio/examples/WebRadio/web.h similarity index 100% rename from libesp32/ESP8266Audio/examples/WebRadio/web.h rename to lib/ESP8266Audio/examples/WebRadio/web.h diff --git a/libesp32/ESP8266Audio/keywords.txt b/lib/ESP8266Audio/keywords.txt similarity index 100% rename from libesp32/ESP8266Audio/keywords.txt rename to lib/ESP8266Audio/keywords.txt diff --git a/libesp32/ESP8266Audio/library.json b/lib/ESP8266Audio/library.json similarity index 100% rename from libesp32/ESP8266Audio/library.json rename to lib/ESP8266Audio/library.json diff --git a/libesp32/ESP8266Audio/library.properties b/lib/ESP8266Audio/library.properties similarity index 100% rename from libesp32/ESP8266Audio/library.properties rename to lib/ESP8266Audio/library.properties diff --git a/libesp32/ESP8266Audio/src/AudioFileSource.h b/lib/ESP8266Audio/src/AudioFileSource.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSource.h rename to lib/ESP8266Audio/src/AudioFileSource.h diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceBuffer.cpp b/lib/ESP8266Audio/src/AudioFileSourceBuffer.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceBuffer.cpp rename to lib/ESP8266Audio/src/AudioFileSourceBuffer.cpp diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceBuffer.h b/lib/ESP8266Audio/src/AudioFileSourceBuffer.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceBuffer.h rename to lib/ESP8266Audio/src/AudioFileSourceBuffer.h diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceFATFS.h b/lib/ESP8266Audio/src/AudioFileSourceFATFS.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceFATFS.h rename to lib/ESP8266Audio/src/AudioFileSourceFATFS.h diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceFS.cpp b/lib/ESP8266Audio/src/AudioFileSourceFS.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceFS.cpp rename to lib/ESP8266Audio/src/AudioFileSourceFS.cpp diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceFS.h b/lib/ESP8266Audio/src/AudioFileSourceFS.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceFS.h rename to lib/ESP8266Audio/src/AudioFileSourceFS.h diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceHTTPStream.cpp b/lib/ESP8266Audio/src/AudioFileSourceHTTPStream.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceHTTPStream.cpp rename to lib/ESP8266Audio/src/AudioFileSourceHTTPStream.cpp diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceHTTPStream.h b/lib/ESP8266Audio/src/AudioFileSourceHTTPStream.h similarity index 98% rename from libesp32/ESP8266Audio/src/AudioFileSourceHTTPStream.h rename to lib/ESP8266Audio/src/AudioFileSourceHTTPStream.h index e7ef88d1e..e764b45d8 100755 --- a/libesp32/ESP8266Audio/src/AudioFileSourceHTTPStream.h +++ b/lib/ESP8266Audio/src/AudioFileSourceHTTPStream.h @@ -1,7 +1,7 @@ /* AudioFileSourceHTTPStream Connect to a HTTP based streaming service - + Copyright (C) 2017 Earle F. Philhower, III This program is free software: you can redistribute it and/or modify @@ -25,6 +25,7 @@ #ifdef ESP32 #include #else + #include #include #endif #include "AudioFileSource.h" @@ -37,7 +38,7 @@ class AudioFileSourceHTTPStream : public AudioFileSource AudioFileSourceHTTPStream(); AudioFileSourceHTTPStream(const char *url); virtual ~AudioFileSourceHTTPStream() override; - + virtual bool open(const char *url) override; virtual uint32_t read(void *data, uint32_t len) override; virtual uint32_t readNonBlock(void *data, uint32_t len) override; @@ -63,4 +64,3 @@ class AudioFileSourceHTTPStream : public AudioFileSource #endif - diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceICYStream.cpp b/lib/ESP8266Audio/src/AudioFileSourceICYStream.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceICYStream.cpp rename to lib/ESP8266Audio/src/AudioFileSourceICYStream.cpp diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceICYStream.h b/lib/ESP8266Audio/src/AudioFileSourceICYStream.h similarity index 99% rename from libesp32/ESP8266Audio/src/AudioFileSourceICYStream.h rename to lib/ESP8266Audio/src/AudioFileSourceICYStream.h index 479c16b48..dacbf7efd 100755 --- a/libesp32/ESP8266Audio/src/AudioFileSourceICYStream.h +++ b/lib/ESP8266Audio/src/AudioFileSourceICYStream.h @@ -1,7 +1,7 @@ /* AudioFileSourceHTTPStream Connect to a HTTP based streaming service - + Copyright (C) 2017 Earle F. Philhower, III This program is free software: you can redistribute it and/or modify @@ -36,7 +36,7 @@ class AudioFileSourceICYStream : public AudioFileSourceHTTPStream AudioFileSourceICYStream(); AudioFileSourceICYStream(const char *url); virtual ~AudioFileSourceICYStream() override; - + virtual bool open(const char *url) override; private: @@ -47,4 +47,3 @@ class AudioFileSourceICYStream : public AudioFileSourceHTTPStream #endif - diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceID3.cpp b/lib/ESP8266Audio/src/AudioFileSourceID3.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceID3.cpp rename to lib/ESP8266Audio/src/AudioFileSourceID3.cpp diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceID3.h b/lib/ESP8266Audio/src/AudioFileSourceID3.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceID3.h rename to lib/ESP8266Audio/src/AudioFileSourceID3.h diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceLittleFS.h b/lib/ESP8266Audio/src/AudioFileSourceLittleFS.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceLittleFS.h rename to lib/ESP8266Audio/src/AudioFileSourceLittleFS.h diff --git a/libesp32/ESP8266Audio/src/AudioFileSourcePROGMEM.cpp b/lib/ESP8266Audio/src/AudioFileSourcePROGMEM.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourcePROGMEM.cpp rename to lib/ESP8266Audio/src/AudioFileSourcePROGMEM.cpp diff --git a/libesp32/ESP8266Audio/src/AudioFileSourcePROGMEM.h b/lib/ESP8266Audio/src/AudioFileSourcePROGMEM.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourcePROGMEM.h rename to lib/ESP8266Audio/src/AudioFileSourcePROGMEM.h diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceSD.cpp b/lib/ESP8266Audio/src/AudioFileSourceSD.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceSD.cpp rename to lib/ESP8266Audio/src/AudioFileSourceSD.cpp diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceSD.h b/lib/ESP8266Audio/src/AudioFileSourceSD.h similarity index 95% rename from libesp32/ESP8266Audio/src/AudioFileSourceSD.h rename to lib/ESP8266Audio/src/AudioFileSourceSD.h index eacd99188..3eb079bce 100755 --- a/libesp32/ESP8266Audio/src/AudioFileSourceSD.h +++ b/lib/ESP8266Audio/src/AudioFileSourceSD.h @@ -1,7 +1,7 @@ /* AudioFileSourceSPIFFS Input SD card "file" to be used by AudioGenerator - + Copyright (C) 2017 Earle F. Philhower, III This program is free software: you can redistribute it and/or modify @@ -22,6 +22,10 @@ #define _AUDIOFILESOURCESD_H #include "AudioFileSource.h" +#ifdef ESP8266 +#include +#include +#endif #include @@ -31,7 +35,7 @@ class AudioFileSourceSD : public AudioFileSource AudioFileSourceSD(); AudioFileSourceSD(const char *filename); virtual ~AudioFileSourceSD() override; - + virtual bool open(const char *filename) override; virtual uint32_t read(void *data, uint32_t len) override; virtual bool seek(int32_t pos, int dir) override; @@ -46,4 +50,3 @@ class AudioFileSourceSD : public AudioFileSource #endif - diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceSPIFFS.h b/lib/ESP8266Audio/src/AudioFileSourceSPIFFS.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceSPIFFS.h rename to lib/ESP8266Audio/src/AudioFileSourceSPIFFS.h diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceSPIRAMBuffer.cpp b/lib/ESP8266Audio/src/AudioFileSourceSPIRAMBuffer.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceSPIRAMBuffer.cpp rename to lib/ESP8266Audio/src/AudioFileSourceSPIRAMBuffer.cpp diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceSPIRAMBuffer.h b/lib/ESP8266Audio/src/AudioFileSourceSPIRAMBuffer.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceSPIRAMBuffer.h rename to lib/ESP8266Audio/src/AudioFileSourceSPIRAMBuffer.h diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceSTDIO.cpp b/lib/ESP8266Audio/src/AudioFileSourceSTDIO.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceSTDIO.cpp rename to lib/ESP8266Audio/src/AudioFileSourceSTDIO.cpp diff --git a/libesp32/ESP8266Audio/src/AudioFileSourceSTDIO.h b/lib/ESP8266Audio/src/AudioFileSourceSTDIO.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileSourceSTDIO.h rename to lib/ESP8266Audio/src/AudioFileSourceSTDIO.h diff --git a/libesp32/ESP8266Audio/src/AudioFileStream.cpp b/lib/ESP8266Audio/src/AudioFileStream.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileStream.cpp rename to lib/ESP8266Audio/src/AudioFileStream.cpp diff --git a/libesp32/ESP8266Audio/src/AudioFileStream.h b/lib/ESP8266Audio/src/AudioFileStream.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioFileStream.h rename to lib/ESP8266Audio/src/AudioFileStream.h diff --git a/libesp32/ESP8266Audio/src/AudioGenerator.h b/lib/ESP8266Audio/src/AudioGenerator.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGenerator.h rename to lib/ESP8266Audio/src/AudioGenerator.h diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorAAC.cpp b/lib/ESP8266Audio/src/AudioGeneratorAAC.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorAAC.cpp rename to lib/ESP8266Audio/src/AudioGeneratorAAC.cpp diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorAAC.h b/lib/ESP8266Audio/src/AudioGeneratorAAC.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorAAC.h rename to lib/ESP8266Audio/src/AudioGeneratorAAC.h diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorFLAC.cpp b/lib/ESP8266Audio/src/AudioGeneratorFLAC.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorFLAC.cpp rename to lib/ESP8266Audio/src/AudioGeneratorFLAC.cpp diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorFLAC.h b/lib/ESP8266Audio/src/AudioGeneratorFLAC.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorFLAC.h rename to lib/ESP8266Audio/src/AudioGeneratorFLAC.h diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorMIDI.cpp b/lib/ESP8266Audio/src/AudioGeneratorMIDI.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorMIDI.cpp rename to lib/ESP8266Audio/src/AudioGeneratorMIDI.cpp diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorMIDI.h b/lib/ESP8266Audio/src/AudioGeneratorMIDI.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorMIDI.h rename to lib/ESP8266Audio/src/AudioGeneratorMIDI.h diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorMOD.cpp b/lib/ESP8266Audio/src/AudioGeneratorMOD.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorMOD.cpp rename to lib/ESP8266Audio/src/AudioGeneratorMOD.cpp diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorMOD.h b/lib/ESP8266Audio/src/AudioGeneratorMOD.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorMOD.h rename to lib/ESP8266Audio/src/AudioGeneratorMOD.h diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorMP3.cpp b/lib/ESP8266Audio/src/AudioGeneratorMP3.cpp similarity index 97% rename from libesp32/ESP8266Audio/src/AudioGeneratorMP3.cpp rename to lib/ESP8266Audio/src/AudioGeneratorMP3.cpp index 7c09289c6..2979a5848 100755 --- a/libesp32/ESP8266Audio/src/AudioGeneratorMP3.cpp +++ b/lib/ESP8266Audio/src/AudioGeneratorMP3.cpp @@ -1,7 +1,7 @@ /* AudioGeneratorMP3 Wrap libmad MP3 library to play audio - + Copyright (C) 2017 Earle F. Philhower, III This program is free software: you can redistribute it and/or modify @@ -52,7 +52,7 @@ AudioGeneratorMP3::~AudioGeneratorMP3() free(synth); free(frame); free(stream); - } + } } @@ -153,7 +153,7 @@ bool AudioGeneratorMP3::GetOneSample(int16_t sample[2]) output->SetChannels(synth->pcm.channels); lastChannels = synth->pcm.channels; } - + // If we're here, we have one decoded frame and sent 0 or more samples out if (samplePtr < synth->pcm.length) { sample[AudioOutput::LEFTCHANNEL ] = synth->pcm.samples[0][samplePtr]; @@ -161,7 +161,7 @@ bool AudioGeneratorMP3::GetOneSample(int16_t sample[2]) samplePtr++; } else { samplePtr = 0; - + switch ( mad_synth_frame_onens(synth, frame, nsCount++) ) { case MAD_FLOW_STOP: case MAD_FLOW_BREAK: audioLogger->printf_P(PSTR("msf1ns failed\n")); @@ -272,17 +272,19 @@ bool AudioGeneratorMP3::begin(AudioFileSource *source, AudioOutput *output) stream = NULL; frame = NULL; synth = NULL; + uint32_t size = buffLen + sizeof(struct mad_stream) + sizeof(struct mad_frame) + sizeof(struct mad_synth); + audioLogger->printf_P("OOM error in MP3: Want %d bytes\n", size); return false; } } - + mad_stream_init(stream); mad_frame_init(frame); mad_synth_init(synth); synth->pcm.length = 0; mad_stream_options(stream, 0); // TODO - add options support madInitted = true; - + running = true; return true; } @@ -349,4 +351,3 @@ extern "C" { } #endif } - diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorMP3.h b/lib/ESP8266Audio/src/AudioGeneratorMP3.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorMP3.h rename to lib/ESP8266Audio/src/AudioGeneratorMP3.h diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorMP3a.cpp b/lib/ESP8266Audio/src/AudioGeneratorMP3a.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorMP3a.cpp rename to lib/ESP8266Audio/src/AudioGeneratorMP3a.cpp diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorMP3a.h b/lib/ESP8266Audio/src/AudioGeneratorMP3a.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorMP3a.h rename to lib/ESP8266Audio/src/AudioGeneratorMP3a.h diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorOpus.cpp b/lib/ESP8266Audio/src/AudioGeneratorOpus.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorOpus.cpp rename to lib/ESP8266Audio/src/AudioGeneratorOpus.cpp diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorOpus.h b/lib/ESP8266Audio/src/AudioGeneratorOpus.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorOpus.h rename to lib/ESP8266Audio/src/AudioGeneratorOpus.h diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorRTTTL.cpp b/lib/ESP8266Audio/src/AudioGeneratorRTTTL.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorRTTTL.cpp rename to lib/ESP8266Audio/src/AudioGeneratorRTTTL.cpp diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorRTTTL.h b/lib/ESP8266Audio/src/AudioGeneratorRTTTL.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorRTTTL.h rename to lib/ESP8266Audio/src/AudioGeneratorRTTTL.h diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorTalkie.cpp b/lib/ESP8266Audio/src/AudioGeneratorTalkie.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorTalkie.cpp rename to lib/ESP8266Audio/src/AudioGeneratorTalkie.cpp diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorTalkie.h b/lib/ESP8266Audio/src/AudioGeneratorTalkie.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorTalkie.h rename to lib/ESP8266Audio/src/AudioGeneratorTalkie.h diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorWAV.cpp b/lib/ESP8266Audio/src/AudioGeneratorWAV.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorWAV.cpp rename to lib/ESP8266Audio/src/AudioGeneratorWAV.cpp diff --git a/libesp32/ESP8266Audio/src/AudioGeneratorWAV.h b/lib/ESP8266Audio/src/AudioGeneratorWAV.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioGeneratorWAV.h rename to lib/ESP8266Audio/src/AudioGeneratorWAV.h diff --git a/libesp32/ESP8266Audio/src/AudioLogger.cpp b/lib/ESP8266Audio/src/AudioLogger.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioLogger.cpp rename to lib/ESP8266Audio/src/AudioLogger.cpp diff --git a/libesp32/ESP8266Audio/src/AudioLogger.h b/lib/ESP8266Audio/src/AudioLogger.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioLogger.h rename to lib/ESP8266Audio/src/AudioLogger.h diff --git a/libesp32/ESP8266Audio/src/AudioOutput.h b/lib/ESP8266Audio/src/AudioOutput.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutput.h rename to lib/ESP8266Audio/src/AudioOutput.h diff --git a/libesp32/ESP8266Audio/src/AudioOutputBuffer.cpp b/lib/ESP8266Audio/src/AudioOutputBuffer.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputBuffer.cpp rename to lib/ESP8266Audio/src/AudioOutputBuffer.cpp diff --git a/libesp32/ESP8266Audio/src/AudioOutputBuffer.h b/lib/ESP8266Audio/src/AudioOutputBuffer.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputBuffer.h rename to lib/ESP8266Audio/src/AudioOutputBuffer.h diff --git a/libesp32/ESP8266Audio/src/AudioOutputFilterDecimate.cpp b/lib/ESP8266Audio/src/AudioOutputFilterDecimate.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputFilterDecimate.cpp rename to lib/ESP8266Audio/src/AudioOutputFilterDecimate.cpp diff --git a/libesp32/ESP8266Audio/src/AudioOutputFilterDecimate.h b/lib/ESP8266Audio/src/AudioOutputFilterDecimate.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputFilterDecimate.h rename to lib/ESP8266Audio/src/AudioOutputFilterDecimate.h diff --git a/libesp32/ESP8266Audio/src/AudioOutputI2S.cpp b/lib/ESP8266Audio/src/AudioOutputI2S.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputI2S.cpp rename to lib/ESP8266Audio/src/AudioOutputI2S.cpp diff --git a/libesp32/ESP8266Audio/src/AudioOutputI2S.h b/lib/ESP8266Audio/src/AudioOutputI2S.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputI2S.h rename to lib/ESP8266Audio/src/AudioOutputI2S.h diff --git a/libesp32/ESP8266Audio/src/AudioOutputI2SNoDAC.cpp b/lib/ESP8266Audio/src/AudioOutputI2SNoDAC.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputI2SNoDAC.cpp rename to lib/ESP8266Audio/src/AudioOutputI2SNoDAC.cpp diff --git a/libesp32/ESP8266Audio/src/AudioOutputI2SNoDAC.h b/lib/ESP8266Audio/src/AudioOutputI2SNoDAC.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputI2SNoDAC.h rename to lib/ESP8266Audio/src/AudioOutputI2SNoDAC.h diff --git a/libesp32/ESP8266Audio/src/AudioOutputMixer.cpp b/lib/ESP8266Audio/src/AudioOutputMixer.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputMixer.cpp rename to lib/ESP8266Audio/src/AudioOutputMixer.cpp diff --git a/libesp32/ESP8266Audio/src/AudioOutputMixer.h b/lib/ESP8266Audio/src/AudioOutputMixer.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputMixer.h rename to lib/ESP8266Audio/src/AudioOutputMixer.h diff --git a/libesp32/ESP8266Audio/src/AudioOutputNull.h b/lib/ESP8266Audio/src/AudioOutputNull.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputNull.h rename to lib/ESP8266Audio/src/AudioOutputNull.h diff --git a/libesp32/ESP8266Audio/src/AudioOutputSPDIF.cpp b/lib/ESP8266Audio/src/AudioOutputSPDIF.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputSPDIF.cpp rename to lib/ESP8266Audio/src/AudioOutputSPDIF.cpp diff --git a/libesp32/ESP8266Audio/src/AudioOutputSPDIF.h b/lib/ESP8266Audio/src/AudioOutputSPDIF.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputSPDIF.h rename to lib/ESP8266Audio/src/AudioOutputSPDIF.h diff --git a/libesp32/ESP8266Audio/src/AudioOutputSPIFFSWAV.cpp b/lib/ESP8266Audio/src/AudioOutputSPIFFSWAV.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputSPIFFSWAV.cpp rename to lib/ESP8266Audio/src/AudioOutputSPIFFSWAV.cpp diff --git a/libesp32/ESP8266Audio/src/AudioOutputSPIFFSWAV.h b/lib/ESP8266Audio/src/AudioOutputSPIFFSWAV.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputSPIFFSWAV.h rename to lib/ESP8266Audio/src/AudioOutputSPIFFSWAV.h diff --git a/libesp32/ESP8266Audio/src/AudioOutputSTDIO.cpp b/lib/ESP8266Audio/src/AudioOutputSTDIO.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputSTDIO.cpp rename to lib/ESP8266Audio/src/AudioOutputSTDIO.cpp diff --git a/libesp32/ESP8266Audio/src/AudioOutputSTDIO.h b/lib/ESP8266Audio/src/AudioOutputSTDIO.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputSTDIO.h rename to lib/ESP8266Audio/src/AudioOutputSTDIO.h diff --git a/libesp32/ESP8266Audio/src/AudioOutputSerialWAV.cpp b/lib/ESP8266Audio/src/AudioOutputSerialWAV.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputSerialWAV.cpp rename to lib/ESP8266Audio/src/AudioOutputSerialWAV.cpp diff --git a/libesp32/ESP8266Audio/src/AudioOutputSerialWAV.h b/lib/ESP8266Audio/src/AudioOutputSerialWAV.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioOutputSerialWAV.h rename to lib/ESP8266Audio/src/AudioOutputSerialWAV.h diff --git a/libesp32/ESP8266Audio/src/AudioStatus.h b/lib/ESP8266Audio/src/AudioStatus.h similarity index 100% rename from libesp32/ESP8266Audio/src/AudioStatus.h rename to lib/ESP8266Audio/src/AudioStatus.h diff --git a/libesp32/ESP8266Audio/src/driver/SinglePinI2SDriver.cpp b/lib/ESP8266Audio/src/driver/SinglePinI2SDriver.cpp similarity index 100% rename from libesp32/ESP8266Audio/src/driver/SinglePinI2SDriver.cpp rename to lib/ESP8266Audio/src/driver/SinglePinI2SDriver.cpp diff --git a/libesp32/ESP8266Audio/src/driver/SinglePinI2SDriver.h b/lib/ESP8266Audio/src/driver/SinglePinI2SDriver.h similarity index 100% rename from libesp32/ESP8266Audio/src/driver/SinglePinI2SDriver.h rename to lib/ESP8266Audio/src/driver/SinglePinI2SDriver.h diff --git a/libesp32/ESP8266Audio/src/libflac/AUTHORS b/lib/ESP8266Audio/src/libflac/AUTHORS similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/AUTHORS rename to lib/ESP8266Audio/src/libflac/AUTHORS diff --git a/libesp32/ESP8266Audio/src/libflac/COPYING.FDL b/lib/ESP8266Audio/src/libflac/COPYING.FDL similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/COPYING.FDL rename to lib/ESP8266Audio/src/libflac/COPYING.FDL diff --git a/libesp32/ESP8266Audio/src/libflac/COPYING.GPL b/lib/ESP8266Audio/src/libflac/COPYING.GPL similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/COPYING.GPL rename to lib/ESP8266Audio/src/libflac/COPYING.GPL diff --git a/libesp32/ESP8266Audio/src/libflac/COPYING.LGPL b/lib/ESP8266Audio/src/libflac/COPYING.LGPL similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/COPYING.LGPL rename to lib/ESP8266Audio/src/libflac/COPYING.LGPL diff --git a/libesp32/ESP8266Audio/src/libflac/COPYING.Xiph b/lib/ESP8266Audio/src/libflac/COPYING.Xiph similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/COPYING.Xiph rename to lib/ESP8266Audio/src/libflac/COPYING.Xiph diff --git a/libesp32/ESP8266Audio/src/libflac/FLAC/assert.h b/lib/ESP8266Audio/src/libflac/FLAC/assert.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/FLAC/assert.h rename to lib/ESP8266Audio/src/libflac/FLAC/assert.h diff --git a/libesp32/ESP8266Audio/src/libflac/FLAC/callback.h b/lib/ESP8266Audio/src/libflac/FLAC/callback.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/FLAC/callback.h rename to lib/ESP8266Audio/src/libflac/FLAC/callback.h diff --git a/libesp32/ESP8266Audio/src/libflac/FLAC/export.h b/lib/ESP8266Audio/src/libflac/FLAC/export.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/FLAC/export.h rename to lib/ESP8266Audio/src/libflac/FLAC/export.h diff --git a/libesp32/ESP8266Audio/src/libflac/FLAC/format.h b/lib/ESP8266Audio/src/libflac/FLAC/format.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/FLAC/format.h rename to lib/ESP8266Audio/src/libflac/FLAC/format.h diff --git a/libesp32/ESP8266Audio/src/libflac/FLAC/metadata.h b/lib/ESP8266Audio/src/libflac/FLAC/metadata.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/FLAC/metadata.h rename to lib/ESP8266Audio/src/libflac/FLAC/metadata.h diff --git a/libesp32/ESP8266Audio/src/libflac/FLAC/ordinals.h b/lib/ESP8266Audio/src/libflac/FLAC/ordinals.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/FLAC/ordinals.h rename to lib/ESP8266Audio/src/libflac/FLAC/ordinals.h diff --git a/libesp32/ESP8266Audio/src/libflac/FLAC/stream_decoder.h b/lib/ESP8266Audio/src/libflac/FLAC/stream_decoder.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/FLAC/stream_decoder.h rename to lib/ESP8266Audio/src/libflac/FLAC/stream_decoder.h diff --git a/libesp32/ESP8266Audio/src/libflac/README b/lib/ESP8266Audio/src/libflac/README similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/README rename to lib/ESP8266Audio/src/libflac/README diff --git a/libesp32/ESP8266Audio/src/libflac/README.ESP8266 b/lib/ESP8266Audio/src/libflac/README.ESP8266 similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/README.ESP8266 rename to lib/ESP8266Audio/src/libflac/README.ESP8266 diff --git a/libesp32/ESP8266Audio/src/libflac/bitmath.c b/lib/ESP8266Audio/src/libflac/bitmath.c similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/bitmath.c rename to lib/ESP8266Audio/src/libflac/bitmath.c diff --git a/libesp32/ESP8266Audio/src/libflac/bitreader.c b/lib/ESP8266Audio/src/libflac/bitreader.c similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/bitreader.c rename to lib/ESP8266Audio/src/libflac/bitreader.c diff --git a/libesp32/ESP8266Audio/src/libflac/config.h b/lib/ESP8266Audio/src/libflac/config.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/config.h rename to lib/ESP8266Audio/src/libflac/config.h diff --git a/libesp32/ESP8266Audio/src/libflac/cpu.c b/lib/ESP8266Audio/src/libflac/cpu.c similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/cpu.c rename to lib/ESP8266Audio/src/libflac/cpu.c diff --git a/libesp32/ESP8266Audio/src/libflac/crc.c b/lib/ESP8266Audio/src/libflac/crc.c similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/crc.c rename to lib/ESP8266Audio/src/libflac/crc.c diff --git a/libesp32/ESP8266Audio/src/libflac/fixed.c b/lib/ESP8266Audio/src/libflac/fixed.c similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/fixed.c rename to lib/ESP8266Audio/src/libflac/fixed.c diff --git a/libesp32/ESP8266Audio/src/libflac/float.c b/lib/ESP8266Audio/src/libflac/float.c similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/float.c rename to lib/ESP8266Audio/src/libflac/float.c diff --git a/libesp32/ESP8266Audio/src/libflac/format.c b/lib/ESP8266Audio/src/libflac/format.c similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/format.c rename to lib/ESP8266Audio/src/libflac/format.c diff --git a/libesp32/ESP8266Audio/src/libflac/lpc.c b/lib/ESP8266Audio/src/libflac/lpc.c similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/lpc.c rename to lib/ESP8266Audio/src/libflac/lpc.c diff --git a/libesp32/ESP8266Audio/src/libflac/md5.c b/lib/ESP8266Audio/src/libflac/md5.c similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/md5.c rename to lib/ESP8266Audio/src/libflac/md5.c diff --git a/libesp32/ESP8266Audio/src/libflac/memory.c b/lib/ESP8266Audio/src/libflac/memory.c similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/memory.c rename to lib/ESP8266Audio/src/libflac/memory.c diff --git a/libesp32/ESP8266Audio/src/libflac/private/bitmath.h b/lib/ESP8266Audio/src/libflac/private/bitmath.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/private/bitmath.h rename to lib/ESP8266Audio/src/libflac/private/bitmath.h diff --git a/libesp32/ESP8266Audio/src/libflac/private/bitreader.h b/lib/ESP8266Audio/src/libflac/private/bitreader.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/private/bitreader.h rename to lib/ESP8266Audio/src/libflac/private/bitreader.h diff --git a/libesp32/ESP8266Audio/src/libflac/private/cpu.h b/lib/ESP8266Audio/src/libflac/private/cpu.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/private/cpu.h rename to lib/ESP8266Audio/src/libflac/private/cpu.h diff --git a/libesp32/ESP8266Audio/src/libflac/private/crc.h b/lib/ESP8266Audio/src/libflac/private/crc.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/private/crc.h rename to lib/ESP8266Audio/src/libflac/private/crc.h diff --git a/libesp32/ESP8266Audio/src/libflac/private/fixed.h b/lib/ESP8266Audio/src/libflac/private/fixed.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/private/fixed.h rename to lib/ESP8266Audio/src/libflac/private/fixed.h diff --git a/libesp32/ESP8266Audio/src/libflac/private/float.h b/lib/ESP8266Audio/src/libflac/private/float.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/private/float.h rename to lib/ESP8266Audio/src/libflac/private/float.h diff --git a/libesp32/ESP8266Audio/src/libflac/private/format.h b/lib/ESP8266Audio/src/libflac/private/format.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/private/format.h rename to lib/ESP8266Audio/src/libflac/private/format.h diff --git a/libesp32/ESP8266Audio/src/libflac/private/lpc.h b/lib/ESP8266Audio/src/libflac/private/lpc.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/private/lpc.h rename to lib/ESP8266Audio/src/libflac/private/lpc.h diff --git a/libesp32/ESP8266Audio/src/libflac/private/macros.h b/lib/ESP8266Audio/src/libflac/private/macros.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/private/macros.h rename to lib/ESP8266Audio/src/libflac/private/macros.h diff --git a/libesp32/ESP8266Audio/src/libflac/private/md5.h b/lib/ESP8266Audio/src/libflac/private/md5.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/private/md5.h rename to lib/ESP8266Audio/src/libflac/private/md5.h diff --git a/libesp32/ESP8266Audio/src/libflac/private/memory.h b/lib/ESP8266Audio/src/libflac/private/memory.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/private/memory.h rename to lib/ESP8266Audio/src/libflac/private/memory.h diff --git a/libesp32/ESP8266Audio/src/libflac/private/metadata.h b/lib/ESP8266Audio/src/libflac/private/metadata.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/private/metadata.h rename to lib/ESP8266Audio/src/libflac/private/metadata.h diff --git a/libesp32/ESP8266Audio/src/libflac/private/window.h b/lib/ESP8266Audio/src/libflac/private/window.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/private/window.h rename to lib/ESP8266Audio/src/libflac/private/window.h diff --git a/libesp32/ESP8266Audio/src/libflac/protected/all.h b/lib/ESP8266Audio/src/libflac/protected/all.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/protected/all.h rename to lib/ESP8266Audio/src/libflac/protected/all.h diff --git a/libesp32/ESP8266Audio/src/libflac/protected/stream_decoder.h b/lib/ESP8266Audio/src/libflac/protected/stream_decoder.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/protected/stream_decoder.h rename to lib/ESP8266Audio/src/libflac/protected/stream_decoder.h diff --git a/libesp32/ESP8266Audio/src/libflac/protected/stream_encoder.h b/lib/ESP8266Audio/src/libflac/protected/stream_encoder.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/protected/stream_encoder.h rename to lib/ESP8266Audio/src/libflac/protected/stream_encoder.h diff --git a/libesp32/ESP8266Audio/src/libflac/share/alloc.h b/lib/ESP8266Audio/src/libflac/share/alloc.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/share/alloc.h rename to lib/ESP8266Audio/src/libflac/share/alloc.h diff --git a/libesp32/ESP8266Audio/src/libflac/share/compat.h b/lib/ESP8266Audio/src/libflac/share/compat.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/share/compat.h rename to lib/ESP8266Audio/src/libflac/share/compat.h diff --git a/libesp32/ESP8266Audio/src/libflac/share/endswap.h b/lib/ESP8266Audio/src/libflac/share/endswap.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/share/endswap.h rename to lib/ESP8266Audio/src/libflac/share/endswap.h diff --git a/libesp32/ESP8266Audio/src/libflac/share/getopt.h b/lib/ESP8266Audio/src/libflac/share/getopt.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/share/getopt.h rename to lib/ESP8266Audio/src/libflac/share/getopt.h diff --git a/libesp32/ESP8266Audio/src/libflac/share/macros.h b/lib/ESP8266Audio/src/libflac/share/macros.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/share/macros.h rename to lib/ESP8266Audio/src/libflac/share/macros.h diff --git a/libesp32/ESP8266Audio/src/libflac/share/private.h b/lib/ESP8266Audio/src/libflac/share/private.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/share/private.h rename to lib/ESP8266Audio/src/libflac/share/private.h diff --git a/libesp32/ESP8266Audio/src/libflac/share/safe_str.h b/lib/ESP8266Audio/src/libflac/share/safe_str.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/share/safe_str.h rename to lib/ESP8266Audio/src/libflac/share/safe_str.h diff --git a/libesp32/ESP8266Audio/src/libflac/share/utf8.h b/lib/ESP8266Audio/src/libflac/share/utf8.h similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/share/utf8.h rename to lib/ESP8266Audio/src/libflac/share/utf8.h diff --git a/libesp32/ESP8266Audio/src/libflac/stream_decoder.c b/lib/ESP8266Audio/src/libflac/stream_decoder.c similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/stream_decoder.c rename to lib/ESP8266Audio/src/libflac/stream_decoder.c diff --git a/libesp32/ESP8266Audio/src/libflac/window.c b/lib/ESP8266Audio/src/libflac/window.c similarity index 100% rename from libesp32/ESP8266Audio/src/libflac/window.c rename to lib/ESP8266Audio/src/libflac/window.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/aaccommon.h b/lib/ESP8266Audio/src/libhelix-aac/aaccommon.h similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/aaccommon.h rename to lib/ESP8266Audio/src/libhelix-aac/aaccommon.h diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/aacdec.c b/lib/ESP8266Audio/src/libhelix-aac/aacdec.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/aacdec.c rename to lib/ESP8266Audio/src/libhelix-aac/aacdec.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/aacdec.h b/lib/ESP8266Audio/src/libhelix-aac/aacdec.h similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/aacdec.h rename to lib/ESP8266Audio/src/libhelix-aac/aacdec.h diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/aactabs.c b/lib/ESP8266Audio/src/libhelix-aac/aactabs.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/aactabs.c rename to lib/ESP8266Audio/src/libhelix-aac/aactabs.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/assembly.h b/lib/ESP8266Audio/src/libhelix-aac/assembly.h similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/assembly.h rename to lib/ESP8266Audio/src/libhelix-aac/assembly.h diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/bitstream.c b/lib/ESP8266Audio/src/libhelix-aac/bitstream.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/bitstream.c rename to lib/ESP8266Audio/src/libhelix-aac/bitstream.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/bitstream.h b/lib/ESP8266Audio/src/libhelix-aac/bitstream.h similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/bitstream.h rename to lib/ESP8266Audio/src/libhelix-aac/bitstream.h diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/buffers.c b/lib/ESP8266Audio/src/libhelix-aac/buffers.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/buffers.c rename to lib/ESP8266Audio/src/libhelix-aac/buffers.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/coder.h b/lib/ESP8266Audio/src/libhelix-aac/coder.h similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/coder.h rename to lib/ESP8266Audio/src/libhelix-aac/coder.h diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/dct4.c b/lib/ESP8266Audio/src/libhelix-aac/dct4.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/dct4.c rename to lib/ESP8266Audio/src/libhelix-aac/dct4.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/decelmnt.c b/lib/ESP8266Audio/src/libhelix-aac/decelmnt.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/decelmnt.c rename to lib/ESP8266Audio/src/libhelix-aac/decelmnt.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/dequant.c b/lib/ESP8266Audio/src/libhelix-aac/dequant.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/dequant.c rename to lib/ESP8266Audio/src/libhelix-aac/dequant.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/fft.c b/lib/ESP8266Audio/src/libhelix-aac/fft.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/fft.c rename to lib/ESP8266Audio/src/libhelix-aac/fft.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/filefmt.c b/lib/ESP8266Audio/src/libhelix-aac/filefmt.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/filefmt.c rename to lib/ESP8266Audio/src/libhelix-aac/filefmt.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/huffman.c b/lib/ESP8266Audio/src/libhelix-aac/huffman.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/huffman.c rename to lib/ESP8266Audio/src/libhelix-aac/huffman.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/hufftabs.c b/lib/ESP8266Audio/src/libhelix-aac/hufftabs.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/hufftabs.c rename to lib/ESP8266Audio/src/libhelix-aac/hufftabs.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/imdct.c b/lib/ESP8266Audio/src/libhelix-aac/imdct.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/imdct.c rename to lib/ESP8266Audio/src/libhelix-aac/imdct.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/noiseless.c b/lib/ESP8266Audio/src/libhelix-aac/noiseless.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/noiseless.c rename to lib/ESP8266Audio/src/libhelix-aac/noiseless.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/pns.c b/lib/ESP8266Audio/src/libhelix-aac/pns.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/pns.c rename to lib/ESP8266Audio/src/libhelix-aac/pns.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/readme.txt b/lib/ESP8266Audio/src/libhelix-aac/readme.txt similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/readme.txt rename to lib/ESP8266Audio/src/libhelix-aac/readme.txt diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/sbr.c b/lib/ESP8266Audio/src/libhelix-aac/sbr.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/sbr.c rename to lib/ESP8266Audio/src/libhelix-aac/sbr.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/sbr.h b/lib/ESP8266Audio/src/libhelix-aac/sbr.h similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/sbr.h rename to lib/ESP8266Audio/src/libhelix-aac/sbr.h diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/sbrfft.c b/lib/ESP8266Audio/src/libhelix-aac/sbrfft.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/sbrfft.c rename to lib/ESP8266Audio/src/libhelix-aac/sbrfft.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/sbrfreq.c b/lib/ESP8266Audio/src/libhelix-aac/sbrfreq.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/sbrfreq.c rename to lib/ESP8266Audio/src/libhelix-aac/sbrfreq.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/sbrhfadj.c b/lib/ESP8266Audio/src/libhelix-aac/sbrhfadj.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/sbrhfadj.c rename to lib/ESP8266Audio/src/libhelix-aac/sbrhfadj.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/sbrhfgen.c b/lib/ESP8266Audio/src/libhelix-aac/sbrhfgen.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/sbrhfgen.c rename to lib/ESP8266Audio/src/libhelix-aac/sbrhfgen.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/sbrhuff.c b/lib/ESP8266Audio/src/libhelix-aac/sbrhuff.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/sbrhuff.c rename to lib/ESP8266Audio/src/libhelix-aac/sbrhuff.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/sbrimdct.c b/lib/ESP8266Audio/src/libhelix-aac/sbrimdct.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/sbrimdct.c rename to lib/ESP8266Audio/src/libhelix-aac/sbrimdct.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/sbrmath.c b/lib/ESP8266Audio/src/libhelix-aac/sbrmath.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/sbrmath.c rename to lib/ESP8266Audio/src/libhelix-aac/sbrmath.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/sbrqmf.c b/lib/ESP8266Audio/src/libhelix-aac/sbrqmf.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/sbrqmf.c rename to lib/ESP8266Audio/src/libhelix-aac/sbrqmf.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/sbrside.c b/lib/ESP8266Audio/src/libhelix-aac/sbrside.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/sbrside.c rename to lib/ESP8266Audio/src/libhelix-aac/sbrside.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/sbrtabs.c b/lib/ESP8266Audio/src/libhelix-aac/sbrtabs.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/sbrtabs.c rename to lib/ESP8266Audio/src/libhelix-aac/sbrtabs.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/statname.h b/lib/ESP8266Audio/src/libhelix-aac/statname.h similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/statname.h rename to lib/ESP8266Audio/src/libhelix-aac/statname.h diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/stproc.c b/lib/ESP8266Audio/src/libhelix-aac/stproc.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/stproc.c rename to lib/ESP8266Audio/src/libhelix-aac/stproc.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/tns.c b/lib/ESP8266Audio/src/libhelix-aac/tns.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/tns.c rename to lib/ESP8266Audio/src/libhelix-aac/tns.c diff --git a/libesp32/ESP8266Audio/src/libhelix-aac/trigtabs.c b/lib/ESP8266Audio/src/libhelix-aac/trigtabs.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-aac/trigtabs.c rename to lib/ESP8266Audio/src/libhelix-aac/trigtabs.c diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/LICENSE.txt b/lib/ESP8266Audio/src/libhelix-mp3/LICENSE.txt similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/LICENSE.txt rename to lib/ESP8266Audio/src/libhelix-mp3/LICENSE.txt diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/RCSL.txt b/lib/ESP8266Audio/src/libhelix-mp3/RCSL.txt similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/RCSL.txt rename to lib/ESP8266Audio/src/libhelix-mp3/RCSL.txt diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/RPSL.txt b/lib/ESP8266Audio/src/libhelix-mp3/RPSL.txt similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/RPSL.txt rename to lib/ESP8266Audio/src/libhelix-mp3/RPSL.txt diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/assembly.h b/lib/ESP8266Audio/src/libhelix-mp3/assembly.h similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/assembly.h rename to lib/ESP8266Audio/src/libhelix-mp3/assembly.h diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/bitstream.c b/lib/ESP8266Audio/src/libhelix-mp3/bitstream.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/bitstream.c rename to lib/ESP8266Audio/src/libhelix-mp3/bitstream.c diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/buffers.c b/lib/ESP8266Audio/src/libhelix-mp3/buffers.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/buffers.c rename to lib/ESP8266Audio/src/libhelix-mp3/buffers.c diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/coder.h b/lib/ESP8266Audio/src/libhelix-mp3/coder.h similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/coder.h rename to lib/ESP8266Audio/src/libhelix-mp3/coder.h diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/dct32.c b/lib/ESP8266Audio/src/libhelix-mp3/dct32.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/dct32.c rename to lib/ESP8266Audio/src/libhelix-mp3/dct32.c diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/dequant.c b/lib/ESP8266Audio/src/libhelix-mp3/dequant.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/dequant.c rename to lib/ESP8266Audio/src/libhelix-mp3/dequant.c diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/dqchan.c b/lib/ESP8266Audio/src/libhelix-mp3/dqchan.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/dqchan.c rename to lib/ESP8266Audio/src/libhelix-mp3/dqchan.c diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/huffman.c b/lib/ESP8266Audio/src/libhelix-mp3/huffman.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/huffman.c rename to lib/ESP8266Audio/src/libhelix-mp3/huffman.c diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/hufftabs.c b/lib/ESP8266Audio/src/libhelix-mp3/hufftabs.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/hufftabs.c rename to lib/ESP8266Audio/src/libhelix-mp3/hufftabs.c diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/imdct.c b/lib/ESP8266Audio/src/libhelix-mp3/imdct.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/imdct.c rename to lib/ESP8266Audio/src/libhelix-mp3/imdct.c diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/mp3common.h b/lib/ESP8266Audio/src/libhelix-mp3/mp3common.h similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/mp3common.h rename to lib/ESP8266Audio/src/libhelix-mp3/mp3common.h diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/mp3dec.c b/lib/ESP8266Audio/src/libhelix-mp3/mp3dec.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/mp3dec.c rename to lib/ESP8266Audio/src/libhelix-mp3/mp3dec.c diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/mp3dec.h b/lib/ESP8266Audio/src/libhelix-mp3/mp3dec.h similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/mp3dec.h rename to lib/ESP8266Audio/src/libhelix-mp3/mp3dec.h diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/mp3tabs.c b/lib/ESP8266Audio/src/libhelix-mp3/mp3tabs.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/mp3tabs.c rename to lib/ESP8266Audio/src/libhelix-mp3/mp3tabs.c diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/mpadecobjfixpt.h b/lib/ESP8266Audio/src/libhelix-mp3/mpadecobjfixpt.h similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/mpadecobjfixpt.h rename to lib/ESP8266Audio/src/libhelix-mp3/mpadecobjfixpt.h diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/player.h b/lib/ESP8266Audio/src/libhelix-mp3/player.h similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/player.h rename to lib/ESP8266Audio/src/libhelix-mp3/player.h diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/polyphase.c b/lib/ESP8266Audio/src/libhelix-mp3/polyphase.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/polyphase.c rename to lib/ESP8266Audio/src/libhelix-mp3/polyphase.c diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/scalfact.c b/lib/ESP8266Audio/src/libhelix-mp3/scalfact.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/scalfact.c rename to lib/ESP8266Audio/src/libhelix-mp3/scalfact.c diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/statname.h b/lib/ESP8266Audio/src/libhelix-mp3/statname.h similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/statname.h rename to lib/ESP8266Audio/src/libhelix-mp3/statname.h diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/stproc.c b/lib/ESP8266Audio/src/libhelix-mp3/stproc.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/stproc.c rename to lib/ESP8266Audio/src/libhelix-mp3/stproc.c diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/subband.c b/lib/ESP8266Audio/src/libhelix-mp3/subband.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/subband.c rename to lib/ESP8266Audio/src/libhelix-mp3/subband.c diff --git a/libesp32/ESP8266Audio/src/libhelix-mp3/trigtabs.c b/lib/ESP8266Audio/src/libhelix-mp3/trigtabs.c similarity index 100% rename from libesp32/ESP8266Audio/src/libhelix-mp3/trigtabs.c rename to lib/ESP8266Audio/src/libhelix-mp3/trigtabs.c diff --git a/libesp32/ESP8266Audio/src/libmad/CHANGES b/lib/ESP8266Audio/src/libmad/CHANGES similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/CHANGES rename to lib/ESP8266Audio/src/libmad/CHANGES diff --git a/libesp32/ESP8266Audio/src/libmad/COPYING b/lib/ESP8266Audio/src/libmad/COPYING similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/COPYING rename to lib/ESP8266Audio/src/libmad/COPYING diff --git a/libesp32/ESP8266Audio/src/libmad/COPYRIGHT b/lib/ESP8266Audio/src/libmad/COPYRIGHT similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/COPYRIGHT rename to lib/ESP8266Audio/src/libmad/COPYRIGHT diff --git a/libesp32/ESP8266Audio/src/libmad/CREDITS b/lib/ESP8266Audio/src/libmad/CREDITS similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/CREDITS rename to lib/ESP8266Audio/src/libmad/CREDITS diff --git a/libesp32/ESP8266Audio/src/libmad/D.dat.h b/lib/ESP8266Audio/src/libmad/D.dat.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/D.dat.h rename to lib/ESP8266Audio/src/libmad/D.dat.h diff --git a/libesp32/ESP8266Audio/src/libmad/LICENSE b/lib/ESP8266Audio/src/libmad/LICENSE similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/LICENSE rename to lib/ESP8266Audio/src/libmad/LICENSE diff --git a/libesp32/ESP8266Audio/src/libmad/README b/lib/ESP8266Audio/src/libmad/README similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/README rename to lib/ESP8266Audio/src/libmad/README diff --git a/libesp32/ESP8266Audio/src/libmad/README.ESP8266 b/lib/ESP8266Audio/src/libmad/README.ESP8266 similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/README.ESP8266 rename to lib/ESP8266Audio/src/libmad/README.ESP8266 diff --git a/libesp32/ESP8266Audio/src/libmad/TODO b/lib/ESP8266Audio/src/libmad/TODO similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/TODO rename to lib/ESP8266Audio/src/libmad/TODO diff --git a/libesp32/ESP8266Audio/src/libmad/VERSION b/lib/ESP8266Audio/src/libmad/VERSION similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/VERSION rename to lib/ESP8266Audio/src/libmad/VERSION diff --git a/libesp32/ESP8266Audio/src/libmad/bit.c b/lib/ESP8266Audio/src/libmad/bit.c similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/bit.c rename to lib/ESP8266Audio/src/libmad/bit.c diff --git a/libesp32/ESP8266Audio/src/libmad/bit.h b/lib/ESP8266Audio/src/libmad/bit.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/bit.h rename to lib/ESP8266Audio/src/libmad/bit.h diff --git a/libesp32/ESP8266Audio/src/libmad/config.h b/lib/ESP8266Audio/src/libmad/config.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/config.h rename to lib/ESP8266Audio/src/libmad/config.h diff --git a/libesp32/ESP8266Audio/src/libmad/decoder.c b/lib/ESP8266Audio/src/libmad/decoder.c similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/decoder.c rename to lib/ESP8266Audio/src/libmad/decoder.c diff --git a/libesp32/ESP8266Audio/src/libmad/decoder.h b/lib/ESP8266Audio/src/libmad/decoder.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/decoder.h rename to lib/ESP8266Audio/src/libmad/decoder.h diff --git a/libesp32/ESP8266Audio/src/libmad/fixed.c b/lib/ESP8266Audio/src/libmad/fixed.c similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/fixed.c rename to lib/ESP8266Audio/src/libmad/fixed.c diff --git a/libesp32/ESP8266Audio/src/libmad/fixed.h b/lib/ESP8266Audio/src/libmad/fixed.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/fixed.h rename to lib/ESP8266Audio/src/libmad/fixed.h diff --git a/libesp32/ESP8266Audio/src/libmad/frame.c b/lib/ESP8266Audio/src/libmad/frame.c similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/frame.c rename to lib/ESP8266Audio/src/libmad/frame.c diff --git a/libesp32/ESP8266Audio/src/libmad/frame.h b/lib/ESP8266Audio/src/libmad/frame.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/frame.h rename to lib/ESP8266Audio/src/libmad/frame.h diff --git a/libesp32/ESP8266Audio/src/libmad/global.h b/lib/ESP8266Audio/src/libmad/global.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/global.h rename to lib/ESP8266Audio/src/libmad/global.h diff --git a/libesp32/ESP8266Audio/src/libmad/huffman.c b/lib/ESP8266Audio/src/libmad/huffman.c similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/huffman.c rename to lib/ESP8266Audio/src/libmad/huffman.c diff --git a/libesp32/ESP8266Audio/src/libmad/huffman.h b/lib/ESP8266Audio/src/libmad/huffman.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/huffman.h rename to lib/ESP8266Audio/src/libmad/huffman.h diff --git a/libesp32/ESP8266Audio/src/libmad/imdct_s.dat.h b/lib/ESP8266Audio/src/libmad/imdct_s.dat.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/imdct_s.dat.h rename to lib/ESP8266Audio/src/libmad/imdct_s.dat.h diff --git a/libesp32/ESP8266Audio/src/libmad/layer3.c b/lib/ESP8266Audio/src/libmad/layer3.c similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/layer3.c rename to lib/ESP8266Audio/src/libmad/layer3.c diff --git a/libesp32/ESP8266Audio/src/libmad/layer3.h b/lib/ESP8266Audio/src/libmad/layer3.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/layer3.h rename to lib/ESP8266Audio/src/libmad/layer3.h diff --git a/libesp32/ESP8266Audio/src/libmad/mad.h b/lib/ESP8266Audio/src/libmad/mad.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/mad.h rename to lib/ESP8266Audio/src/libmad/mad.h diff --git a/libesp32/ESP8266Audio/src/libmad/mad.h.sed b/lib/ESP8266Audio/src/libmad/mad.h.sed similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/mad.h.sed rename to lib/ESP8266Audio/src/libmad/mad.h.sed diff --git a/libesp32/ESP8266Audio/src/libmad/qc_table.dat.h b/lib/ESP8266Audio/src/libmad/qc_table.dat.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/qc_table.dat.h rename to lib/ESP8266Audio/src/libmad/qc_table.dat.h diff --git a/libesp32/ESP8266Audio/src/libmad/rq_table.dat.h b/lib/ESP8266Audio/src/libmad/rq_table.dat.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/rq_table.dat.h rename to lib/ESP8266Audio/src/libmad/rq_table.dat.h diff --git a/libesp32/ESP8266Audio/src/libmad/sf_table.dat.h b/lib/ESP8266Audio/src/libmad/sf_table.dat.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/sf_table.dat.h rename to lib/ESP8266Audio/src/libmad/sf_table.dat.h diff --git a/libesp32/ESP8266Audio/src/libmad/stream.c b/lib/ESP8266Audio/src/libmad/stream.c similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/stream.c rename to lib/ESP8266Audio/src/libmad/stream.c diff --git a/libesp32/ESP8266Audio/src/libmad/stream.h b/lib/ESP8266Audio/src/libmad/stream.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/stream.h rename to lib/ESP8266Audio/src/libmad/stream.h diff --git a/libesp32/ESP8266Audio/src/libmad/synth.c b/lib/ESP8266Audio/src/libmad/synth.c similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/synth.c rename to lib/ESP8266Audio/src/libmad/synth.c diff --git a/libesp32/ESP8266Audio/src/libmad/synth.h b/lib/ESP8266Audio/src/libmad/synth.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/synth.h rename to lib/ESP8266Audio/src/libmad/synth.h diff --git a/libesp32/ESP8266Audio/src/libmad/timer.c b/lib/ESP8266Audio/src/libmad/timer.c similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/timer.c rename to lib/ESP8266Audio/src/libmad/timer.c diff --git a/libesp32/ESP8266Audio/src/libmad/timer.h b/lib/ESP8266Audio/src/libmad/timer.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/timer.h rename to lib/ESP8266Audio/src/libmad/timer.h diff --git a/libesp32/ESP8266Audio/src/libmad/version.c b/lib/ESP8266Audio/src/libmad/version.c similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/version.c rename to lib/ESP8266Audio/src/libmad/version.c diff --git a/libesp32/ESP8266Audio/src/libmad/version.h b/lib/ESP8266Audio/src/libmad/version.h similarity index 100% rename from libesp32/ESP8266Audio/src/libmad/version.h rename to lib/ESP8266Audio/src/libmad/version.h diff --git a/libesp32/ESP8266Audio/src/libogg/AUTHORS b/lib/ESP8266Audio/src/libogg/AUTHORS similarity index 100% rename from libesp32/ESP8266Audio/src/libogg/AUTHORS rename to lib/ESP8266Audio/src/libogg/AUTHORS diff --git a/libesp32/ESP8266Audio/src/libogg/CHANGES b/lib/ESP8266Audio/src/libogg/CHANGES similarity index 100% rename from libesp32/ESP8266Audio/src/libogg/CHANGES rename to lib/ESP8266Audio/src/libogg/CHANGES diff --git a/libesp32/ESP8266Audio/src/libogg/COPYING b/lib/ESP8266Audio/src/libogg/COPYING similarity index 100% rename from libesp32/ESP8266Audio/src/libogg/COPYING rename to lib/ESP8266Audio/src/libogg/COPYING diff --git a/libesp32/ESP8266Audio/src/libogg/README.esp8266.md b/lib/ESP8266Audio/src/libogg/README.esp8266.md similarity index 100% rename from libesp32/ESP8266Audio/src/libogg/README.esp8266.md rename to lib/ESP8266Audio/src/libogg/README.esp8266.md diff --git a/libesp32/ESP8266Audio/src/libogg/README.md b/lib/ESP8266Audio/src/libogg/README.md similarity index 100% rename from libesp32/ESP8266Audio/src/libogg/README.md rename to lib/ESP8266Audio/src/libogg/README.md diff --git a/libesp32/ESP8266Audio/src/libogg/bitwise.c b/lib/ESP8266Audio/src/libogg/bitwise.c similarity index 100% rename from libesp32/ESP8266Audio/src/libogg/bitwise.c rename to lib/ESP8266Audio/src/libogg/bitwise.c diff --git a/libesp32/ESP8266Audio/src/libogg/config.h b/lib/ESP8266Audio/src/libogg/config.h similarity index 100% rename from libesp32/ESP8266Audio/src/libogg/config.h rename to lib/ESP8266Audio/src/libogg/config.h diff --git a/libesp32/ESP8266Audio/src/libogg/crctable.h b/lib/ESP8266Audio/src/libogg/crctable.h similarity index 100% rename from libesp32/ESP8266Audio/src/libogg/crctable.h rename to lib/ESP8266Audio/src/libogg/crctable.h diff --git a/libesp32/ESP8266Audio/src/libogg/framing.c b/lib/ESP8266Audio/src/libogg/framing.c similarity index 100% rename from libesp32/ESP8266Audio/src/libogg/framing.c rename to lib/ESP8266Audio/src/libogg/framing.c diff --git a/libesp32/ESP8266Audio/src/libogg/ogg.pc b/lib/ESP8266Audio/src/libogg/ogg.pc similarity index 100% rename from libesp32/ESP8266Audio/src/libogg/ogg.pc rename to lib/ESP8266Audio/src/libogg/ogg.pc diff --git a/libesp32/ESP8266Audio/src/libogg/ogg/config_types.h b/lib/ESP8266Audio/src/libogg/ogg/config_types.h similarity index 100% rename from libesp32/ESP8266Audio/src/libogg/ogg/config_types.h rename to lib/ESP8266Audio/src/libogg/ogg/config_types.h diff --git a/libesp32/ESP8266Audio/src/libogg/ogg/ogg.h b/lib/ESP8266Audio/src/libogg/ogg/ogg.h similarity index 100% rename from libesp32/ESP8266Audio/src/libogg/ogg/ogg.h rename to lib/ESP8266Audio/src/libogg/ogg/ogg.h diff --git a/libesp32/ESP8266Audio/src/libogg/ogg/os_types.h b/lib/ESP8266Audio/src/libogg/ogg/os_types.h similarity index 100% rename from libesp32/ESP8266Audio/src/libogg/ogg/os_types.h rename to lib/ESP8266Audio/src/libogg/ogg/os_types.h diff --git a/libesp32/ESP8266Audio/src/libopus/AUTHORS b/lib/ESP8266Audio/src/libopus/AUTHORS similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/AUTHORS rename to lib/ESP8266Audio/src/libopus/AUTHORS diff --git a/libesp32/ESP8266Audio/src/libopus/COPYING b/lib/ESP8266Audio/src/libopus/COPYING similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/COPYING rename to lib/ESP8266Audio/src/libopus/COPYING diff --git a/libesp32/ESP8266Audio/src/libopus/ChangeLog b/lib/ESP8266Audio/src/libopus/ChangeLog similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/ChangeLog rename to lib/ESP8266Audio/src/libopus/ChangeLog diff --git a/libesp32/ESP8266Audio/src/libopus/INSTALL b/lib/ESP8266Audio/src/libopus/INSTALL similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/INSTALL rename to lib/ESP8266Audio/src/libopus/INSTALL diff --git a/libesp32/ESP8266Audio/src/libopus/NEWS b/lib/ESP8266Audio/src/libopus/NEWS similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/NEWS rename to lib/ESP8266Audio/src/libopus/NEWS diff --git a/libesp32/ESP8266Audio/src/libopus/README b/lib/ESP8266Audio/src/libopus/README similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/README rename to lib/ESP8266Audio/src/libopus/README diff --git a/libesp32/ESP8266Audio/src/libopus/analysis.h b/lib/ESP8266Audio/src/libopus/analysis.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/analysis.h rename to lib/ESP8266Audio/src/libopus/analysis.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/_kiss_fft_guts.h b/lib/ESP8266Audio/src/libopus/celt/_kiss_fft_guts.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/_kiss_fft_guts.h rename to lib/ESP8266Audio/src/libopus/celt/_kiss_fft_guts.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/arch.h b/lib/ESP8266Audio/src/libopus/celt/arch.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/arch.h rename to lib/ESP8266Audio/src/libopus/celt/arch.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/bands.c b/lib/ESP8266Audio/src/libopus/celt/bands.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/bands.c rename to lib/ESP8266Audio/src/libopus/celt/bands.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/bands.h b/lib/ESP8266Audio/src/libopus/celt/bands.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/bands.h rename to lib/ESP8266Audio/src/libopus/celt/bands.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/celt.c b/lib/ESP8266Audio/src/libopus/celt/celt.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/celt.c rename to lib/ESP8266Audio/src/libopus/celt/celt.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/celt.h b/lib/ESP8266Audio/src/libopus/celt/celt.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/celt.h rename to lib/ESP8266Audio/src/libopus/celt/celt.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/celt_decoder.c b/lib/ESP8266Audio/src/libopus/celt/celt_decoder.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/celt_decoder.c rename to lib/ESP8266Audio/src/libopus/celt/celt_decoder.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/celt_encoder.c b/lib/ESP8266Audio/src/libopus/celt/celt_encoder.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/celt_encoder.c rename to lib/ESP8266Audio/src/libopus/celt/celt_encoder.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/celt_lpc.c b/lib/ESP8266Audio/src/libopus/celt/celt_lpc.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/celt_lpc.c rename to lib/ESP8266Audio/src/libopus/celt/celt_lpc.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/celt_lpc.h b/lib/ESP8266Audio/src/libopus/celt/celt_lpc.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/celt_lpc.h rename to lib/ESP8266Audio/src/libopus/celt/celt_lpc.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/cpu_support.h b/lib/ESP8266Audio/src/libopus/celt/cpu_support.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/cpu_support.h rename to lib/ESP8266Audio/src/libopus/celt/cpu_support.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/cwrs.c b/lib/ESP8266Audio/src/libopus/celt/cwrs.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/cwrs.c rename to lib/ESP8266Audio/src/libopus/celt/cwrs.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/cwrs.h b/lib/ESP8266Audio/src/libopus/celt/cwrs.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/cwrs.h rename to lib/ESP8266Audio/src/libopus/celt/cwrs.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/ecintrin.h b/lib/ESP8266Audio/src/libopus/celt/ecintrin.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/ecintrin.h rename to lib/ESP8266Audio/src/libopus/celt/ecintrin.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/entcode.c b/lib/ESP8266Audio/src/libopus/celt/entcode.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/entcode.c rename to lib/ESP8266Audio/src/libopus/celt/entcode.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/entcode.h b/lib/ESP8266Audio/src/libopus/celt/entcode.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/entcode.h rename to lib/ESP8266Audio/src/libopus/celt/entcode.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/entdec.c b/lib/ESP8266Audio/src/libopus/celt/entdec.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/entdec.c rename to lib/ESP8266Audio/src/libopus/celt/entdec.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/entdec.h b/lib/ESP8266Audio/src/libopus/celt/entdec.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/entdec.h rename to lib/ESP8266Audio/src/libopus/celt/entdec.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/entenc.c b/lib/ESP8266Audio/src/libopus/celt/entenc.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/entenc.c rename to lib/ESP8266Audio/src/libopus/celt/entenc.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/entenc.h b/lib/ESP8266Audio/src/libopus/celt/entenc.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/entenc.h rename to lib/ESP8266Audio/src/libopus/celt/entenc.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/fixed_debug.h b/lib/ESP8266Audio/src/libopus/celt/fixed_debug.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/fixed_debug.h rename to lib/ESP8266Audio/src/libopus/celt/fixed_debug.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/fixed_generic.h b/lib/ESP8266Audio/src/libopus/celt/fixed_generic.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/fixed_generic.h rename to lib/ESP8266Audio/src/libopus/celt/fixed_generic.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/float_cast.h b/lib/ESP8266Audio/src/libopus/celt/float_cast.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/float_cast.h rename to lib/ESP8266Audio/src/libopus/celt/float_cast.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/kiss_fft.c b/lib/ESP8266Audio/src/libopus/celt/kiss_fft.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/kiss_fft.c rename to lib/ESP8266Audio/src/libopus/celt/kiss_fft.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/kiss_fft.h b/lib/ESP8266Audio/src/libopus/celt/kiss_fft.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/kiss_fft.h rename to lib/ESP8266Audio/src/libopus/celt/kiss_fft.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/laplace.c b/lib/ESP8266Audio/src/libopus/celt/laplace.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/laplace.c rename to lib/ESP8266Audio/src/libopus/celt/laplace.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/laplace.h b/lib/ESP8266Audio/src/libopus/celt/laplace.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/laplace.h rename to lib/ESP8266Audio/src/libopus/celt/laplace.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/mathops.c b/lib/ESP8266Audio/src/libopus/celt/mathops.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/mathops.c rename to lib/ESP8266Audio/src/libopus/celt/mathops.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/mathops.h b/lib/ESP8266Audio/src/libopus/celt/mathops.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/mathops.h rename to lib/ESP8266Audio/src/libopus/celt/mathops.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/mdct.c b/lib/ESP8266Audio/src/libopus/celt/mdct.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/mdct.c rename to lib/ESP8266Audio/src/libopus/celt/mdct.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/mdct.h b/lib/ESP8266Audio/src/libopus/celt/mdct.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/mdct.h rename to lib/ESP8266Audio/src/libopus/celt/mdct.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/mfrngcod.h b/lib/ESP8266Audio/src/libopus/celt/mfrngcod.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/mfrngcod.h rename to lib/ESP8266Audio/src/libopus/celt/mfrngcod.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/modes.c b/lib/ESP8266Audio/src/libopus/celt/modes.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/modes.c rename to lib/ESP8266Audio/src/libopus/celt/modes.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/modes.h b/lib/ESP8266Audio/src/libopus/celt/modes.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/modes.h rename to lib/ESP8266Audio/src/libopus/celt/modes.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/os_support.h b/lib/ESP8266Audio/src/libopus/celt/os_support.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/os_support.h rename to lib/ESP8266Audio/src/libopus/celt/os_support.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/pitch.c b/lib/ESP8266Audio/src/libopus/celt/pitch.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/pitch.c rename to lib/ESP8266Audio/src/libopus/celt/pitch.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/pitch.h b/lib/ESP8266Audio/src/libopus/celt/pitch.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/pitch.h rename to lib/ESP8266Audio/src/libopus/celt/pitch.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/quant_bands.c b/lib/ESP8266Audio/src/libopus/celt/quant_bands.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/quant_bands.c rename to lib/ESP8266Audio/src/libopus/celt/quant_bands.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/quant_bands.h b/lib/ESP8266Audio/src/libopus/celt/quant_bands.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/quant_bands.h rename to lib/ESP8266Audio/src/libopus/celt/quant_bands.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/rate.c b/lib/ESP8266Audio/src/libopus/celt/rate.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/rate.c rename to lib/ESP8266Audio/src/libopus/celt/rate.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/rate.h b/lib/ESP8266Audio/src/libopus/celt/rate.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/rate.h rename to lib/ESP8266Audio/src/libopus/celt/rate.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/stack_alloc.h b/lib/ESP8266Audio/src/libopus/celt/stack_alloc.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/stack_alloc.h rename to lib/ESP8266Audio/src/libopus/celt/stack_alloc.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/static_modes_fixed.h b/lib/ESP8266Audio/src/libopus/celt/static_modes_fixed.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/static_modes_fixed.h rename to lib/ESP8266Audio/src/libopus/celt/static_modes_fixed.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/static_modes_float.h b/lib/ESP8266Audio/src/libopus/celt/static_modes_float.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/static_modes_float.h rename to lib/ESP8266Audio/src/libopus/celt/static_modes_float.h diff --git a/libesp32/ESP8266Audio/src/libopus/celt/vq.c b/lib/ESP8266Audio/src/libopus/celt/vq.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/vq.c rename to lib/ESP8266Audio/src/libopus/celt/vq.c diff --git a/libesp32/ESP8266Audio/src/libopus/celt/vq.h b/lib/ESP8266Audio/src/libopus/celt/vq.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/celt/vq.h rename to lib/ESP8266Audio/src/libopus/celt/vq.h diff --git a/libesp32/ESP8266Audio/src/libopus/config.h b/lib/ESP8266Audio/src/libopus/config.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/config.h rename to lib/ESP8266Audio/src/libopus/config.h diff --git a/libesp32/ESP8266Audio/src/libopus/mapping_matrix.c b/lib/ESP8266Audio/src/libopus/mapping_matrix.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/mapping_matrix.c rename to lib/ESP8266Audio/src/libopus/mapping_matrix.c diff --git a/libesp32/ESP8266Audio/src/libopus/mapping_matrix.h b/lib/ESP8266Audio/src/libopus/mapping_matrix.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/mapping_matrix.h rename to lib/ESP8266Audio/src/libopus/mapping_matrix.h diff --git a/libesp32/ESP8266Audio/src/libopus/mlp.h b/lib/ESP8266Audio/src/libopus/mlp.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/mlp.h rename to lib/ESP8266Audio/src/libopus/mlp.h diff --git a/libesp32/ESP8266Audio/src/libopus/opus.c b/lib/ESP8266Audio/src/libopus/opus.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus.c rename to lib/ESP8266Audio/src/libopus/opus.c diff --git a/libesp32/ESP8266Audio/src/libopus/opus.h b/lib/ESP8266Audio/src/libopus/opus.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus.h rename to lib/ESP8266Audio/src/libopus/opus.h diff --git a/libesp32/ESP8266Audio/src/libopus/opus.pc b/lib/ESP8266Audio/src/libopus/opus.pc similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus.pc rename to lib/ESP8266Audio/src/libopus/opus.pc diff --git a/libesp32/ESP8266Audio/src/libopus/opus_custom.h b/lib/ESP8266Audio/src/libopus/opus_custom.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus_custom.h rename to lib/ESP8266Audio/src/libopus/opus_custom.h diff --git a/libesp32/ESP8266Audio/src/libopus/opus_decoder.c b/lib/ESP8266Audio/src/libopus/opus_decoder.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus_decoder.c rename to lib/ESP8266Audio/src/libopus/opus_decoder.c diff --git a/libesp32/ESP8266Audio/src/libopus/opus_defines.h b/lib/ESP8266Audio/src/libopus/opus_defines.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus_defines.h rename to lib/ESP8266Audio/src/libopus/opus_defines.h diff --git a/libesp32/ESP8266Audio/src/libopus/opus_encoder.c b/lib/ESP8266Audio/src/libopus/opus_encoder.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus_encoder.c rename to lib/ESP8266Audio/src/libopus/opus_encoder.c diff --git a/libesp32/ESP8266Audio/src/libopus/opus_multistream.c b/lib/ESP8266Audio/src/libopus/opus_multistream.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus_multistream.c rename to lib/ESP8266Audio/src/libopus/opus_multistream.c diff --git a/libesp32/ESP8266Audio/src/libopus/opus_multistream.h b/lib/ESP8266Audio/src/libopus/opus_multistream.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus_multistream.h rename to lib/ESP8266Audio/src/libopus/opus_multistream.h diff --git a/libesp32/ESP8266Audio/src/libopus/opus_multistream_decoder.c b/lib/ESP8266Audio/src/libopus/opus_multistream_decoder.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus_multistream_decoder.c rename to lib/ESP8266Audio/src/libopus/opus_multistream_decoder.c diff --git a/libesp32/ESP8266Audio/src/libopus/opus_multistream_encoder.c b/lib/ESP8266Audio/src/libopus/opus_multistream_encoder.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus_multistream_encoder.c rename to lib/ESP8266Audio/src/libopus/opus_multistream_encoder.c diff --git a/libesp32/ESP8266Audio/src/libopus/opus_private.h b/lib/ESP8266Audio/src/libopus/opus_private.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus_private.h rename to lib/ESP8266Audio/src/libopus/opus_private.h diff --git a/libesp32/ESP8266Audio/src/libopus/opus_projection.h b/lib/ESP8266Audio/src/libopus/opus_projection.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus_projection.h rename to lib/ESP8266Audio/src/libopus/opus_projection.h diff --git a/libesp32/ESP8266Audio/src/libopus/opus_projection_decoder.c b/lib/ESP8266Audio/src/libopus/opus_projection_decoder.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus_projection_decoder.c rename to lib/ESP8266Audio/src/libopus/opus_projection_decoder.c diff --git a/libesp32/ESP8266Audio/src/libopus/opus_projection_encoder.c b/lib/ESP8266Audio/src/libopus/opus_projection_encoder.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus_projection_encoder.c rename to lib/ESP8266Audio/src/libopus/opus_projection_encoder.c diff --git a/libesp32/ESP8266Audio/src/libopus/opus_types.h b/lib/ESP8266Audio/src/libopus/opus_types.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/opus_types.h rename to lib/ESP8266Audio/src/libopus/opus_types.h diff --git a/libesp32/ESP8266Audio/src/libopus/repacketizer.c b/lib/ESP8266Audio/src/libopus/repacketizer.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/repacketizer.c rename to lib/ESP8266Audio/src/libopus/repacketizer.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/A2NLSF.c b/lib/ESP8266Audio/src/libopus/silk/A2NLSF.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/A2NLSF.c rename to lib/ESP8266Audio/src/libopus/silk/A2NLSF.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/API.h b/lib/ESP8266Audio/src/libopus/silk/API.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/API.h rename to lib/ESP8266Audio/src/libopus/silk/API.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/CNG.c b/lib/ESP8266Audio/src/libopus/silk/CNG.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/CNG.c rename to lib/ESP8266Audio/src/libopus/silk/CNG.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/HP_variable_cutoff.c b/lib/ESP8266Audio/src/libopus/silk/HP_variable_cutoff.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/HP_variable_cutoff.c rename to lib/ESP8266Audio/src/libopus/silk/HP_variable_cutoff.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/Inlines.h b/lib/ESP8266Audio/src/libopus/silk/Inlines.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/Inlines.h rename to lib/ESP8266Audio/src/libopus/silk/Inlines.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/LPC_analysis_filter.c b/lib/ESP8266Audio/src/libopus/silk/LPC_analysis_filter.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/LPC_analysis_filter.c rename to lib/ESP8266Audio/src/libopus/silk/LPC_analysis_filter.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/LPC_fit.c b/lib/ESP8266Audio/src/libopus/silk/LPC_fit.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/LPC_fit.c rename to lib/ESP8266Audio/src/libopus/silk/LPC_fit.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/LPC_inv_pred_gain.c b/lib/ESP8266Audio/src/libopus/silk/LPC_inv_pred_gain.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/LPC_inv_pred_gain.c rename to lib/ESP8266Audio/src/libopus/silk/LPC_inv_pred_gain.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/LP_variable_cutoff.c b/lib/ESP8266Audio/src/libopus/silk/LP_variable_cutoff.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/LP_variable_cutoff.c rename to lib/ESP8266Audio/src/libopus/silk/LP_variable_cutoff.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/MacroCount.h b/lib/ESP8266Audio/src/libopus/silk/MacroCount.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/MacroCount.h rename to lib/ESP8266Audio/src/libopus/silk/MacroCount.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/MacroDebug.h b/lib/ESP8266Audio/src/libopus/silk/MacroDebug.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/MacroDebug.h rename to lib/ESP8266Audio/src/libopus/silk/MacroDebug.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/NLSF2A.c b/lib/ESP8266Audio/src/libopus/silk/NLSF2A.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/NLSF2A.c rename to lib/ESP8266Audio/src/libopus/silk/NLSF2A.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/NLSF_VQ.c b/lib/ESP8266Audio/src/libopus/silk/NLSF_VQ.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/NLSF_VQ.c rename to lib/ESP8266Audio/src/libopus/silk/NLSF_VQ.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/NLSF_VQ_weights_laroia.c b/lib/ESP8266Audio/src/libopus/silk/NLSF_VQ_weights_laroia.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/NLSF_VQ_weights_laroia.c rename to lib/ESP8266Audio/src/libopus/silk/NLSF_VQ_weights_laroia.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/NLSF_decode.c b/lib/ESP8266Audio/src/libopus/silk/NLSF_decode.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/NLSF_decode.c rename to lib/ESP8266Audio/src/libopus/silk/NLSF_decode.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/NLSF_del_dec_quant.c b/lib/ESP8266Audio/src/libopus/silk/NLSF_del_dec_quant.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/NLSF_del_dec_quant.c rename to lib/ESP8266Audio/src/libopus/silk/NLSF_del_dec_quant.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/NLSF_encode.c b/lib/ESP8266Audio/src/libopus/silk/NLSF_encode.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/NLSF_encode.c rename to lib/ESP8266Audio/src/libopus/silk/NLSF_encode.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/NLSF_stabilize.c b/lib/ESP8266Audio/src/libopus/silk/NLSF_stabilize.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/NLSF_stabilize.c rename to lib/ESP8266Audio/src/libopus/silk/NLSF_stabilize.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/NLSF_unpack.c b/lib/ESP8266Audio/src/libopus/silk/NLSF_unpack.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/NLSF_unpack.c rename to lib/ESP8266Audio/src/libopus/silk/NLSF_unpack.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/NSQ.c b/lib/ESP8266Audio/src/libopus/silk/NSQ.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/NSQ.c rename to lib/ESP8266Audio/src/libopus/silk/NSQ.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/NSQ.h b/lib/ESP8266Audio/src/libopus/silk/NSQ.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/NSQ.h rename to lib/ESP8266Audio/src/libopus/silk/NSQ.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/NSQ_del_dec.c b/lib/ESP8266Audio/src/libopus/silk/NSQ_del_dec.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/NSQ_del_dec.c rename to lib/ESP8266Audio/src/libopus/silk/NSQ_del_dec.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/PLC.c b/lib/ESP8266Audio/src/libopus/silk/PLC.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/PLC.c rename to lib/ESP8266Audio/src/libopus/silk/PLC.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/PLC.h b/lib/ESP8266Audio/src/libopus/silk/PLC.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/PLC.h rename to lib/ESP8266Audio/src/libopus/silk/PLC.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/SigProc_FIX.h b/lib/ESP8266Audio/src/libopus/silk/SigProc_FIX.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/SigProc_FIX.h rename to lib/ESP8266Audio/src/libopus/silk/SigProc_FIX.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/VAD.c b/lib/ESP8266Audio/src/libopus/silk/VAD.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/VAD.c rename to lib/ESP8266Audio/src/libopus/silk/VAD.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/VQ_WMat_EC.c b/lib/ESP8266Audio/src/libopus/silk/VQ_WMat_EC.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/VQ_WMat_EC.c rename to lib/ESP8266Audio/src/libopus/silk/VQ_WMat_EC.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/ana_filt_bank_1.c b/lib/ESP8266Audio/src/libopus/silk/ana_filt_bank_1.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/ana_filt_bank_1.c rename to lib/ESP8266Audio/src/libopus/silk/ana_filt_bank_1.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/biquad_alt.c b/lib/ESP8266Audio/src/libopus/silk/biquad_alt.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/biquad_alt.c rename to lib/ESP8266Audio/src/libopus/silk/biquad_alt.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/bwexpander.c b/lib/ESP8266Audio/src/libopus/silk/bwexpander.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/bwexpander.c rename to lib/ESP8266Audio/src/libopus/silk/bwexpander.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/bwexpander_32.c b/lib/ESP8266Audio/src/libopus/silk/bwexpander_32.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/bwexpander_32.c rename to lib/ESP8266Audio/src/libopus/silk/bwexpander_32.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/check_control_input.c b/lib/ESP8266Audio/src/libopus/silk/check_control_input.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/check_control_input.c rename to lib/ESP8266Audio/src/libopus/silk/check_control_input.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/code_signs.c b/lib/ESP8266Audio/src/libopus/silk/code_signs.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/code_signs.c rename to lib/ESP8266Audio/src/libopus/silk/code_signs.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/control.h b/lib/ESP8266Audio/src/libopus/silk/control.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/control.h rename to lib/ESP8266Audio/src/libopus/silk/control.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/control_SNR.c b/lib/ESP8266Audio/src/libopus/silk/control_SNR.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/control_SNR.c rename to lib/ESP8266Audio/src/libopus/silk/control_SNR.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/control_audio_bandwidth.c b/lib/ESP8266Audio/src/libopus/silk/control_audio_bandwidth.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/control_audio_bandwidth.c rename to lib/ESP8266Audio/src/libopus/silk/control_audio_bandwidth.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/control_codec.c b/lib/ESP8266Audio/src/libopus/silk/control_codec.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/control_codec.c rename to lib/ESP8266Audio/src/libopus/silk/control_codec.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/debug.c b/lib/ESP8266Audio/src/libopus/silk/debug.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/debug.c rename to lib/ESP8266Audio/src/libopus/silk/debug.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/debug.h b/lib/ESP8266Audio/src/libopus/silk/debug.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/debug.h rename to lib/ESP8266Audio/src/libopus/silk/debug.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/dec_API.c b/lib/ESP8266Audio/src/libopus/silk/dec_API.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/dec_API.c rename to lib/ESP8266Audio/src/libopus/silk/dec_API.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/decode_core.c b/lib/ESP8266Audio/src/libopus/silk/decode_core.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/decode_core.c rename to lib/ESP8266Audio/src/libopus/silk/decode_core.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/decode_frame.c b/lib/ESP8266Audio/src/libopus/silk/decode_frame.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/decode_frame.c rename to lib/ESP8266Audio/src/libopus/silk/decode_frame.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/decode_indices.c b/lib/ESP8266Audio/src/libopus/silk/decode_indices.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/decode_indices.c rename to lib/ESP8266Audio/src/libopus/silk/decode_indices.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/decode_parameters.c b/lib/ESP8266Audio/src/libopus/silk/decode_parameters.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/decode_parameters.c rename to lib/ESP8266Audio/src/libopus/silk/decode_parameters.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/decode_pitch.c b/lib/ESP8266Audio/src/libopus/silk/decode_pitch.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/decode_pitch.c rename to lib/ESP8266Audio/src/libopus/silk/decode_pitch.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/decode_pulses.c b/lib/ESP8266Audio/src/libopus/silk/decode_pulses.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/decode_pulses.c rename to lib/ESP8266Audio/src/libopus/silk/decode_pulses.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/decoder_set_fs.c b/lib/ESP8266Audio/src/libopus/silk/decoder_set_fs.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/decoder_set_fs.c rename to lib/ESP8266Audio/src/libopus/silk/decoder_set_fs.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/define.h b/lib/ESP8266Audio/src/libopus/silk/define.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/define.h rename to lib/ESP8266Audio/src/libopus/silk/define.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/enc_API.c b/lib/ESP8266Audio/src/libopus/silk/enc_API.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/enc_API.c rename to lib/ESP8266Audio/src/libopus/silk/enc_API.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/encode_indices.c b/lib/ESP8266Audio/src/libopus/silk/encode_indices.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/encode_indices.c rename to lib/ESP8266Audio/src/libopus/silk/encode_indices.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/encode_pulses.c b/lib/ESP8266Audio/src/libopus/silk/encode_pulses.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/encode_pulses.c rename to lib/ESP8266Audio/src/libopus/silk/encode_pulses.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/errors.h b/lib/ESP8266Audio/src/libopus/silk/errors.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/errors.h rename to lib/ESP8266Audio/src/libopus/silk/errors.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/LTP_analysis_filter_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/LTP_analysis_filter_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/LTP_analysis_filter_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/LTP_analysis_filter_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/LTP_analysis_filter_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/LTP_analysis_filter_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/LTP_analysis_filter_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/LTP_analysis_filter_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/LTP_analysis_filter_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/LTP_analysis_filter_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/LTP_analysis_filter_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/LTP_analysis_filter_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/LTP_scale_ctrl_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/LTP_scale_ctrl_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/LTP_scale_ctrl_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/LTP_scale_ctrl_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/LTP_scale_ctrl_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/LTP_scale_ctrl_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/LTP_scale_ctrl_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/LTP_scale_ctrl_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/LTP_scale_ctrl_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/LTP_scale_ctrl_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/LTP_scale_ctrl_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/LTP_scale_ctrl_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/apply_sine_window_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/apply_sine_window_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/apply_sine_window_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/apply_sine_window_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/apply_sine_window_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/apply_sine_window_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/apply_sine_window_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/apply_sine_window_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/apply_sine_window_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/apply_sine_window_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/apply_sine_window_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/apply_sine_window_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/autocorr_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/autocorr_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/autocorr_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/autocorr_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/autocorr_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/autocorr_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/autocorr_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/autocorr_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/autocorr_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/autocorr_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/autocorr_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/autocorr_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/burg_modified_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/burg_modified_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/burg_modified_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/burg_modified_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/burg_modified_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/burg_modified_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/burg_modified_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/burg_modified_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/burg_modified_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/burg_modified_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/burg_modified_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/burg_modified_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/corrMatrix_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/corrMatrix_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/corrMatrix_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/corrMatrix_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/corrMatrix_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/corrMatrix_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/corrMatrix_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/corrMatrix_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/corrMatrix_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/corrMatrix_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/corrMatrix_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/corrMatrix_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/encode_frame_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/encode_frame_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/encode_frame_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/encode_frame_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/encode_frame_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/encode_frame_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/encode_frame_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/encode_frame_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/encode_frame_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/encode_frame_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/encode_frame_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/encode_frame_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/find_LPC_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/find_LPC_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/find_LPC_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/find_LPC_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/find_LPC_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/find_LPC_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/find_LPC_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/find_LPC_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/find_LPC_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/find_LPC_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/find_LPC_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/find_LPC_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/find_LTP_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/find_LTP_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/find_LTP_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/find_LTP_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/find_LTP_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/find_LTP_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/find_LTP_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/find_LTP_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/find_LTP_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/find_LTP_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/find_LTP_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/find_LTP_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/find_pitch_lags_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/find_pitch_lags_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/find_pitch_lags_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/find_pitch_lags_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/find_pitch_lags_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/find_pitch_lags_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/find_pitch_lags_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/find_pitch_lags_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/find_pitch_lags_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/find_pitch_lags_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/find_pitch_lags_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/find_pitch_lags_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/find_pred_coefs_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/find_pred_coefs_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/find_pred_coefs_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/find_pred_coefs_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/find_pred_coefs_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/find_pred_coefs_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/find_pred_coefs_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/find_pred_coefs_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/find_pred_coefs_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/find_pred_coefs_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/find_pred_coefs_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/find_pred_coefs_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/k2a_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/k2a_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/k2a_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/k2a_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/k2a_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/k2a_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/k2a_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/k2a_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/k2a_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/k2a_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/k2a_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/k2a_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/k2a_Q16_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/k2a_Q16_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/k2a_Q16_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/k2a_Q16_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/k2a_Q16_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/k2a_Q16_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/k2a_Q16_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/k2a_Q16_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/k2a_Q16_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/k2a_Q16_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/k2a_Q16_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/k2a_Q16_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/main_FIX.h b/lib/ESP8266Audio/src/libopus/silk/fixed/main_FIX.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/main_FIX.h rename to lib/ESP8266Audio/src/libopus/silk/fixed/main_FIX.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/noise_shape_analysis_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/noise_shape_analysis_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/noise_shape_analysis_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/noise_shape_analysis_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/noise_shape_analysis_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/noise_shape_analysis_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/noise_shape_analysis_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/noise_shape_analysis_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/noise_shape_analysis_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/noise_shape_analysis_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/noise_shape_analysis_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/noise_shape_analysis_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/pitch_analysis_core_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/pitch_analysis_core_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/pitch_analysis_core_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/pitch_analysis_core_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/pitch_analysis_core_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/pitch_analysis_core_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/pitch_analysis_core_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/pitch_analysis_core_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/pitch_analysis_core_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/pitch_analysis_core_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/pitch_analysis_core_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/pitch_analysis_core_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/process_gains_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/process_gains_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/process_gains_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/process_gains_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/process_gains_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/process_gains_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/process_gains_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/process_gains_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/process_gains_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/process_gains_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/process_gains_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/process_gains_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/regularize_correlations_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/regularize_correlations_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/regularize_correlations_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/regularize_correlations_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/regularize_correlations_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/regularize_correlations_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/regularize_correlations_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/regularize_correlations_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/regularize_correlations_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/regularize_correlations_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/regularize_correlations_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/regularize_correlations_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/residual_energy16_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/residual_energy16_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/residual_energy16_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/residual_energy16_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/residual_energy16_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/residual_energy16_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/residual_energy16_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/residual_energy16_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/residual_energy16_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/residual_energy16_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/residual_energy16_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/residual_energy16_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/residual_energy_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/residual_energy_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/residual_energy_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/residual_energy_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/residual_energy_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/residual_energy_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/residual_energy_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/residual_energy_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/residual_energy_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/residual_energy_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/residual_energy_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/residual_energy_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/schur64_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/schur64_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/schur64_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/schur64_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/schur64_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/schur64_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/schur64_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/schur64_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/schur64_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/schur64_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/schur64_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/schur64_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/schur_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/schur_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/schur_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/schur_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/schur_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/schur_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/schur_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/schur_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/schur_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/schur_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/schur_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/schur_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/structs_FIX.h b/lib/ESP8266Audio/src/libopus/silk/fixed/structs_FIX.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/structs_FIX.h rename to lib/ESP8266Audio/src/libopus/silk/fixed/structs_FIX.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/vector_ops_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/vector_ops_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/vector_ops_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/vector_ops_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/vector_ops_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/vector_ops_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/vector_ops_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/vector_ops_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/vector_ops_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/vector_ops_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/vector_ops_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/vector_ops_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/warped_autocorrelation_FIX.c b/lib/ESP8266Audio/src/libopus/silk/fixed/warped_autocorrelation_FIX.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/warped_autocorrelation_FIX.c rename to lib/ESP8266Audio/src/libopus/silk/fixed/warped_autocorrelation_FIX.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/warped_autocorrelation_FIX.lo b/lib/ESP8266Audio/src/libopus/silk/fixed/warped_autocorrelation_FIX.lo similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/warped_autocorrelation_FIX.lo rename to lib/ESP8266Audio/src/libopus/silk/fixed/warped_autocorrelation_FIX.lo diff --git a/libesp32/ESP8266Audio/src/libopus/silk/fixed/warped_autocorrelation_FIX.o b/lib/ESP8266Audio/src/libopus/silk/fixed/warped_autocorrelation_FIX.o similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/fixed/warped_autocorrelation_FIX.o rename to lib/ESP8266Audio/src/libopus/silk/fixed/warped_autocorrelation_FIX.o diff --git a/libesp32/ESP8266Audio/src/libopus/silk/gain_quant.c b/lib/ESP8266Audio/src/libopus/silk/gain_quant.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/gain_quant.c rename to lib/ESP8266Audio/src/libopus/silk/gain_quant.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/init_decoder.c b/lib/ESP8266Audio/src/libopus/silk/init_decoder.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/init_decoder.c rename to lib/ESP8266Audio/src/libopus/silk/init_decoder.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/init_encoder.c b/lib/ESP8266Audio/src/libopus/silk/init_encoder.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/init_encoder.c rename to lib/ESP8266Audio/src/libopus/silk/init_encoder.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/inner_prod_aligned.c b/lib/ESP8266Audio/src/libopus/silk/inner_prod_aligned.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/inner_prod_aligned.c rename to lib/ESP8266Audio/src/libopus/silk/inner_prod_aligned.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/interpolate.c b/lib/ESP8266Audio/src/libopus/silk/interpolate.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/interpolate.c rename to lib/ESP8266Audio/src/libopus/silk/interpolate.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/lin2log.c b/lib/ESP8266Audio/src/libopus/silk/lin2log.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/lin2log.c rename to lib/ESP8266Audio/src/libopus/silk/lin2log.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/log2lin.c b/lib/ESP8266Audio/src/libopus/silk/log2lin.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/log2lin.c rename to lib/ESP8266Audio/src/libopus/silk/log2lin.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/macros.h b/lib/ESP8266Audio/src/libopus/silk/macros.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/macros.h rename to lib/ESP8266Audio/src/libopus/silk/macros.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/main.h b/lib/ESP8266Audio/src/libopus/silk/main.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/main.h rename to lib/ESP8266Audio/src/libopus/silk/main.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/pitch_est_defines.h b/lib/ESP8266Audio/src/libopus/silk/pitch_est_defines.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/pitch_est_defines.h rename to lib/ESP8266Audio/src/libopus/silk/pitch_est_defines.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/pitch_est_tables.c b/lib/ESP8266Audio/src/libopus/silk/pitch_est_tables.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/pitch_est_tables.c rename to lib/ESP8266Audio/src/libopus/silk/pitch_est_tables.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/process_NLSFs.c b/lib/ESP8266Audio/src/libopus/silk/process_NLSFs.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/process_NLSFs.c rename to lib/ESP8266Audio/src/libopus/silk/process_NLSFs.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/quant_LTP_gains.c b/lib/ESP8266Audio/src/libopus/silk/quant_LTP_gains.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/quant_LTP_gains.c rename to lib/ESP8266Audio/src/libopus/silk/quant_LTP_gains.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/resampler.c b/lib/ESP8266Audio/src/libopus/silk/resampler.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/resampler.c rename to lib/ESP8266Audio/src/libopus/silk/resampler.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/resampler_down2.c b/lib/ESP8266Audio/src/libopus/silk/resampler_down2.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/resampler_down2.c rename to lib/ESP8266Audio/src/libopus/silk/resampler_down2.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/resampler_down2_3.c b/lib/ESP8266Audio/src/libopus/silk/resampler_down2_3.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/resampler_down2_3.c rename to lib/ESP8266Audio/src/libopus/silk/resampler_down2_3.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/resampler_private.h b/lib/ESP8266Audio/src/libopus/silk/resampler_private.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/resampler_private.h rename to lib/ESP8266Audio/src/libopus/silk/resampler_private.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/resampler_private_AR2.c b/lib/ESP8266Audio/src/libopus/silk/resampler_private_AR2.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/resampler_private_AR2.c rename to lib/ESP8266Audio/src/libopus/silk/resampler_private_AR2.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/resampler_private_IIR_FIR.c b/lib/ESP8266Audio/src/libopus/silk/resampler_private_IIR_FIR.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/resampler_private_IIR_FIR.c rename to lib/ESP8266Audio/src/libopus/silk/resampler_private_IIR_FIR.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/resampler_private_down_FIR.c b/lib/ESP8266Audio/src/libopus/silk/resampler_private_down_FIR.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/resampler_private_down_FIR.c rename to lib/ESP8266Audio/src/libopus/silk/resampler_private_down_FIR.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/resampler_private_up2_HQ.c b/lib/ESP8266Audio/src/libopus/silk/resampler_private_up2_HQ.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/resampler_private_up2_HQ.c rename to lib/ESP8266Audio/src/libopus/silk/resampler_private_up2_HQ.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/resampler_rom.c b/lib/ESP8266Audio/src/libopus/silk/resampler_rom.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/resampler_rom.c rename to lib/ESP8266Audio/src/libopus/silk/resampler_rom.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/resampler_rom.h b/lib/ESP8266Audio/src/libopus/silk/resampler_rom.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/resampler_rom.h rename to lib/ESP8266Audio/src/libopus/silk/resampler_rom.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/resampler_structs.h b/lib/ESP8266Audio/src/libopus/silk/resampler_structs.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/resampler_structs.h rename to lib/ESP8266Audio/src/libopus/silk/resampler_structs.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/shell_coder.c b/lib/ESP8266Audio/src/libopus/silk/shell_coder.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/shell_coder.c rename to lib/ESP8266Audio/src/libopus/silk/shell_coder.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/sigm_Q15.c b/lib/ESP8266Audio/src/libopus/silk/sigm_Q15.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/sigm_Q15.c rename to lib/ESP8266Audio/src/libopus/silk/sigm_Q15.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/sort.c b/lib/ESP8266Audio/src/libopus/silk/sort.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/sort.c rename to lib/ESP8266Audio/src/libopus/silk/sort.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/stereo_LR_to_MS.c b/lib/ESP8266Audio/src/libopus/silk/stereo_LR_to_MS.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/stereo_LR_to_MS.c rename to lib/ESP8266Audio/src/libopus/silk/stereo_LR_to_MS.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/stereo_MS_to_LR.c b/lib/ESP8266Audio/src/libopus/silk/stereo_MS_to_LR.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/stereo_MS_to_LR.c rename to lib/ESP8266Audio/src/libopus/silk/stereo_MS_to_LR.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/stereo_decode_pred.c b/lib/ESP8266Audio/src/libopus/silk/stereo_decode_pred.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/stereo_decode_pred.c rename to lib/ESP8266Audio/src/libopus/silk/stereo_decode_pred.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/stereo_encode_pred.c b/lib/ESP8266Audio/src/libopus/silk/stereo_encode_pred.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/stereo_encode_pred.c rename to lib/ESP8266Audio/src/libopus/silk/stereo_encode_pred.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/stereo_find_predictor.c b/lib/ESP8266Audio/src/libopus/silk/stereo_find_predictor.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/stereo_find_predictor.c rename to lib/ESP8266Audio/src/libopus/silk/stereo_find_predictor.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/stereo_quant_pred.c b/lib/ESP8266Audio/src/libopus/silk/stereo_quant_pred.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/stereo_quant_pred.c rename to lib/ESP8266Audio/src/libopus/silk/stereo_quant_pred.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/structs.h b/lib/ESP8266Audio/src/libopus/silk/structs.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/structs.h rename to lib/ESP8266Audio/src/libopus/silk/structs.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/sum_sqr_shift.c b/lib/ESP8266Audio/src/libopus/silk/sum_sqr_shift.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/sum_sqr_shift.c rename to lib/ESP8266Audio/src/libopus/silk/sum_sqr_shift.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/table_LSF_cos.c b/lib/ESP8266Audio/src/libopus/silk/table_LSF_cos.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/table_LSF_cos.c rename to lib/ESP8266Audio/src/libopus/silk/table_LSF_cos.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/tables.h b/lib/ESP8266Audio/src/libopus/silk/tables.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/tables.h rename to lib/ESP8266Audio/src/libopus/silk/tables.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/tables_LTP.c b/lib/ESP8266Audio/src/libopus/silk/tables_LTP.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/tables_LTP.c rename to lib/ESP8266Audio/src/libopus/silk/tables_LTP.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/tables_NLSF_CB_NB_MB.c b/lib/ESP8266Audio/src/libopus/silk/tables_NLSF_CB_NB_MB.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/tables_NLSF_CB_NB_MB.c rename to lib/ESP8266Audio/src/libopus/silk/tables_NLSF_CB_NB_MB.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/tables_NLSF_CB_WB.c b/lib/ESP8266Audio/src/libopus/silk/tables_NLSF_CB_WB.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/tables_NLSF_CB_WB.c rename to lib/ESP8266Audio/src/libopus/silk/tables_NLSF_CB_WB.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/tables_gain.c b/lib/ESP8266Audio/src/libopus/silk/tables_gain.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/tables_gain.c rename to lib/ESP8266Audio/src/libopus/silk/tables_gain.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/tables_other.c b/lib/ESP8266Audio/src/libopus/silk/tables_other.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/tables_other.c rename to lib/ESP8266Audio/src/libopus/silk/tables_other.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/tables_pitch_lag.c b/lib/ESP8266Audio/src/libopus/silk/tables_pitch_lag.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/tables_pitch_lag.c rename to lib/ESP8266Audio/src/libopus/silk/tables_pitch_lag.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/tables_pulses_per_block.c b/lib/ESP8266Audio/src/libopus/silk/tables_pulses_per_block.c similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/tables_pulses_per_block.c rename to lib/ESP8266Audio/src/libopus/silk/tables_pulses_per_block.c diff --git a/libesp32/ESP8266Audio/src/libopus/silk/tuning_parameters.h b/lib/ESP8266Audio/src/libopus/silk/tuning_parameters.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/tuning_parameters.h rename to lib/ESP8266Audio/src/libopus/silk/tuning_parameters.h diff --git a/libesp32/ESP8266Audio/src/libopus/silk/typedef.h b/lib/ESP8266Audio/src/libopus/silk/typedef.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/silk/typedef.h rename to lib/ESP8266Audio/src/libopus/silk/typedef.h diff --git a/libesp32/ESP8266Audio/src/libopus/tansig_table.h b/lib/ESP8266Audio/src/libopus/tansig_table.h similarity index 100% rename from libesp32/ESP8266Audio/src/libopus/tansig_table.h rename to lib/ESP8266Audio/src/libopus/tansig_table.h diff --git a/libesp32/ESP8266Audio/src/libtinysoundfont/LICENSE b/lib/ESP8266Audio/src/libtinysoundfont/LICENSE similarity index 100% rename from libesp32/ESP8266Audio/src/libtinysoundfont/LICENSE rename to lib/ESP8266Audio/src/libtinysoundfont/LICENSE diff --git a/libesp32/ESP8266Audio/src/libtinysoundfont/README.ESP8266 b/lib/ESP8266Audio/src/libtinysoundfont/README.ESP8266 similarity index 100% rename from libesp32/ESP8266Audio/src/libtinysoundfont/README.ESP8266 rename to lib/ESP8266Audio/src/libtinysoundfont/README.ESP8266 diff --git a/libesp32/ESP8266Audio/src/libtinysoundfont/README.md b/lib/ESP8266Audio/src/libtinysoundfont/README.md similarity index 100% rename from libesp32/ESP8266Audio/src/libtinysoundfont/README.md rename to lib/ESP8266Audio/src/libtinysoundfont/README.md diff --git a/libesp32/ESP8266Audio/src/libtinysoundfont/tsf.h b/lib/ESP8266Audio/src/libtinysoundfont/tsf.h similarity index 100% rename from libesp32/ESP8266Audio/src/libtinysoundfont/tsf.h rename to lib/ESP8266Audio/src/libtinysoundfont/tsf.h diff --git a/libesp32/ESP8266Audio/src/opusfile/AUTHORS b/lib/ESP8266Audio/src/opusfile/AUTHORS similarity index 100% rename from libesp32/ESP8266Audio/src/opusfile/AUTHORS rename to lib/ESP8266Audio/src/opusfile/AUTHORS diff --git a/libesp32/ESP8266Audio/src/opusfile/COPYING b/lib/ESP8266Audio/src/opusfile/COPYING similarity index 100% rename from libesp32/ESP8266Audio/src/opusfile/COPYING rename to lib/ESP8266Audio/src/opusfile/COPYING diff --git a/libesp32/ESP8266Audio/src/opusfile/README.esp8266.md b/lib/ESP8266Audio/src/opusfile/README.esp8266.md similarity index 100% rename from libesp32/ESP8266Audio/src/opusfile/README.esp8266.md rename to lib/ESP8266Audio/src/opusfile/README.esp8266.md diff --git a/libesp32/ESP8266Audio/src/opusfile/README.md b/lib/ESP8266Audio/src/opusfile/README.md similarity index 100% rename from libesp32/ESP8266Audio/src/opusfile/README.md rename to lib/ESP8266Audio/src/opusfile/README.md diff --git a/libesp32/ESP8266Audio/src/opusfile/config.h b/lib/ESP8266Audio/src/opusfile/config.h similarity index 100% rename from libesp32/ESP8266Audio/src/opusfile/config.h rename to lib/ESP8266Audio/src/opusfile/config.h diff --git a/libesp32/ESP8266Audio/src/opusfile/info.c b/lib/ESP8266Audio/src/opusfile/info.c similarity index 100% rename from libesp32/ESP8266Audio/src/opusfile/info.c rename to lib/ESP8266Audio/src/opusfile/info.c diff --git a/libesp32/ESP8266Audio/src/opusfile/internal.c b/lib/ESP8266Audio/src/opusfile/internal.c similarity index 100% rename from libesp32/ESP8266Audio/src/opusfile/internal.c rename to lib/ESP8266Audio/src/opusfile/internal.c diff --git a/libesp32/ESP8266Audio/src/opusfile/internal.h b/lib/ESP8266Audio/src/opusfile/internal.h similarity index 100% rename from libesp32/ESP8266Audio/src/opusfile/internal.h rename to lib/ESP8266Audio/src/opusfile/internal.h diff --git a/libesp32/ESP8266Audio/src/opusfile/opusfile.c b/lib/ESP8266Audio/src/opusfile/opusfile.c similarity index 100% rename from libesp32/ESP8266Audio/src/opusfile/opusfile.c rename to lib/ESP8266Audio/src/opusfile/opusfile.c diff --git a/libesp32/ESP8266Audio/src/opusfile/opusfile.h b/lib/ESP8266Audio/src/opusfile/opusfile.h similarity index 100% rename from libesp32/ESP8266Audio/src/opusfile/opusfile.h rename to lib/ESP8266Audio/src/opusfile/opusfile.h diff --git a/libesp32/ESP8266Audio/src/opusfile/opusfile.pc b/lib/ESP8266Audio/src/opusfile/opusfile.pc similarity index 100% rename from libesp32/ESP8266Audio/src/opusfile/opusfile.pc rename to lib/ESP8266Audio/src/opusfile/opusfile.pc diff --git a/libesp32/ESP8266Audio/src/opusfile/stream.c b/lib/ESP8266Audio/src/opusfile/stream.c similarity index 100% rename from libesp32/ESP8266Audio/src/opusfile/stream.c rename to lib/ESP8266Audio/src/opusfile/stream.c diff --git a/libesp32/ESP8266Audio/src/spiram-fast.h b/lib/ESP8266Audio/src/spiram-fast.h similarity index 100% rename from libesp32/ESP8266Audio/src/spiram-fast.h rename to lib/ESP8266Audio/src/spiram-fast.h diff --git a/libesp32/ESP8266Audio/tests/common.sh b/lib/ESP8266Audio/tests/common.sh similarity index 100% rename from libesp32/ESP8266Audio/tests/common.sh rename to lib/ESP8266Audio/tests/common.sh diff --git a/libesp32/ESP8266Audio/tests/host/Arduino.h b/lib/ESP8266Audio/tests/host/Arduino.h similarity index 100% rename from libesp32/ESP8266Audio/tests/host/Arduino.h rename to lib/ESP8266Audio/tests/host/Arduino.h diff --git a/libesp32/ESP8266Audio/tests/host/Makefile b/lib/ESP8266Audio/tests/host/Makefile similarity index 100% rename from libesp32/ESP8266Audio/tests/host/Makefile rename to lib/ESP8266Audio/tests/host/Makefile diff --git a/libesp32/ESP8266Audio/tests/host/Serial.cpp b/lib/ESP8266Audio/tests/host/Serial.cpp similarity index 100% rename from libesp32/ESP8266Audio/tests/host/Serial.cpp rename to lib/ESP8266Audio/tests/host/Serial.cpp diff --git a/libesp32/ESP8266Audio/tests/host/aac.cpp b/lib/ESP8266Audio/tests/host/aac.cpp similarity index 100% rename from libesp32/ESP8266Audio/tests/host/aac.cpp rename to lib/ESP8266Audio/tests/host/aac.cpp diff --git a/libesp32/ESP8266Audio/tests/host/midi.cpp b/lib/ESP8266Audio/tests/host/midi.cpp similarity index 100% rename from libesp32/ESP8266Audio/tests/host/midi.cpp rename to lib/ESP8266Audio/tests/host/midi.cpp diff --git a/libesp32/ESP8266Audio/tests/host/mp3.cpp b/lib/ESP8266Audio/tests/host/mp3.cpp similarity index 100% rename from libesp32/ESP8266Audio/tests/host/mp3.cpp rename to lib/ESP8266Audio/tests/host/mp3.cpp diff --git a/libesp32/ESP8266Audio/tests/host/opus.cpp b/lib/ESP8266Audio/tests/host/opus.cpp similarity index 100% rename from libesp32/ESP8266Audio/tests/host/opus.cpp rename to lib/ESP8266Audio/tests/host/opus.cpp diff --git a/libesp32/ESP8266Audio/tests/host/pgmspace.h b/lib/ESP8266Audio/tests/host/pgmspace.h similarity index 100% rename from libesp32/ESP8266Audio/tests/host/pgmspace.h rename to lib/ESP8266Audio/tests/host/pgmspace.h diff --git a/libesp32/ESP8266Audio/tests/host/test_8u_16.wav b/lib/ESP8266Audio/tests/host/test_8u_16.wav similarity index 100% rename from libesp32/ESP8266Audio/tests/host/test_8u_16.wav rename to lib/ESP8266Audio/tests/host/test_8u_16.wav diff --git a/libesp32/ESP8266Audio/tests/host/wav.cpp b/lib/ESP8266Audio/tests/host/wav.cpp similarity index 100% rename from libesp32/ESP8266Audio/tests/host/wav.cpp rename to lib/ESP8266Audio/tests/host/wav.cpp diff --git a/libesp32/ESP8266SAM/README.md b/lib/ESP8266SAM/README.md similarity index 100% rename from libesp32/ESP8266SAM/README.md rename to lib/ESP8266SAM/README.md diff --git a/libesp32/ESP8266SAM/examples/Speak/Speak.ino b/lib/ESP8266SAM/examples/Speak/Speak.ino similarity index 100% rename from libesp32/ESP8266SAM/examples/Speak/Speak.ino rename to lib/ESP8266SAM/examples/Speak/Speak.ino diff --git a/libesp32/ESP8266SAM/library.json b/lib/ESP8266SAM/library.json similarity index 100% rename from libesp32/ESP8266SAM/library.json rename to lib/ESP8266SAM/library.json diff --git a/libesp32/ESP8266SAM/library.properties b/lib/ESP8266SAM/library.properties similarity index 100% rename from libesp32/ESP8266SAM/library.properties rename to lib/ESP8266SAM/library.properties diff --git a/libesp32/ESP8266SAM/src/ESP8266SAM.cpp b/lib/ESP8266SAM/src/ESP8266SAM.cpp similarity index 100% rename from libesp32/ESP8266SAM/src/ESP8266SAM.cpp rename to lib/ESP8266SAM/src/ESP8266SAM.cpp diff --git a/libesp32/ESP8266SAM/src/ESP8266SAM.h b/lib/ESP8266SAM/src/ESP8266SAM.h similarity index 100% rename from libesp32/ESP8266SAM/src/ESP8266SAM.h rename to lib/ESP8266SAM/src/ESP8266SAM.h diff --git a/libesp32/ESP8266SAM/src/ReciterTabs.h b/lib/ESP8266SAM/src/ReciterTabs.h similarity index 100% rename from libesp32/ESP8266SAM/src/ReciterTabs.h rename to lib/ESP8266SAM/src/ReciterTabs.h diff --git a/libesp32/ESP8266SAM/src/RenderTabs.h b/lib/ESP8266SAM/src/RenderTabs.h similarity index 99% rename from libesp32/ESP8266SAM/src/RenderTabs.h rename to lib/ESP8266SAM/src/RenderTabs.h index 9a5bb8a36..2346c7a1c 100755 --- a/libesp32/ESP8266SAM/src/RenderTabs.h +++ b/lib/ESP8266SAM/src/RenderTabs.h @@ -2,7 +2,7 @@ #define RENDERTABS_H #include -#include "debug.h" +#include "samdebug.h" #if debug #define PROGMEM #endif @@ -196,7 +196,7 @@ const unsigned char ampl3data[] PROGMEM = //tab42240 -const signed char sinus[256] PROGMEM = {0,3,6,9,12,16,19,22,25,28,31,34,37,40,43,46,49,51,54,57,60,63,65,68,71,73,76,78,81,83,85,88,90,92,94,96,98,100,102,104,106,107,109,111,112,113,115,116,117,118,120,121,122,122,123,124,125,125,126,126,126,127,127,127,127,127,127,127,126,126,126,125,125,124,123,122,122,121,120,118,117,116,115,113,112,111,109,107,106,104,102,100,98,96,94,92,90,88,85,83,81,78,76,73,71,68,65,63,60,57,54,51,49,46,43,40,37,34,31,28,25,22,19,16,12,9,6,3,0,-3,-6,-9,-12,-16,-19,-22,-25,-28,-31,-34,-37,-40,-43,-46,-49,-51,-54,-57,-60,-63,-65,-68,-71,-73,-76,-78,-81,-83,-85,-88,-90,-92,-94,-96,-98,-100,-102,-104,-106,-107,-109,-111,-112,-113,-115,-116,-117,-118,-120,-121,-122,-122,-123,-124,-125,-125,-126,-126,-126,-127,-127,-127,-127,-127,-127,-127,-126,-126,-126,-125,-125,-124,-123,-122,-122,-121,-120,-118,-117,-116,-115,-113,-112,-111,-109,-107,-106,-104,-102,-100,-98,-96,-94,-92,-90,-88,-85,-83,-81,-78,-76,-73,-71,-68,-65,-63,-60,-57,-54,-51,-49,-46,-43,-40,-37,-34,-31,-28,-25,-22,-19,-16,-12,-9,-6,-3}; +const signed char sinus[256] PROGMEM = {0,3,6,9,12,16,19,22,25,28,31,34,37,40,43,46,49,51,54,57,60,63,65,68,71,73,76,78,81,83,85,88,90,92,94,96,98,100,102,104,106,107,109,111,112,113,115,116,117,118,120,121,122,122,123,124,125,125,126,126,126,127,127,127,127,127,127,127,126,126,126,125,125,124,123,122,122,121,120,118,117,116,115,113,112,111,109,107,106,104,102,100,98,96,94,92,90,88,85,83,81,78,76,73,71,68,65,63,60,57,54,51,49,46,43,40,37,34,31,28,25,22,19,16,12,9,6,3,0,-3,-6,-9,-12,-16,-19,-22,-25,-28,-31,-34,-37,-40,-43,-46,-49,-51,-54,-57,-60,-63,-65,-68,-71,-73,-76,-78,-81,-83,-85,-88,-90,-92,-94,-96,-98,-100,-102,-104,-106,-107,-109,-111,-112,-113,-115,-116,-117,-118,-120,-121,-122,-122,-123,-124,-125,-125,-126,-126,-126,-127,-127,-127,-127,-127,-127,-127,-126,-126,-126,-125,-125,-124,-123,-122,-122,-121,-120,-118,-117,-116,-115,-113,-112,-111,-109,-107,-106,-104,-102,-100,-98,-96,-94,-92,-90,-88,-85,-83,-81,-78,-76,-73,-71,-68,-65,-63,-60,-57,-54,-51,-49,-46,-43,-40,-37,-34,-31,-28,-25,-22,-19,-16,-12,-9,-6,-3}; //tab42496 const unsigned char rectangle[] PROGMEM = diff --git a/libesp32/ESP8266SAM/src/SamData.h b/lib/ESP8266SAM/src/SamData.h similarity index 100% rename from libesp32/ESP8266SAM/src/SamData.h rename to lib/ESP8266SAM/src/SamData.h diff --git a/libesp32/ESP8266SAM/src/SamTabs.h b/lib/ESP8266SAM/src/SamTabs.h similarity index 99% rename from libesp32/ESP8266SAM/src/SamTabs.h rename to lib/ESP8266SAM/src/SamTabs.h index 031d1a52a..f334d70b4 100755 --- a/libesp32/ESP8266SAM/src/SamTabs.h +++ b/lib/ESP8266SAM/src/SamTabs.h @@ -2,7 +2,7 @@ #define SAMTABS_H #include -#include "debug.h" +#include "samdebug.h" #if debug #define PROGMEM #endif diff --git a/libesp32/ESP8266SAM/src/reciter.c b/lib/ESP8266SAM/src/reciter.c similarity index 99% rename from libesp32/ESP8266SAM/src/reciter.c rename to lib/ESP8266SAM/src/reciter.c index d56dbf938..f883e572f 100755 --- a/libesp32/ESP8266SAM/src/reciter.c +++ b/lib/ESP8266SAM/src/reciter.c @@ -2,7 +2,7 @@ #include #include "reciter.h" #include "ReciterTabs.h" -#include "debug.h" +#include "samdebug.h" #include "SamData.h" unsigned char A, X, Y; diff --git a/libesp32/ESP8266SAM/src/reciter.h b/lib/ESP8266SAM/src/reciter.h similarity index 100% rename from libesp32/ESP8266SAM/src/reciter.h rename to lib/ESP8266SAM/src/reciter.h diff --git a/libesp32/ESP8266SAM/src/render.c b/lib/ESP8266SAM/src/render.c similarity index 99% rename from libesp32/ESP8266SAM/src/render.c rename to lib/ESP8266SAM/src/render.c index 4e85eee87..32bae22ee 100755 --- a/libesp32/ESP8266SAM/src/render.c +++ b/lib/ESP8266SAM/src/render.c @@ -5,7 +5,7 @@ #include "render.h" #include "RenderTabs.h" -#include "debug.h" +#include "samdebug.h" //extern int debug; #include #include "SamData.h" diff --git a/libesp32/ESP8266SAM/src/render.h b/lib/ESP8266SAM/src/render.h similarity index 100% rename from libesp32/ESP8266SAM/src/render.h rename to lib/ESP8266SAM/src/render.h diff --git a/libesp32/ESP8266SAM/src/sam.c b/lib/ESP8266SAM/src/sam.c similarity index 100% rename from libesp32/ESP8266SAM/src/sam.c rename to lib/ESP8266SAM/src/sam.c diff --git a/libesp32/ESP8266SAM/src/sam.h b/lib/ESP8266SAM/src/sam.h similarity index 100% rename from libesp32/ESP8266SAM/src/sam.h rename to lib/ESP8266SAM/src/sam.h diff --git a/libesp32/ESP8266SAM/src/debug.c b/lib/ESP8266SAM/src/samdebug.c similarity index 100% rename from libesp32/ESP8266SAM/src/debug.c rename to lib/ESP8266SAM/src/samdebug.c diff --git a/libesp32/ESP8266SAM/src/debug.h b/lib/ESP8266SAM/src/samdebug.h similarity index 100% rename from libesp32/ESP8266SAM/src/debug.h rename to lib/ESP8266SAM/src/samdebug.h diff --git a/tasmota/CHANGELOG.md b/tasmota/CHANGELOG.md index 59788eb4e..14546294e 100644 --- a/tasmota/CHANGELOG.md +++ b/tasmota/CHANGELOG.md @@ -5,6 +5,8 @@ - Add better config corruption recovery (#9046) - Remove support for 1-step upgrade from versions before 6.6.0.11 to versions after 8.4.0.1 - Add command ``SetOption108 0/1`` to enable Teleinfo telemetry into Tasmota Energy MQTT (0) or Teleinfo only (1) in this case MQTT will send RAW Teleinfo telemetry on each frame received and not into Tasmota energy calculation telemetry. +- Change White blend mode moved to using ``SetOption 105`` instead of ``RGBWWTable`` +- Add Virtual CT for 4 channels lights, emulating a 5th channel ### 8.4.0.1 20200730 diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index b967db5b0..774a6dd5b 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -368,8 +368,10 @@ #define DOMOTICZ_OUT_TOPIC "domoticz/out" // Domoticz Output Topic // -- MQTT - Home Assistant Discovery ------------- -#define USE_HOME_ASSISTANT // Enable Home Assistant Discovery Support (+4.1k code, +6 bytes mem) - #define HOME_ASSISTANT_DISCOVERY_PREFIX "homeassistant" // Home Assistant discovery prefix +#define USE_HOME_ASSISTANT // Enable Home Assistant Discovery Support (+4.1k code, +6 bytes mem) + #define HOME_ASSISTANT_DISCOVERY_PREFIX "homeassistant" // Home Assistant discovery prefix + #define HOME_ASSISTANT_LWT_TOPIC "homeassistant/status" // home Assistant Birth and Last Will Topic (default = homeassistant/status) + #define HOME_ASSISTANT_LWT_SUBSCRIBE true // Subscribe to Home Assistant Birth and Last Will Topic (default = true) // -- MQTT - TLS - AWS IoT ------------------------ // Using TLS starting with version v6.5.0.16 compilation will only work using Core 2.4.2 and 2.5.2. No longer supported: 2.3.0 diff --git a/tasmota/support_command.ino b/tasmota/support_command.ino index dd5632d12..ca6067031 100644 --- a/tasmota/support_command.ino +++ b/tasmota/support_command.ino @@ -914,6 +914,8 @@ void CmndSetoption(void) case 20: // SetOption102 - Set Baud rate for Teleinfo serial communication (0 = 1200 or 1 = 9600) case 21: // SetOption103 - Enable TLS mode (requires TLS version) case 22: // SetOption104 - No Retain - disable all MQTT retained messages, some brokers don't support it: AWS IoT, Losant + case 24: // SetOption106 - Virtual CT - Creates a virtual White ColorTemp for RGBW lights + case 25: // SetOption107 - Virtual CT Channel - signals whether the hardware white is cold CW (true) or warm WW (false) restart_flag = 2; break; } diff --git a/tasmota/xdrv_04_light.ino b/tasmota/xdrv_04_light.ino index 908ec026e..941659d62 100644 --- a/tasmota/xdrv_04_light.ino +++ b/tasmota/xdrv_04_light.ino @@ -284,6 +284,7 @@ struct LIGHT { bool update = true; bool pwm_multi_channels = false; // SetOption68, treat each PWM channel as an independant dimmer + bool virtual_ct = false; // SetOption106, add a 5th virtual channel, only if SO106 = 1, SO68 = 0, Light is RGBW (4 channels), SO37 < 128 bool fade_initialized = false; // dont't fade at startup bool fade_running = false; @@ -1281,13 +1282,16 @@ bool LightModuleInit(void) } // post-process for lights + uint32_t pwm_channels = (light_type & 7) > LST_MAX ? LST_MAX : (light_type & 7); if (Settings.flag3.pwm_multi_channels) { // SetOption68 - Enable multi-channels PWM instead of Color PWM - uint32_t pwm_channels = (light_type & 7) > LST_MAX ? LST_MAX : (light_type & 7); if (0 == pwm_channels) { pwm_channels = 1; } devices_present += pwm_channels - 1; // add the pwm channels controls at the end - } else if ((Settings.param[P_RGB_REMAP] & 128) && (LST_RGBW <= (light_type & 7))) { + } else if ((Settings.param[P_RGB_REMAP] & 128) && (LST_RGBW <= pwm_channels)) { // if RGBW or RGBCW, and SetOption37 >= 128, we manage RGB and W separately, hence adding a device devices_present++; + } else if ((Settings.flag4.virtual_ct) && (LST_RGBW == pwm_channels)) { + Light.virtual_ct = true; // enabled + light_type++; // create an additional virtual 5th channel } return (light_type > LT_BASIC); @@ -1314,6 +1318,12 @@ void LightCalcPWMRange(void) { void LightInit(void) { + // move white blend mode from deprecated `RGBWWTable` to `SetOption105` + if (0 == Settings.rgbwwTable[4]) { + Settings.flag4.white_blend_mode = true; + Settings.rgbwwTable[4] = 255; // set RGBWWTable value to its default + } + Light.device = devices_present; Light.subtype = (light_type & 7) > LST_MAX ? LST_MAX : (light_type & 7); // Always 0 - LST_MAX (5) Light.pwm_multi_channels = Settings.flag3.pwm_multi_channels; // SetOption68 - Enable multi-channels PWM instead of Color PWM @@ -1875,10 +1885,6 @@ void LightAnimate(void) Light.new_color[i] = Light.current_color[i]; } } else { -/* - Response_P(PSTR("{\"" D_CMND_WAKEUP "\":\"" D_JSON_DONE "\"}")); - MqttPublishPrefixTopic_P(TELE, PSTR(D_CMND_WAKEUP)); -*/ Response_P(PSTR("{\"" D_CMND_WAKEUP "\":\"" D_JSON_DONE "\"")); ResponseLightState(1); ResponseJsonEnd(); @@ -1939,6 +1945,7 @@ void LightAnimate(void) uint16_t cur_col_10[LST_MAX]; // 10 bits resolution Light.update = false; + bool rgbwwtable_applied = false; // did we already applied RGBWWTable (ex: in white_blend_mode or virtual_ct) // first set 8 and 10 bits channels for (uint32_t i = 0; i < LST_MAX; i++) { @@ -1954,7 +1961,7 @@ void LightAnimate(void) // Now see if we need to mix RGB and True White // Valid only for LST_RGBW, LST_RGBCW, rgbwwTable[4] is zero, and white is zero (see doc) - if ((LST_RGBW <= Light.subtype) && (0 == Settings.rgbwwTable[4]) && (0 == cur_col_10[3]+cur_col_10[4])) { + if ((LST_RGBW <= Light.subtype) && (Settings.flag4.white_blend_mode) && (0 == cur_col_10[3]+cur_col_10[4])) { uint32_t min_rgb_10 = min3(cur_col_10[0], cur_col_10[1], cur_col_10[2]); for (uint32_t i=0; i<3; i++) { // substract white and adjust according to rgbwwTable @@ -1974,18 +1981,34 @@ void LightAnimate(void) cur_col_10[4] = changeUIntScale(ct, 0, 1023, 0, white_10); cur_col_10[3] = white_10 - cur_col_10[4]; } + rgbwwtable_applied = true; + } else if ((Light.virtual_ct) && (0 == cur_col_10[0]+cur_col_10[1]+cur_col_10[2])) { + // virtual_ct is on and we don't have any RGB set + uint16_t sw_white = Settings.flag4.virtual_ct_cw ? cur_col_10[4] : cur_col_10[3]; // white power for virtual RGB + uint16_t hw_white = Settings.flag4.virtual_ct_cw ? cur_col_10[3] : cur_col_10[4]; // white for hardware LED + uint32_t adjust_sw = change8to10(Settings.flag4.virtual_ct_cw ? Settings.rgbwwTable[4] : Settings.rgbwwTable[3]); + uint32_t adjust_hw = change8to10(Settings.flag4.virtual_ct_cw ? Settings.rgbwwTable[3] : Settings.rgbwwTable[4]); + // set the target channels. Note: Gamma correction was arleady applied + cur_col_10[3] = changeUIntScale(hw_white, 0, 1023, 0, adjust_hw); + cur_col_10[4] = 0; // we don't actually have a 5the channel + sw_white = changeUIntScale(sw_white, 0, 1023, 0, adjust_sw); // pre-adjust virtual channel + for (uint32_t i=0; i<3; i++) { + uint32_t adjust = change8to10(Settings.rgbwwTable[i]); + cur_col_10[i] = changeUIntScale(sw_white, 0, 1023, 0, adjust); + } + rgbwwtable_applied = true; } } - // Apply RGBWWTable only if Settings.rgbwwTable[4] != 0 - if (0 != Settings.rgbwwTable[4]) { + // Apply RGBWWTable only if not Settings.flag4.white_blend_mode + if (!rgbwwtable_applied) { for (uint32_t i = 0; i 0) ? changeUIntScale(cur_col_10[i], 1, 1023, 1, Settings.pwm_range) : 0; diff --git a/tasmota/xdrv_12_home_assistant.ino b/tasmota/xdrv_12_home_assistant.ino index e4d523b20..0e016cd6e 100644 --- a/tasmota/xdrv_12_home_assistant.ino +++ b/tasmota/xdrv_12_home_assistant.ino @@ -823,7 +823,7 @@ void HAssAnnounceDeviceInfoAndStatusSensor(void) MqttPublish(stopic, true); if (!Settings.flag.hass_discovery) { masterlog_level = 0; - AddLog_P2(LOG_LEVEL_INFO, PSTR("LOG: Home Assistant Discovery disabled")); + AddLog_P2(LOG_LEVEL_INFO, PSTR(D_LOG_LOG "Home Assistant Discovery disabled. ")); } } @@ -925,6 +925,26 @@ void HAssAnyKey(void) MqttPublish(stopic); } +bool HAssMqttLWT(void) +{ + if (strncasecmp_P(XdrvMailbox.topic, PSTR(HOME_ASSISTANT_LWT_TOPIC), strlen(HOME_ASSISTANT_LWT_TOPIC)) != 0) { + return false; + } + if (Settings.flag.hass_discovery && (strncasecmp_P(XdrvMailbox.data, PSTR("online"), strlen("online")) == 0) && (XdrvMailbox.data_len == 6)) { + MqttPublishTeleState(); + return true; + } +} + +void HassLwtSubscribe(bool hasslwt) +{ + char htopic[TOPSZ]; + snprintf_P(htopic, sizeof(htopic), PSTR(HOME_ASSISTANT_LWT_TOPIC)); + if (hasslwt) { + MqttSubscribe(htopic); + } else { MqttUnsubscribe(htopic); } +} + /*********************************************************************************************\ * Interface \*********************************************************************************************/ @@ -932,6 +952,7 @@ void HAssAnyKey(void) bool Xdrv12(uint8_t function) { bool result = false; + bool hasslwt = HOME_ASSISTANT_LWT_SUBSCRIBE; if (Settings.flag.mqtt_enabled) { // SetOption3 - Enable MQTT switch (function) @@ -951,7 +972,6 @@ bool Xdrv12(uint8_t function) if (hass_tele_period >= Settings.tele_period) { hass_tele_period = 0; - mqtt_data[0] = '\0'; HAssPublishStatus(); } @@ -963,9 +983,15 @@ bool Xdrv12(uint8_t function) case FUNC_MQTT_INIT: hass_mode = 0; // Discovery only if Settings.flag.hass_discovery is set hass_init_step = 2; // Delayed discovery + break; // if (!Settings.flag.hass_discovery) { // AddLog_P2(LOG_LEVEL_INFO, PSTR("MQT: homeassistant/49A3BC/Discovery = {\"dev\":{\"ids\":[\"49A3BC\"]},\"cmd_t\":\"cmnd/test1/\",\"Discovery\":0}")); // } + case FUNC_MQTT_SUBSCRIBE: + HassLwtSubscribe(hasslwt); + break; + case FUNC_MQTT_DATA: + result = HAssMqttLWT(); break; } } diff --git a/tasmota/xdrv_13_display.ino b/tasmota/xdrv_13_display.ino index c7fd625db..1b1013340 100644 --- a/tasmota/xdrv_13_display.ino +++ b/tasmota/xdrv_13_display.ino @@ -1513,12 +1513,7 @@ void rgb888_to_565(uint8_t *in, uint16_t *out, uint32_t len); #endif #if defined(USE_SCRIPT_FATFS) && defined(USE_SCRIPT) - -#ifdef ESP32 extern FS *fsp; -#else -extern SDClass *fsp; -#endif #define XBUFF_LEN 128 void Draw_RGB_Bitmap(char *file,uint16_t xp, uint16_t yp) { if (!renderer) return; diff --git a/tasmota/xdrv_38_ping.ino b/tasmota/xdrv_38_ping.ino index af6b634d5..e616a9705 100644 --- a/tasmota/xdrv_38_ping.ino +++ b/tasmota/xdrv_38_ping.ino @@ -333,6 +333,14 @@ void CmndPing(void) { } else if (-1 == res) { ResponseCmndChar_P(PSTR("Ping already ongoing for this IP")); } else { + Response_P(PSTR("{\"" D_JSON_PING "\":{\"%s\":{" + "\"Reachable\":false" + ",\"IP\":\"\"" + ",\"Success\":false" + "}}}"), + XdrvMailbox.data + ); + MqttPublishPrefixTopicRulesProcess_P(RESULT_OR_TELE, PSTR(D_JSON_PING)); ResponseCmndChar_P(PSTR("Unable to resolve IP address")); } } diff --git a/tasmota/xdrv_42_i2s_audio.ino b/tasmota/xdrv_42_i2s_audio.ino index 0fd11ad5d..3c50e1fae 100644 --- a/tasmota/xdrv_42_i2s_audio.ino +++ b/tasmota/xdrv_42_i2s_audio.ino @@ -17,20 +17,36 @@ along with this program. If not, see . */ -#if defined(ESP32) && (defined(USE_I2S_AUDIO) || defined(USE_TTGO_WATCH)) - +#if (defined(USE_I2S_AUDIO) || defined(USE_TTGO_WATCH)) #include "AudioFileSourcePROGMEM.h" #include "AudioFileSourceID3.h" #include "AudioGeneratorMP3.h" #include "AudioOutputI2S.h" #include #include "AudioFileSourceFS.h" +#ifdef SAY_TIME +#include "AudioGeneratorTalkie.h" +#endif + +#ifdef USE_TTGO_WATCH +#undef TTGO_PWR_ON +#undef TTGO_PWR_OFF +#define TTGO_PWR_ON TTGO_audio_power(true); +#define TTGO_PWR_OFF TTGO_audio_power(false); +#else +#undef TTGO_PWR_ON +#undef TTGO_PWR_OFF +#define TTGO_PWR_ON +#define TTGO_PWR_OFF +#endif // USE_TTGO_WATCH + // unfortunately tasks do not help very much, // mp3 is extremely sensitive to interruptions // also mp3 needs 240 Mhz CPU clock +#ifdef ESP32 #define MP3_TASK - +#endif #define EXTERNAL_DAC_PLAY 1 @@ -41,6 +57,9 @@ AudioFileSourceFS *file; AudioOutputI2S *out; AudioFileSourceID3 *id3; +#ifdef SAY_TIME +AudioGeneratorTalkie *talkie = nullptr; +#endif //! MAX98357A + INMP441 DOUBLE I2S BOARD #ifdef ESP32 @@ -60,20 +79,121 @@ AudioFileSourceID3 *id3; #endif -uint8_t volume; +#ifdef SAY_TIME +long timezone = 2; +byte daysavetime = 1; + +uint8_t spTHE[] PROGMEM = {0x08,0xE8,0x3E,0x55,0x01,0xC3,0x86,0x27,0xAF,0x72,0x0D,0x4D,0x97,0xD5,0xBC,0x64,0x3C,0xF2,0x5C,0x51,0xF1,0x93,0x36,0x8F,0x4F,0x59,0x2A,0x42,0x7A,0x32,0xC3,0x64,0xFF,0x3F}; +uint8_t spTIME[] PROGMEM = {0x0E,0x28,0xAC,0x2D,0x01,0x5D,0xB6,0x0D,0x33,0xF3,0x54,0xB3,0x60,0xBA,0x8C,0x54,0x5C,0xCD,0x2D,0xD4,0x32,0x73,0x0F,0x8E,0x34,0x33,0xCB,0x4A,0x25,0xD4,0x25,0x83,0x2C,0x2B,0xD5,0x50,0x97,0x08,0x32,0xEC,0xD4,0xDC,0x4C,0x33,0xC8,0x70,0x73,0x0F,0x33,0xCD,0x20,0xC3,0xCB,0x43,0xDD,0x3C,0xCD,0x8C,0x20,0x77,0x89,0xF4,0x94,0xB2,0xE2,0xE2,0x35,0x22,0x5D,0xD6,0x4A,0x8A,0x96,0xCC,0x36,0x25,0x2D,0xC9,0x9A,0x7B,0xC2,0x18,0x87,0x24,0x4B,0x1C,0xC9,0x50,0x19,0x92,0x2C,0x71,0x34,0x4B,0x45,0x8A,0x8B,0xC4,0x96,0xB6,0x5A,0x29,0x2A,0x92,0x5A,0xCA,0x53,0x96,0x20,0x05,0x09,0xF5,0x92,0x5D,0xBC,0xE8,0x58,0x4A,0xDD,0xAE,0x73,0xBD,0x65,0x4B,0x8D,0x78,0xCA,0x2B,0x4E,0xD8,0xD9,0xED,0x22,0x20,0x06,0x75,0x00,0x00,0x80,0xFF,0x07}; +uint8_t spIS[] PROGMEM = {0x21,0x18,0x96,0x38,0xB7,0x14,0x8D,0x60,0x3A,0xA6,0xE8,0x51,0xB4,0xDC,0x2E,0x48,0x7B,0x5A,0xF1,0x70,0x1B,0xA3,0xEC,0x09,0xC6,0xCB,0xEB,0x92,0x3D,0xA7,0x69,0x1F,0xAF,0x71,0x89,0x9C,0xA2,0xB3,0xFC,0xCA,0x35,0x72,0x9A,0xD1,0xF0,0xAB,0x12,0xB3,0x2B,0xC6,0xCD,0x4F,0xCC,0x32,0x26,0x19,0x07,0xDF,0x0B,0x8F,0xB8,0xA4,0xED,0x7C,0xCF,0x23,0x62,0x8B,0x8E,0xF1,0x23,0x0A,0x8B,0x6E,0xCB,0xCE,0xEF,0x54,0x44,0x3C,0xDC,0x08,0x60,0x0B,0x37,0x01,0x1C,0x53,0x26,0x80,0x15,0x4E,0x14,0xB0,0x54,0x2B,0x02,0xA4,0x69,0xFF,0x7F}; +uint8_t spA_M_[] PROGMEM = {0xCD,0xEF,0x86,0xAB,0x57,0x6D,0x0F,0xAF,0x71,0xAD,0x49,0x55,0x3C,0xFC,0x2E,0xC5,0xB7,0x5C,0xF1,0xF2,0x87,0x66,0xDD,0x4E,0xC5,0xC3,0xEF,0x92,0xE2,0x3A,0x65,0xB7,0xA0,0x09,0xAA,0x1B,0x97,0x54,0x82,0x2E,0x28,0x77,0x5C,0x52,0x09,0x1A,0xA3,0xB8,0x76,0x49,0x25,0x68,0x8C,0x73,0xDB,0x24,0x95,0xA0,0x32,0xA9,0x6B,0xA7,0xD9,0x82,0x26,0xA9,0x76,0x42,0xD6,0x08,0xBA,0xE1,0xE8,0x0E,0x5A,0x2B,0xEA,0x9E,0x3D,0x27,0x18,0xAD,0xA8,0x07,0xF1,0x98,0x90,0x35,0xA2,0x96,0x44,0xA3,0x5D,0x66,0x8B,0x6B,0x12,0xCD,0x32,0x85,0x25,0xC9,0x81,0x2D,0xC3,0x64,0x85,0x34,0x58,0x89,0x94,0x52,0x1C,0x52,0x2F,0x35,0xDA,0xC7,0x51,0x48,0x23,0x97,0xCC,0x2C,0x97,0x2E,0xF3,0x5C,0xF3,0xA2,0x14,0xBA,0x2C,0x48,0xCE,0xCA,0x76,0xE8,0x32,0x2F,0x34,0xB2,0xDB,0x85,0xC9,0x83,0x90,0xA8,0x2C,0x57,0x26,0x8F,0x9C,0xBD,0xA2,0x53,0xD9,0xC2,0x54,0x59,0x28,0x99,0x4B,0x2C,0x5D,0xFF,0x3F}; +uint8_t spP_M_[] PROGMEM = {0x0E,0x98,0x41,0x54,0x00,0x43,0xA0,0x05,0xAB,0x42,0x8E,0x1D,0xA3,0x15,0xEC,0x4E,0x58,0xF7,0x92,0x66,0x70,0x1B,0x66,0xDB,0x73,0x99,0xC1,0xEB,0x98,0xED,0xD6,0x25,0x25,0x6F,0x70,0x92,0xDD,0x64,0xD8,0xFC,0x61,0xD0,0x66,0x83,0xD6,0x0A,0x86,0x23,0xAB,0x69,0xDA,0x2B,0x18,0x9E,0x3D,0x37,0x69,0x9D,0xA8,0x07,0x71,0x9F,0xA0,0xBD,0xA2,0x16,0xD5,0x7C,0x54,0xF6,0x88,0x6B,0x54,0x8B,0x34,0x49,0x2D,0x29,0x49,0x3C,0x34,0x64,0xA5,0x24,0x1B,0x36,0xD7,0x72,0x13,0x92,0xA4,0xC4,0x2D,0xC3,0xB3,0x4B,0xA3,0x62,0x0F,0x2B,0x37,0x6E,0x8B,0x5A,0xD4,0x3D,0xDD,0x9A,0x2D,0x50,0x93,0xF6,0x4C,0xAA,0xB6,0xC4,0x85,0x3B,0xB2,0xB1,0xD8,0x93,0x20,0x4D,0x8F,0x24,0xFF,0x0F}; +uint8_t spOH[] PROGMEM = {0xC6,0xC9,0x71,0x5A,0xA2,0x92,0x14,0x2F,0x6E,0x97,0x9C,0x46,0x9D,0xDC,0xB0,0x4D,0x62,0x1B,0x55,0x70,0xDD,0x55,0xBE,0x0E,0x36,0xC1,0x33,0x37,0xA9,0xA7,0x51,0x1B,0xCF,0x3C,0xA5,0x9E,0x44,0xAC,0x3C,0x7D,0x98,0x7B,0x52,0x96,0x72,0x65,0x4B,0xF6,0x1A,0xD9,0xCA,0xF5,0x91,0x2D,0xA2,0x2A,0x4B,0xF7,0xFF,0x01}; +uint8_t spOCLOCK[] PROGMEM = {0x21,0x4E,0x3D,0xB8,0x2B,0x19,0xBB,0x24,0x0E,0xE5,0xEC,0x60,0xE4,0xF2,0x90,0x13,0xD4,0x2A,0x11,0x80,0x00,0x42,0x69,0x26,0x40,0xD0,0x2B,0x04,0x68,0xE0,0x4D,0x00,0x3A,0x35,0x35,0x33,0xB6,0x51,0xD9,0x64,0x34,0x82,0xB4,0x9A,0x63,0x92,0x55,0x89,0x52,0x5B,0xCA,0x2E,0x34,0x25,0x4E,0x63,0x28,0x3A,0x50,0x95,0x26,0x8D,0xE6,0xAA,0x64,0x58,0xEA,0x92,0xCE,0xC2,0x46,0x15,0x9B,0x86,0xCD,0x2A,0x2E,0x37,0x00,0x00,0x00,0x0C,0xC8,0xDD,0x05,0x01,0xB9,0x33,0x21,0xA0,0x74,0xD7,0xFF,0x07}; +uint8_t spONE[] PROGMEM = {0xCC,0x67,0x75,0x42,0x59,0x5D,0x3A,0x4F,0x9D,0x36,0x63,0xB7,0x59,0xDC,0x30,0x5B,0x5C,0x23,0x61,0xF3,0xE2,0x1C,0xF1,0xF0,0x98,0xC3,0x4B,0x7D,0x39,0xCA,0x1D,0x2C,0x2F,0xB7,0x15,0xEF,0x70,0x79,0xBC,0xD2,0x46,0x7C,0x52,0xE5,0xF1,0x4A,0x6A,0xB3,0x71,0x47,0xC3,0x2D,0x39,0x34,0x4B,0x23,0x35,0xB7,0x7A,0x55,0x33,0x8F,0x59,0xDC,0xA2,0x44,0xB5,0xBC,0x66,0x72,0x8B,0x64,0xF5,0xF6,0x98,0xC1,0x4D,0x42,0xD4,0x27,0x62,0x38,0x2F,0x4A,0xB6,0x9C,0x88,0x68,0xBC,0xA6,0x95,0xF8,0x5C,0xA1,0x09,0x86,0x77,0x91,0x11,0x5B,0xFF,0x0F}; +uint8_t spTWO[] PROGMEM = {0x0E,0x38,0x6E,0x25,0x00,0xA3,0x0D,0x3A,0xA0,0x37,0xC5,0xA0,0x05,0x9E,0x56,0x35,0x86,0xAA,0x5E,0x8C,0xA4,0x82,0xB2,0xD7,0x74,0x31,0x22,0x69,0xAD,0x1C,0xD3,0xC1,0xD0,0xFA,0x28,0x2B,0x2D,0x47,0xC3,0x1B,0xC2,0xC4,0xAE,0xC6,0xCD,0x9C,0x48,0x53,0x9A,0xFF,0x0F}; +uint8_t spTHREE[] PROGMEM = {0x02,0xD8,0x2E,0x9C,0x01,0xDB,0xA6,0x33,0x60,0xFB,0x30,0x01,0xEC,0x20,0x12,0x8C,0xE4,0xD8,0xCA,0x32,0x96,0x73,0x63,0x41,0x39,0x89,0x98,0xC1,0x4D,0x0D,0xED,0xB0,0x2A,0x05,0x37,0x0F,0xB4,0xA5,0xAE,0x5C,0xDC,0x36,0xD0,0x83,0x2F,0x4A,0x71,0x7B,0x03,0xF7,0x38,0x59,0xCD,0xED,0x1E,0xB4,0x6B,0x14,0x35,0xB7,0x6B,0x94,0x99,0x91,0xD5,0xDC,0x26,0x48,0x77,0x4B,0x66,0x71,0x1B,0x21,0xDB,0x2D,0x8A,0xC9,0x6D,0x88,0xFC,0x26,0x28,0x3A,0xB7,0x21,0xF4,0x1F,0xA3,0x65,0xBC,0x02,0x38,0xBB,0x3D,0x8E,0xF0,0x2B,0xE2,0x08,0xB7,0x34,0xFF,0x0F}; +uint8_t spFOUR[] PROGMEM = {0x0C,0x18,0xB6,0x9A,0x01,0xC3,0x75,0x09,0x60,0xD8,0x0E,0x09,0x30,0xA0,0x9B,0xB6,0xA0,0xBB,0xB0,0xAA,0x16,0x4E,0x82,0xEB,0xEA,0xA9,0xFA,0x59,0x49,0x9E,0x59,0x23,0x9A,0x27,0x3B,0x78,0x66,0xAE,0x4A,0x9C,0x9C,0xE0,0x99,0xD3,0x2A,0xBD,0x72,0x92,0xEF,0xE6,0x88,0xE4,0x45,0x4D,0x7E,0x98,0x2D,0x62,0x67,0x37,0xF9,0xA1,0x37,0xA7,0x6C,0x94,0xE4,0xC7,0x1E,0xDC,0x3C,0xA5,0x83,0x1F,0x8B,0xEB,0x52,0x0E,0x0E,0x7E,0x2E,0x4E,0xC7,0x31,0xD2,0x79,0xA5,0x3A,0x0D,0xD9,0xC4,0xFF,0x07}; +uint8_t spFIVE[] PROGMEM = {0x02,0xE8,0x3E,0x8C,0x01,0xDD,0x65,0x08,0x60,0x98,0x4C,0x06,0x34,0x93,0xCE,0x80,0xE6,0xDA,0x9A,0x14,0x6B,0xAA,0x47,0xD1,0x5E,0x56,0xAA,0x6D,0x56,0xCD,0x78,0xD9,0xA9,0x1C,0x67,0x05,0x83,0xE1,0xA4,0xBA,0x38,0xEE,0x16,0x86,0x9B,0xFA,0x60,0x87,0x5B,0x18,0x6E,0xEE,0x8B,0x1D,0x6E,0x61,0xB9,0x69,0x36,0x65,0xBA,0x8D,0xE5,0xE5,0x3E,0x1C,0xE9,0x0E,0x96,0x9B,0x5B,0xAB,0x95,0x2B,0x58,0x6E,0xCE,0xE5,0x3A,0x6A,0xF3,0xB8,0x35,0x84,0x7B,0x05,0xA3,0xE3,0x36,0xEF,0x92,0x19,0xB4,0x86,0xDB,0xB4,0x69,0xB4,0xD1,0x2A,0x4E,0x65,0x9A,0x99,0xCE,0x28,0xD9,0x85,0x71,0x4C,0x18,0x6D,0x67,0x47,0xC6,0x5E,0x53,0x4A,0x9C,0xB5,0xE2,0x85,0x45,0x26,0xFE,0x7F}; +uint8_t spSIX[] PROGMEM = {0x0E,0xD8,0xAE,0xDD,0x03,0x0E,0x38,0xA6,0xD2,0x01,0xD3,0xB4,0x2C,0xAD,0x6A,0x35,0x9D,0xB1,0x7D,0xDC,0xEE,0xC4,0x65,0xD7,0xF1,0x72,0x47,0x24,0xB3,0x19,0xD9,0xD9,0x05,0x70,0x40,0x49,0xEA,0x02,0x98,0xBE,0x42,0x01,0xDF,0xA4,0x69,0x40,0x00,0xDF,0x95,0xFC,0x3F}; +uint8_t spSEVEN[] PROGMEM = {0x02,0xB8,0x3A,0x8C,0x01,0xDF,0xA4,0x73,0x40,0x01,0x47,0xB9,0x2F,0x33,0x3B,0x73,0x5F,0x53,0x7C,0xEC,0x9A,0xC5,0x63,0xD5,0xD1,0x75,0xAE,0x5B,0xFC,0x64,0x5C,0x35,0x87,0x91,0xF1,0x83,0x36,0xB5,0x68,0x55,0xC5,0x6F,0xDA,0x45,0x2D,0x1C,0x2D,0xB7,0x38,0x37,0x9F,0x60,0x3C,0xBC,0x9A,0x85,0xA3,0x25,0x66,0xF7,0x8A,0x57,0x1C,0xA9,0x67,0x56,0xCA,0x5E,0xF0,0xB2,0x16,0xB2,0xF1,0x89,0xCE,0x8B,0x92,0x25,0xC7,0x2B,0x33,0xCF,0x48,0xB1,0x99,0xB4,0xF3,0xFF}; +uint8_t spEIGHT[] PROGMEM = {0xC3,0x6C,0x86,0xB3,0x27,0x6D,0x0F,0xA7,0x48,0x99,0x4E,0x55,0x3C,0xBC,0x22,0x65,0x36,0x4D,0xD1,0xF0,0x32,0xD3,0xBE,0x34,0xDA,0xC3,0xEB,0x82,0xE2,0xDA,0x65,0x35,0xAF,0x31,0xF2,0x6B,0x97,0x95,0xBC,0x86,0xD8,0x6F,0x82,0xA6,0x73,0x0B,0xC6,0x9E,0x72,0x99,0xCC,0xCB,0x02,0xAD,0x3C,0x9A,0x10,0x60,0xAB,0x62,0x05,0x2C,0x37,0x84,0x00,0xA9,0x73,0x00,0x00,0xFE,0x1F}; +uint8_t spNINE[] PROGMEM = {0xCC,0xA1,0x26,0xBB,0x83,0x93,0x18,0xCF,0x4A,0xAD,0x2E,0x31,0xED,0x3C,0xA7,0x24,0x26,0xC3,0x54,0xF1,0x92,0x64,0x8B,0x8A,0x98,0xCB,0x2B,0x2E,0x34,0x53,0x2D,0x0E,0x2F,0x57,0xB3,0x0C,0x0D,0x3C,0xBC,0x3C,0x4C,0x4B,0xCA,0xF4,0xF0,0x72,0x0F,0x6E,0x49,0x53,0xCD,0xCB,0x53,0x2D,0x35,0x4D,0x0F,0x2F,0x0F,0xD7,0x0C,0x0D,0x3D,0xBC,0xDC,0x4D,0xD3,0xDD,0xC2,0xF0,0x72,0x52,0x4F,0x57,0x9B,0xC3,0xAB,0x89,0xBD,0x42,0x2D,0x0F,0xAF,0x5A,0xD1,0x71,0x91,0x55,0xBC,0x2C,0xC5,0x3B,0xD8,0x65,0xF2,0x82,0x94,0x18,0x4E,0x3B,0xC1,0x73,0x42,0x32,0x33,0x15,0x45,0x4F,0x79,0x52,0x6A,0x55,0xA6,0xA3,0xFF,0x07}; +uint8_t spTEN[] PROGMEM = {0x0E,0xD8,0xB1,0xDD,0x01,0x3D,0xA8,0x24,0x7B,0x04,0x27,0x76,0x77,0xDC,0xEC,0xC2,0xC5,0x23,0x84,0xCD,0x72,0x9A,0x51,0xF7,0x62,0x45,0xC7,0xEB,0x4E,0x35,0x4A,0x14,0x2D,0xBF,0x45,0xB6,0x0A,0x75,0xB8,0xFC,0x16,0xD9,0x2A,0xD9,0xD6,0x0A,0x5A,0x10,0xCD,0xA2,0x48,0x23,0xA8,0x81,0x35,0x4B,0x2C,0xA7,0x20,0x69,0x0A,0xAF,0xB6,0x15,0x82,0xA4,0x29,0x3C,0xC7,0x52,0x08,0xA2,0x22,0xCF,0x68,0x4B,0x2E,0xF0,0x8A,0xBD,0xA3,0x2C,0xAB,0x40,0x1B,0xCE,0xAA,0xB2,0x6C,0x82,0x40,0x4D,0x7D,0xC2,0x89,0x88,0x8A,0x61,0xCC,0x74,0xD5,0xFF,0x0F}; +uint8_t spELEVEN[] PROGMEM = {0xC3,0xCD,0x76,0x5C,0xAE,0x14,0x0F,0x37,0x9B,0x71,0xDE,0x92,0x55,0xBC,0x2C,0x27,0x70,0xD3,0x76,0xF0,0x83,0x5E,0xA3,0x5E,0x5A,0xC1,0xF7,0x61,0x58,0xA7,0x19,0x35,0x3F,0x99,0x31,0xDE,0x52,0x74,0xFC,0xA2,0x26,0x64,0x4B,0xD1,0xF1,0xAB,0xAE,0xD0,0x2D,0xC5,0xC7,0x2F,0x36,0xDD,0x27,0x15,0x0F,0x3F,0xD9,0x08,0x9F,0x62,0xE4,0xC2,0x2C,0xD4,0xD8,0xD3,0x89,0x0B,0x1B,0x57,0x11,0x0B,0x3B,0xC5,0xCF,0xD6,0xCC,0xC6,0x64,0x35,0xAF,0x18,0x73,0x1F,0xA1,0x5D,0xBC,0x62,0x45,0xB3,0x45,0x51,0xF0,0xA2,0x62,0xAB,0x4A,0x5B,0xC9,0x4B,0x8A,0x2D,0xB3,0x6C,0x06,0x2F,0x29,0xB2,0xAC,0x8A,0x18,0xBC,0x28,0xD9,0xAA,0xD2,0x92,0xF1,0xBC,0xE0,0x98,0x8C,0x48,0xCC,0x17,0x52,0xA3,0x27,0x6D,0x93,0xD0,0x4B,0x8E,0x0E,0x77,0x02,0x00,0xFF,0x0F}; +uint8_t spTWELVE[] PROGMEM = {0x06,0x28,0x46,0xD3,0x01,0x25,0x06,0x13,0x20,0xBA,0x70,0x70,0xB6,0x79,0xCA,0x36,0xAE,0x28,0x38,0xE1,0x29,0xC5,0x35,0xA3,0xE6,0xC4,0x16,0x6A,0x53,0x8C,0x97,0x9B,0x72,0x86,0x4F,0x28,0x1A,0x6E,0x0A,0x59,0x36,0xAE,0x68,0xF8,0x29,0x67,0xFA,0x06,0xA3,0x16,0xC4,0x96,0xE6,0x53,0xAC,0x5A,0x9C,0x56,0x72,0x77,0x31,0x4E,0x49,0x5C,0x8D,0x5B,0x29,0x3B,0x24,0x61,0x1E,0x6C,0x9B,0x6C,0x97,0xF8,0xA7,0x34,0x19,0x92,0x4C,0x62,0x9E,0x72,0x65,0x58,0x12,0xB1,0x7E,0x09,0xD5,0x2E,0x53,0xC5,0xBA,0x36,0x6B,0xB9,0x2D,0x17,0x05,0xEE,0x9A,0x6E,0x8E,0x05,0x50,0x6C,0x19,0x07,0x18,0x50,0xBD,0x3B,0x01,0x92,0x08,0x41,0x40,0x10,0xA6,0xFF,0x0F}; +uint8_t spTHIRTEEN[] PROGMEM = {0x08,0xE8,0x2C,0x15,0x01,0x43,0x07,0x13,0xE0,0x98,0xB4,0xA6,0x35,0xA9,0x1E,0xDE,0x56,0x8E,0x53,0x9C,0x7A,0xE7,0xCA,0x5E,0x76,0x8D,0x94,0xE5,0x2B,0xAB,0xD9,0xB5,0x62,0xA4,0x9C,0xE4,0xE6,0xB4,0x41,0x1E,0x7C,0xB6,0x93,0xD7,0x16,0x99,0x5A,0xCD,0x61,0x76,0x55,0xC2,0x91,0x61,0x1B,0xC0,0x01,0x5D,0x85,0x05,0xE0,0x68,0x51,0x07,0x1C,0xA9,0x64,0x80,0x1D,0x4C,0x9C,0x95,0x88,0xD4,0x04,0x3B,0x4D,0x4E,0x21,0x5C,0x93,0xA8,0x26,0xB9,0x05,0x4B,0x6E,0xA0,0xE2,0xE4,0x57,0xC2,0xB9,0xC1,0xB2,0x93,0x5F,0x09,0xD7,0x24,0xCB,0x4E,0x41,0x25,0x54,0x1D,0x62,0x3B,0x05,0x8D,0x52,0x57,0xAA,0xAD,0x10,0x24,0x26,0xE3,0xE1,0x36,0x5D,0x10,0x85,0xB4,0x97,0x85,0x72,0x41,0x14,0x52,0x5E,0x1A,0xCA,0xF9,0x91,0x6B,0x7A,0x5B,0xC4,0xE0,0x17,0x2D,0x54,0x1D,0x92,0x8C,0x1F,0x25,0x4B,0x8F,0xB2,0x16,0x41,0xA1,0x4A,0x3E,0xE6,0xFA,0xFF,0x01}; +uint8_t spFOURTEEN[] PROGMEM = {0x0C,0x58,0xAE,0x5C,0x01,0xD9,0x87,0x07,0x51,0xB7,0x25,0xB3,0x8A,0x15,0x2C,0xF7,0x1C,0x35,0x87,0x4D,0xB2,0xDD,0x53,0xCE,0x28,0x2B,0xC9,0x0E,0x97,0x2D,0xBD,0x2A,0x17,0x27,0x76,0x8E,0xD2,0x9A,0x6C,0x80,0x94,0x71,0x00,0x00,0x02,0xB0,0x58,0x58,0x00,0x9E,0x0B,0x0A,0xC0,0xB2,0xCE,0xC1,0xC8,0x98,0x7A,0x52,0x95,0x24,0x2B,0x11,0xED,0x36,0xD4,0x92,0xDC,0x4C,0xB5,0xC7,0xC8,0x53,0xF1,0x2A,0xE5,0x1A,0x17,0x55,0xC5,0xAF,0x94,0xBB,0xCD,0x1C,0x26,0xBF,0x52,0x9A,0x72,0x53,0x98,0xFC,0xC2,0x68,0xD2,0x4D,0x61,0xF0,0xA3,0x90,0xB6,0xD6,0x50,0xC1,0x8F,0x42,0xDA,0x4A,0x43,0x39,0x3F,0x48,0x2D,0x6B,0x33,0xF9,0xFF}; +uint8_t spFIFTEEN[] PROGMEM = {0x08,0xE8,0x2A,0x0D,0x01,0xDD,0xBA,0x31,0x60,0x6A,0xF7,0xA0,0xAE,0x54,0xAA,0x5A,0x76,0x97,0xD9,0x34,0x69,0xEF,0x32,0x1E,0x66,0xE1,0xE2,0xB3,0x43,0xA9,0x18,0x55,0x92,0x4E,0x37,0x2D,0x67,0x6F,0xDF,0xA2,0x5A,0xB6,0x04,0x30,0x55,0xA8,0x00,0x86,0x09,0xE7,0x00,0x01,0x16,0x17,0x05,0x70,0x40,0x57,0xE5,0x01,0xF8,0x21,0x34,0x00,0xD3,0x19,0x33,0x80,0x89,0x9A,0x62,0x34,0x4C,0xD5,0x49,0xAE,0x8B,0x53,0x09,0xF7,0x26,0xD9,0x6A,0x7E,0x23,0x5C,0x13,0x12,0xB3,0x04,0x9D,0x50,0x4F,0xB1,0xAD,0x14,0x15,0xC2,0xD3,0xA1,0xB6,0x42,0x94,0xA8,0x8C,0x87,0xDB,0x74,0xB1,0x70,0x59,0xE1,0x2E,0xC9,0xC5,0x81,0x5B,0x55,0xA4,0x4C,0x17,0x47,0xC1,0x6D,0xE3,0x81,0x53,0x9C,0x84,0x6A,0x46,0xD9,0x4C,0x51,0x31,0x42,0xD9,0x66,0xC9,0x44,0x85,0x29,0x6A,0x9B,0xAD,0xFF,0x07}; +uint8_t spSIXTEEN[] PROGMEM = {0x0A,0x58,0x5A,0x5D,0x00,0x93,0x97,0x0B,0x60,0xA9,0x48,0x05,0x0C,0x15,0xAE,0x80,0xAD,0x3D,0x14,0x30,0x7D,0xD9,0x50,0x92,0x92,0xAC,0x0D,0xC5,0xCD,0x2A,0x82,0xAA,0x3B,0x98,0x04,0xB3,0x4A,0xC8,0x9A,0x90,0x05,0x09,0x68,0x51,0xD4,0x01,0x23,0x9F,0x1A,0x60,0xA9,0x12,0x03,0xDC,0x50,0x81,0x80,0x22,0xDC,0x20,0x00,0xCB,0x06,0x3A,0x60,0x16,0xE3,0x64,0x64,0x42,0xDD,0xCD,0x6A,0x8A,0x5D,0x28,0x75,0x07,0xA9,0x2A,0x5E,0x65,0x34,0xED,0x64,0xBB,0xF8,0x85,0xF2,0x94,0x8B,0xAD,0xE4,0x37,0x4A,0x5B,0x21,0xB6,0x52,0x50,0x19,0xAD,0xA7,0xD8,0x4A,0x41,0x14,0xDA,0x5E,0x12,0x3A,0x04,0x91,0x4B,0x7B,0x69,0xA8,0x10,0x24,0x2E,0xE5,0xA3,0x81,0x52,0x90,0x94,0x5A,0x55,0x98,0x32,0x41,0x50,0xCC,0x93,0x2E,0x47,0x85,0x89,0x1B,0x5B,0x5A,0x62,0x04,0x44,0xE3,0x02,0x80,0x80,0x64,0xDD,0xFF,0x1F}; +uint8_t spSEVENTEEN[] PROGMEM = {0x02,0x98,0x3A,0x42,0x00,0x5B,0xA6,0x09,0x60,0xDB,0x52,0x06,0x1C,0x93,0x29,0x80,0xA9,0x52,0x87,0x9A,0xB5,0x99,0x4F,0xC8,0x3E,0x46,0xD6,0x5E,0x7E,0x66,0xFB,0x98,0xC5,0x5A,0xC6,0x9A,0x9C,0x63,0x15,0x6B,0x11,0x13,0x8A,0x9C,0x97,0xB9,0x9A,0x5A,0x39,0x71,0xEE,0xD2,0x29,0xC2,0xA6,0xB8,0x58,0x59,0x99,0x56,0x14,0xA3,0xE1,0x26,0x19,0x19,0xE3,0x8C,0x93,0x17,0xB4,0x46,0xB5,0x88,0x71,0x9E,0x97,0x9E,0xB1,0x2C,0xC5,0xF8,0x56,0xC4,0x58,0xA3,0x1C,0xE1,0x33,0x9D,0x13,0x41,0x8A,0x43,0x58,0xAD,0x95,0xA9,0xDB,0x36,0xC0,0xD1,0xC9,0x0E,0x58,0x4E,0x45,0x01,0x23,0xA9,0x04,0x37,0x13,0xAE,0x4D,0x65,0x52,0x82,0xCA,0xA9,0x37,0x99,0x4D,0x89,0xBA,0xC0,0xBC,0x14,0x36,0x25,0xEA,0x1C,0x73,0x52,0x1D,0x97,0xB8,0x33,0xAC,0x0E,0x75,0x9C,0xE2,0xCE,0xB0,0xDA,0xC3,0x51,0x4A,0x1A,0xA5,0xCA,0x70,0x5B,0x21,0xCE,0x4C,0x26,0xD2,0x6C,0xBA,0x38,0x71,0x2E,0x1F,0x2D,0xED,0xE2,0x24,0xB8,0xBC,0x3D,0x52,0x88,0xAB,0x50,0x8E,0xA8,0x48,0x22,0x4E,0x42,0xA0,0x26,0x55,0xFD,0x3F}; +uint8_t spEIGHTEEN[] PROGMEM = {0x2E,0x9C,0xD1,0x4D,0x54,0xEC,0x2C,0xBF,0x1B,0x8A,0x99,0x70,0x7C,0xFC,0x2E,0x29,0x6F,0x52,0xF6,0xF1,0xBA,0x20,0xBF,0x36,0xD9,0xCD,0xED,0x0C,0xF3,0x27,0x64,0x17,0x73,0x2B,0xA2,0x99,0x90,0x65,0xEC,0xED,0x40,0x73,0x32,0x12,0xB1,0xAF,0x30,0x35,0x0B,0xC7,0x00,0xE0,0x80,0xAE,0xDD,0x1C,0x70,0x43,0xAA,0x03,0x86,0x51,0x36,0xC0,0x30,0x64,0xCE,0x4C,0x98,0xFB,0x5C,0x65,0x07,0xAF,0x10,0xEA,0x0B,0x66,0x1B,0xFC,0x46,0xA8,0x3E,0x09,0x4D,0x08,0x2A,0xA6,0x3E,0x67,0x36,0x21,0x2A,0x98,0x67,0x9D,0x15,0xA7,0xA8,0x60,0xEE,0xB6,0x94,0x99,0xA2,0x4A,0x78,0x22,0xC2,0xA6,0x8B,0x8C,0x8E,0xCC,0x4C,0x8A,0x2E,0x8A,0x4C,0xD3,0x57,0x03,0x87,0x28,0x71,0x09,0x1F,0x2B,0xE4,0xA2,0xC4,0xC5,0x6D,0xAD,0x54,0x88,0xB2,0x63,0xC9,0xF2,0x50,0x2E,0x8A,0x4A,0x38,0x4A,0xEC,0x88,0x28,0x08,0xE3,0x28,0x49,0xF3,0xFF}; +uint8_t spNINETEEN[] PROGMEM = {0xC2,0xEA,0x8A,0x95,0x2B,0x6A,0x05,0x3F,0x71,0x71,0x5F,0x0D,0x12,0xFC,0x28,0x25,0x62,0x35,0xF0,0xF0,0xB3,0x48,0x1E,0x0F,0xC9,0xCB,0x2F,0x45,0x7C,0x2C,0x25,0x1F,0xBF,0x14,0xB3,0x2C,0xB5,0x75,0xFC,0x5A,0x5C,0xA3,0x5D,0xE1,0xF1,0x7A,0x76,0xB3,0x4E,0x45,0xC7,0xED,0x96,0x23,0x3B,0x18,0x37,0x7B,0x18,0xCC,0x09,0x51,0x13,0x4C,0xAB,0x6C,0x4C,0x4B,0x96,0xD2,0x49,0xAA,0x36,0x0B,0xC5,0xC2,0x20,0x26,0x27,0x35,0x63,0x09,0x3D,0x30,0x8B,0xF0,0x48,0x5C,0xCA,0x61,0xDD,0xCB,0xCD,0x91,0x03,0x8E,0x4B,0x76,0xC0,0xCC,0x4D,0x06,0x98,0x31,0x31,0x98,0x99,0x70,0x6D,0x2A,0xA3,0xE4,0x16,0xCA,0xBD,0xCE,0x5C,0x92,0x57,0x28,0xCF,0x09,0x69,0x2E,0x7E,0xA5,0x3C,0x63,0xA2,0x30,0x05,0x95,0xD2,0x74,0x98,0xCD,0x14,0x54,0xCA,0x53,0xA9,0x96,0x52,0x50,0x28,0x6F,0xBA,0xCB,0x0C,0x41,0x50,0xDE,0x65,0x2E,0xD3,0x05,0x89,0x4B,0x7B,0x6B,0x20,0x17,0x44,0xAE,0xED,0x23,0x81,0x52,0x90,0x85,0x73,0x57,0xD0,0x72,0x41,0xB1,0x02,0xDE,0x2E,0xDB,0x04,0x89,0x05,0x79,0xBB,0x62,0xE5,0x76,0x11,0xCA,0x61,0x0E,0xFF,0x1F}; +uint8_t spTWENTY[] PROGMEM = {0x01,0x98,0xD1,0xC2,0x00,0xCD,0xA4,0x32,0x20,0x79,0x13,0x04,0x28,0xE7,0x92,0xDC,0x70,0xCC,0x5D,0xDB,0x76,0xF3,0xD2,0x32,0x0B,0x0B,0x5B,0xC3,0x2B,0xCD,0xD4,0xDD,0x23,0x35,0xAF,0x44,0xE1,0xF0,0xB0,0x6D,0x3C,0xA9,0xAD,0x3D,0x35,0x0E,0xF1,0x0C,0x8B,0x28,0xF7,0x34,0x01,0x68,0x22,0xCD,0x00,0xC7,0xA4,0x04,0xBB,0x32,0xD6,0xAC,0x56,0x9C,0xDC,0xCA,0x28,0x66,0x53,0x51,0x70,0x2B,0xA5,0xBC,0x0D,0x9A,0xC1,0xEB,0x14,0x73,0x37,0x29,0x19,0xAF,0x33,0x8C,0x3B,0xA7,0x24,0xBC,0x42,0xB0,0xB7,0x59,0x09,0x09,0x3C,0x96,0xE9,0xF4,0x58,0xFF,0x0F}; +uint8_t spTHIRTY[] PROGMEM = {0x08,0x98,0xD6,0x15,0x01,0x43,0xBB,0x0A,0x20,0x1B,0x8B,0xE5,0x16,0xA3,0x1E,0xB6,0xB6,0x96,0x97,0x3C,0x57,0xD4,0x2A,0x5E,0x7E,0x4E,0xD8,0xE1,0x6B,0x7B,0xF8,0x39,0x63,0x0D,0x9F,0x95,0xE1,0xE7,0x4C,0x76,0xBC,0x91,0x5B,0x90,0x13,0xC6,0x68,0x57,0x4E,0x41,0x8B,0x10,0x5E,0x1D,0xA9,0x44,0xD3,0xBA,0x47,0xB8,0xDD,0xE4,0x35,0x86,0x11,0x93,0x94,0x92,0x5F,0x29,0xC7,0x4C,0x30,0x0C,0x41,0xC5,0x1C,0x3B,0x2E,0xD3,0x05,0x15,0x53,0x6C,0x07,0x4D,0x15,0x14,0x8C,0xB5,0xC9,0x6A,0x44,0x90,0x10,0x4E,0x9A,0xB6,0x21,0x81,0x23,0x3A,0x91,0x91,0xE8,0xFF,0x01}; +uint8_t spFOURTY[] PROGMEM = {0x04,0x18,0xB6,0x4C,0x00,0xC3,0x56,0x30,0xA0,0xE8,0xF4,0xA0,0x98,0x99,0x62,0x91,0xAE,0x83,0x6B,0x77,0x89,0x78,0x3B,0x09,0xAE,0xBD,0xA6,0x1E,0x63,0x3B,0x79,0x7E,0x71,0x5A,0x8F,0x95,0xE6,0xA5,0x4A,0x69,0xB9,0x4E,0x8A,0x5F,0x12,0x56,0xE4,0x58,0x69,0xE1,0x36,0xA1,0x69,0x2E,0x2B,0xF9,0x95,0x93,0x55,0x17,0xED,0xE4,0x37,0xC6,0xBA,0x93,0xB2,0x92,0xDF,0x19,0xD9,0x6E,0xC8,0x0A,0xFE,0x60,0xE8,0x37,0x21,0xC9,0xF9,0x8D,0x61,0x5F,0x32,0x13,0xE7,0x17,0x4C,0xD3,0xC6,0xB1,0x94,0x97,0x10,0x8F,0x8B,0xAD,0x11,0x7E,0xA1,0x9A,0x26,0x92,0xF6,0xFF,0x01}; +uint8_t spFIFTY[] PROGMEM = {0x08,0xE8,0x2E,0x84,0x00,0x23,0x84,0x13,0x60,0x38,0x95,0xA5,0x0F,0xCF,0xE2,0x79,0x8A,0x8F,0x37,0x02,0xB3,0xD5,0x2A,0x6E,0x5E,0x93,0x94,0x79,0x45,0xD9,0x05,0x5D,0x0A,0xB9,0x97,0x63,0x02,0x74,0xA7,0x82,0x80,0xEE,0xC3,0x10,0xD0,0x7D,0x28,0x03,0x6E,0x14,0x06,0x70,0xE6,0x0A,0xC9,0x9A,0x4E,0x37,0xD9,0x95,0x51,0xCE,0xBA,0xA2,0x14,0x0C,0x81,0x36,0x1B,0xB2,0x5C,0x30,0x38,0xFA,0x9C,0xC9,0x32,0x41,0xA7,0x18,0x3B,0xA2,0x48,0x04,0x05,0x51,0x4F,0x91,0x6D,0x12,0x04,0x20,0x9B,0x61,0x89,0xFF,0x1F}; +uint8_t spGOOD[] PROGMEM = {0x0A,0x28,0xCD,0x34,0x20,0xD9,0x1A,0x45,0x74,0xE4,0x66,0x24,0xAD,0xBA,0xB1,0x8C,0x9B,0x91,0xA5,0x64,0xE6,0x98,0x21,0x16,0x0B,0x96,0x9B,0x4C,0xE5,0xFF,0x01}; +uint8_t spMORNING[] PROGMEM = {0xCE,0x08,0x52,0x2A,0x35,0x5D,0x39,0x53,0x29,0x5B,0xB7,0x0A,0x15,0x0C,0xEE,0x2A,0x42,0x56,0x66,0xD2,0x55,0x2E,0x37,0x2F,0xD9,0x45,0xB3,0xD3,0xC5,0xCA,0x6D,0x27,0xD5,0xEE,0x50,0xF5,0x50,0x94,0x14,0x77,0x2D,0xD8,0x5D,0x49,0x92,0xFD,0xB1,0x64,0x2F,0xA9,0x49,0x0C,0x93,0x4B,0xAD,0x19,0x17,0x3E,0x66,0x1E,0xF1,0xA2,0x5B,0x84,0xE2,0x29,0x8F,0x8B,0x72,0x10,0xB5,0xB1,0x2E,0x4B,0xD4,0x45,0x89,0x4A,0xEC,0x5C,0x95,0x14,0x2B,0x8A,0x9C,0x34,0x52,0x5D,0xBC,0xCC,0xB5,0x3B,0x49,0x69,0x89,0x87,0xC1,0x98,0x56,0x3A,0x21,0x2B,0x82,0x67,0xCC,0x5C,0x85,0xB5,0x4A,0x8A,0xF6,0x64,0xA9,0x96,0xC4,0x69,0x3C,0x52,0x81,0x58,0x1C,0x97,0xF6,0x0E,0x1B,0xCC,0x0D,0x42,0x32,0xAA,0x65,0x12,0x67,0xD4,0x6A,0x61,0x52,0xFC,0xFF}; +uint8_t spAFTERNOON[] PROGMEM = {0xC7,0xCE,0xCE,0x3A,0xCB,0x58,0x1F,0x3B,0x07,0x9D,0x28,0x71,0xB4,0xAC,0x9C,0x74,0x5A,0x42,0x55,0x33,0xB2,0x93,0x0A,0x09,0xD4,0xC5,0x9A,0xD6,0x44,0x45,0xE3,0x38,0x60,0x9A,0x32,0x05,0xF4,0x18,0x01,0x09,0xD8,0xA9,0xC2,0x00,0x5E,0xCA,0x24,0xD5,0x5B,0x9D,0x4A,0x95,0xEA,0x34,0xEE,0x63,0x92,0x5C,0x4D,0xD0,0xA4,0xEE,0x58,0x0C,0xB9,0x4D,0xCD,0x42,0xA2,0x3A,0x24,0x37,0x25,0x8A,0xA8,0x8E,0xA0,0x53,0xE4,0x28,0x23,0x26,0x13,0x72,0x91,0xA2,0x76,0xBB,0x72,0x38,0x45,0x0A,0x46,0x63,0xCA,0x69,0x27,0x39,0x58,0xB1,0x8D,0x60,0x1C,0x34,0x1B,0x34,0xC3,0x55,0x8E,0x73,0x45,0x2D,0x4F,0x4A,0x3A,0x26,0x10,0xA1,0xCA,0x2D,0xE9,0x98,0x24,0x0A,0x1E,0x6D,0x97,0x29,0xD2,0xCC,0x71,0xA2,0xDC,0x86,0xC8,0x12,0xA7,0x8E,0x08,0x85,0x22,0x8D,0x9C,0x43,0xA7,0x12,0xB2,0x2E,0x50,0x09,0xEF,0x51,0xC5,0xBA,0x28,0x58,0xAD,0xDB,0xE1,0xFF,0x03}; +uint8_t spEVENING[] PROGMEM = {0xCD,0x6D,0x98,0x73,0x47,0x65,0x0D,0x6D,0x10,0xB2,0x5D,0x93,0x35,0x94,0xC1,0xD0,0x76,0x4D,0x66,0x93,0xA7,0x04,0xBD,0x71,0xD9,0x45,0xAE,0x92,0xD5,0xAC,0x53,0x07,0x6D,0xA5,0x76,0x63,0x51,0x92,0xD4,0xA1,0x83,0xD4,0xCB,0xB2,0x51,0x88,0xCD,0xF5,0x50,0x45,0xCE,0xA2,0x2E,0x27,0x28,0x54,0x15,0x37,0x0A,0xCF,0x75,0x61,0x5D,0xA2,0xC4,0xB5,0xC7,0x44,0x55,0x8A,0x0B,0xA3,0x6E,0x17,0x95,0x21,0xA9,0x0C,0x37,0xCD,0x15,0xBA,0xD4,0x2B,0x6F,0xB3,0x54,0xE4,0xD2,0xC8,0x64,0xBC,0x4C,0x91,0x49,0x12,0xE7,0xB2,0xB1,0xD0,0x22,0x0D,0x9C,0xDD,0xAB,0x62,0xA9,0x38,0x53,0x11,0xA9,0x74,0x2C,0xD2,0xCA,0x59,0x34,0xA3,0xE5,0xFF,0x03}; +uint8_t spPAUSE1[] PROGMEM = {0x00,0x00,0x00,0x00,0xFF,0x0F}; + +void sayTime(int hour, int minutes, AudioGeneratorTalkie *talkie) ; + +void sayTime(int hour, int minutes, AudioGeneratorTalkie *talkie) { + TTGO_PWR_ON + talkie = new AudioGeneratorTalkie(); + talkie->begin(nullptr, out); + + bool pm = (hour >= 12); + uint8_t *spHour[] = { spTWELVE, spONE, spTWO, spTHREE, spFOUR, spFIVE, spSIX, + spSEVEN, spEIGHT, spNINE, spTEN, spELEVEN }; + size_t spHourLen[] = { sizeof(spTWELVE), sizeof(spONE), sizeof(spTWO), + sizeof(spTHREE), sizeof(spFOUR), sizeof(spFIVE), + sizeof(spSIX), sizeof(spSEVEN), sizeof(spEIGHT), + sizeof(spNINE), sizeof(spTEN), sizeof(spELEVEN) }; + uint8_t *spMinDec[] = { spOH, spTEN, spTWENTY, spTHIRTY, spFOURTY, spFIFTY }; + size_t spMinDecLen[] = { sizeof(spOH), sizeof(spTEN), sizeof(spTWENTY), + sizeof(spTHIRTY), sizeof(spFOURTY), sizeof(spFIFTY) }; + uint8_t *spMinSpecial[] = { spELEVEN, spTWELVE, spTHIRTEEN, spFOURTEEN, + spFIFTEEN, spSIXTEEN, spSEVENTEEN, spEIGHTEEN, + spNINETEEN }; + size_t spMinSpecialLen[] = { sizeof(spELEVEN), sizeof(spTWELVE), + sizeof(spTHIRTEEN), sizeof(spFOURTEEN), + sizeof(spFIFTEEN), sizeof(spSIXTEEN), + sizeof(spSEVENTEEN), sizeof(spEIGHTEEN), + sizeof(spNINETEEN) }; + uint8_t *spMinLow[] = { spONE, spTWO, spTHREE, spFOUR, spFIVE, spSIX, + spSEVEN, spEIGHT, spNINE }; + size_t spMinLowLen[] = { sizeof(spONE), sizeof(spTWO), sizeof(spTHREE), + sizeof(spFOUR), sizeof(spFIVE), sizeof(spSIX), + sizeof(spSEVEN), sizeof(spEIGHT), sizeof(spNINE) }; + + talkie->say(spTHE, sizeof(spTHE)); + talkie->say(spTIME, sizeof(spTIME)); + talkie->say(spIS, sizeof(spIS)); + + hour = hour % 12; + talkie->say(spHour[hour], spHourLen[hour]); + if (minutes==0) { + talkie->say(spOCLOCK, sizeof(spOCLOCK)); + } else if (minutes<=10 || minutes >=20) { + talkie->say(spMinDec[minutes / 10], spMinDecLen[minutes /10]); + if (minutes % 10) { + talkie->say(spMinLow[(minutes % 10) - 1], spMinLowLen[(minutes % 10) - 1]); + } + } else { + talkie->say(spMinSpecial[minutes - 11], spMinSpecialLen[minutes - 11]); + } + if (pm) { + talkie->say(spP_M_, sizeof(spP_M_)); + } else { + talkie->say(spA_M_, sizeof(spA_M_)); + } + delete talkie; + TTGO_PWR_OFF +} +#endif + +// should be in settings +uint8_t is2_volume; void I2S_Init(void) { #if EXTERNAL_DAC_PLAY out = new AudioOutputI2S(); +#ifdef ESP32 out->SetPinout(TWATCH_DAC_IIS_BCK, TWATCH_DAC_IIS_WS, TWATCH_DAC_IIS_DOUT); +#endif #else out = new AudioOutputI2S(0, 1); #endif - volume=50; - out->SetGain(((float)volume/100.0)*4.0); + is2_volume=10; + out->SetGain(((float)is2_volume/100.0)*4.0); out->stop(); + } @@ -100,9 +220,7 @@ void Play_mp3(const char *path) { #if defined(USE_SCRIPT) && defined(USE_SCRIPT_FATFS) if (mp3) return; - #ifdef USE_TTGO_WATCH - TTGO_audio_power(true); - #endif + TTGO_PWR_ON file = new AudioFileSourceFS(*fsp,path); id3 = new AudioFileSourceID3(file); @@ -132,16 +250,12 @@ void mp3_delete(void) { delete id3; delete mp3; mp3=nullptr; -#ifdef USE_TTGO_WATCH - TTGO_audio_power(false); -#endif + TTGO_PWR_OFF } void Say(char *text) { -#ifdef USE_TTGO_WATCH - TTGO_audio_power(true); -#endif + TTGO_PWR_ON out->begin(); ESP8266SAM *sam = new ESP8266SAM; @@ -149,16 +263,23 @@ void Say(char *text) { delete sam; out->stop(); -#ifdef USE_TTGO_WATCH - TTGO_audio_power(false); -#endif + TTGO_PWR_OFF } + const char kI2SAudio_Commands[] PROGMEM = "I2S|" - "Say|Play|Gain"; + "Say|Gain|Time" +#ifdef ESP32 + "|Play" +#endif + ; void (* const I2SAudio_Command[])(void) PROGMEM = { - &Cmd_Say,&Cmd_Play,&Cmd_Gain}; + &Cmd_Say, &Cmd_Gain, &Cmd_Time +#ifdef ESP32 + ,&Cmd_Play +#endif +}; void Cmd_Play(void) { if (XdrvMailbox.data_len > 0) { @@ -170,11 +291,11 @@ void Cmd_Play(void) { void Cmd_Gain(void) { if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 100)) { if (out) { - volume=XdrvMailbox.payload; - out->SetGain(((float)(volume-2)/100.0)*4.0); + is2_volume=XdrvMailbox.payload; + out->SetGain(((float)(is2_volume-2)/100.0)*4.0); } } - ResponseCmndNumber(volume); + ResponseCmndNumber(is2_volume); } void Cmd_Say(void) { @@ -184,6 +305,13 @@ void Cmd_Say(void) { ResponseCmndChar(XdrvMailbox.data); } +void Cmd_Time(void) { +#ifdef SAY_TIME + sayTime(RtcTime.hour, RtcTime.minute, talkie); +#endif + ResponseCmndDone(); +} + /*********************************************************************************************\ * Interface \*********************************************************************************************/