module SMF::RMI

Public Class Methods

rmi2smf(s) click to toggle source
# File lib/smf/toy/rmi.rb, line 20
def rmi2smf(s)
  x, = s[16,4].unpack('V')
  s[20,x]
end
smf2rmi(s) click to toggle source
# File lib/smf/toy/rmi.rb, line 8
def smf2rmi(s)
  pad = s.size % 2
  o =  'RIFF'
  o << [12 + s.size + pad].pack('V')
  o << 'RMID'
  o << 'data'
  o << [s.size].pack('V')
  o << s
  pad.times do o << "\000" end
  o
end

Private Instance Methods

rmi2smf(s) click to toggle source
# File lib/smf/toy/rmi.rb, line 20
def rmi2smf(s)
  x, = s[16,4].unpack('V')
  s[20,x]
end
smf2rmi(s) click to toggle source
# File lib/smf/toy/rmi.rb, line 8
def smf2rmi(s)
  pad = s.size % 2
  o =  'RIFF'
  o << [12 + s.size + pad].pack('V')
  o << 'RMID'
  o << 'data'
  o << [s.size].pack('V')
  o << s
  pad.times do o << "\000" end
  o
end