Sha256: d718717dc1152516f496f945910d37c7a006d8b563eb374ac55aa9f89b919542

Contents?: true

Size: 894 Bytes

Versions: 3

Compression:

Stored size: 894 Bytes

Contents

#include "Gosu_FFI_internal.h"

GOSU_FFI_API Gosu_Sample* Gosu_Sample_create(const char* filename)
{
    return Gosu_translate_exceptions([=] {
        return new Gosu_Sample{Gosu::Sample{filename}};
    });
}

GOSU_FFI_API void Gosu_Sample_destroy(Gosu_Sample* sample)
{
    delete sample;
}

GOSU_FFI_API Gosu_Channel* Gosu_Sample_play(Gosu_Sample* sample, double volume, double speed,
                                            bool looping)
{
    return Gosu_translate_exceptions([=] {
        return new Gosu_Channel{sample->sample.play(volume, speed, looping)};
    });
}

GOSU_FFI_API Gosu_Channel* Gosu_Sample_play_pan(Gosu_Sample* sample, double pan, double volume,
                                                double speed, bool looping)
{
    return Gosu_translate_exceptions([=] {
        return new Gosu_Channel{sample->sample.play_pan(pan, volume, speed, looping)};
    });
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gosu-2.0.0.pre8 ffi/Gosu_Sample.cpp
gosu-2.0.0.pre7 ffi/Gosu_Sample.cpp
gosu-2.0.0.pre6 ffi/Gosu_Sample.cpp