Class: PulseAudio::SimpleO
- Inherits:
-
Object
- Object
- PulseAudio::SimpleO
- Defined in:
- lib/pulseaudio_simple_fiddle.rb
Instance Method Summary collapse
- #free ⇒ Object (also: #close)
- #handle_error(code) ⇒ Object
-
#initialize(name, desc, server: nil, device: nil, map: nil, buffer: nil, format: SampleFormat::F32LE, rate: 44100, channels: 2) ⇒ SimpleO
constructor
A new instance of SimpleO.
- #latency ⇒ Object
- #write(buf) ⇒ Object
Constructor Details
#initialize(name, desc, server: nil, device: nil, map: nil, buffer: nil, format: SampleFormat::F32LE, rate: 44100, channels: 2) ⇒ SimpleO
Returns a new instance of SimpleO.
31 32 33 34 35 36 37 38 39 |
# File 'lib/pulseaudio_simple_fiddle.rb', line 31 def initialize name,desc,server:nil,device:nil,map:nil,buffer:nil,format:SampleFormat::F32LE,rate:44100,channels:2 ps=Simple::SampleSpec.malloc ps.sample_format=format ps.rate=rate ps.channels=channels @err = 0 @handle=Simple::pa_simple_new(server,name,StreamDirection::PLAYBACK,device,desc,ps,nil,nil,@err) handle_error @err end |
Instance Method Details
#free ⇒ Object Also known as: close
45 46 47 48 |
# File 'lib/pulseaudio_simple_fiddle.rb', line 45 def free Simple::pa_simple_free @handle @handle=nil end |
#handle_error(code) ⇒ Object
28 29 30 |
# File 'lib/pulseaudio_simple_fiddle.rb', line 28 def handle_error code throw [code,"Error #{code} in #{caller[0]}"] unless 0 == code end |
#latency ⇒ Object
49 50 51 52 53 54 |
# File 'lib/pulseaudio_simple_fiddle.rb', line 49 def latency @err=0 val=Simple::pa_simple_get_latency @handle,@err handle_error @err val end |
#write(buf) ⇒ Object
40 41 42 43 44 |
# File 'lib/pulseaudio_simple_fiddle.rb', line 40 def write buf @err=0 Simple::pa_simple_write @handle,buf,buf.length,@err handle_error @err end |