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

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

.initObject



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_channelObject



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_channelsObject



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