Sha256: be4f667795e8ee9c69593a5d3ff2549f0f02e75b45648db4f8893f7dcd433c49

Contents?: true

Size: 1.56 KB

Versions: 2

Compression:

Stored size: 1.56 KB

Contents

#include <al/al.h>
#include <al/efx.h>
#include <seal/efs.h>
#include <seal/core.h>
#include <seal/err.h>

seal_err_t
SEAL_API
seal_init_efs(seal_efs_t* slot)
{
    return _seal_init_obj(slot, alGenAuxiliaryEffectSlots);
}

seal_err_t
SEAL_API
seal_destroy_efs(seal_efs_t* slot)
{
    return _seal_destroy_obj(
        slot,
        alDeleteAuxiliaryEffectSlots,
        alIsAuxiliaryEffectSlot
    );
}

seal_err_t
SEAL_API
seal_set_efs_effect(seal_efs_t* slot, void* effect)
{
    seal_err_t err;

    err = _seal_seti(
        slot,
        AL_EFFECTSLOT_EFFECT,
        effect == 0 ? AL_EFFECT_NULL : _seal_openal_id(effect),
        alAuxiliaryEffectSloti
    );
    if (err == SEAL_OK)
        slot->effect = effect;

    return err;
}

seal_err_t
SEAL_API
seal_set_efs_gain(seal_efs_t* slot, float gain)
{
    return _seal_setf(slot, AL_EFFECTSLOT_GAIN, gain, alAuxiliaryEffectSlotf);
}

seal_err_t
SEAL_API
seal_set_efs_auto(seal_efs_t* slot, char automatic)
{
    return _seal_seti(
        slot,
        AL_EFFECTSLOT_AUXILIARY_SEND_AUTO,
        automatic,
        alAuxiliaryEffectSloti
    );
}

void*
SEAL_API
seal_get_efs_effect(seal_efs_t* slot)
{
    return slot->effect;
}

seal_err_t
SEAL_API
seal_get_efs_gain(seal_efs_t* slot, float* pgain)
{
    return _seal_getf(
        slot,
        AL_EFFECTSLOT_GAIN,
        pgain,
        alGetAuxiliaryEffectSlotf
    );
}

seal_err_t
SEAL_API
seal_is_efs_auto(seal_efs_t* slot, char* pauto)
{
    return _seal_getb(
        slot,
        AL_EFFECTSLOT_AUXILIARY_SEND_AUTO,
        pauto,
        alGetAuxiliaryEffectSloti
    );
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
seal-0.1.3 src/seal/efs.c
seal-0.1.2 src/seal/efs.c