Class: Raiff::Chunk::Common

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

Instance Attribute Summary collapse

Attributes inherited from Raiff::Chunk

#id, #size

Instance Method Summary collapse

Constructor Details

#initialize(file) ⇒ Common

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



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/raiff/chunk/common.rb', line 11

def initialize(file)
  super(file)
  
  chunk_end = file.offset + @size
  
  @channels, @sample_frames, @sample_size = file.unpack('nNn')

  @sample_rate = file.unpack_extended_float
  
  @bytes_per_sample = (@sample_size - 1) / 8 + 1
end

Instance Attribute Details

#bytes_per_sampleObject (readonly)

Returns the value of attribute bytes_per_sample.



5
6
7
# File 'lib/raiff/chunk/common.rb', line 5

def bytes_per_sample
  @bytes_per_sample
end

#channelsObject (readonly)

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



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

def channels
  @channels
end

#sample_framesObject (readonly)

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



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

def sample_frames
  @sample_frames
end

#sample_rateObject (readonly)

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



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

def sample_rate
  @sample_rate
end

#sample_sizeObject (readonly)

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



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

def sample_size
  @sample_size
end

Instance Method Details

#inspectObject



23
24
25
# File 'lib/raiff/chunk/common.rb', line 23

def inspect
  "<#{self.class}\##{object_id} #{@id} #{@size} channels=#{channels} sample_frames=#{sample_frames} sample_size=#{sample_size} sample_rate=#{'%.2f' % sample_rate}>"
end