Sha256: 95ef04352d9c4a40b24469d4a666c2532a8a6cce6020d2f67d224d96c7306bc4

Contents?: true

Size: 814 Bytes

Versions: 1

Compression:

Stored size: 814 Bytes

Contents

module RubySketch


  class Sound

    # @private
    def initialize(sound)
      @sound = sound
    end

    def play()
      old = @player
      @player = @sound.play
      old&.stop
      true
    end

    def pause()
      return false unless @player
      @player.pause
      true
    end

    def stop()
      return false unless @player
      @player.stop
      @player = nil
      true
    end

    def playing?()
      @player ? @player.playing? : false
    end

    def paused?()
      !playing? && !stopped?
    end

    def stopped?()
      @player ? @player.stopped? : true
    end

    def save(path)
      @sound.save path
    end

    def self.load(path)
      f = Beeps::FileIn.new path
      self.new Beeps::Sound.new(f, f.seconds, nchannels: f.nchannels)
    end

  end# Sound


end# RubySketch

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rubysketch-0.5.3 lib/rubysketch/sound.rb