Skip to content

Commit

Permalink
Default back to initialisation at construction time, with option to d…
Browse files Browse the repository at this point in the history
…efer

SPIClass constructor has been fixed ... we hope
  • Loading branch information
h4yn0nnym0u5e committed Jul 7, 2023
1 parent 1d06ab5 commit 8ed2b49
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
4 changes: 2 additions & 2 deletions extmem.cpp
Expand Up @@ -233,12 +233,12 @@ uint32_t AudioExtMem::findMaxSpace(AudioEffectDelayMemoryType_t memory_type)
* object is initialised, so if the memory type in use is SPI-based we
* wait until the first delay() call is made.
*/
void AudioExtMem::preInitialize(AudioEffectDelayMemoryType_t type, uint32_t samples)
void AudioExtMem::preInitialize(AudioEffectDelayMemoryType_t type, uint32_t samples, bool forceInitialize)
{
memory_type = type;
memory_length = samples;

if (!IS_SPI_TYPE)
if (!IS_SPI_TYPE || forceInitialize)
initialize();
}

Expand Down
8 changes: 5 additions & 3 deletions extmem.h
Expand Up @@ -58,17 +58,19 @@ enum AudioEffectDelayMemoryType_t {
class AudioExtMem
{
public:
AudioExtMem(AudioEffectDelayMemoryType_t type, uint32_t samples = AUDIO_SAMPLE_RATE_EXACT)
AudioExtMem(AudioEffectDelayMemoryType_t type,
uint32_t samples = AUDIO_SAMPLE_RATE_EXACT,
bool forceInitialize = true)
: memory_begin(0), initialisationDone(false)
{
preInitialize(type, samples);
preInitialize(type, samples, forceInitialize);
}
AudioExtMem() : AudioExtMem(AUDIO_MEMORY_23LC1024, 65536) {}
~AudioExtMem();
float getMaxDelay(void) {return (float) memory_length * 1000.0f / AUDIO_SAMPLE_RATE_EXACT;}

private:
void preInitialize(AudioEffectDelayMemoryType_t type, uint32_t samples);
void preInitialize(AudioEffectDelayMemoryType_t type, uint32_t samples, bool forceInitialize);
inline static void SPIreadMany(int16_t* data, uint32_t samples);
inline static void SPIwriteMany(const int16_t* data, uint32_t samples);
//static uint32_t allocated[AUDIO_MEMORY_UNDEFINED];
Expand Down

0 comments on commit 8ed2b49

Please sign in to comment.