2022-03-27 11:33:37 +02:00
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* Includes */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
#ifndef _DATASTRUCT_H_
|
|
|
|
#define _DATASTRUCT_H_
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* Global definitions */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
#define NDD_CMD_STATS_GET ( NDT_Command) 65
|
|
|
|
#define NDD_CMD_SAMPLE_LOAD ( NDT_Command) 66
|
|
|
|
#define NDD_CMD_SAMPLE_UNLOAD ( NDT_Command) 67
|
|
|
|
#define NDD_CMD_INDEX0_PRINT ( NDT_Command) 68
|
|
|
|
#define NDD_CMD_INDEX1_PRINT ( NDT_Command) 69
|
|
|
|
|
2022-04-21 01:27:08 +02:00
|
|
|
#define DRD_NAME_LEN (short) 256
|
|
|
|
#define DRD_NAME_SIZE (DRD_NAME_LEN + 1)
|
|
|
|
#define DRD_DIRNAME_LEN (short) 1024
|
|
|
|
#define DRD_DIRNAME_SIZE (DRD_DIRNAME_LEN)
|
|
|
|
#define DRD_FILENAME_LEN (short) 1024
|
|
|
|
#define DRD_FILENAME_SIZE (DRD_FILENAME_LEN)
|
|
|
|
#define DRD_DESC_LEN (short) 4096
|
|
|
|
#define DRD_DESC_SIZE (DRD_DESC_LEN + 1)
|
2022-03-27 11:33:37 +02:00
|
|
|
|
2022-04-20 12:37:32 +02:00
|
|
|
typedef long DRT_Layer_Id;
|
2022-04-21 01:27:08 +02:00
|
|
|
|
2022-04-20 12:37:32 +02:00
|
|
|
typedef long DRT_Instrument_Id;
|
2022-04-21 01:27:08 +02:00
|
|
|
|
|
|
|
typedef long DRT_Kit_Id;
|
|
|
|
typedef short DRT_Load_Status;
|
|
|
|
|
|
|
|
#define DRD_LOAD_STATUS_UNKNOWN ( DRT_Load_Status) 0
|
|
|
|
#define DRD_LOAD_STATUS_UNLOADED ( DRT_Load_Status) 1
|
|
|
|
#define DRD_LOAD_STATUS_LOADED ( DRT_Load_Status) 2
|
|
|
|
#define DRD_LOAD_STATUS_TRANSIENT ( DRT_Load_Status) 3
|
|
|
|
|
|
|
|
#define DR_LOAD_STATUS_VALUE_UNKNOWN_IS( v) ( (v) == DRD_LOAD_STATUS_UNKNOWN)
|
|
|
|
#define DR_LOAD_STATUS_VALUE_UNLOADED_IS( v) ( (v) == DRD_LOAD_STATUS_UNLOADED)
|
|
|
|
#define DR_LOAD_STATUS_VALUE_LOADED_IS( v) ( (v) == DRD_LOAD_STATUS_LOADED)
|
|
|
|
#define DR_LOAD_STATUS_VALUE_TRANSIENT_IS( v) ( (v) == DRD_LOAD_STATUS_TRANSIENT)
|
|
|
|
|
|
|
|
#define DR_LOAD_STATUS_UNKNOWN_IS( s) DR_LOAD_STATUS_VALUE_UNKNOWN_IS( (s)->Status)
|
|
|
|
#define DR_LOAD_STATUS_UNLOADED_IS( s) DR_LOAD_STATUS_VALUE_UNLOADED_IS( (s)->Status)
|
|
|
|
#define DR_LOAD_STATUS_LOADED_IS( s) DR_LOAD_STATUS_VALUE_LOADED_IS( (s)->Status)
|
|
|
|
#define DR_LOAD_STATUS_TRANSIENT_IS( s) DR_LOAD_STATUS_VALUE_TRANSIENT_IS( (s)->Status)
|
|
|
|
|
|
|
|
#define DR_LOAD_STATUS_VALUE_ASCII_GET( v) ( DR_LOAD_STATUS_VALUE_UNKNOWN_IS( (v)) ? "UNKNOWN" : ( DR_LOAD_STATUS_VALUE_UNLOADED_IS( (v)) ? "UNLOADED" : ( DR_LOAD_STATUS_VALUE_LOADED_IS( (v)) ? "LOADED" : ( DR_LOAD_STATUS_VALUE_TRANSIENT_IS( (v)) ? "TRANSIENT" : "???"))))
|
|
|
|
#define DR_LOAD_STATUS_ASCII_GET( s) DR_LOAD_STATUS_VALUE_ASCII_GET( (s)->Status)
|
2022-04-20 12:37:32 +02:00
|
|
|
|
2022-03-27 11:33:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* Layer / Instrument / Kit */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
typedef struct DRT_Layer
|
|
|
|
{
|
2022-04-21 01:27:08 +02:00
|
|
|
DRT_Layer_Id Id;
|
|
|
|
DRT_Load_Status Status;
|
|
|
|
char FileName[ DRD_FILENAME_SIZE];
|
|
|
|
float *Sample_Ptr;
|
|
|
|
long Sample_Size;
|
|
|
|
SF_INFO *SF_Info_Ptr;
|
|
|
|
double Min;
|
|
|
|
double Max;
|
|
|
|
double Gain;
|
|
|
|
double Pitch;
|
2022-03-27 11:33:37 +02:00
|
|
|
} DRT_Layer;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct DRT_Instrument
|
|
|
|
{
|
2022-04-20 12:37:32 +02:00
|
|
|
DRT_Instrument_Id Id;
|
2022-04-21 01:27:08 +02:00
|
|
|
DRT_Load_Status Status;
|
|
|
|
char Name[ DRD_NAME_SIZE];
|
2022-04-20 12:37:32 +02:00
|
|
|
double Gain;
|
|
|
|
double Pan_Left;
|
|
|
|
double Pan_Right;
|
|
|
|
NDT_Root *Layer_DS_Ptr;
|
2022-03-27 11:33:37 +02:00
|
|
|
} DRT_Instrument;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct DRT_Kit
|
|
|
|
{
|
2022-04-21 01:27:08 +02:00
|
|
|
DRT_Kit_Id Id;
|
|
|
|
DRT_Load_Status Status;
|
|
|
|
char Name[ DRD_NAME_SIZE];
|
|
|
|
char Desc[ DRD_DESC_SIZE];
|
|
|
|
char DirName[ DRD_DIRNAME_SIZE];
|
|
|
|
NDT_Root *Instrument_DS_Ptr;
|
2022-03-27 11:33:37 +02:00
|
|
|
} DRT_Kit;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ifdef _DATASTRUCT_C_
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* Private Definitions */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* Layer_DS Indexes */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
#define DRD_LAYER_DS_INDEX_NB (short)2
|
|
|
|
|
|
|
|
static NDT_Index_Type DRG_Layer_DS_Index_Tab_Initial[DRD_LAYER_DS_INDEX_NB] =
|
|
|
|
{
|
|
|
|
(NDD_INDEX_STATUS_OPENED | NDD_INDEX_TYPE_LIST | NDD_INDEX_SUBTYPE_SORTED),
|
|
|
|
(NDD_INDEX_STATUS_OPENED | NDD_INDEX_TYPE_LIST | NDD_INDEX_SUBTYPE_SORTED)
|
|
|
|
};
|
|
|
|
|
|
|
|
static NDT_Index_Type DRG_Layer_DS_Index_Tab_Final[DRD_LAYER_DS_INDEX_NB] =
|
|
|
|
{
|
|
|
|
(NDD_INDEX_STATUS_OPENED | NDD_INDEX_TYPE_TREE | NDD_INDEX_SUBTYPE_BALANCED),
|
|
|
|
(NDD_INDEX_STATUS_OPENED | NDD_INDEX_TYPE_TREE | NDD_INDEX_SUBTYPE_BALANCED)
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* Instrument_DS Indexes */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
#define DRD_INSTRUMENT_DS_INDEX_NB (short)2
|
|
|
|
|
|
|
|
static NDT_Index_Type DRG_Instrument_DS_Index_Tab_Initial[DRD_INSTRUMENT_DS_INDEX_NB] =
|
|
|
|
{
|
|
|
|
(NDD_INDEX_STATUS_OPENED | NDD_INDEX_TYPE_LIST | NDD_INDEX_SUBTYPE_SORTED),
|
|
|
|
(NDD_INDEX_STATUS_OPENED | NDD_INDEX_TYPE_LIST | NDD_INDEX_SUBTYPE_SORTED)
|
|
|
|
};
|
|
|
|
|
|
|
|
static NDT_Index_Type DRG_Instrument_DS_Index_Tab_Final[DRD_INSTRUMENT_DS_INDEX_NB] =
|
|
|
|
{
|
|
|
|
(NDD_INDEX_STATUS_OPENED | NDD_INDEX_TYPE_TREE | NDD_INDEX_SUBTYPE_BALANCED),
|
|
|
|
(NDD_INDEX_STATUS_OPENED | NDD_INDEX_TYPE_TREE | NDD_INDEX_SUBTYPE_BALANCED)
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* Kit_DS Indexes */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
#define DRD_KIT_DS_INDEX_NB (short)2
|
|
|
|
|
|
|
|
static NDT_Index_Type DRG_Kit_DS_Index_Tab_Initial[DRD_KIT_DS_INDEX_NB] =
|
|
|
|
{
|
|
|
|
(NDD_INDEX_STATUS_OPENED | NDD_INDEX_TYPE_LIST | NDD_INDEX_SUBTYPE_SORTED),
|
|
|
|
(NDD_INDEX_STATUS_OPENED | NDD_INDEX_TYPE_LIST | NDD_INDEX_SUBTYPE_SORTED)
|
|
|
|
};
|
|
|
|
|
|
|
|
static NDT_Index_Type DRG_Kit_DS_Index_Tab_Final[DRD_KIT_DS_INDEX_NB] =
|
|
|
|
{
|
|
|
|
(NDD_INDEX_STATUS_OPENED | NDD_INDEX_TYPE_TREE | NDD_INDEX_SUBTYPE_BALANCED),
|
|
|
|
(NDD_INDEX_STATUS_OPENED | NDD_INDEX_TYPE_TREE | NDD_INDEX_SUBTYPE_BALANCED)
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* XML XPATH Tags */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
2022-04-21 01:27:08 +02:00
|
|
|
#define DR_STR(A) #A
|
|
|
|
#define DR_TAG(A) DR_STR(A)
|
2022-03-27 11:33:37 +02:00
|
|
|
|
2022-04-21 01:27:08 +02:00
|
|
|
#define DR_XML_XPATH_ELEMENT(A) *[local-name()=(A)]
|
|
|
|
#define DRD_XML_SLASH /
|
2022-03-27 11:33:37 +02:00
|
|
|
|
2022-04-21 01:27:08 +02:00
|
|
|
#define DRD_XML_XPATH_DRUMKIT_BASE_TAG DR_XML_XPATH_ELEMENT('drumkit_info')
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_NAME_TAG DR_XML_XPATH_ELEMENT('name')
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_INFO_TAG DR_XML_XPATH_ELEMENT('info')
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_INSTRUMENTLIST_TAG DR_XML_XPATH_ELEMENT('instrumentList')
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_INSTRUMENT_TAG DR_XML_XPATH_ELEMENT('instrument')
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_ID_TAG DR_XML_XPATH_ELEMENT('id')
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_GAIN_TAG DR_XML_XPATH_ELEMENT('gain')
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_PAN_LEFT_TAG DR_XML_XPATH_ELEMENT('pan_L')
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_PAN_RIGHT_TAG DR_XML_XPATH_ELEMENT('pan_R')
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_INSTRUMENTCOMPONENT_TAG DR_XML_XPATH_ELEMENT('instrumentComponent')
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_LAYER_TAG DR_XML_XPATH_ELEMENT('layer')
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_FILENAME_TAG DR_XML_XPATH_ELEMENT('filename')
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_MIN_TAG DR_XML_XPATH_ELEMENT('min')
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_MAX_TAG DR_XML_XPATH_ELEMENT('max')
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_PITCH_TAG DR_XML_XPATH_ELEMENT('pitch')
|
2022-03-27 11:33:37 +02:00
|
|
|
|
2022-04-21 01:27:08 +02:00
|
|
|
#define DRD_XML_XPATH_DRUMKIT_BASE_STR DR_TAG(/DRD_XML_XPATH_DRUMKIT_BASE_TAG)
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_NAME_STR DR_TAG(/DRD_XML_XPATH_DRUMKIT_NAME_TAG)
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_INFO_STR DR_TAG(/DRD_XML_XPATH_DRUMKIT_INFO_TAG)
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_ID_STR DR_TAG(/DRD_XML_XPATH_DRUMKIT_ID_TAG)
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_GAIN_STR DR_TAG(/DRD_XML_XPATH_DRUMKIT_GAIN_TAG)
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_PAN_LEFT_STR DR_TAG(/DRD_XML_XPATH_DRUMKIT_PAN_LEFT_TAG)
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_PAN_RIGHT_STR DR_TAG(/DRD_XML_XPATH_DRUMKIT_PAN_RIGHT_TAG)
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_FILENAME_STR DR_TAG(/DRD_XML_XPATH_DRUMKIT_FILENAME_TAG)
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_MIN_STR DR_TAG(/DRD_XML_XPATH_DRUMKIT_MIN_TAG)
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_MAX_STR DR_TAG(/DRD_XML_XPATH_DRUMKIT_MAX_TAG)
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_PITCH_STR DR_TAG(/DRD_XML_XPATH_DRUMKIT_PITCH_TAG)
|
2022-03-27 11:33:37 +02:00
|
|
|
|
2022-04-21 01:27:08 +02:00
|
|
|
#define DRD_XML_XPATH_DRUMKIT_KIT_NAME_FULL DR_TAG(/DRD_XML_XPATH_DRUMKIT_BASE_TAG/DRD_XML_XPATH_DRUMKIT_NAME_TAG)
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_KIT_INFO_FULL DR_TAG(/DRD_XML_XPATH_DRUMKIT_BASE_TAG/DRD_XML_XPATH_DRUMKIT_INFO_TAG)
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_INSTRUMENT_FULL DR_TAG(/DRD_XML_XPATH_DRUMKIT_BASE_TAG/DRD_XML_XPATH_DRUMKIT_INSTRUMENTLIST_TAG/DRD_XML_XPATH_DRUMKIT_INSTRUMENT_TAG[%i])
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_LAYER_FULL2 DR_TAG(/DRD_XML_XPATH_DRUMKIT_BASE_TAG/DRD_XML_XPATH_DRUMKIT_INSTRUMENTLIST_TAG/DRD_XML_XPATH_DRUMKIT_INSTRUMENT_TAG[%i]/DRD_XML_XPATH_DRUMKIT_INSTRUMENTCOMPONENT_TAG/DRD_XML_XPATH_DRUMKIT_LAYER_TAG[%i])
|
|
|
|
#define DRD_XML_XPATH_DRUMKIT_LAYER_FULL DR_TAG(/DRD_XML_XPATH_DRUMKIT_BASE_TAG/DRD_XML_XPATH_DRUMKIT_INSTRUMENTLIST_TAG/DRD_XML_XPATH_DRUMKIT_INSTRUMENT_TAG[%i]DRD_XML_SLASH/DRD_XML_XPATH_DRUMKIT_LAYER_TAG[%i])
|
2022-03-27 11:33:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* LibSamplerate */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
// Quality of conversion for libsamplerate.
|
|
|
|
// See http://www.mega-nerd.com/SRC/api_misc.html#Converters
|
|
|
|
// for info about availble qualities
|
2022-04-21 01:27:08 +02:00
|
|
|
//#define RATE_CONV_QUALITY SRC_SINC_BEST_QUALITY
|
|
|
|
#define DRD_RATE_CONV_QUALITY SRC_SINC_MEDIUM_QUALITY
|
2022-03-27 11:33:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* XML_Query */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
2022-04-21 01:27:08 +02:00
|
|
|
#define DRD_XML_QUERY_VALUE_UNKNOWN (short) 0
|
|
|
|
#define DRD_XML_QUERY_VALUE_STRING (short) 1
|
|
|
|
#define DRD_XML_QUERY_VALUE_INT (short) 2
|
|
|
|
#define DRD_XML_QUERY_VALUE_LONG (short) 3
|
|
|
|
#define DRD_XML_QUERY_VALUE_LONGLONG (short) 4
|
|
|
|
#define DRD_XML_QUERY_VALUE_FLOAT (short) 5
|
|
|
|
#define DRD_XML_QUERY_VALUE_DOUBLE (short) 6
|
2022-03-27 11:33:37 +02:00
|
|
|
|
|
|
|
typedef struct DRT_XML_Query
|
|
|
|
{
|
|
|
|
char *Query_Name;
|
|
|
|
char *XPath_Query;
|
|
|
|
short Value_Type;
|
|
|
|
long Value_Offset;
|
|
|
|
short Value_Len;
|
|
|
|
} DRT_XML_Query;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DRT_XML_Query DRG_XML_Query_Tab_Layer[] =
|
|
|
|
{
|
2022-04-21 01:27:08 +02:00
|
|
|
{ "File Name", DRD_XML_XPATH_DRUMKIT_FILENAME_STR, DRD_XML_QUERY_VALUE_STRING, offsetof( DRT_Layer, FileName), DRD_FILENAME_LEN },
|
|
|
|
{ "Min", DRD_XML_XPATH_DRUMKIT_MIN_STR, DRD_XML_QUERY_VALUE_DOUBLE, offsetof( DRT_Layer, Min), 0 },
|
|
|
|
{ "Max", DRD_XML_XPATH_DRUMKIT_MAX_STR, DRD_XML_QUERY_VALUE_DOUBLE, offsetof( DRT_Layer, Max), 0 },
|
|
|
|
{ "Gain", DRD_XML_XPATH_DRUMKIT_GAIN_STR, DRD_XML_QUERY_VALUE_DOUBLE, offsetof( DRT_Layer, Gain), 0 },
|
|
|
|
{ "Pitch", DRD_XML_XPATH_DRUMKIT_PITCH_STR, DRD_XML_QUERY_VALUE_DOUBLE, offsetof( DRT_Layer, Pitch), 0 },
|
|
|
|
{ NULL, NULL, DRD_XML_QUERY_VALUE_UNKNOWN, 0, 0 }
|
2022-03-27 11:33:37 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
DRT_XML_Query DRG_XML_Query_Tab_Instrument[] =
|
|
|
|
{
|
2022-04-21 01:27:08 +02:00
|
|
|
{ "Id", DRD_XML_XPATH_DRUMKIT_ID_STR, DRD_XML_QUERY_VALUE_LONG, offsetof( DRT_Instrument, Id), 0 },
|
|
|
|
{ "Name", DRD_XML_XPATH_DRUMKIT_NAME_STR, DRD_XML_QUERY_VALUE_STRING, offsetof( DRT_Instrument, Name), DRD_NAME_LEN },
|
|
|
|
{ "Gain", DRD_XML_XPATH_DRUMKIT_GAIN_STR, DRD_XML_QUERY_VALUE_DOUBLE, offsetof( DRT_Instrument, Gain), 0 },
|
|
|
|
{ "Pan_Left", DRD_XML_XPATH_DRUMKIT_PAN_LEFT_STR, DRD_XML_QUERY_VALUE_DOUBLE, offsetof( DRT_Instrument, Pan_Left), 0 },
|
|
|
|
{ "Pan_Right", DRD_XML_XPATH_DRUMKIT_PAN_RIGHT_STR, DRD_XML_QUERY_VALUE_DOUBLE, offsetof( DRT_Instrument, Pan_Right), 0 },
|
|
|
|
{ NULL, NULL, DRD_XML_QUERY_VALUE_UNKNOWN, 0, 0 }
|
2022-03-27 11:33:37 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
DRT_XML_Query DRG_XML_Query_Tab_Kit[] =
|
|
|
|
{
|
2022-04-21 01:27:08 +02:00
|
|
|
{ "File", DRD_XML_XPATH_DRUMKIT_NAME_STR, DRD_XML_QUERY_VALUE_STRING, offsetof( DRT_Kit, Name), DRD_NAME_LEN },
|
|
|
|
{ "Desc", DRD_XML_XPATH_DRUMKIT_INFO_STR, DRD_XML_QUERY_VALUE_STRING, offsetof( DRT_Kit, Desc), DRD_DESC_LEN },
|
|
|
|
{ NULL, NULL, DRD_XML_QUERY_VALUE_UNKNOWN, 0, 0 }
|
2022-03-27 11:33:37 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
# endif // ifdef _DATASTRUCT_C_
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ifndef _DATASTRUCT_C_
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* Public Prototypes */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
2022-04-20 12:37:32 +02:00
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* DR_Layer_Dump */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
extern DRT_Status DR_Layer_Dump( DRT_Layer *, long);
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-27 11:33:37 +02:00
|
|
|
/*---------------------------------------------------------------------------------*/
|
2022-04-20 12:37:32 +02:00
|
|
|
/* DR_Kit_Id_Find */
|
2022-03-27 11:33:37 +02:00
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
2022-04-20 12:37:32 +02:00
|
|
|
extern DRT_Status DR_Kit_Id_Find( DRT_Kit **, NDT_Root *, DRT_Kit_Id);
|
|
|
|
|
2022-03-27 11:33:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
2022-04-20 12:37:32 +02:00
|
|
|
/* DR_Kit_Name_Find */
|
2022-03-27 11:33:37 +02:00
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
2022-04-20 12:37:32 +02:00
|
|
|
extern DRT_Status DR_Kit_Name_Find( DRT_Kit **, NDT_Root *, char *);
|
2022-03-27 11:33:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
2022-04-20 12:37:32 +02:00
|
|
|
/* DR_Kit_Dump */
|
2022-03-27 11:33:37 +02:00
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
2022-04-20 12:37:32 +02:00
|
|
|
extern DRT_Status DR_Kit_Dump( DRT_Kit *, long);
|
2022-03-27 11:33:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
2022-04-20 12:37:32 +02:00
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kit_Load */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
2022-03-27 11:33:37 +02:00
|
|
|
|
2022-04-20 12:37:32 +02:00
|
|
|
extern DRT_Status DR_Kit_Load( DRT_Base *, char *);
|
2022-03-27 11:33:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
2022-04-20 12:37:32 +02:00
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kit_Sample_Load */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
2022-04-21 01:27:08 +02:00
|
|
|
extern DRT_Status DR_Kit_Sample_Load( DRT_Kit *, DRT_SampleRate);
|
2022-04-20 12:37:32 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kit_Sample_UnLoad */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
extern DRT_Status DR_Kit_Sample_UnLoad( DRT_Kit *);
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-27 11:33:37 +02:00
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_DataStruct_Init */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
2022-04-21 01:27:08 +02:00
|
|
|
extern DRT_Status DR_DataStruct_Init( DRT_Base *, DRT_SampleRate);
|
2022-03-27 11:33:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_DataStruct_DeInit */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
extern DRT_Status DR_DataStruct_DeInit( DRT_Base *);
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-04-20 12:37:32 +02:00
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kits_Sample_Load */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
extern DRT_Status DR_Kits_Sample_Load( DRT_Base *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kits_Sample_UnLoad */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
extern DRT_Status DR_Kits_Sample_UnLoad( DRT_Base *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kits_Load */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
extern DRT_Status DR_Kits_Load( DRT_Base *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kits_Dump */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
extern DRT_Status DR_Kits_Dump( DRT_Base *);
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-27 11:33:37 +02:00
|
|
|
# else // ifndef _DATA_STRUCT_C_
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* Private Prototypes */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DS Managers */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
NDT_Status DR_Layer_Manager( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, va_list *);
|
|
|
|
NDT_Status DR_Instrument_Manager( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, va_list *);
|
|
|
|
NDT_Status DR_Kit_Manager( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, va_list *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_Layer_Add */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_Layer_Add( DRT_Layer **, NDT_Root *, DRT_Layer *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_Layer_Sample_Load */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
2022-04-21 01:27:08 +02:00
|
|
|
DRT_Status DR_Layer_Sample_Load( DRT_Layer *, DRT_Kit *, DRT_SampleRate);
|
2022-03-27 11:33:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_Layer_Sample_UnLoad */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_Layer_Sample_UnLoad( DRT_Layer *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_Layer_Dump */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_Layer_Dump( DRT_Layer *, long);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* DR_Instrument_Add */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_Instrument_Add( DRT_Instrument **, NDT_Root *, DRT_Instrument *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_Instrument_Dump */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_Instrument_Dump( DRT_Instrument *, long);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kit_Add */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_Kit_Add( DRT_Kit **, NDT_Root *, DRT_Kit *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
2022-04-20 12:37:32 +02:00
|
|
|
/* DR_Kit_Id_Find */
|
2022-03-27 11:33:37 +02:00
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
2022-04-20 12:37:32 +02:00
|
|
|
DRT_Status DR_Kit_Id_Find( DRT_Kit **, NDT_Root *, DRT_Kit_Id);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kit_Name_Find */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_Kit_Name_Find( DRT_Kit **, NDT_Root *, char *);
|
2022-03-27 11:33:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kit_Dump */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_Kit_Dump( DRT_Kit *, long);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_XML_Node_Exist */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_XML_Node_Exist( xmlDocPtr, xmlXPathContextPtr, char *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_XML_Query_Tab_Exec */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_XML_Query_Tab_Exec( void *, xmlDocPtr, xmlXPathContextPtr, char *, DRT_XML_Query *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_XML_Value_Get */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_XML_Value_Get( char *, long, xmlDocPtr, xmlXPathContextPtr, char *, char *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kit_Load */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_Kit_Load( DRT_Base *, char *);
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-04-20 12:37:32 +02:00
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kit_Sample_Load */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
2022-03-27 11:33:37 +02:00
|
|
|
|
2022-04-21 01:27:08 +02:00
|
|
|
DRT_Status DR_Kit_Sample_Load( DRT_Kit *, DRT_SampleRate);
|
2022-03-27 11:33:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
2022-04-20 12:37:32 +02:00
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kit_Sample_UnLoad */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
2022-03-27 11:33:37 +02:00
|
|
|
|
2022-04-20 12:37:32 +02:00
|
|
|
DRT_Status DR_Kit_Sample_UnLoad( DRT_Kit *);
|
2022-03-27 11:33:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_DataStruct_Init */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
2022-04-21 01:27:08 +02:00
|
|
|
DRT_Status DR_DataStruct_Init( DRT_Base *, DRT_SampleRate);
|
2022-03-27 11:33:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
/* DR_DataStruct_DeInit */
|
|
|
|
/*---------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_DataStruct_DeInit( DRT_Base *);
|
|
|
|
|
2022-04-20 12:37:32 +02:00
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kits_Sample_Load */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_Kits_Sample_Load( DRT_Base *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kits_Sample_UnLoad */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_Kits_Sample_UnLoad( DRT_Base *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kits_Load */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_Kits_Load( DRT_Base *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* DR_Kits_Dump */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
DRT_Status DR_Kits_Dump( DRT_Base *);
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-27 11:33:37 +02:00
|
|
|
# endif // ifndef _DATASTRUCT_C_
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
#endif // ifndef _DATASTRUCT_H_
|
|
|
|
|