FEAPI.h File Reference
Detailed Description
Feature Extraction plugin API interface file.
In the following, context function pointers typedefs are referred to as functions.
::FEAPI_CreatePluginInstance is used to create a new instance of the plugin. Calling this function is mandatory.
::FEAPI_InitializePlugin is then used to initialize the plugin. Calling this function is mandatory.
Information about the plugin can be requested through the following functions:
::FEAPI_GetPluginAPIVersion,
::FEAPI_GetPluginName,
::FEAPI_GetPluginVendor,
::FEAPI_GetPluginVendorVersion,
::FEAPI_GetPluginCopyright,
::FEAPI_GetPluginDescription.
Calling these functions is optional.
::FEAPI_GetPluginId can be combined with these functions to uniquely identify the plugin.
::FEAPI_GetPluginProperty provides information about the technical capabilities of the plugin.
::FEAPI_GetPluginNumOfResults is used to obtain the number of the features/results that are computed by the plugin.
::FEAPI_GetPluginResultDescription provides detailed information about the meaning and usage of every result (see structure FEAPI_SignalDescription_t for details).
::FEAPI_GetPluginNumOfParameters is used to obtain the number of parameters that can be set for the plugin.
::FEAPI_GetPluginParamDescription provides detailed information about the meaning and usage of every single parameter (see structure FEAPI_ParameterDescription_t for details).
To get or set a plugin parameter, the following functions are used:
::FEAPI_GetPluginParameter
::FEAPI_SetPluginParameter
After the plugin is properly initialized, the actual processing can begin.
::FEAPI_ProcessPlugin is called to do the actual feature/result calculation. It expects subsequently new blocks of audio data. Note that the function does not return computed feature values by itself.
After finishing one ::FEAPI_ProcessPlugin call, zero, one or more results may be available, depending on the plugin implementation.
::FEAPI_GetPluginSizeOfResult is used at that point to query the available number of values for each feature/result.
::FEAPI_GetPluginResult is then used to obtain the actual values for each result. Note that the memory needed to store the results must be allocated by the host.
::FEAPI_ProcessPluginDone should be called to signal the plugin that no more audio data is available (e.g. at the end of an audio file).
::FEAPI_GetPluginResult can then be used to obtain the last results (if available).
::FEAPI_ResetPlugin is used to flush the internal buffers of the plugin, and to prepare it for a new audio stream.
::FEAPI_DestroyPluginInstance is finally used to destroy the plugin instance after all processing has been done. Calling this function is mandatory.
The Feature Extraction plugin API is released under a BSD license. Please make all changes available to the authors.
Contact information:
web: http://feapi.sourceforge.net
email: feapi-discussion@lists.sourceforge.net
Definition in file FEAPI.h.
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
|
Classes |
struct | FEAPI_SignalDescription_t_tag |
struct | FEAPI_ParameterDescription_t_tag |
struct | FEAPI_UserData_t_tag |
Defines |
#define | FEAPI_HEADER_INCLUDED |
| avoid multiple header includes
|
Typedefs |
typedef enum FEAPI_MaxStringLengths_t_tag | FEAPI_MaxStringLengths_t |
typedef FEAPI_SignalDescription_t_tag | FEAPI_SignalDescription_t |
typedef FEAPI_ParameterDescription_t_tag | FEAPI_ParameterDescription_t |
typedef FEAPI_UserData_t_tag | FEAPI_UserData_t |
typedef void * | FEAPI_PluginInstance_t |
typedef double | FEAPI_TimeStamp_t |
typedef float | FEAPI_Signal_t |
typedef enum FEAPI_Error_t_tag | FEAPI_Error_t |
typedef enum FEAPI_VersionInfo_t_tag | FEAPI_VersionInfo_t |
typedef enum FEAPI_PluginProperty_t_tag | FEAPI_PluginProperty_t |
typedef FEAPI_Error_t(* | FEAPI_CreatePluginInstance_t )(FEAPI_PluginInstance_t *phInstanceHandle) |
typedef FEAPI_Error_t(* | FEAPI_DestroyPluginInstance_t )(FEAPI_PluginInstance_t *phInstanceHandle) |
typedef FEAPI_Error_t(* | FEAPI_InitializePlugin_t )(FEAPI_PluginInstance_t hInstanceHandle, float fInputSampleRate, int iNumberOfAudioChannels, int iHostApiMajorVersion, FEAPI_UserData_t *pstUserData) |
typedef unsigned int(* | FEAPI_GetPluginAPIVersion_t )(FEAPI_VersionInfo_t eAPIMajorMinorOrSubVersion) |
typedef FEAPI_Error_t(* | FEAPI_GetPluginName_t )(FEAPI_PluginInstance_t hInstanceHandle, char *pcPluginName) |
typedef FEAPI_Error_t(* | FEAPI_GetPluginVendor_t )(FEAPI_PluginInstance_t hInstanceHandle, char *pcPluginVendor) |
typedef float(* | FEAPI_GetPluginProperty_t )(FEAPI_PluginInstance_t hInstanceHandle, FEAPI_PluginProperty_t ePluginProperty) |
typedef FEAPI_Error_t(* | FEAPI_GetPluginId_t )(FEAPI_PluginInstance_t hInstanceHandle, char *pcPluginId) |
typedef unsigned int(* | FEAPI_GetPluginVendorVersion_t )(FEAPI_PluginInstance_t hInstanceHandle, FEAPI_VersionInfo_t ePluginMajorMinorOrSubVersion) |
typedef FEAPI_Error_t(* | FEAPI_GetPluginDescription_t )(FEAPI_PluginInstance_t hInstanceHandle, char *pcPluginDescription) |
typedef FEAPI_Error_t(* | FEAPI_GetPluginCopyright_t )(FEAPI_PluginInstance_t hInstanceHandle, char *pcPluginCopyright) |
typedef unsigned int(* | FEAPI_GetPluginNumOfInputs_t )(FEAPI_PluginInstance_t hInstanceHandle) |
typedef FEAPI_Error_t(* | FEAPI_GetPluginInputDescription_t )(FEAPI_PluginInstance_t hInstanceHandle, int iInputIndex, FEAPI_SignalDescription_t *pstInputDescription) |
typedef unsigned int(* | FEAPI_GetPluginNumOfParameters_t )(FEAPI_PluginInstance_t hInstanceHandle) |
typedef FEAPI_Error_t(* | FEAPI_GetPluginParameterDescription_t )(FEAPI_PluginInstance_t hInstanceHandle, int iParameterIndex, FEAPI_ParameterDescription_t *pstParameterDescription) |
typedef FEAPI_Error_t(* | FEAPI_SetPluginParameter_t )(FEAPI_PluginInstance_t hInstanceHandle, int iParameterIndex, float fValue) |
typedef float(* | FEAPI_GetPluginParameter_t )(FEAPI_PluginInstance_t hInstanceHandle, int iParameterIndex) |
typedef FEAPI_Error_t(* | FEAPI_ProcessPlugin_t )(FEAPI_PluginInstance_t hInstanceHandle, const FEAPI_Signal_t **ppfInputBuffer, const FEAPI_TimeStamp_t *ptFEAPI_TimeStamp, int iNumberOfFrames) |
typedef FEAPI_Error_t(* | FEAPI_ProcessPluginDone_t )(FEAPI_PluginInstance_t hInstanceHandle) |
typedef unsigned int(* | FEAPI_GetPluginNumOfResults_t )(FEAPI_PluginInstance_t hInstanceHandle) |
typedef FEAPI_Error_t(* | FEAPI_GetPluginResultDescription_t )(FEAPI_PluginInstance_t hInstanceHandle, int iResultIndex, FEAPI_SignalDescription_t *pstResultDescription) |
typedef int(* | FEAPI_GetPluginSizeOfResult_t )(FEAPI_PluginInstance_t hInstanceHandle, int iResultIndex) |
typedef FEAPI_Error_t(* | FEAPI_GetPluginResult_t )(FEAPI_PluginInstance_t hInstanceHandle, int iResultIndex, FEAPI_Signal_t *pfResult, FEAPI_TimeStamp_t *ptFEAPI_TimeStamp) |
typedef int(* | FEAPI_GetPluginResultLatency_t )(FEAPI_PluginInstance_t hInstanceHandle, int iResultIndex) |
typedef FEAPI_Error_t(* | FEAPI_ResetPlugin_t )(FEAPI_PluginInstance_t hInstanceHandle) |
Enumerations |
enum | FEAPI_MaxStringLengths_t_tag { FEAPI_kMaxNameLength = 1024,
FEAPI_kMaxUnitLength = 1024,
FEAPI_kMaxDescriptionLength = 4096
} |
enum | FEAPI_Error_t_tag {
FEAPI_kNoError = 0,
FEAPI_kUnspecifiedError = -1,
FEAPI_kIndexOutOfRangeError = -2,
FEAPI_kInvalidPointerError = -3,
FEAPI_kUnknownError = -9999
} |
enum | FEAPI_VersionInfo_t_tag { FEAPI_kMajorVersion = 0,
FEAPI_kMinorVersion = 1,
FEAPI_kSubVersion = 2
} |
enum | FEAPI_PluginProperty_t_tag {
FEAPI_kMinSampleRate = 0,
FEAPI_kMaxSampleRate = 1,
FEAPI_kMinChannels = 2,
FEAPI_kMaxChannels = 3,
FEAPI_kMinFrameSize = 4,
FEAPI_kMaxFrameSize = 5,
FEAPI_kOptFrameSize = 6
} |
Define Documentation
#define FEAPI_HEADER_INCLUDED |
|
|
avoid multiple header includes
Definition at line 118 of file FEAPI.h. |
Generated on Fri Mar 23 10:28:54 2007 for FEAPI Plugin Documentation by
1.3.9.1