Tema: duda codigo
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/12/2010, 12:58
boticheliss
 
Fecha de Ingreso: enero-2008
Mensajes: 13
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: duda codigo

este es el programa B:

PROGRAMA B

#include <stdio.h>
#include <stdlib.h> // Per al 'exit'
#define GLUT_DISABLE_ATEXIT_HACK
//#include <GLUT/glut.h>
#include <GL/glut.h>
//#include <OpenAL/alut.h>
#include <AL/alut.h>

int generar();
void version();
void dispositivos();
void extension();

int main (int argc, char **argv)
{char c;
do{
printf("Elija una de las siguientes opciones: \n\n");
printf("a.Generar señales simples.\n\n");
printf("b.Obtener version openAL y ALUT.\n\n");
printf("c.Mostrar dispositivos de audio.\n\n");
printf("d.Mostrar extensiones OPENAL.\n\n");
printf("e.Modificar PITCH de cada fuente.\n\n");
printf("f.Modificar GAIN de cada fuente y del oyente.\n\n");
printf("g.Cambiar la orientación del oyente.\n\n");
printf("h.Cambiar posicion espacial y orientacion de cada fuente\n\n");
printf("i. Modificar DOPPLER de cada fuente\n\n");
printf("j.Salir.\n\n");
c = getchar();

switch ( c ){
case 'a':
generar();break;
case 'b':
version();break;
case 'c':
dispositivos();break;
case 'd':
extension();break;
case 'e':
printf("Has elegido la Opción e");break;
case 'f':
printf("Has elegido la Opción f");break;
case 'g':
printf("Has elegido la Opción g");break;
case 'h':
printf("Has elegido la Opción h");break;
case 'i':
printf("Has elegido la Opción i");break;}// switch
}while ((c != 'j') && (c != 'J'));}

int generar(){
int argc;
char **argv;
ALuint buffers[6], fuente;
char p;
alutInit (&argc, argv);
p = 'h';
buffers[0] = alutCreateBufferHelloWorld ();
buffers[1] = alutCreateBufferWaveform(ALUT_WAVEFORM_SINE, 440.0, 0.0, 1.0);
buffers[2] = alutCreateBufferWaveform(ALUT_WAVEFORM_SQUARE, 440.0, 0.0, 1.0);
buffers[3] = alutCreateBufferWaveform(ALUT_WAVEFORM_SAWTOOTH, 440.0, 0.0, 1.0);
buffers[4] = alutCreateBufferWaveform(ALUT_WAVEFORM_WHITENOISE, 440.0, 0.0, 1.0);
buffers[5] = alutCreateBufferWaveform(ALUT_WAVEFORM_IMPULSE, 440.0, 0.0, 1.0);
alGenSources (1, &fuente);
printf("'h'ellow, 's'ine, sq'u'are, sa'w'tooh, white'n'oise, 'i'mpulse ('q' para salir): \n");
do{
switch ( p ){
case 'h': alSourcei (fuente, AL_BUFFER, buffers[0]);
break;
case 's': alSourcei (fuente, AL_BUFFER, buffers[1]);
break;
case 'u': alSourcei (fuente, AL_BUFFER, buffers[2]);
break;
case 'w': alSourcei (fuente, AL_BUFFER, buffers[3]);
break;
case 'n': alSourcei (fuente, AL_BUFFER, buffers[4]);
break;
case 'i': alSourcei (fuente, AL_BUFFER, buffers[5]);
break;}// switch
alSourcePlay (fuente);
alutSleep (1);
p = getch();
printf("%c\r", p); fflush(stdout);
} while ((p != 'q') && (p != 'Q'));
printf("\nTerminando ... \n");
alDeleteSources(1, &fuente);
alDeleteBuffers(6, buffers);
alutExit ();
return EXIT_SUCCESS;}
void version(){

int argc;
char **argv;
const ALchar *versions;
alutInit (&argc, argv);
versions = alGetString(AL_VERSION);
printf("OpenAL Version is '%s' \n",versions);
printf("ALUT version: %d.%d \n", alutGetMajorVersion (), alutGetMinorVersion () );
}
void dispositivos(){

const ALCchar *devices;
const ALCchar *defaultDeviceName;
devices = alcGetString(NULL, ALC_DEVICE_SPECIFIER);
// devices contiene el nombre de los dispositivos, separados por NULL
// and terminado con dos NULLS consecutivos.
defaultDeviceName = alcGetString(NULL, ALC_DEFAULT_DEVICE_SPECIFIER);
printf("Los dispositivos son:'%s\n%s' \n",devices,defaultDeviceName);
// defaultDeviceName contiene el nombre de el dispositivo por defecto
}
void extension(){
int argc;
char **argv;
const ALchar *extensions;
alutInit (&argc, argv);
extensions = alGetString(AL_EXTENSIONS);
printf("OpenAL entension is '%s' \n",extensions);
}