xtc/include/xtc/xtc.h

41 lines
961 B
C

#ifndef XTC_H
#define XTC_H
#include "xtc_types.h"
#include "xtc_version.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct xtc_app xtc_app;
#define XTC_FEATURE_JACK 1U
#define XTC_FEATURE_LADSPA 2U
#define XTC_FEATURE_CLAP 4U
#define XTC_FEATURE_VST2 8U
#define XTC_FEATURE_VST3 16U
/* Compile-time capabilities, no loading/server connection or I/O. */
unsigned int xtc_build_features(void);
/* Creates an application context. On success, *out_app is caller-owned. */
/**
* @brief Allocates an application handle.
*
* @param out_app Receives the newly allocated app; caller owns it on success.
* @return XTC_OK on success, or an error code describing the failure.
*/
xtc_result xtc_app_create(xtc_app **out_app);
/* Destroys an application context; NULL is accepted. */
/**
* @brief Releases an application handle; accepts NULL.
*
* @param app Application handle.
*/
void xtc_app_destroy(xtc_app *app);
#ifdef __cplusplus
}
#endif
#endif