class Riffy

Attributes

type[R]

Public Class Methods

new(file) click to toggle source
Calls superclass method Chunk::new
# File lib/riffy.rb, line 7
def initialize(file)

  begin
    raise "File corrupt or unreadable." unless Riffy.verify(file)
  rescue
    
  end
    
  self.id = FourCC.new('RIFF')
  super(file)
  
end
open(file) click to toggle source
# File lib/riffy.rb, line 32
def self.open(file)

  begin
    f = File.open(file, "rb")
  rescue
    puts "The file failed to load for some reason."
  end
  
  Riffy.new(f)
  
end

Private Class Methods

parse_riff(file) click to toggle source
# File lib/riffy.rb, line 46
def self.parse_riff(file)

  # parse file by creating chunk objects etc.
  f = File.open(file)
  
  attr_array = []
  
  
  
  self.id = f.each_char.first(4).join
  self.size = f.each_char.first(4).join.unpack("L<")[0]
  
  puts self.id
  puts self.size
  
  self.data = ChunkData.new(f, :riff)
  
  # @type = file[8..11]

end
verify(file) click to toggle source
# File lib/riffy.rb, line 67
def self.verify(file)
  
  return true
end

Public Instance Methods

bit_rate() click to toggle source
# File lib/riffy.rb, line 26
def bit_rate
  self.data.chunks[0].data.data.bit_rate
end
format() click to toggle source
# File lib/riffy.rb, line 20
def format #return the format of the RIFF file. e.g. "WAVE"

  self.data.form_type

end