Example #1
0
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);
    }
}
Example #2
0
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;
}