FastLED 3.9.15
Loading...
Searching...
No Matches
stb_hexwave.h File Reference
#include "fl/stl/stdint.h"
#include "fl/stl/noexcept.h"
+ Include dependency graph for stb_hexwave.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  fl::third_party::hexwave::HexWave
 
struct  fl::third_party::hexwave::HexWaveEngine
 Engine state holding BLEP/BLAMP tables. More...
 
struct  fl::third_party::hexwave::HexWaveParameters
 

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::third_party
 
namespace  fl::third_party::hexwave
 

Macros

#define FL_STB_HEXWAVE_MAX_BLEP_LENGTH   64
 

Functions

void fl::third_party::hexwave::hexwave_change (HexWave *hex, int32_t reflect, float peak_time, float half_height, float zero_wait) FL_NOEXCEPT
 Change oscillator waveform parameters (takes effect at next cycle boundary)
 
void fl::third_party::hexwave::hexwave_create (HexWave *hex, HexWaveEngine *engine, int32_t reflect, float peak_time, float half_height, float zero_wait) FL_NOEXCEPT
 Create a new oscillator with the given waveform parameters.
 
void fl::third_party::hexwave::hexwave_create_legacy (HexWave *hex, int32_t reflect, float peak_time, float half_height, float zero_wait) FL_NOEXCEPT
 Create oscillator using global engine (DEPRECATED)
 
HexWaveEnginefl::third_party::hexwave::hexwave_engine_create (int32_t width, int32_t oversample, float *user_buffer) FL_NOEXCEPT
 Create and initialize a new HexWaveEngine.
 
void fl::third_party::hexwave::hexwave_engine_destroy (HexWaveEngine *engine) FL_NOEXCEPT
 Destroy a HexWaveEngine and free its resources.
 
void fl::third_party::hexwave::hexwave_generate_samples (float *output, int32_t num_samples, HexWave *hex, float freq) FL_NOEXCEPT
 Generate audio samples.
 
void fl::third_party::hexwave::hexwave_init (int32_t width, int32_t oversample, float *user_buffer) FL_NOEXCEPT
 Initialize the hexwave library (DEPRECATED - use hexwave_engine_create)
 
void fl::third_party::hexwave::hexwave_shutdown (float *user_buffer) FL_NOEXCEPT
 Shutdown the hexwave library (DEPRECATED - use hexwave_engine_destroy)
 

Class Documentation

◆ fl::third_party::hexwave::HexWave

struct fl::third_party::hexwave::HexWave
+ Collaboration diagram for fl::third_party::hexwave::HexWave:
Class Members
float buffer[FL_STB_HEXWAVE_MAX_BLEP_LENGTH]
HexWaveParameters current
HexWaveEngine * engine Pointer to engine with BLEP/BLAMP tables.
int32_t have_pending
HexWaveParameters pending
float prev_dt
float t

◆ fl::third_party::hexwave::HexWaveEngine

struct fl::third_party::hexwave::HexWaveEngine
Class Members
float * blamp Band-limited ramp table.
float * blep Band-limited step table.
int32_t oversample Number of oversampled versions.
bool ownsBuffers True if engine allocated blep/blamp (vs user-provided)
int32_t width Width of fixup in samples (4..64)

◆ fl::third_party::hexwave::HexWaveParameters

struct fl::third_party::hexwave::HexWaveParameters
Class Members
float half_height
float peak_time
int32_t reflect
float zero_wait