Jump to content

  • Log In with Google      Sign In   
  • Create Account


#Actualdreamslayerx

Posted 30 October 2012 - 01:55 PM

Here are the windows that I am getting. I have attached them a a file. I only want the opengl window, but I don't need the SDL App window to come up. The big issue is will I have to put my OpenGL rendering within the while(running = true) loop to just get it to render with the sound? I only want OpenGL to do rendering, but SDL to control sound and events. Is that possible? Currently the only thing that I want from SDL is Audio, but it wants to control video or a screen as well, even though I only use SDL_Init(SDL_INIT_AUDIO).

I have already actually tried inputing SDL_SetVideoMode(640,480,32,SDL_OPENGL). SDL still wants to render a screen if I want to control my sound effect events.

Here is the adjusted code for the main section of the program. I decided to move the sound function into the main program. There may be a better way of doing this though.

SDL and glut conflicts, since they like to control the same things. Basically here SDL events can not even be controlled at all unless you first do SDL_SetVideoMode().

[source lang="java"]int main(int argc, char ** argv){//SDL_Init(SDL_INIT_AUDIO);//Real program glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE| GLUT_RGB | GLUT_DEPTH); glutInitWindowSize(500,500); glutCreateWindow("colorcube"); //Function that makes display list for the Terrain loadTerrain(); //Original Code //function added in to make display list for Geometry makeGeometry(); cout<<endl; cout<<" Elevation[1] : " <<Elevation[1]<<endl; //Place initialization function here initRendering(); //SOUND TESTING NEW// SDL_Sound();//*********************************************************Big test: Delete all later************************************************************** SDL_Init(SDL_INIT_AUDIO); SDL_Surface *screen; //test screen = SDL_SetVideoMode(640, 480, 32, SDL_OPENGL); //test Mix_Chunk* effect1; //new varible to create effects from SDL lib Mix_Music* music; //used to create the music //Open Audio Mix_OpenAudio(22050, MIX_DEFAULT_FORMAT,2, 4096);//require 4 parameters ( references (default 22050 or 41000), format(how to open,number of channels , chunk size) //Loading Music music = Mix_LoadMUS("Train.wav"); //assigns music to load Mix_LoadMUS(filenam. filetype) //Assiging music to load effect1=Mix_LoadWAV("TrainHorn.wav"); //Playing the music Mix_PlayMusic(music,-1);//Telling program to play the music (play music file, how long to play 0 = play once, -1 = repeat, 1 = will repeat once) //now to control the effect when key is pressed bool running=true; //boolean expression to make true Uint32 start; SDL_Event event; while(running) { start=SDL_GetTicks(); SDL_Event event; while(SDL_PollEvent(&event)) { switch(event.type) { case SDL_QUIT: running=false; break; case SDL_KEYDOWN: switch(event.key.keysym.sym) { case SDLK_1: //number key 1 can be pressed Mix_PlayChannel(-1, effect1, 0);// there are a total of 8 channels (channel, effect to play, how to repeat) break; case SDLK_2: //number key 1 can be pressed running = false; break; } } glutReshapeFunc(myReshape); glutDisplayFunc(display); //glutIdleFunc(spinCube); glutMouseFunc(mouse); glutMainLoop(); // } };//**************************************************************************************************************************************************//Section for deleting variable arrays to free up memory//These may be properly placed later; like in a new load clear function when putting in multiple geometry//Note** If I do not use display list to store the image and these are placed before the main loop the image will not show, since the stored data would be deleted on the second loop of main//This will be used to free up the memory so that I can read in another object using a function delete [] vertices; delete [] vertNorm; delete [] vertCoord; delete [] makePoint; delete [] texPoint; delete [] VNormPoint; //Original //glutMainLoop(); // anything placed after this will really not be read since it makes main loop until it comes back to this function then repeats//********************SOUND TEST AREA 2******************************************************************* //Deleteing variables recently created //Mix_FreeChunk(effect1); //Mix_FreeMusic(music); //Closing Audio Mix_CloseAudio(); SDL_Quit(); //**********************END SOUND TEST AREA 2********************************************************** return 0;}[/source]

#4dreamslayerx

Posted 30 October 2012 - 09:08 AM

Here are the windows that I am getting. I have attached them a a file. I only want the opengl window, but I don't need the SDL App window to come up. The big issue is will I have to put my OpenGL rendering within the while(running = true) loop to just get it to render with the sound? I only want OpenGL to do rendering, but SDL to control sound and events. Is that possible? Currently the only thing that I want from SDL is Audio, but it wants to control video or a screen as well, even though I only use SDL_Init(SDL_INIT_AUDIO).

I have already actually tried inputing SDL_SetVideoMode(640,480,32,SDL_OPENGL). SDL still wants to render a screen if I want to control my sound effect events.

Here is the adjusted code for the main section of the program. I decided to move the sound function into the main program. There may be a better way of doing this though.

[source lang="java"]int main(int argc, char ** argv){//SDL_Init(SDL_INIT_AUDIO);//Real program glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE| GLUT_RGB | GLUT_DEPTH); glutInitWindowSize(500,500); glutCreateWindow("colorcube"); //Function that makes display list for the Terrain loadTerrain(); //Original Code //function added in to make display list for Geometry makeGeometry(); cout<<endl; cout<<" Elevation[1] : " <<Elevation[1]<<endl; //Place initialization function here initRendering(); //SOUND TESTING NEW// SDL_Sound();//*********************************************************Big test: Delete all later************************************************************** SDL_Init(SDL_INIT_AUDIO); SDL_Surface *screen; //test screen = SDL_SetVideoMode(640, 480, 32, SDL_OPENGL); //test Mix_Chunk* effect1; //new varible to create effects from SDL lib Mix_Music* music; //used to create the music //Open Audio Mix_OpenAudio(22050, MIX_DEFAULT_FORMAT,2, 4096);//require 4 parameters ( references (default 22050 or 41000), format(how to open,number of channels , chunk size) //Loading Music music = Mix_LoadMUS("Train.wav"); //assigns music to load Mix_LoadMUS(filenam. filetype) //Assiging music to load effect1=Mix_LoadWAV("TrainHorn.wav"); //Playing the music Mix_PlayMusic(music,-1);//Telling program to play the music (play music file, how long to play 0 = play once, -1 = repeat, 1 = will repeat once) //now to control the effect when key is pressed bool running=true; //boolean expression to make true Uint32 start; SDL_Event event; while(running) { start=SDL_GetTicks(); SDL_Event event; while(SDL_PollEvent(&event)) { switch(event.type) { case SDL_QUIT: running=false; break; case SDL_KEYDOWN: switch(event.key.keysym.sym) { case SDLK_1: //number key 1 can be pressed Mix_PlayChannel(-1, effect1, 0);// there are a total of 8 channels (channel, effect to play, how to repeat) break; case SDLK_2: //number key 1 can be pressed running = false; break; } } glutReshapeFunc(myReshape); glutDisplayFunc(display); //glutIdleFunc(spinCube); glutMouseFunc(mouse); glutMainLoop(); // } };//**************************************************************************************************************************************************//Section for deleting variable arrays to free up memory //These may be properly placed later; like in a new load clear function when putting in multiple geometry//Note** If I do not use display list to store the image and these are placed before the main loop the image will not show, since the stored data would be deleted on the second loop of main//This will be used to free up the memory so that I can read in another object using a function delete [] vertices; delete [] vertNorm; delete [] vertCoord; delete [] makePoint; delete [] texPoint; delete [] VNormPoint; //Original //glutMainLoop(); // anything placed after this will really not be read since it makes main loop until it comes back to this function then repeats//********************SOUND TEST AREA 2******************************************************************* //Deleteing variables recently created //Mix_FreeChunk(effect1); //Mix_FreeMusic(music); //Closing Audio Mix_CloseAudio(); SDL_Quit(); //**********************END SOUND TEST AREA 2********************************************************** return 0;}[/source]

#3dreamslayerx

Posted 30 October 2012 - 08:59 AM

Here are the windows that I am getting. I have attached them a a file. I only want the opengl window, but I don't need the SDL App window to come up. The big issue is will I have to put my OpenGL rendering within the while(running = true) loop to just get it to render with the sound? I only want OpenGL to do rendering, but SDL to control sound and events. Is that possible? Currently the only thing that I want from SDL is Audio, but it wants to control video or a screen as well, even though I only use SDL_Init(SDL_INIT_AUDIO).

I have already actually tried inputing SDL_SetVideoMode(640,480,32,SDL_OPENGL). SDL still wants to render a screen if I want to control my sound effect events.

#2dreamslayerx

Posted 30 October 2012 - 07:59 AM

Here are the windows that I am getting. I have attached them a a file. I only want the opengl window, but I don't need the SDL App window to come up. The big issue is will I have to put my OpenGL rendering within the while(running = true) loop to just get it to render with the sound? I only want OpenGL to do rendering, but SDL to control sound and events. Is that possible? Currently the only thing that I want from SDL is Audio, but it wants to control video or a screen as well, even though I only use SDL_Init(SDL_INIT_AUDIO).

#1dreamslayerx

Posted 30 October 2012 - 07:55 AM

Here are the windows that I am getting. I have attached them a a file. I only want the opengl window, but I don't need the SDL App window to come up. The big issue is will I have to put my OpenGL rendering within the while(running = true) loop to just get it to render with the sound?

PARTNERS