void SDL2TestApplicationMixer::initGL() { glClearColor(0.9, 0.3, 0.0, 1.0); int flags = MIX_INIT_OGG; int result = Mix_Init(flags); if ((result & flags) != flags) { printf("Mix_Init: %s\n", Mix_GetError()); exit(1); } Mix_AllocateChannels(16); /* Acquire audio resource */ audioresource_acquire(audio_resource); // Wait for the audio resource to be acquired; we need to run a GLib // mainloop iteration here, as this is what libaudioresource uses to // communicate with the resource framework. while (!mix_opened) { fprintf(stderr, "Waiting for audio resource to be acquired...\n"); g_main_context_iteration(NULL, true); } sample = Mix_LoadWAV(DATADIR "95328__ramas26__c.ogg"); if (sample == NULL) { printf("Mix_LoadWAV: %s\n", Mix_GetError()); exit(1); } }
static int sailfish_init(int gles_version) { if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_JOYSTICK) < 0) { return 0; } SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, gles_version); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16); priv.window = SDL_CreateWindow( "apkenv", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 0, 0, SDL_WINDOW_OPENGL|SDL_WINDOW_FULLSCREEN ); priv.glcontext = SDL_GL_CreateContext(priv.window); /* TODO: swipe lock? */ SDL_ShowCursor(0); apkenv_accelerometer_register(sdl_accelerometer); l_audioresource = audioresource_init(AUDIO_RESOURCE_MEDIA, on_audioresource_acquired, NULL); audioresource_acquire(l_audioresource); printf("Waiting for audioresource...\n"); while(!l_audioresource_acquired) { g_main_context_iteration(NULL, false); } apkenv_audio_register(sdl_audio); apkenv_mixer_register(sdl_mixer); return 1; }