module Sound::Library::Base

Public Class Methods

please_implement() click to toggle source
# File lib/sound/device_library/base.rb, line 6
def Base.please_implement
  raise NoMethodError, "Please implement ##{method} for your Library."
end

Private Instance Methods

close_device() click to toggle source
# File lib/sound/device_library/base.rb, line 30
def close_device
  Base.please_implement(__method__)
end
data() click to toggle source
# File lib/sound/device_library/base.rb, line 36
def data
  Thread.current[:data] ||= Sound::Data.new
end
data_buffer() click to toggle source
# File lib/sound/device_library/base.rb, line 39
def data_buffer
  Thread.current[:data_buffer] ||= FFI::MemoryPointer.new(:int, data.pcm_data.size).write_array_of_int data.pcm_data
end
handle() click to toggle source
# File lib/sound/device_library/base.rb, line 33
def handle
  Thread.current[:handle] ||= Handle.new
end
open_device() click to toggle source
# File lib/sound/device_library/base.rb, line 18
def open_device
  Base.please_implement(__method__)
end
prepare_buffer() click to toggle source
# File lib/sound/device_library/base.rb, line 21
def prepare_buffer
  Base.please_implement(__method__)
end
unprepare_buffer() click to toggle source
# File lib/sound/device_library/base.rb, line 27
def unprepare_buffer
  Base.please_implement(__method__)
end
write_to_device() click to toggle source
# File lib/sound/device_library/base.rb, line 24
def write_to_device
  Base.please_implement(__method__)
end