Module: DummyAudio
- Defined in:
- lib/dummy_audio.rb
Overview
Dummy audio backend for CI/testing environments without audio hardware. Has the same interface as the Audio C extension but does nothing.
Class Method Summary collapse
- .add_delay_tap(channel, time_ms, volume) ⇒ Object
- .duration(clip) ⇒ Object
- .enable_reverb(channel, enabled) ⇒ Object
- .init ⇒ Object
- .load(path) ⇒ Object
- .next_free_channel ⇒ Object
- .on_channel_freed(callback) ⇒ Object
- .pause(channel) ⇒ Object
- .play(channel, clip) ⇒ Object
- .remove_delay_tap(channel, tap_id) ⇒ Object
- .reset_all_channels ⇒ Object
- .resume(channel) ⇒ Object
- .seek(channel, seconds) ⇒ Object
- .set_delay_tap_time(channel, tap_id, time_ms) ⇒ Object
- .set_delay_tap_volume(channel, tap_id, volume) ⇒ Object
- .set_looping(channel, looping) ⇒ Object
- .set_pan(channel, pan) ⇒ Object
- .set_pitch(channel, pitch) ⇒ Object
- .set_pos(channel, angle, distance) ⇒ Object
- .set_reverb_damping(channel, damp) ⇒ Object
- .set_reverb_dry(channel, dry) ⇒ Object
- .set_reverb_room_size(channel, size) ⇒ Object
- .set_reverb_wet(channel, wet) ⇒ Object
- .set_volume(channel, volume) ⇒ Object
- .stop(channel) ⇒ Object
Class Method Details
.add_delay_tap(channel, time_ms, volume) ⇒ Object
70 71 72 73 74 75 |
# File 'lib/dummy_audio.rb', line 70 def self.add_delay_tap(channel, time_ms, volume) @tap_counts[channel] ||= 0 tap_id = @tap_counts[channel] @tap_counts[channel] += 1 tap_id end |
.duration(clip) ⇒ Object
23 24 25 |
# File 'lib/dummy_audio.rb', line 23 def self.duration(clip) 5.0 end |
.enable_reverb(channel, enabled) ⇒ Object
89 90 91 |
# File 'lib/dummy_audio.rb', line 89 def self.enable_reverb(channel, enabled) nil end |
.init ⇒ Object
13 14 15 |
# File 'lib/dummy_audio.rb', line 13 def self.init nil end |
.load(path) ⇒ Object
17 18 19 20 21 |
# File 'lib/dummy_audio.rb', line 17 def self.load(path) id = @sound_count @sound_count += 1 id end |
.next_free_channel ⇒ Object
109 110 111 |
# File 'lib/dummy_audio.rb', line 109 def self.next_free_channel (0..1023).find { |i| !@active_channels.include?(i) } || -1 end |
.on_channel_freed(callback) ⇒ Object
113 114 115 |
# File 'lib/dummy_audio.rb', line 113 def self.on_channel_freed(callback) @channel_freed_callback = callback end |
.pause(channel) ⇒ Object
38 39 40 |
# File 'lib/dummy_audio.rb', line 38 def self.pause(channel) nil end |
.play(channel, clip) ⇒ Object
27 28 29 30 31 |
# File 'lib/dummy_audio.rb', line 27 def self.play(channel, clip) @tap_counts[channel] = 0 @active_channels << channel channel end |
.remove_delay_tap(channel, tap_id) ⇒ Object
77 78 79 |
# File 'lib/dummy_audio.rb', line 77 def self.remove_delay_tap(channel, tap_id) nil end |
.reset_all_channels ⇒ Object
117 118 119 |
# File 'lib/dummy_audio.rb', line 117 def self.reset_all_channels @active_channels.clear end |
.resume(channel) ⇒ Object
42 43 44 |
# File 'lib/dummy_audio.rb', line 42 def self.resume(channel) nil end |
.seek(channel, seconds) ⇒ Object
62 63 64 |
# File 'lib/dummy_audio.rb', line 62 def self.seek(channel, seconds) nil end |
.set_delay_tap_time(channel, tap_id, time_ms) ⇒ Object
85 86 87 |
# File 'lib/dummy_audio.rb', line 85 def self.set_delay_tap_time(channel, tap_id, time_ms) nil end |
.set_delay_tap_volume(channel, tap_id, volume) ⇒ Object
81 82 83 |
# File 'lib/dummy_audio.rb', line 81 def self.set_delay_tap_volume(channel, tap_id, volume) nil end |
.set_looping(channel, looping) ⇒ Object
66 67 68 |
# File 'lib/dummy_audio.rb', line 66 def self.set_looping(channel, looping) nil end |
.set_pan(channel, pan) ⇒ Object
58 59 60 |
# File 'lib/dummy_audio.rb', line 58 def self.set_pan(channel, pan) nil end |
.set_pitch(channel, pitch) ⇒ Object
50 51 52 |
# File 'lib/dummy_audio.rb', line 50 def self.set_pitch(channel, pitch) nil end |
.set_pos(channel, angle, distance) ⇒ Object
54 55 56 |
# File 'lib/dummy_audio.rb', line 54 def self.set_pos(channel, angle, distance) nil end |
.set_reverb_damping(channel, damp) ⇒ Object
97 98 99 |
# File 'lib/dummy_audio.rb', line 97 def self.set_reverb_damping(channel, damp) nil end |
.set_reverb_dry(channel, dry) ⇒ Object
105 106 107 |
# File 'lib/dummy_audio.rb', line 105 def self.set_reverb_dry(channel, dry) nil end |
.set_reverb_room_size(channel, size) ⇒ Object
93 94 95 |
# File 'lib/dummy_audio.rb', line 93 def self.set_reverb_room_size(channel, size) nil end |
.set_reverb_wet(channel, wet) ⇒ Object
101 102 103 |
# File 'lib/dummy_audio.rb', line 101 def self.set_reverb_wet(channel, wet) nil end |
.set_volume(channel, volume) ⇒ Object
46 47 48 |
# File 'lib/dummy_audio.rb', line 46 def self.set_volume(channel, volume) nil end |
.stop(channel) ⇒ Object
33 34 35 36 |
# File 'lib/dummy_audio.rb', line 33 def self.stop(channel) @active_channels.delete(channel) nil end |