Class: Raiff::Chunk::Form

Inherits:
Raiff::Chunk show all
Defined in:
lib/raiff/chunk/form.rb

Instance Attribute Summary collapse

Attributes inherited from Raiff::Chunk

#id, #size

Instance Method Summary collapse

Methods inherited from Raiff::Chunk

#inspect

Constructor Details

#initialize(file) ⇒ Form

Instance Methods =====================================================



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/raiff/chunk/form.rb', line 10

def initialize(file)
  super(file)
  
  @type = file.read(4)
  
  @chunks = { }
  common_chunk = nil
  
  while (!file.eof?)
    chunk =
      case (file.peek(4))
      when 'COMM'
        common_chunk = Raiff::Chunk::Common.new(file)
      when 'SSND'
        # FIX: Raise exception when there is no common block, but
        #      a SoundData block occurs.
        Raiff::Chunk::SoundData.new(file, common_chunk)
      else
        Raiff::Chunk::Data.new(file)
      end
      
    @chunks[chunk.id] ||= [ ]
    @chunks[chunk.id] << chunk
  end
end

Instance Attribute Details

#chunksObject (readonly)

Properties ===========================================================



4
5
6
# File 'lib/raiff/chunk/form.rb', line 4

def chunks
  @chunks
end