Sha256: dccc276a924b172da3c5e0a7fd822f0e137792957beeacff30b4afe05478e157

Contents?: true

Size: 730 Bytes

Versions: 3

Compression:

Stored size: 730 Bytes

Contents

module Gosu
  class Sample
    def initialize(filename)
      __sample = GosuFFI.check_last_error(GosuFFI.Gosu_Sample_create(filename))
      @memory_pointer = FFI::AutoPointer.new(__sample, GosuFFI.method(:Gosu_Sample_destroy))
    end

    def __pointer
      @memory_pointer
    end

    def play(volume = 1, speed = 1, looping = false)
      __channel = GosuFFI.Gosu_Sample_play(__pointer, volume, speed, looping)
      GosuFFI.check_last_error
      Gosu::Channel.new(__channel)
    end

    def play_pan(pan = 0, volume = 1, speed = 1, looping = false)
      __channel = GosuFFI.Gosu_Sample_play_pan(__pointer, pan, volume, speed, looping)
      GosuFFI.check_last_error
      Gosu::Channel.new(__channel)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gosu-2.0.0.pre8 lib/gosu/sample.rb
gosu-2.0.0.pre7 lib/gosu/sample.rb
gosu-2.0.0.pre6 lib/gosu/sample.rb