10#ifndef __AUDIO_MODULATOR_MACRO_PROCESSOR_H__
11#define __AUDIO_MODULATOR_MACRO_PROCESSOR_H__
24#define MODULATOR_MACRO_PROCESSOR_SCHEMA_VERSION 1
26#define modulator_macro_processor_is_in_active_project(self) \
27 (self->track && track_is_in_active_project (self->track))
68static const cyaml_schema_field_t modulator_macro_processor_fields_schema[] = {
78static const cyaml_schema_value_t modulator_macro_processor_schema = {
81 modulator_macro_processor_fields_schema),
84static inline const char *
91modulator_macro_processor_init_loaded (
96modulator_macro_processor_set_name (
112modulator_macro_processor_new (
Track * track,
int idx);
Ports that transfer audio/midi/other signals to one another.
void modulator_macro_processor_process(ModulatorMacroProcessor *self, const EngineProcessTimeInfo *const time_nfo)
Process.
#define YAML_FIELD_MAPPING_PTR(owner, member, schema)
Mapping pointer to a struct.
#define YAML_VALUE_PTR(cc, fields_schema)
Schema to be used as a pointer.
Common struct to pass around during processing to avoid repeating the data in function arguments.
Modulator macro button processor.
char * name
Name to be shown in the modulators tab.
Port * cv_out
CV output after macro is applied.
Port * macro
Control port controlling the amount.
Track * track
Pointer to owner track, if any.
Port * cv_in
CV input port for connecting CV signals to.
Must ONLY be created via port_new()
Track to be inserted into the Project's Tracklist.