Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
metal_mix.h
Go to the documentation of this file.
1
5#ifndef OAKFIELD_METAL_MIX_H
6#define OAKFIELD_METAL_MIX_H
7
8#include "mixer.h"
10
11#include <stdbool.h>
12#include <stddef.h>
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18struct SimContext;
19
37
45
55bool metal_mix_mode_from_name(const char *name, SimMixerMode *out_mode);
56
67 const SimMetalMixOperatorConfig *config, size_t *out_index);
68
79SimResult sim_metal_mix_config(struct SimContext *context, size_t operator_index,
80 SimMetalMixOperatorConfig *out_config);
81
95SimResult sim_metal_mix_update(struct SimContext *context, size_t operator_index,
96 const SimMetalMixOperatorConfig *config);
97
98#ifdef __cplusplus
99}
100#endif
101
102#endif /* OAKFIELD_METAL_MIX_H */
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
SimResult sim_metal_mix_update(struct SimContext *context, size_t operator_index, const SimMetalMixOperatorConfig *config)
Replace or renormalize a registered metal-mix configuration.
bool metal_mix_mode_from_name(const char *name, SimMixerMode *out_mode)
Parse a metal-mix mode name.
const char * metal_mix_mode_name(SimMixerMode mode)
Return the schema name for a metal-mix mode.
SimResult sim_add_metal_mix_operator(struct SimContext *context, const SimMetalMixOperatorConfig *config, size_t *out_index)
Register a metal-friendly mixer subset operator.
SimResult sim_metal_mix_config(struct SimContext *context, size_t operator_index, SimMetalMixOperatorConfig *out_config)
Copy the current metal-mix configuration from a registered operator.
Field mixing/coupling operators (linear, multiply, crossfade, AM/FM/PM, etc.).
SimMixerMode
Mixing strategies supported by the mixer operator family.
Definition mixer.h:25
Declarative complex-first operator splitting (substep expansion at plan time).
Simulation runtime state.
Definition sim_context.h:70
Configuration for the metal_mix operator.
Definition metal_mix.h:25
double lhs_gain
Definition metal_mix.h:29
double rhs_gain
Definition metal_mix.h:30
bool scale_by_dt
Definition metal_mix.h:35
SimMixerMode mode
Definition metal_mix.h:33
double mix
Definition metal_mix.h:31
size_t rhs_field
Definition metal_mix.h:27
size_t output_field
Definition metal_mix.h:28
bool accumulate
Definition metal_mix.h:34
double bias
Definition metal_mix.h:32
size_t lhs_field
Definition metal_mix.h:26