Method: WinDSP#flush
- Defined in:
- lib/windsp.rb
#flush ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/windsp.rb', line 72 def flush hdr = [@buffer, @buffer.bytesize, 0, 0, 0, 0, nil, 0].pack("pVV#{WinMM::PACK}VVp#{WinMM::PACK}") @buffer = "" ret = WinMM.waveOutPrepareHeader(@handle, hdr, hdr.bytesize) raise "error in waveOutPrepareHeader: #{ret}" if ret != 0 if @hdr wait(@hdr) WinMM.waveOutUnprepareHeader(@handle, @hdr, @hdr.bytesize) @hdr = nil end ret = WinMM.waveOutWrite(@handle, hdr, hdr.bytesize) raise "error in waveOutWrite: #{ret}" if ret != 0 @hdr = hdr self end |