// Copyright 2007-2022 David Robillard // SPDX-License-Identifier: ISC #ifndef JALV_PORT_H #define JALV_PORT_H #include "attributes.h" #include "lv2_evbuf.h" #include "types.h" #include #include #include // Application port state JALV_BEGIN_DECLS typedef struct { const LilvPort* lilv_port; ///< LV2 port PortType type; ///< Data type PortFlow flow; ///< Data flow direction void* sys_port; ///< For audio/MIDI ports, otherwise NULL LV2_Evbuf* evbuf; ///< For MIDI ports, otherwise NULL void* widget; ///< Control widget, if applicable size_t buf_size; ///< Custom buffer size, or 0 uint32_t index; ///< Port index bool reports_latency; ///< For control port outputs bool is_primary; ///< True for main control/reponse channel } JalvPort; JALV_END_DECLS #endif // JALV_PORT_H