42#ifndef PULP_NATIVE_COMPONENTS_NATIVE_CORE_H
43#define PULP_NATIVE_COMPONENTS_NATIVE_CORE_H
56#define PULP_NATIVE_CORE_ABI_VERSION 1u
414 const uint8_t* request_json,
416 uint8_t** out_reply_json,
417 size_t* out_reply_len);
@ PULP_NATIVE_EVENT_MODULATION
Definition native_core.h:141
@ PULP_NATIVE_EVENT_AUTOMATION
Definition native_core.h:140
struct pulp_native_instance pulp_native_instance
Definition native_core.h:355
uint32_t pulp_native_caps
Definition native_core.h:76
@ PULP_NATIVE_PARAM_BOOLEAN
Definition native_core.h:112
@ PULP_NATIVE_PARAM_MODULATABLE
Definition native_core.h:110
@ PULP_NATIVE_PARAM_STEPPED
Definition native_core.h:111
@ PULP_NATIVE_PARAM_AUTOMATABLE
Definition native_core.h:109
@ PULP_NATIVE_PARAM_LOGARITHMIC
Definition native_core.h:113
@ PULP_NATIVE_ERR_VERSION_MISMATCH
Definition native_core.h:68
@ PULP_NATIVE_OK
Definition native_core.h:62
@ PULP_NATIVE_ERR_INTERNAL
Definition native_core.h:69
@ PULP_NATIVE_ERR_INVALID_ARGUMENT
Definition native_core.h:64
@ PULP_NATIVE_ERR_INVALID_STATE
Definition native_core.h:66
@ PULP_NATIVE_ERR_MALFORMED_STATE
Definition native_core.h:67
@ PULP_NATIVE_ERR_UNSUPPORTED
Definition native_core.h:63
@ PULP_NATIVE_ERR_OUT_OF_MEMORY
Definition native_core.h:65
int32_t pulp_native_param_event_kind
Definition native_core.h:138
uint32_t pulp_native_param_flags
Definition native_core.h:107
int32_t pulp_native_lifecycle
Definition native_core.h:94
const pulp_native_core_v1 * pulp_native_core_entry_v1(void)
int32_t pulp_native_status
Definition native_core.h:60
@ PULP_NATIVE_CAP_UMP
Definition native_core.h:81
@ PULP_NATIVE_CAP_MIDI_INPUT
Definition native_core.h:78
@ PULP_NATIVE_CAP_STATE
Definition native_core.h:85
@ PULP_NATIVE_CAP_EDITOR_COMMAND
Definition native_core.h:87
@ PULP_NATIVE_CAP_TAIL
Definition native_core.h:86
@ PULP_NATIVE_CAP_MPE
Definition native_core.h:80
@ PULP_NATIVE_CAP_SIDECHAIN
Definition native_core.h:82
@ PULP_NATIVE_CAP_IS_INSTRUMENT
Definition native_core.h:83
@ PULP_NATIVE_CAP_PARAM_MODULATION
Definition native_core.h:84
@ PULP_NATIVE_CAP_MIDI_OUTPUT
Definition native_core.h:79
@ PULP_NATIVE_LIFECYCLE_SUSPENDED
Definition native_core.h:96
@ PULP_NATIVE_LIFECYCLE_ACTIVE
Definition native_core.h:97
void pulp_rt_trap_if_no_alloc_scope(int32_t kind, size_t bytes)
Definition native_core.h:181
float *const * channels
Definition native_core.h:184
uint32_t size
Definition native_core.h:182
uint32_t channel_count
Definition native_core.h:183
Definition native_core.h:187
uint32_t reserved
Definition native_core.h:194
uint32_t abi_version
Definition native_core.h:189
uint32_t output_bus_count
Definition native_core.h:192
pulp_native_audio_bus_v1 * outputs
Definition native_core.h:196
uint32_t sidechain_bus_count
Definition native_core.h:193
uint32_t size
Definition native_core.h:188
const pulp_native_audio_bus_v1 * sidechains
Definition native_core.h:197
uint32_t frame_count
Definition native_core.h:190
const pulp_native_audio_bus_v1 * inputs
Definition native_core.h:195
uint32_t input_bus_count
Definition native_core.h:191
Definition native_core.h:255
uint32_t size
Definition native_core.h:256
const uint32_t * input_channel_counts
Definition native_core.h:258
uint32_t reserved
Definition native_core.h:263
uint32_t abi_version
Definition native_core.h:257
const uint32_t * output_channel_counts
Definition native_core.h:260
uint32_t output_bus_count
Definition native_core.h:261
uint32_t sidechain_channel_count
Definition native_core.h:262
uint32_t input_bus_count
Definition native_core.h:259
Definition native_core.h:357
void(* free_state)(pulp_native_instance *instance, pulp_native_state_out_v1 *out_state)
Definition native_core.h:400
pulp_native_status(* save_state)(pulp_native_instance *instance, pulp_native_state_out_v1 *out_state)
Definition native_core.h:398
pulp_native_status(* load_state)(pulp_native_instance *instance, const pulp_native_state_span_v1 *state)
Definition native_core.h:402
pulp_native_status(* resume)(pulp_native_instance *instance)
Definition native_core.h:384
pulp_native_status(* process)(pulp_native_instance *instance, const pulp_native_process_v1 *io)
Definition native_core.h:393
void(* reset)(pulp_native_instance *instance)
Definition native_core.h:388
void(* destroy)(pulp_native_instance *instance)
Definition native_core.h:370
pulp_native_status(* prepare)(pulp_native_instance *instance, const pulp_native_prepare_v1 *config)
Definition native_core.h:374
uint32_t(* report_latency)(pulp_native_instance *instance)
Definition native_core.h:406
uint32_t(* report_tail)(pulp_native_instance *instance)
Definition native_core.h:407
pulp_native_status(* set_bus_layout)(pulp_native_instance *instance, const pulp_native_bus_layout_v1 *layout)
Definition native_core.h:380
pulp_native_status(* editor_command)(pulp_native_instance *instance, const uint8_t *request_json, size_t request_len, uint8_t **out_reply_json, size_t *out_reply_len)
Definition native_core.h:413
uint32_t size
Definition native_core.h:358
void(* release)(pulp_native_instance *instance)
Definition native_core.h:377
pulp_native_status(* create)(const pulp_native_host_services_v1 *host, pulp_native_instance **out_instance)
Definition native_core.h:368
pulp_native_status(* suspend)(pulp_native_instance *instance)
Definition native_core.h:385
uint32_t abi_version
Definition native_core.h:359
void(* free_editor_reply)(pulp_native_instance *instance, uint8_t *reply_json, size_t reply_len)
Definition native_core.h:418
Definition native_core.h:308
uint32_t default_input_bus_count
Definition native_core.h:319
uint32_t tail_frames
Definition native_core.h:322
size_t name_len
Definition native_core.h:314
uint32_t size
Definition native_core.h:309
uint32_t latency_frames
Definition native_core.h:321
const char * vendor
Definition native_core.h:315
uint32_t default_output_bus_count
Definition native_core.h:320
uint32_t plugin_version
Definition native_core.h:317
size_t id_len
Definition native_core.h:312
const char * id
Definition native_core.h:311
pulp_native_caps capabilities
Definition native_core.h:318
size_t vendor_len
Definition native_core.h:316
const char * name
Definition native_core.h:313
uint32_t abi_version
Definition native_core.h:310
Definition native_core.h:331
void(* notify_latency_changed)(void *host_context)
Definition native_core.h:347
void * host_context
Definition native_core.h:334
uint32_t size
Definition native_core.h:332
uint32_t abi_version
Definition native_core.h:333
void(* free)(void *host_context, void *ptr)
Definition native_core.h:338
void(* log)(void *host_context, int32_t level, const char *utf8, size_t len)
Definition native_core.h:340
int32_t(* push_midi_out)(void *out_sink, const pulp_native_midi_event_v1 *event)
Definition native_core.h:344
Definition native_core.h:206
uint32_t sample_offset
Definition native_core.h:207
uint32_t is_ump
Definition native_core.h:210
uint32_t size_bytes
Definition native_core.h:208
const uint8_t * data
Definition native_core.h:209
uint32_t reserved
Definition native_core.h:211
Definition native_core.h:214
void * out_sink
Definition native_core.h:222
uint32_t size
Definition native_core.h:215
uint32_t reserved
Definition native_core.h:219
uint32_t in_count
Definition native_core.h:218
const pulp_native_midi_event_v1 * in_events
Definition native_core.h:217
uint32_t abi_version
Definition native_core.h:216
Definition native_core.h:148
uint32_t sample_offset
Definition native_core.h:151
double value
Definition native_core.h:150
uint64_t param_id_hash
Definition native_core.h:149
uint32_t ramp_frames
Definition native_core.h:152
pulp_native_param_event_kind kind
Definition native_core.h:153
uint32_t reserved
Definition native_core.h:154
Definition native_core.h:164
uint32_t reserved
Definition native_core.h:171
const pulp_native_param_event_v1 * events
Definition native_core.h:167
uint32_t capacity
Definition native_core.h:169
uint32_t count
Definition native_core.h:168
uint32_t size
Definition native_core.h:165
uint32_t abi_version
Definition native_core.h:166
uint32_t overflowed
Definition native_core.h:170
Definition native_core.h:116
uint32_t abi_version
Definition native_core.h:118
const char * name
Definition native_core.h:127
uint64_t id_hash
Definition native_core.h:125
size_t name_len
Definition native_core.h:128
uint32_t size
Definition native_core.h:117
double default_value
Definition native_core.h:131
uint32_t step_count
Definition native_core.h:133
const char * id
Definition native_core.h:123
size_t id_len
Definition native_core.h:124
double min_value
Definition native_core.h:129
double max_value
Definition native_core.h:130
pulp_native_param_flags flags
Definition native_core.h:132
Definition native_core.h:270
double sample_rate
Definition native_core.h:273
uint32_t size
Definition native_core.h:271
uint32_t max_block_size
Definition native_core.h:274
uint32_t abi_version
Definition native_core.h:272
uint32_t reserved
Definition native_core.h:275
pulp_native_bus_layout_v1 layout
Definition native_core.h:276
Definition native_core.h:281
uint32_t size
Definition native_core.h:282
double tempo_bpm
Definition native_core.h:285
int64_t playhead_frames
Definition native_core.h:287
double ppq_position
Definition native_core.h:286
uint32_t time_sig_numerator
Definition native_core.h:290
uint32_t abi_version
Definition native_core.h:283
double sample_rate
Definition native_core.h:284
uint32_t is_looping
Definition native_core.h:289
uint32_t time_sig_denominator
Definition native_core.h:291
uint32_t is_playing
Definition native_core.h:288
Definition native_core.h:296
const pulp_native_param_event_view_v1 * params
Definition native_core.h:300
const pulp_native_midi_view_v1 * midi
Definition native_core.h:301
uint32_t abi_version
Definition native_core.h:298
const pulp_native_audio_io_v1 * audio
Definition native_core.h:299
uint32_t size
Definition native_core.h:297
const pulp_native_process_context_v1 * context
Definition native_core.h:302
Definition native_core.h:242
uint32_t reserved
Definition native_core.h:246
uint32_t abi_version
Definition native_core.h:244
uint32_t size
Definition native_core.h:243
size_t byte_len
Definition native_core.h:248
uint32_t state_version
Definition native_core.h:245
uint8_t * bytes
Definition native_core.h:247
Definition native_core.h:231
uint32_t state_version
Definition native_core.h:234
uint32_t abi_version
Definition native_core.h:233
uint32_t size
Definition native_core.h:232
const uint8_t * bytes
Definition native_core.h:236
size_t byte_len
Definition native_core.h:237
uint32_t reserved
Definition native_core.h:235