Method: WinDSP#initialize

Defined in:
lib/windsp.rb

#initialize(*rest) ⇒ WinDSP

Returns a new instance of WinDSP.



45
46
47
48
49
50
51
52
53
# File 'lib/windsp.rb', line 45

def initialize(*rest)
  tmp = "\0" * 8
  form = [WinMM::WAVE_FORMAT_PCM, CHANNELS, FREQUENCY, rate, (BITS / 8) * CHANNELS, BITS, 0].pack("vvVVvvv")
  ret = WinMM.waveOutOpen(tmp, 0, form, 0, 0, WinMM::WAVE_ALLOWSYNC | WinMM::WAVE_MAPPED)
  raise "cannot open wave device: #{ret}" if ret != 0
  @handle, = tmp.unpack(WinMM::PACK)
  @hdr = nil
  @buffer = ""
end