41 lines
961 B
C
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
|