| 
							- #pragma once
 - 
 - #include "events.h"
 - #include "audio-buffer.h"
 - 
 - #ifdef __cplusplus
 - extern "C" {
 - #endif
 - 
 - enum {
 -    // Processing failed. The output buffer must be discarded.
 -    CLAP_PROCESS_ERROR = 0,
 - 
 -    // Processing succeeded, keep processing.
 -    CLAP_PROCESS_CONTINUE = 1,
 - 
 -    // Processing succeeded, keep processing if the output is not quiet.
 -    CLAP_PROCESS_CONTINUE_IF_NOT_QUIET = 2,
 - 
 -    // Rely upon the plugin's tail to determine if the plugin should continue to process.
 -    // see clap_plugin_tail
 -    CLAP_PROCESS_TAIL = 3,
 - 
 -    // Processing succeeded, but no more processing is required,
 -    // until the next event or variation in audio input.
 -    CLAP_PROCESS_SLEEP = 4,
 - };
 - typedef int32_t clap_process_status;
 - 
 - typedef struct clap_process {
 -    // A steady sample time counter.
 -    // This field can be used to calculate the sleep duration between two process calls.
 -    // This value may be specific to this plugin instance and have no relation to what
 -    // other plugin instances may receive.
 -    //
 -    // Set to -1 if not available, otherwise the value must be greater or equal to 0,
 -    // and must be increased by at least `frames_count` for the next call to process.
 -    int64_t steady_time;
 - 
 -    // Number of frames to process
 -    uint32_t frames_count;
 - 
 -    // time info at sample 0
 -    // If null, then this is a free running host, no transport events will be provided
 -    const clap_event_transport_t *transport;
 - 
 -    // Audio buffers, they must have the same count as specified
 -    // by clap_plugin_audio_ports->get_count().
 -    // The index maps to clap_plugin_audio_ports->get_info().
 -    const clap_audio_buffer_t *audio_inputs;
 -    clap_audio_buffer_t       *audio_outputs;
 -    uint32_t                   audio_inputs_count;
 -    uint32_t                   audio_outputs_count;
 - 
 -    // Input and output events.
 -    //
 -    // Events must be sorted by time.
 -    // The input event list can't be modified.
 -    const clap_input_events_t  *in_events;
 -    const clap_output_events_t *out_events;
 - } clap_process_t;
 - 
 - #ifdef __cplusplus
 - }
 - #endif
 
 
  |