#include <conio.h>
#include <stdio.h>
#include "..\CD_SND.H"
#include "c:\things\borlandc\jd_lib\wav_lib\wavplay.h"


int Load_Snd(void);
void Sonido( char Sonido );

typedef struct
 {
    char Nombre_del_Programa[70];
    char Comentario_Inicial[70];

    char VerHi, VerLow;
    char Register;

    long Records;
} CABECERA;

typedef struct
 {
  char Wave_Name[13];     // Nombre del Wave
  char ID_code;           // Codigo ID_ del Wave
  unsigned long Pos;	  // Posici¢n de comienzo dentro del archivo destino
  unsigned long Len;	  // Longitud
 } CD_SND;

 CD_SND CD_Snd[19];



int Load_Snd(void)
{
 CABECERA Cabecera;
  FILE *DESTINO;

  if ( ( DESTINO = fopen( "CD_OUT.SND", "rb") ) == NULL )
   {
    return 0;
   }

   fread( &Cabecera, sizeof( Cabecera ), 1, DESTINO );

   fread( CD_Snd, sizeof( CD_SND ), 19, DESTINO );

   fclose(DESTINO);
 return 1;
}

void main(void)
{
/*Û*/cprintf("Inicializando sonidos.               ");                  /*Û*/
/*Û*/  switch ( InitSB() ) {                                            /*Û*/
/*Û*/   case 0:                                                         /*Û*/
/*Û*/	  cprintf("  -->  Speaker Ok!\n\r");                            /*Û*/
/*Û*/	  break;                                                        /*Û*/
/*Û*/   case 1:                                                         /*Û*/
/*Û*/	  cprintf("  -->  Sound Blaster Ok!\n\r");                      /*Û*/
/*Û*/	  break;                                                        /*Û*/
/*Û*/   case 2:                                                         /*Û*/
/*Û*/	  cprintf("  -->  Dac Casero    Ok!\n\r");                      /*Û*/
/*Û*/	  break;                                                        /*Û*/
/*Û*/  }                                                                /*Û*/

 Load_Snd();

 cprintf("\n\rFichero       Posici¢n   Longitud  ID_Code\n\r");
	for( int Sonido=0; Sonido < 19; Sonido++ )
	{
	  while( kbhit() ) getch();

 cprintf("%s %8ld   %8ld  %d\n\r", CD_Snd[Sonido].Wave_Name, CD_Snd[Sonido].Pos,
					CD_Snd[Sonido].Len, (int)CD_Snd[Sonido].ID_code);

	  if (    PlayWav((char far *)"CD_OUT.SND", CD_Snd[Sonido].Pos, CD_Snd[Sonido].Len )      == -1 )
		PlayLongWav((char far *)"CD_OUT.SND", CD_Snd[Sonido].Pos, CD_Snd[Sonido].Len );

	  while( kbhit() ) getch();
	}
}