#include <FEAPIPluginBase.h>
Inherited by CFindAbsoluteMax, CFindAbsoluteRms, CLoudness, CSpectralFeatures, and CZeroCrossings.
Inheritance diagram for CFeatureExtractBase:
This class provides the plugin internal interface for the low level feature extraction Plugin. The host has no functions that can be called by the Plugin, only vice versa.
Definition at line 318 of file FEAPIPluginBase.h.
Public Member Functions | |
CFeatureExtractBase () | |
virtual | ~CFeatureExtractBase () |
FEAPI_Error_t | InitializePlugin (float fInputSampleRate, int iNumberOfAudioChannels, int iHostApiMajorVersion, FEAPI_UserData_t *pstUserData) |
FEAPI_Error_t | GetPluginName (char *pcPluginName) |
FEAPI_Error_t | GetPluginVendor (char *pcPluginVendor) |
virtual float | GetPluginProperty (FEAPI_PluginProperty_t ePluginProperty)=0 |
FEAPI_Error_t | GetPluginId (char *pcPluginId) |
int | GetPluginVendorVersion (FEAPI_VersionInfo_t ePluginMajorMinorOrSubVersion) |
FEAPI_Error_t | GetPluginDescription (char *pcPluginDescription) |
FEAPI_Error_t | GetPluginCopyright (char *pcPluginCopyright) |
int | GetPluginNumOfInputs () |
virtual FEAPI_Error_t | GetPluginInputDescription (int iInputIndex, FEAPI_SignalDescription_t *pstInputDescription) |
int | GetPluginNumOfResults () |
virtual FEAPI_Error_t | GetPluginResultDescription (int iResultIndex, FEAPI_SignalDescription_t *pstResultDescription) |
int | GetPluginNumOfParameters () |
virtual FEAPI_Error_t | GetPluginParameterDescription (int iParameterIndex, FEAPI_ParameterDescription_t *pstParameterDescription) |
virtual FEAPI_Error_t | SetPluginParameter (int iParameterIndex, float fValue) |
virtual float | GetPluginParameter (int iParameterIndex) |
virtual FEAPI_Error_t | ProcessPlugin (const FEAPI_Signal_t **ppfInputBuffer, const FEAPI_TimeStamp_t *ptFEAPI_TimeStamp, int iNumberOfFrames)=0 |
virtual FEAPI_Error_t | ProcessPluginDone () |
virtual int | GetPluginSizeOfResult (int iResultIndex)=0 |
virtual FEAPI_Error_t | GetPluginResult (int iResultIndex, float *pfResult, FEAPI_TimeStamp_t *ptFEAPI_TimeStamp)=0 |
virtual int | GetPluginResultLatency (int iResultIndex) |
virtual FEAPI_Error_t | ResetPlugin () |
Static Public Member Functions | |
int | GetPluginAPIVersion (FEAPI_VersionInfo_t eApiMajorMinorOrSubVersion) |
Protected Member Functions | |
void | SetPluginInputPinInfo (const CPin &PinInfo) |
void | SetPluginResultPinInfo (const CPin &PinInfo) |
void | SetPluginParameterPinInfo (const CPin &PinInfo) |
Protected Attributes | |
float | m_fSampleRate |
input sample rate in Hz | |
int | m_iMajorVersion |
major plugin version | |
int | m_iMinorVersion |
minor plugin version | |
int | m_iSubVersion |
micro plugin version | |
bool | m_bIsInitialized |
true if InitializePlugin has been processed | |
std::string | m_cPluginName |
plugin name | |
std::string | m_cPluginVendor |
plugin vendor | |
std::string | m_cPluginId |
unique (per vendor) plugin Id | |
std::string | m_cPluginDescription |
plugin description | |
std::string | m_cPluginCopyRight |
plugin copyright info | |
PinMap | m_Inputs |
data structure containing information on plugin input signals | |
PinMap | m_Results |
data structure containing information on plugin output results | |
PinMap | m_Parameters |
data structure containing information on plugin parameters |
|
Plugin constructor. Note that the constructor is not intended to implement any time-consuming or heavy-weight stuff like memory allocation; this has to be done in InitializePlugin. Definition at line 257 of file FEAPIPluginBase.cpp. References m_bIsInitialized, m_cPluginCopyRight, m_cPluginDescription, m_cPluginId, m_cPluginName, m_cPluginVendor, m_fSampleRate, m_iMajorVersion, m_iMinorVersion, and m_iSubVersion. |
|
Plugin destructor. Definition at line 276 of file FEAPIPluginBase.cpp. References m_bIsInitialized, m_Inputs, m_Parameters, and m_Results. |
|
Gets the version number (major, minor or subversion) of the API used by the plugin. This is *not* the plugin version, therefore the function may be called without a previously created instance.
Definition at line 287 of file FEAPIPluginBase.cpp. References FEAPI_kMajorVersion, FEAPI_kMinorVersion, and FEAPI_kSubVersion. |
|
Gets the copyright information for the plugin.
Definition at line 391 of file FEAPIPluginBase.cpp. References FEAPI_Error_t, FEAPI_kMaxDescriptionLength, and m_cPluginCopyRight. |
|
Gets the description of the plugin, containing information about what the plugin actually does.
Definition at line 381 of file FEAPIPluginBase.cpp. References FEAPI_Error_t, FEAPI_kMaxDescriptionLength, and m_cPluginDescription. |
|
Gets the (vendor unique) plugin identification string.
Definition at line 347 of file FEAPIPluginBase.cpp. References FEAPI_Error_t, FEAPI_kMaxNameLength, and m_cPluginId. |
|
Gets information about one of the possible inputs.
Definition at line 407 of file FEAPIPluginBase.cpp. References FEAPI_SignalDescription_t_tag::acDescription, FEAPI_SignalDescription_t_tag::acName, FEAPI_SignalDescription_t_tag::acUnit, FEAPI_Error_t, FEAPI_kMaxDescriptionLength, FEAPI_kMaxNameLength, FEAPI_kMaxUnitLength, FEAPI_SignalDescription_t, FEAPI_SignalDescription_t_tag::fQuantizedTo, FEAPI_SignalDescription_t_tag::fRangeMax, FEAPI_SignalDescription_t_tag::fRangeMin, FEAPI_SignalDescription_t_tag::fSampleRate, GetPluginNumOfInputs(), and m_Inputs. |
Here is the call graph for this function:
|
Gets the name of the plugin.
Definition at line 328 of file FEAPIPluginBase.cpp. References FEAPI_Error_t, FEAPI_kMaxNameLength, and m_cPluginName. |
|
Gets the number of inputs for the plugin. This number will equal the number of audio channels in many cases, otherwise exceed the number of audio channels. The additional input channels are plugin developer specific and not recommended. If used, they have to be routed host internally.
Definition at line 401 of file FEAPIPluginBase.cpp. References int(), and m_Inputs. Referenced by GetPluginInputDescription(), CZeroCrossings::InitializePlugin(), CSpectralFeatures::InitializePlugin(), CLoudness::InitializePlugin(), CZeroCrossings::ProcessPlugin(), CSpectralFeatures::ProcessPlugin(), CLoudness::ProcessPlugin(), CFindAbsoluteRms::ProcessPlugin(), CFindAbsoluteMax::ProcessPlugin(), CZeroCrossings::ResetPlugin(), CSpectralFeatures::ResetPlugin(), CLoudness::ResetPlugin(), CLoudness::~CLoudness(), CSpectralFeatures::~CSpectralFeatures(), and CZeroCrossings::~CZeroCrossings(). |
Here is the call graph for this function:
|
Gets the number of parameters.
Definition at line 453 of file FEAPIPluginBase.cpp. References int(), and m_Parameters. Referenced by CZeroCrossings::GetPluginParameter(), CSpectralFeatures::GetPluginParameter(), CLoudness::GetPluginParameter(), GetPluginParameterDescription(), CZeroCrossings::SetPluginParameter(), CSpectralFeatures::SetPluginParameter(), and CLoudness::SetPluginParameter(). |
Here is the call graph for this function:
|
Here is the call graph for this function:
|
Gets the current value of a parameter.
Reimplemented in CFindAbsoluteRms, CFindAbsoluteMax, CLoudness, CSpectralFeatures, and CZeroCrossings. Definition at line 487 of file FEAPIPluginBase.cpp. |
|
Gets information about one of the possible parameters.
Definition at line 459 of file FEAPIPluginBase.cpp. References FEAPI_ParameterDescription_t_tag::acDescription, FEAPI_ParameterDescription_t_tag::acName, FEAPI_ParameterDescription_t_tag::acUnit, FEAPI_ParameterDescription_t_tag::bIsChangeableInRealTime, FEAPI_ParameterDescription_t_tag::fDefaultValue, FEAPI_Error_t, FEAPI_kMaxDescriptionLength, FEAPI_kMaxNameLength, FEAPI_kMaxUnitLength, FEAPI_ParameterDescription_t, FEAPI_ParameterDescription_t_tag::fQuantizedTo, FEAPI_ParameterDescription_t_tag::fRangeMax, FEAPI_ParameterDescription_t_tag::fRangeMin, GetPluginNumOfParameters(), and m_Parameters. |
Here is the call graph for this function:
|
Gets an indication of the plugins capabilities.
Implemented in CFindAbsoluteRms, CFindAbsoluteMax, CLoudness, CSpectralFeatures, and CZeroCrossings. |
|
Gets one result.
Implemented in CFindAbsoluteRms, CFindAbsoluteMax, CLoudness, CSpectralFeatures, and CZeroCrossings. |
|
Gets information about one of the possible results/features.
Definition at line 433 of file FEAPIPluginBase.cpp. References FEAPI_SignalDescription_t_tag::acDescription, FEAPI_SignalDescription_t_tag::acName, FEAPI_SignalDescription_t_tag::acUnit, FEAPI_Error_t, FEAPI_kMaxDescriptionLength, FEAPI_kMaxNameLength, FEAPI_kMaxUnitLength, FEAPI_SignalDescription_t, FEAPI_SignalDescription_t_tag::fQuantizedTo, FEAPI_SignalDescription_t_tag::fRangeMax, FEAPI_SignalDescription_t_tag::fRangeMin, FEAPI_SignalDescription_t_tag::fSampleRate, GetPluginNumOfResults(), and m_Results. |
Here is the call graph for this function:
|
Gets the maximum latency of one result.
Reimplemented in CFindAbsoluteRms, CFindAbsoluteMax, CLoudness, CSpectralFeatures, and CZeroCrossings. Definition at line 501 of file FEAPIPluginBase.cpp. |
|
Gets the size of one result in FEAPI_Signal_t values (4 bytes per value).
Implemented in CFindAbsoluteRms, CFindAbsoluteMax, CLoudness, CSpectralFeatures, and CZeroCrossings. |
|
Gets the vendor name of the plugin.
Definition at line 338 of file FEAPIPluginBase.cpp. References FEAPI_Error_t, FEAPI_kMaxNameLength, and m_cPluginVendor. |
|
Gets the vendor version of the plugin.
Definition at line 356 of file FEAPIPluginBase.cpp. References FEAPI_kMajorVersion, FEAPI_kMinorVersion, and FEAPI_kSubVersion. |
|
initializes a new instance of the plugin
Reimplemented in CFindAbsoluteRms, CFindAbsoluteMax, CLoudness, CSpectralFeatures, and CZeroCrossings. Definition at line 312 of file FEAPIPluginBase.cpp. References FEAPI_Error_t, FEAPI_UserData_t, m_bIsInitialized, and m_fSampleRate. Referenced by CZeroCrossings::InitializePlugin(), CSpectralFeatures::InitializePlugin(), CLoudness::InitializePlugin(), CFindAbsoluteRms::InitializePlugin(), and CFindAbsoluteMax::InitializePlugin(). |
|
Processes a block of audio data.
|
|
Signals that no more input data is available (does the final processing).
Reimplemented in CFindAbsoluteRms, CFindAbsoluteMax, CLoudness, CSpectralFeatures, and CZeroCrossings. Definition at line 494 of file FEAPIPluginBase.cpp. References FEAPI_Error_t. |
|
Resets/clears all internal buffers and states, so that the plugin is in a state where it can start processing a new audio stream.
Reimplemented in CFindAbsoluteRms, CFindAbsoluteMax, CLoudness, CSpectralFeatures, and CZeroCrossings. Definition at line 508 of file FEAPIPluginBase.cpp. References FEAPI_Error_t. |
|
A helper method for specifying the signature of a plugin. It sets the information related to an input of the plugin. For setting an input pin you can write for example: SetPluginInputPinInfo(CPin::SetIndex(0) // put here the correct input index .SetName("My input pin") .SetUnit("") .SetDescription("An input just for documentation") .SetRangeMin(-1.0f) .SetRangeMax(1.0f) .SetSampleRate(44100.0f) );
Definition at line 519 of file FEAPIPluginBase.cpp. References CPin::GetIndex(), and m_Inputs. Referenced by CZeroCrossings::InitializePlugin(), CSpectralFeatures::InitializePlugin(), CLoudness::InitializePlugin(), CFindAbsoluteRms::InitializePlugin(), and CFindAbsoluteMax::InitializePlugin(). |
Here is the call graph for this function:
|
Sets a parameter to a specified value.
Reimplemented in CFindAbsoluteRms, CFindAbsoluteMax, CLoudness, CSpectralFeatures, and CZeroCrossings. Definition at line 480 of file FEAPIPluginBase.cpp. References FEAPI_Error_t. |
|
A helper method for specifying the signature of a plugin. It sets the information related to a parameter of the plugin. For setting a parameter pin you can write for example: SetPluginParameterPinInfo(CPin::SetIndex(0) // put here the correct parameter index .SetName("My parameter pin") .SetUnit("") .SetDescription("A parameter just for documentation") .SetRangeMin(0.0f) .SetRangeMax(1.0f) .SetDeafultValue(0.5f) .SetQuantizedTo(-1.0f) .SetIsChangeableInRealTime(1) );
Definition at line 529 of file FEAPIPluginBase.cpp. References CPin::GetIndex(), and m_Parameters. Referenced by CZeroCrossings::InitializePlugin(), CSpectralFeatures::InitializePlugin(), and CLoudness::InitializePlugin(). |
Here is the call graph for this function:
|
A helper method for specifying the signature of a plugin. It sets the information related to a result of the plugin. For setting a result pin you can write for example: SetPluginResultPinInfo(CPin::SetIndex(0) // put here the correct result index .SetName("My result pin") .SetUnit("") .SetDescription("A result just for documentation") .SetRangeMin(-1.0f) .SetRangeMax(1.0f) .SetSampleRate(-1) );
Definition at line 524 of file FEAPIPluginBase.cpp. References CPin::GetIndex(), and m_Results. Referenced by CZeroCrossings::InitializePlugin(), CSpectralFeatures::InitializePlugin(), CLoudness::InitializePlugin(), CFindAbsoluteRms::InitializePlugin(), and CFindAbsoluteMax::InitializePlugin(). |
Here is the call graph for this function:
|
true if InitializePlugin has been processed
Definition at line 625 of file FEAPIPluginBase.h. Referenced by CFeatureExtractBase(), InitializePlugin(), and ~CFeatureExtractBase(). |
|
plugin copyright info
Definition at line 628 of file FEAPIPluginBase.h. Referenced by CFeatureExtractBase(), and GetPluginCopyright(). |
|
plugin description
Definition at line 628 of file FEAPIPluginBase.h. Referenced by CFeatureExtractBase(), and GetPluginDescription(). |
|
unique (per vendor) plugin Id
Definition at line 628 of file FEAPIPluginBase.h. Referenced by CFeatureExtractBase(), and GetPluginId(). |
|
plugin name
Definition at line 628 of file FEAPIPluginBase.h. Referenced by CFeatureExtractBase(), and GetPluginName(). |
|
plugin vendor
Definition at line 628 of file FEAPIPluginBase.h. Referenced by CFeatureExtractBase(), and GetPluginVendor(). |
|
input sample rate in Hz
Definition at line 619 of file FEAPIPluginBase.h. Referenced by CFeatureExtractBase(), and InitializePlugin(). |
|
major plugin version
Definition at line 622 of file FEAPIPluginBase.h. Referenced by CFeatureExtractBase(). |
|
minor plugin version
Definition at line 622 of file FEAPIPluginBase.h. Referenced by CFeatureExtractBase(). |
|
data structure containing information on plugin input signals
Definition at line 634 of file FEAPIPluginBase.h. Referenced by GetPluginInputDescription(), GetPluginNumOfInputs(), SetPluginInputPinInfo(), and ~CFeatureExtractBase(). |
|
micro plugin version
Definition at line 622 of file FEAPIPluginBase.h. Referenced by CFeatureExtractBase(). |
|
data structure containing information on plugin parameters
Definition at line 636 of file FEAPIPluginBase.h. Referenced by GetPluginNumOfParameters(), GetPluginParameterDescription(), SetPluginParameterPinInfo(), and ~CFeatureExtractBase(). |
|
data structure containing information on plugin output results
Definition at line 635 of file FEAPIPluginBase.h. Referenced by GetPluginNumOfResults(), GetPluginResultDescription(), SetPluginResultPinInfo(), and ~CFeatureExtractBase(). |