|
Oakfield API Documentation 1.0.0
Numerical core APIs
|
Bandlimited Fourier waveform stimulus (saw / square / triangle; BLIT, PolyBLEP, miniBLEP). More...


Go to the source code of this file.
Classes | |
| struct | SimFourierWaveformConfig |
| Configuration for Fourier waveform stimulus. More... | |
Typedefs | |
| typedef enum SimFourierWaveformShape | SimFourierWaveformShape |
| Waveform shapes produced by the Fourier stimulus. | |
| typedef enum SimFourierWaveformMethod | SimFourierWaveformMethod |
| Bandlimiting methods used by Fourier waveform synthesis. | |
| typedef struct SimFourierWaveformConfig | SimFourierWaveformConfig |
| Configuration for Fourier waveform stimulus. | |
Enumerations | |
| enum | SimFourierWaveformShape { SIM_FOURIER_WAVEFORM_SAW = 0 , SIM_FOURIER_WAVEFORM_SQUARE , SIM_FOURIER_WAVEFORM_TRIANGLE } |
| Waveform shapes produced by the Fourier stimulus. More... | |
| enum | SimFourierWaveformMethod { SIM_FOURIER_METHOD_BLIT = 0 , SIM_FOURIER_METHOD_POLYBLEP , SIM_FOURIER_METHOD_MINIBLEP } |
| Bandlimiting methods used by Fourier waveform synthesis. More... | |
Functions | |
| SimResult | sim_add_stimulus_fourier_operator (struct SimContext *context, const SimFourierWaveformConfig *config, size_t *out_index) |
| Register a bandlimited Fourier waveform stimulus operator. | |
| SimResult | sim_stimulus_fourier_config (struct SimContext *context, size_t operator_index, SimFourierWaveformConfig *out_config) |
| Copy the current Fourier waveform configuration from a registered operator. | |
| SimResult | sim_stimulus_fourier_update (struct SimContext *context, size_t operator_index, const SimFourierWaveformConfig *config) |
| Replace or renormalize a registered Fourier waveform configuration. | |
Bandlimited Fourier waveform stimulus (saw / square / triangle; BLIT, PolyBLEP, miniBLEP).
| typedef struct SimFourierWaveformConfig SimFourierWaveformConfig |
Configuration for Fourier waveform stimulus.
All frequencies are in Hz. Phase is normalized to [0,1).
| SimResult sim_add_stimulus_fourier_operator | ( | struct SimContext * | context, |
| const SimFourierWaveformConfig * | config, | ||
| size_t * | out_index | ||
| ) |
Register a bandlimited Fourier waveform stimulus operator.
The implementation copies and normalizes config, initializes the requested waveform state, and registers the operator on the target field.
| context | Simulation context that will own the operator. | |
| config | Optional waveform configuration; NULL selects normalized defaults. | |
| [out] | out_index | Optional destination for the registered operator index. |
| SimResult sim_stimulus_fourier_config | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| SimFourierWaveformConfig * | out_config | ||
| ) |
Copy the current Fourier waveform configuration from a registered operator.
| context | Simulation context containing the operator. | |
| operator_index | Index returned by sim_add_stimulus_fourier_operator(). | |
| [out] | out_config | Receives the operator's normalized configuration. |
| SimResult sim_stimulus_fourier_update | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| const SimFourierWaveformConfig * | config | ||
| ) |
Replace or renormalize a registered Fourier waveform configuration.
Passing NULL for config keeps the existing configuration and reapplies normalization. A successful update refreshes waveform state and invalidates the scheduler plan.
| context | Simulation context containing the operator. |
| operator_index | Index of the Fourier waveform operator to update. |
| config | Optional replacement configuration. |