|
Oakfield API Documentation 1.0.0
Numerical core APIs
|
Field mixing/coupling operators (linear, multiply, crossfade, AM/FM/PM, etc.). More...


Go to the source code of this file.
Classes | |
| struct | SimMixerOperatorConfig |
| Configuration parameters for the mixer operator. More... | |
Typedefs | |
| typedef enum SimMixerMode | SimMixerMode |
| Mixing strategies supported by the mixer operator family. | |
| typedef enum SimMixerFeedbackEpsilonMode | SimMixerFeedbackEpsilonMode |
| Interpretation of feedback_epsilon in feedback mixer mode. | |
| typedef enum SimMixerFeedbackSplitMode | SimMixerFeedbackSplitMode |
| Operator splitting strategy for feedback mixer integration. | |
| typedef struct SimMixerOperatorConfig | SimMixerOperatorConfig |
| Configuration parameters for the mixer operator. | |
Enumerations | |
| enum | SimMixerMode { SIM_MIXER_MODE_LINEAR = 0 , SIM_MIXER_MODE_MULTIPLY , SIM_MIXER_MODE_CROSSFADE , SIM_MIXER_MODE_SUM , SIM_MIXER_MODE_POWER , SIM_MIXER_MODE_AM , SIM_MIXER_MODE_FM , SIM_MIXER_MODE_PM , SIM_MIXER_MODE_RING_MOD , SIM_MIXER_MODE_MAX , SIM_MIXER_MODE_MIN , SIM_MIXER_MODE_AVERAGE , SIM_MIXER_MODE_DIFFERENCE , SIM_MIXER_MODE_ABSOLUTE_DIFFERENCE , SIM_MIXER_MODE_FEEDBACK } |
| Mixing strategies supported by the mixer operator family. More... | |
| enum | SimMixerFeedbackEpsilonMode { SIM_MIXER_FEEDBACK_EPS_INPUT = 0 , SIM_MIXER_FEEDBACK_EPS_FEEDBACK } |
| Interpretation of feedback_epsilon in feedback mixer mode. More... | |
| enum | SimMixerFeedbackSplitMode { SIM_MIXER_FEEDBACK_SPLIT_NONE = 0 , SIM_MIXER_FEEDBACK_SPLIT_LIE , SIM_MIXER_FEEDBACK_SPLIT_STRANG } |
| Operator splitting strategy for feedback mixer integration. More... | |
Functions | |
| const char * | mixer_mode_name (SimMixerMode mode) |
| Return the schema name for a mixer mode. | |
| const char * | mixer_feedback_epsilon_mode_name (SimMixerFeedbackEpsilonMode mode) |
| Return the schema name for a feedback epsilon interpretation mode. | |
| const char * | mixer_feedback_split_name (SimMixerFeedbackSplitMode mode) |
| Return the schema name for a feedback split mode. | |
| bool | mixer_mode_from_name (const char *name, SimMixerMode *out_mode) |
| Convert a schema/descriptor string value into a mixer mode enum. | |
| bool | mixer_feedback_epsilon_mode_from_name (const char *name, SimMixerFeedbackEpsilonMode *out_mode) |
| Parse a feedback epsilon mode name. | |
| bool | mixer_feedback_split_from_name (const char *name, SimMixerFeedbackSplitMode *out_mode) |
| Parse a feedback split mode name. | |
| SimResult | sim_add_mixer_operator (struct SimContext *context, const SimMixerOperatorConfig *config, size_t *out_index) |
| Register a mixer operator combining two fields. | |
| SimResult | sim_mixer_config (struct SimContext *context, size_t operator_index, SimMixerOperatorConfig *out_config) |
| Retrieve the configuration stored in a mixer operator. | |
| SimResult | sim_mixer_update (struct SimContext *context, size_t operator_index, const SimMixerOperatorConfig *config) |
| Update an existing mixer operator's configuration. | |
Field mixing/coupling operators (linear, multiply, crossfade, AM/FM/PM, etc.).
Supports real and complex fields; for complex, operations are applied component-wise unless the mode explicitly defines a complex interaction (e.g., ring modulation).
| enum SimMixerMode |
Mixing strategies supported by the mixer operator family.
| bool mixer_feedback_epsilon_mode_from_name | ( | const char * | name, |
| SimMixerFeedbackEpsilonMode * | out_mode | ||
| ) |
Parse a feedback epsilon mode name.
| name | Schema value string. | |
| [out] | out_mode | Filled with the corresponding enum on success. |
name maps to a known feedback epsilon mode. | const char * mixer_feedback_epsilon_mode_name | ( | SimMixerFeedbackEpsilonMode | mode | ) |
Return the schema name for a feedback epsilon interpretation mode.
| mode | Feedback epsilon mode value. |
| bool mixer_feedback_split_from_name | ( | const char * | name, |
| SimMixerFeedbackSplitMode * | out_mode | ||
| ) |
Parse a feedback split mode name.
| name | Schema value string. | |
| [out] | out_mode | Filled with the corresponding enum on success. |
name maps to a known feedback split mode. | const char * mixer_feedback_split_name | ( | SimMixerFeedbackSplitMode | mode | ) |
Return the schema name for a feedback split mode.
| mode | Feedback split mode value. |
| bool mixer_mode_from_name | ( | const char * | name, |
| SimMixerMode * | out_mode | ||
| ) |
Convert a schema/descriptor string value into a mixer mode enum.
| name | Schema value string such as "linear" or "multiply". | |
| [out] | out_mode | Filled with the corresponding enum on success. |
| const char * mixer_mode_name | ( | SimMixerMode | mode | ) |
Return the schema name for a mixer mode.
| mode | Mixer mode value. |
| SimResult sim_add_mixer_operator | ( | struct SimContext * | context, |
| const SimMixerOperatorConfig * | config, | ||
| size_t * | out_index | ||
| ) |
Register a mixer operator combining two fields.
| context | Simulation context that will own the operator. | |
| config | Optional mixer configuration; NULL selects normalized defaults. | |
| [out] | out_index | Optional destination for the registered operator index. |
| SimResult sim_mixer_config | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| SimMixerOperatorConfig * | out_config | ||
| ) |
Retrieve the configuration stored in a mixer operator.
| context | Simulation context containing the operator. | |
| operator_index | Index returned by sim_add_mixer_operator(). | |
| [out] | out_config | Receives the normalized configuration. |
| SimResult sim_mixer_update | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| const SimMixerOperatorConfig * | config | ||
| ) |
Update an existing mixer operator's configuration.
Passing NULL for config keeps the current configuration and reapplies normalization. A successful update refreshes runtime/symbolic state and invalidates the scheduler plan.
| context | Simulation context containing the operator. |
| operator_index | Index of the mixer operator to update. |
| config | Optional replacement configuration. |