Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/12/2010, 12:05
Avatar de Munire
Munire
 
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: error al compilar

#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>

// function prototypes ---------------------------------------------
int generar();

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(); llamada a la funcion generar
break;
case 'b':
printf("Has elegido la Opción b");
break;
case 'c':
printf("Has elegido la Opción c");
break;
case 'd':
printf("Has elegido la Opción d");
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'));

} la funcion MAIN tiene que acabar aqui, puesto que el codigo de la funcion generar no puede estar dentro del main. dentro del main estara la llamada a la funcion: generar()


//return EXIT_SUCCESS;

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;
} aqui acaba la funcion generar






} esta sobra



quedaria asi:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h> // Per al 'exit'
  3. #define GLUT_DISABLE_ATEXIT_HACK
  4. //#include <GLUT/glut.h>
  5. #include <GL/glut.h>
  6. //#include <OpenAL/alut.h>
  7. #include <AL/alut.h>
  8.  
  9. // function prototypes ---------------------------------------------
  10. int generar();
  11.  
  12. int main (int argc, char **argv)
  13. {
  14.     char c;
  15.  
  16.     do{
  17.  
  18.     printf("Elija una de las siguientes opciones: \n\n");
  19.     printf("a.Generar señales simples.\n\n");
  20.     printf("b.Obtener version openAL y ALUT.\n\n");
  21.     printf("c.Mostrar dispositivos de audio.\n\n");
  22.     printf("d.Mostrar extensiones OPENAL.\n\n");
  23.     printf("e.Modificar PITCH de cada fuente.\n\n");
  24.     printf("f.Modificar GAIN de cada fuente y del oyente.\n\n");
  25.     printf("g.Cambiar la orientación del oyente.\n\n");
  26.     printf("h.Cambiar posicion espacial y orientacion de cada fuente\n\n");
  27.     printf("i. Modificar DOPPLER de cada fuente\n\n");
  28.     printf("j.Salir.\n\n");
  29.  
  30.     c = getchar();
  31.  
  32.  
  33.     switch ( c )
  34.     {
  35.         case 'a':
  36.         generar();
  37.         break;
  38.         case 'b':
  39.         printf("Has elegido la Opción b");
  40.         break;
  41.         case 'c':
  42.         printf("Has elegido la Opción c");
  43.         break;
  44.         case 'd':
  45.         printf("Has elegido la Opción d");
  46.         break;
  47.         case 'e':
  48.         printf("Has elegido la Opción e");
  49.         break;
  50.         case 'f':
  51.         printf("Has elegido la Opción f");
  52.         break;
  53.         case 'g':
  54.         printf("Has elegido la Opción g");
  55.         break;
  56.         case 'h':
  57.         printf("Has elegido la Opción h");
  58.         break;
  59.         case 'i':
  60.         printf("Has elegido la Opción i");break;
  61.  
  62.     }// switch
  63.  
  64.  
  65.     }while ((c != 'j') && (c != 'J'));
  66. }
  67.  
  68.     //return EXIT_SUCCESS;
  69.  
  70. int generar()
  71. {
  72.     int argc;
  73.     char **argv;
  74.     ALuint buffers[6], fuente;
  75.     char p;
  76.  
  77.     alutInit (&argc, argv);
  78.     p = 'h';
  79.  
  80.     buffers[0] = alutCreateBufferHelloWorld ();
  81.     buffers[1] = alutCreateBufferWaveform(ALUT_WAVEFORM_SINE, 440.0, 0.0, 1.0);
  82.     buffers[2] = alutCreateBufferWaveform(ALUT_WAVEFORM_SQUARE, 440.0, 0.0, 1.0);
  83.     buffers[3] = alutCreateBufferWaveform(ALUT_WAVEFORM_SAWTOOTH, 440.0, 0.0, 1.0);
  84.     buffers[4] = alutCreateBufferWaveform(ALUT_WAVEFORM_WHITENOISE, 440.0, 0.0, 1.0);
  85.     buffers[5] = alutCreateBufferWaveform(ALUT_WAVEFORM_IMPULSE, 440.0, 0.0, 1.0);
  86.  
  87.     alGenSources (1, &fuente);
  88.     printf("'h'ellow, 's'ine, sq'u'are, sa'w'tooh, white'n'oise, 'i'mpulse ('q' para salir): \n");
  89.  
  90.     do
  91.     {
  92.         switch ( p )
  93.         {
  94.             case 'h': alSourcei (fuente, AL_BUFFER, buffers[0]);
  95.             break;
  96.             case 's': alSourcei (fuente, AL_BUFFER, buffers[1]);
  97.             break;
  98.             case 'u': alSourcei (fuente, AL_BUFFER, buffers[2]);
  99.             break;
  100.             case 'w': alSourcei (fuente, AL_BUFFER, buffers[3]);
  101.             break;
  102.             case 'n': alSourcei (fuente, AL_BUFFER, buffers[4]);
  103.             break;
  104.             case 'i': alSourcei (fuente, AL_BUFFER, buffers[5]);
  105.             break;
  106.         }// switch
  107.  
  108.         alSourcePlay (fuente);
  109.         alutSleep (1);
  110.         p = getch();
  111.         printf("%c\r", p); fflush(stdout);
  112.     } while ((p != 'q') && (p != 'Q'));
  113.  
  114.     printf("\nTerminando ... \n");
  115.  
  116.     alDeleteSources(1, &fuente);
  117.     alDeleteBuffers(6, buffers);
  118.  
  119.     alutExit ();
  120.     return EXIT_SUCCESS;
  121. }