class SFML::Music

Public Class Methods

dtor() click to toggle source
# File lib/sfml/audio.rb, line 152
def self.dtor
  proc { |id|
    SFMLImporter.sfMusic_stop(id)
    SFMLImporter.sfMusic_destroy(id)
  }
end
new(filename) click to toggle source
# File lib/sfml/audio.rb, line 159
def initialize(filename)
  @music = SFMLImporter.sfMusic_createFromFile(filename)
  raise "Couldn't load #{filename}" if @music.null?
  ObjectSpace.define_finalizer @music, SFML::Music.dtor
end

Public Instance Methods

get_duration() click to toggle source
# File lib/sfml/audio.rb, line 180
def get_duration
  SFMLImporter.sfMusic_getDuration(@music) / 1000000.0
end
get_loop() click to toggle source
# File lib/sfml/audio.rb, line 168
def get_loop
  SFMLImporter.sfMusic_getLoop > 0
end
get_pitch() click to toggle source
# File lib/sfml/audio.rb, line 203
def get_pitch
  SFMLImporter.sfMusic_getPitch(@music)
end
get_playing_offset() click to toggle source
# File lib/sfml/audio.rb, line 197
def get_playing_offset
  SFMLImporter.sfMusic_getPlayingOffset(@music) / 1000000.0
end
get_status() click to toggle source
# File lib/sfml/audio.rb, line 183
def get_status
  r = SFMLImporter.sfMusic_getStatus(@music)
  case r
  when SFMLImporter::SFSTOPPED
    :stopped
  when SFMLImporter::SFPAUSED
    :paused
  when SFMLImporter::SFPLAYING
    :playing
  end
end
get_volume() click to toggle source
# File lib/sfml/audio.rb, line 209
def get_volume
  SFMLImporter.sfMusic_getVolume(@music)
end
pause() click to toggle source
# File lib/sfml/audio.rb, line 174
def pause
  SFMLImporter.sfMusic_pause(@music)
end
play() click to toggle source
# File lib/sfml/audio.rb, line 171
def play
  SFMLImporter.sfMusic_play(@music)
end
set_loop(b) click to toggle source
# File lib/sfml/audio.rb, line 165
def set_loop(b)
  SFMLImporter.sfMusic_setLoop(@music, (b ? 1 : 0))
end
set_pitch(f) click to toggle source
# File lib/sfml/audio.rb, line 200
def set_pitch(f)
  SFMLImporter.sfMusic_setPitch(@music, f)
end
set_playing_offset(time) click to toggle source
# File lib/sfml/audio.rb, line 194
def set_playing_offset(time)
  SFMLImporter.sfMusic_setPlayingOffset(@music, time * 1000000.0)
end
set_volume(f) click to toggle source
# File lib/sfml/audio.rb, line 206
def set_volume(f)
  SFMLImporter.sfMusic_setVolume(@music, f)
end
stop() click to toggle source
# File lib/sfml/audio.rb, line 177
def stop
  SFMLImporter.sfMusic_stop(@music)
end