Definiciones de tipos y macros

Ubicación

Todas las definiciones de tipos están ubicadas en el archivo defs.h

Macros

#define DOS_PI (3.14159265358979323846264338327 * 2.0)    
#define FREC_MUES 44100                                   
#define NUM_CANALES 2                                     

DOS_PI -- representa un ciclo en radianes. Es usada para la creación de la onda periódica en la síntesis.

FREC_MUES -- es la frecuencia de muestreo usada por defecto para generar el archivo de audio.

NUM_CANALES -- el número de canales que tiene el archivo de audio, por ahora siempre será estero.

Estructuras

RANGO

Define un rango mínimo y máximo de valores posibles. Es útil para los parámetros que se generan aleatoriamente.

typedef struct
{
  double min;    /* el valor mínimo del rango */
  double max;    /* el valor máximo del rango */
} RANGO;

EVENTO

Contiene los parámetros de cada evento. Para crear el audio utilizamos un conjunto de éstos eventos.

typedef struct
{
  double frecuencia;   /* en  Hz */
  double amplitud;     /* cualquier valor */
  double comienzo;     /* lugar donde comienza el evento, en segundos desde el principio de la obra */
  double duracion;     /* duración del evento en segundos */
  double paneo;        /* paneo por intensidad, entre 0 y 1 */
} EVENTO;

PARAMETROS

Los parámetros del usuario son guardados aquí para ser usados al construir los datos. Usamos rangos para los parámetros de los eventos porque, como se dijo ántes, éstos se generan aleatoriamente.

typedef struct
{
  double durTotal ;   /* duración total de la obra en segundos */
  RANGO evCom;        /* rango de comienzo de los eventos */
  RANGO evDur;        /* rango de duración de los eventos */
  RANGO evAmp;        /* amplitud mínima y máxima de generación */
  RANGO evFrec;       /* frecuencia mínima y máxima de generación */
  RANGO evPan;        /* paneo por intensidad */
} PARAMETROS;

DAUDIO

Contiene la información de un archivo de audio para poder ser usada convenientemente. 'na' es llenado cuando se abre el archivo de audio usando 'mus_audio_open_imput' que devuelve un número único de archivo o -1 si no se puede abrir el archivo. 'muestras' y 'mu_can' representan ámbos un valor en muestras; el primero se refiere al número total de muestras que tiene el archivo mientras que el segundo a la cantidad de muestras por canal.

La estructura es usada como argumento de funciones, pero también es modificada por funciones de sndlib

typedef struct
{
  int na;                /* número de archivo asociado, o -1 si se falla la apertura del archivo */
  int canales;           /* canales del audio */
  int frec_muestreo;     /* frecuencia de muestreo */
  off_t muestras;        /* muestras en total que tiene el archivo de audio */
  off_t mu_can;          /* se refiere a la cantidad de muestras en cada canal */
  float duracion;        /* la duración en segundos del archivo de audio */
  int formato;           /* el formato que tiene el archivo de audio */
  int cabecera;          /* el tipo de cabecera que usa el audio */
  char *comentario;      /* el comentario que pueda tener el archivo de audio, de otro modo es NULL */
} DAUDIO;

off_t está definido como long en types.h, archivo de c.


Anterior  Inicio  Siguiente
Descrpición General   E/S Datos