drummer/drummer.c
Arnaud G. GIBERT 5113c24f6a - Add Multithread task support,
- Add task layer loading support,
- Add task kit loading support,
- Add task kits loading support.
2022-04-27 23:13:33 +02:00

180 lines
3.6 KiB
C

/*---------------------------------------------------------------------------------*/
/* Includes */
/*---------------------------------------------------------------------------------*/
#define _DRUMMER_C_
#include <drummer.h>
/*---------------------------------------------------------------------------------*/
/* DR_Init */
/*---------------------------------------------------------------------------------*/
DRT_Status DR_Init( DRT_Base *Base_Ptr)
{
DRT_Status status;
if( ( status = DR_DataStruct_Init( Base_Ptr, DRD_SAMPLE_RATE_DEFAULT, DRD_THREAD_NUMBER_DEFAULT)) != DRS_OK)
{
fprintf( stderr, "Can't init data structures (%d) !", status);
return( status);
}
return( status);
}
/*---------------------------------------------------------------------------------*/
/* DR_DeInit */
/*---------------------------------------------------------------------------------*/
DRT_Status DR_DeInit( DRT_Base *Base_Ptr)
{
DRT_Status status;
if( ( status = DR_DataStruct_DeInit( Base_Ptr)) != DRS_OK)
{
printf( "Can't deinit data structures (%d)!\n", status);
return( status);
}
return( status);
}
/*---------------------------------------------------------------------------------*/
/* main */
/*---------------------------------------------------------------------------------*/
int main( int argc, char **argv)
{
DRT_Base base;
DRT_Status status;
DRT_Kit *kit_ptr;
DRT_Id i;
if( ( status = DR_Init( &base)) != DRS_OK)
{
exit( -1);
}
if( ( status = DR_Kits_Load( &base)) != DRS_OK)
{
exit( -1);
}
/*
if( ( status = DR_Kit_Id_Find( &kit_ptr, base.Kit_DS_Ptr, 0)) != DRS_OK)
// if( ( status = DR_Kit_Logical_Id_Find( &kit_ptr, base.Kit_DS_Ptr, 31)) != DRS_OK)
// if( ( status = DR_Kit_Name_Find( &kit_ptr, base.Kit_DS_Ptr, "HardElectro1")) != DRS_OK)
{
exit( -1);
}
else
{
if( ( status = DR_Kit_Sample_Load( kit_ptr)) != DRS_OK)
{
exit( -1);
}
/*
fprintf( stderr, "Before!\n");
if( ( status = DR_Kit_Sample_UnLoad( kit_ptr)) != DRS_OK)
{
exit( -1);
}
*/
/*
fprintf( stderr, "After!\n");
if( ( status = DR_Kit_Sample_Load( kit_ptr)) != DRS_OK)
{
exit( -1);
}
*/
// }
DR_Kits_Sample_Load( &base);
/*
for( i = 0; i < 264; i++)
{
if( ( status = DR_Kit_Logical_Id_Find( &kit_ptr, base.Kit_DS_Ptr, i)) == DRS_OK)
{
printf( "Loading Logical Id: (%d)\n", i);
DR_Kit_Sample_Load( kit_ptr);
}
}
*/
/*
if( DR_Task_Wait( &base) != DRS_OK)
{
printf( "DR_Task_Wait failed (%d)!\n");
exit(-1);
}
*/
fprintf( stderr, "hello world!\n");
// DR_Kits_Graph_Dump( &base);
/*
if( ( status = DR_Kits_Dump( &base)) != DRS_OK)
{
exit( -1);
}
*/
/*
DR_Task_Run( &base, (DRT_Instrument *)1);
DR_Task_Run( &base, (DRT_Instrument *)2);
DR_Task_Run( &base, (DRT_Instrument *)3);
*/
// sleep( 10);
/*
if( ( status = DR_Tasks_Dump( &base)) != DRS_OK)
{
exit( -1);
}
if( ( status = DR_Task_Wait( &base)) != DRS_OK)
{
exit( -1);
}
*/
if( ( status = DR_Tasks_Dump( &base)) != DRS_OK)
{
exit( -1);
}
if( ( status = DR_Kits_Stats_Dump( &base)) != DRS_OK)
{
exit( -1);
}
if( ( status = DR_DeInit( &base)) != DRS_OK)
{
exit( -1);
}
exit( 0);
}