00001 /**********************************************************/ 00002 /*/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\*/ 00003 /* 00004 Copyright: 1996 - Grupo de Voz (DAET) ETSII/IT-Bilbao 00005 00006 Nombre fuente................ - 00007 Nombre paquete............... - 00008 Lenguaje fuente.............. C++ (Borland C/C++ 3.1) 00009 Estado....................... desarrollo 00010 Dependencia Hard/OS.......... - 00011 Codigo condicional........... - 00012 00013 Codificacion................. Borja Etxebarria 00014 00015 Version dd/mm/aa Autor Proposito de la edicion 00016 ------- -------- -------- ----------------------- 00017 1.0.1 09/04/99 Borja uso tipos UINT 00018 0.0.0 30/07/96 Borja codificacion inicial. 00019 00020 ======================== Contenido ======================== 00021 =========================================================== 00022 */ 00023 /*/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\*/ 00024 /**********************************************************/ 00025 00026 #include "uti.h" 00027 #include "caudiox.hpp" 00028 00029 /**********************************************************/ 00030 /* Lee la cabecera. La posicion en el fichero es indeterminada, 00031 al terminar de leer la cabecera debe dejarse el fichero en la 00032 posicion de la primera muestra. {devuelve} el n. de muestras */ 00033 00034 LONG AFRaw::HdrR( FILE* f, KVStrList &def, BOOL override ) 00035 { 00036 /* el tipo de muestra y la frecuencia de muestreo, se dejan 00037 por defecto (previamente definidas, o variables de entorno, o 00038 valor por defecto compilado). */ 00039 ADDIFNOV(CAUDIO_SRATE,def.dval(CAUDIO_SRATE,8000)); 00040 ADDIFNOV(CAUDIO_SAMPTYPE,def.val(CAUDIO_SAMPTYPE,SAMPTYPE_STR_PCM16)); 00041 ADDIFNOV(CAUDIO_NCHAN,def.lval(CAUDIO_NCHAN,1)); 00042 // endian por defecto 00043 ADDIFNOV(CAUDIO_BIGENDIAN,def.val(CAUDIO_BIGENDIAN,CAUDIO_BIGENDIAN_DEFAULT?"yes":"no")); 00044 00045 xfseek(f,0,SEEK_SET); // posiciona en la primera muestra 00046 return -1; // auto 00047 } 00048 00049 /**********************************************************/ 00050 /* Se inventa y rellena los campos que quiera de una cabecera 00051 por defecto para un fichero nuevo. */ 00052 00053 VOID AFRaw::HdrG( KVStrList &def, BOOL override ) 00054 { 00055 ADD(CAUDIO_NSAMPLES,0); 00056 ADDIFNOV(CAUDIO_SRATE,def.dval(CAUDIO_SRATE,8000)); 00057 ADDIFNOV(CAUDIO_SAMPTYPE,def.val(CAUDIO_SAMPTYPE,SAMPTYPE_STR_PCM16)); 00058 ADDIFNOV(CAUDIO_NCHAN,def.lval(CAUDIO_NCHAN,1)); 00059 00060 // endian por defecto 00061 ADDIFNOV(CAUDIO_BIGENDIAN,def.val(CAUDIO_BIGENDIAN,CAUDIO_BIGENDIAN_DEFAULT?"yes":"no")); 00062 } 00063 00064 /**********************************************************/ 00065 /* Escribe la cabecera. La posicion inicial en el fichero esta 00066 indefinida. 00067 Una vez escrita la cabecera, debe ir a la primera muestra 00068 de audio. */ 00069 00070 VOID AFRaw::HdrW( FILE* f, LONG ) 00071 { 00072 xfseek(f,0,SEEK_SET); // vamos a la primera muestra 00073 } 00074 00075 /**********************************************************/ 00076 00077 BOOL AFRaw::testFile( FILE * ) 00078 { 00079 return FALSE; // un raw no es detectable 00080 } 00081 00082 /**********************************************************/