- Replace internal log system with LibLog V1.0.x, - Code cleanup, - Add GPL Licenses files.
		
			
				
	
	
		
			237 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			237 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*----------------------------------------------------------------------------*/
 | 
						|
/* drummer.c                                                                  */
 | 
						|
/*----------------------------------------------------------------------------*/
 | 
						|
 | 
						|
/*----------------------------------------------------------------------------*/
 | 
						|
/* This file is part of Drummer.                                              */
 | 
						|
/*                                                                            */
 | 
						|
/*    Drummer is free software: you can redistribute it and/or modify it      */
 | 
						|
/*    under the terms of the GNU General Public License as published by       */
 | 
						|
/*    the Free Software Foundation, either version 3 of the License, or       */
 | 
						|
/*    (at your option) any later version.                                     */
 | 
						|
/*                                                                            */
 | 
						|
/*    Drummer is distributed in the hope that it will be useful,              */
 | 
						|
/*    but WITHOUT ANY WARRANTY; without even the implied warranty of          */
 | 
						|
/*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            */
 | 
						|
/*    GNU General Public License for more details.                            */
 | 
						|
/*                                                                            */
 | 
						|
/*    You should have received a copy of the GNU General Public License       */
 | 
						|
/*    along with Drummer. If not, see <https://www.gnu.org/licenses/>.        */
 | 
						|
/*----------------------------------------------------------------------------*/
 | 
						|
 | 
						|
 | 
						|
 | 
						|
/*----------------------------------------------------------------------------*/
 | 
						|
/* Includes                                                                   */
 | 
						|
/*----------------------------------------------------------------------------*/
 | 
						|
 | 
						|
#define _DRUMMER_C_
 | 
						|
 | 
						|
 | 
						|
 | 
						|
#include <drummer.h>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
/*----------------------------------------------------------------------------*/
 | 
						|
/* DR_Init                                                                    */
 | 
						|
/*----------------------------------------------------------------------------*/
 | 
						|
 | 
						|
DRT_Status  DR_Init()
 | 
						|
{
 | 
						|
    DRT_Status  status;
 | 
						|
 | 
						|
 | 
						|
    if( ( status = DR_DataStruct_Init( DRD_SAMPLE_RATE_DEFAULT, DRD_THREAD_NUMBER_DEFAULT)) != DRS_OK)
 | 
						|
    {
 | 
						|
	LG_LOG_ERROR_1( "Can't init data structures (%d)!", status);
 | 
						|
	return( status);
 | 
						|
    }
 | 
						|
 | 
						|
    return( status);
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
/*----------------------------------------------------------------------------*/
 | 
						|
/* DR_DeInit                                                                  */
 | 
						|
/*----------------------------------------------------------------------------*/
 | 
						|
 | 
						|
DRT_Status  DR_DeInit()
 | 
						|
{
 | 
						|
    DRT_Status  status;
 | 
						|
 | 
						|
    
 | 
						|
    if( ( status = DR_DataStruct_DeInit()) != DRS_OK)
 | 
						|
    {
 | 
						|
	LG_LOG_ERROR_1( "Can't deinit data structures (%d)!", status);
 | 
						|
	return( status);
 | 
						|
    }
 | 
						|
 | 
						|
    return( status);
 | 
						|
}
 | 
						|
    
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
/*----------------------------------------------------------------------------*/
 | 
						|
/* main                                                                       */
 | 
						|
/*----------------------------------------------------------------------------*/
 | 
						|
 | 
						|
int  main( int  argc, char  **argv)
 | 
						|
{
 | 
						|
    LGT_Status   lg_status;
 | 
						|
    DRT_Status   status;
 | 
						|
    DRT_Kit     *kit_ptr;
 | 
						|
    DRT_Id       i;
 | 
						|
 | 
						|
    
 | 
						|
    if( ( lg_status = LG_Library_Open( LGD_LOG_WRITER_DEFAULT, true)) != LGS_OK)
 | 
						|
    {
 | 
						|
        fprintf( stderr, "Can't open LibLog library: (%d)\n", lg_status);
 | 
						|
        exit( -1);
 | 
						|
    }
 | 
						|
 | 
						|
    LG_LOG_INFO_0( "Drummer starting...");
 | 
						|
    
 | 
						|
    if( ( status = DR_Init()) != DRS_OK)
 | 
						|
    {
 | 
						|
	exit( -1);
 | 
						|
    }
 | 
						|
 | 
						|
    if( ( status = DR_Kits_Load()) != 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();
 | 
						|
    
 | 
						|
/*
 | 
						|
    for( i = 0; i < 1; 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);
 | 
						|
    }
 | 
						|
*/
 | 
						|
    
 | 
						|
    LG_LOG_INFO_0( "hello world!");
 | 
						|
 | 
						|
 | 
						|
    
 | 
						|
//    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);
 | 
						|
    }
 | 
						|
*/
 | 
						|
    DRT_Kit_Name  *kit_name_tab;
 | 
						|
    long           kit_number;
 | 
						|
    long           kit_id;
 | 
						|
 | 
						|
    if( ( status = DR_Kits_Name_Get( &kit_name_tab, &kit_number)) != DRS_OK)
 | 
						|
    {
 | 
						|
	exit( -1);
 | 
						|
    }
 | 
						|
    else
 | 
						|
    {
 | 
						|
        for( kit_id = 0; kit_id < kit_number; kit_id++)
 | 
						|
        {
 | 
						|
            LG_LOG_INFO_4( "Kit #: (%d)   Id: (%d)   Logical_Id: (%d)   Name: [%s]",
 | 
						|
                           kit_id, kit_name_tab[ kit_id].Id, kit_name_tab[ kit_id].Logical_Id, kit_name_tab[ kit_id].Name);
 | 
						|
        }
 | 
						|
    }
 | 
						|
    
 | 
						|
 | 
						|
    if( ( status = DR_Tasks_Dump()) != DRS_OK)
 | 
						|
    {
 | 
						|
	exit( -1);
 | 
						|
    }
 | 
						|
 | 
						|
    if( ( status = DR_Kits_Stats_Dump()) != DRS_OK)
 | 
						|
    {
 | 
						|
	exit( -1);
 | 
						|
    }
 | 
						|
 | 
						|
    if( ( status = DR_DeInit()) != DRS_OK)
 | 
						|
    {
 | 
						|
	exit( -1);
 | 
						|
    }
 | 
						|
 | 
						|
    LG_LOG_INFO_0( "Drummer Ending!");
 | 
						|
 | 
						|
    if( ( lg_status = LG_Library_Close( true)) != LGS_OK)
 | 
						|
    {
 | 
						|
        fprintf( stderr, "Can't close LibLog library: (%d)\n", lg_status);
 | 
						|
        exit( -1);
 | 
						|
    }
 | 
						|
 | 
						|
    exit( 0);
 | 
						|
}
 |