Class: Riff::RiffReader

Inherits:
Object show all
Defined in:
lib/ruck/misc/riff.rb

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ RiffReader

Returns a new instance of RiffReader.



75
76
77
# File 'lib/ruck/misc/riff.rb', line 75

def initialize(filename)
  @fn = File.open(filename, "rb")
end

Instance Method Details

#chunksObject



79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/ruck/misc/riff.rb', line 79

def chunks
  return @chunks if @chunks
  return [] if @fn.closed?
  
  offset = 0
  @chunks = []
  until @fn.eof?
    chunk = RiffReaderChunk.new(@fn, offset)
    @chunks << chunk
    offset += 8 + chunk.size
    @fn.seek offset + 8
  end
  
  @chunks
end

#closeObject



95
96
97
# File 'lib/ruck/misc/riff.rb', line 95

def close
  @fn.close unless @fn.closed?
end