class RbSDL2::Audio::AudioDevice

Attributes

capture[R]
name[R]
spec[R]
to_s[R]

Public Class Methods

devices(capture = false) click to toggle source
# File lib/rb_sdl2/audio/audio_device.rb, line 5
def devices(capture = false)
  is_capture = IS_CAPTURE.(capture)
  ::SDL2.SDL_GetNumAudioDevices(is_capture).times.map do |num|
    ptr = ::SDL2.SDL_GetAudioDeviceName(num, is_capture)
    raise RbSDL2Error if ptr.null?

    spec = AudioSpec.new
    # SDL_GetAudioDeviceSpec は SDL_GetNumAudioDevices の最新の呼び出しを反映する。
    err = ::SDL2.SDL_GetAudioDeviceSpec(num, is_capture, spec)
    raise RbSDL2Error if err != 0

    new(ptr.read_string.force_encoding(Encoding::UTF_8), capture, spec)
  end
end
new(name, capture, spec) click to toggle source
# File lib/rb_sdl2/audio/audio_device.rb, line 21
def initialize(name, capture, spec)
  @capture = CAPTURE.(capture)
  @name = name
  @spec = spec
end

Public Instance Methods

unknown?(= channels == 0 && format == 0 && frequency == 0) click to toggle source
# File lib/rb_sdl2/audio/audio_device.rb, line 41
  def unknown? = channels == 0 && format == 0 && frequency == 0
end