コード例 #1
0
ファイル: alsa.c プロジェクト: johndpope/Medusa
static void clear_devlist(vector_DevMap *devlist)
{
    DevMap *iter, *end;

    iter = VECTOR_ITER_BEGIN(*devlist);
    end = VECTOR_ITER_END(*devlist);
    for(;iter != end;iter++)
    {
        AL_STRING_DEINIT(iter->name);
        AL_STRING_DEINIT(iter->device_name);
    }
    VECTOR_RESIZE(*devlist, 0);
}
コード例 #2
0
ファイル: dsound.c プロジェクト: TitaniumEagle/openal-soft
static void clear_devlist(vector_DevMap *list)
{
    DevMap *iter, *end;

    iter = VECTOR_ITER_BEGIN(*list);
    end = VECTOR_ITER_END(*list);
    for(;iter != end;++iter)
        AL_STRING_DEINIT(iter->name);
    VECTOR_RESIZE(*list, 0);
}
コード例 #3
0
ファイル: alSoundfont.c プロジェクト: Sponk/NeoEditor
ALsoundfont *ALsoundfont_getDefSoundfont(ALCcontext *context)
{
    ALCdevice *device = context->Device;
    al_string fname = AL_STRING_INIT_STATIC();
    const char *namelist;

    if(device->DefaultSfont)
        return device->DefaultSfont;

    device->DefaultSfont = calloc(1, sizeof(device->DefaultSfont[0]));
    ALsoundfont_Construct(device->DefaultSfont);

    namelist = getenv("ALSOFT_SOUNDFONT");
    if(!namelist || !namelist[0])
        ConfigValueStr("midi", "soundfont", &namelist);
    while(namelist && namelist[0])
    {
        const char *next, *end;
        FILE *f;

        while(*namelist && (isspace(*namelist) || *namelist == ','))
            namelist++;
        if(!*namelist)
            break;
        next = strchr(namelist, ',');
        end = next ? next++ : (namelist+strlen(namelist));
        while(--end != namelist && isspace(*end)) {
        }
        if(end == namelist)
            continue;
        al_string_append_range(&fname, namelist, end+1);
        namelist = next;

        f = OpenDataFile(al_string_get_cstr(fname), "openal/soundfonts");
        if(f == NULL)
            ERR("Failed to open %s\n", al_string_get_cstr(fname));
        else
        {
            Reader reader;
            reader.cb = ALsoundfont_read;
            reader.ptr = f;
            reader.error = 0;
            TRACE("Loading %s\n", al_string_get_cstr(fname));
            loadSf2(&reader, device->DefaultSfont, context);
            fclose(f);
        }

        al_string_clear(&fname);
    }
    AL_STRING_DEINIT(fname);

    return device->DefaultSfont;
}