Class: FMOD::Channel
Constant Summary
Constants included
from Enums
Enums::FMOD_CHANNELINDEX, Enums::FMOD_DSP_TYPE, Enums::FMOD_RESULT
Constants included
from Constants
FMOD::Constants::FMOD_2D, FMOD::Constants::FMOD_3D, FMOD::Constants::FMOD_3D_CUSTOMROLLOFF, FMOD::Constants::FMOD_3D_HEADRELATIVE, FMOD::Constants::FMOD_3D_IGNOREGEOMETRY, FMOD::Constants::FMOD_3D_LINEARROLLOFF, FMOD::Constants::FMOD_3D_LOGROLLOFF, FMOD::Constants::FMOD_3D_WORLDRELATIVE, FMOD::Constants::FMOD_ACCURATETIME, FMOD::Constants::FMOD_CDDA_FORCEASPI, FMOD::Constants::FMOD_CDDA_JITTERCORRECT, FMOD::Constants::FMOD_CREATECOMPRESSEDSAMPLE, FMOD::Constants::FMOD_CREATESAMPLE, FMOD::Constants::FMOD_CREATESTREAM, FMOD::Constants::FMOD_DEFAULT, FMOD::Constants::FMOD_HARDWARE, FMOD::Constants::FMOD_IGNORETAGS, FMOD::Constants::FMOD_INIT_3D_RIGHTHANDED, FMOD::Constants::FMOD_INIT_DISABLE_MYEARS, FMOD::Constants::FMOD_INIT_DSOUND_HRTFFULL, FMOD::Constants::FMOD_INIT_DSOUND_HRTFLIGHT, FMOD::Constants::FMOD_INIT_DSOUND_HRTFNONE, FMOD::Constants::FMOD_INIT_DTS_NEURALSURROUND, FMOD::Constants::FMOD_INIT_ENABLE_PROFILE, FMOD::Constants::FMOD_INIT_GEOMETRY_USECLOSEST, FMOD::Constants::FMOD_INIT_NORMAL, FMOD::Constants::FMOD_INIT_PS2_DISABLECORE0REVERB, FMOD::Constants::FMOD_INIT_PS2_DISABLECORE1REVERB, FMOD::Constants::FMOD_INIT_PS2_DONTUSESCRATCHPAD, FMOD::Constants::FMOD_INIT_PS2_SWAPDMACHANNELS, FMOD::Constants::FMOD_INIT_PS3_FORCE2CHLPCM, FMOD::Constants::FMOD_INIT_PS3_PREFERDTS, FMOD::Constants::FMOD_INIT_SOFTWARE_DISABLE, FMOD::Constants::FMOD_INIT_SOFTWARE_HRTF, FMOD::Constants::FMOD_INIT_SOFTWARE_OCCLUSION, FMOD::Constants::FMOD_INIT_SOFTWARE_REVERB_LOWMEM, FMOD::Constants::FMOD_INIT_STREAM_FROM_UPDATE, FMOD::Constants::FMOD_INIT_SYNCMIXERWITHUPDATE, FMOD::Constants::FMOD_INIT_SYSTEM_MUSICMUTENOTPAUSE, FMOD::Constants::FMOD_INIT_VOL0_BECOMES_VIRTUAL, FMOD::Constants::FMOD_INIT_WASAPI_EXCLUSIVE, FMOD::Constants::FMOD_INIT_XBOX_REMOVEHEADROOM, FMOD::Constants::FMOD_LOADSECONDARYRAM, FMOD::Constants::FMOD_LOOP_BIDI, FMOD::Constants::FMOD_LOOP_NORMAL, FMOD::Constants::FMOD_LOOP_OFF, FMOD::Constants::FMOD_LOWMEM, FMOD::Constants::FMOD_MPEGSEARCH, FMOD::Constants::FMOD_NONBLOCKING, FMOD::Constants::FMOD_OPENMEMORY, FMOD::Constants::FMOD_OPENMEMORY_POINT, FMOD::Constants::FMOD_OPENONLY, FMOD::Constants::FMOD_OPENRAW, FMOD::Constants::FMOD_OPENUSER, FMOD::Constants::FMOD_SOFTWARE, FMOD::Constants::FMOD_TIMEUNIT_BUFFERED, FMOD::Constants::FMOD_TIMEUNIT_MODORDER, FMOD::Constants::FMOD_TIMEUNIT_MODPATTERN, FMOD::Constants::FMOD_TIMEUNIT_MODROW, FMOD::Constants::FMOD_TIMEUNIT_MS, FMOD::Constants::FMOD_TIMEUNIT_PCM, FMOD::Constants::FMOD_TIMEUNIT_PCMBYTES, FMOD::Constants::FMOD_TIMEUNIT_RAWBYTES, FMOD::Constants::FMOD_TIMEUNIT_SENTENCE, FMOD::Constants::FMOD_TIMEUNIT_SENTENCE_MS, FMOD::Constants::FMOD_TIMEUNIT_SENTENCE_PCM, FMOD::Constants::FMOD_TIMEUNIT_SENTENCE_PCMBYTES, FMOD::Constants::FMOD_TIMEUNIT_SENTENCE_SUBSOUND, FMOD::Constants::FMOD_UNICODE, FMOD::Constants::FMOD_UNIQUE, FMOD::Constants::FMOD_VIRTUAL_PLAYFROMSTART
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Functions
#error_check
Constructor Details
#initialize(options = {}) ⇒ Channel
TODO: Need to find a way to reliably destroy this pointer
8
9
10
11
|
# File 'lib/fmod/channel.rb', line 8
def initialize(options = {})
@system_pointer = FMOD.system.pointer
@pointer = FFI::MemoryPointer.new(:pointer)
end
|
Instance Attribute Details
#pointer ⇒ Object
pointer to the channel instance
5
6
7
|
# File 'lib/fmod/channel.rb', line 5
def pointer
@pointer
end
|
Instance Method Details
#frequency ⇒ Object
43
44
45
46
47
48
|
# File 'lib/fmod/channel.rb', line 43
def frequency
FFI::MemoryPointer.new(:float) do |ptr|
error_check FMOD_Channel_GetFrequency(@pointer.read_pointer, ptr)
return ptr.read_float
end
end
|
#frequency=(float) ⇒ Object
50
51
52
|
# File 'lib/fmod/channel.rb', line 50
def frequency=(float)
error_check FMOD_Channel_SetFrequency(@pointer.read_pointer, float)
end
|
#pan=(float) ⇒ Object
37
38
39
40
41
|
# File 'lib/fmod/channel.rb', line 37
def pan=(float)
float = 1.0 if float > 1.0
float = 0.0 if float < 0.0
error_check FMOD_Channel_SetPan(@pointer.read_pointer, float)
end
|
#pause ⇒ Object
21
22
23
24
|
# File 'lib/fmod/channel.rb', line 21
def pause
error_check FMOD_Channel_SetPaused(@pointer.read_pointer, ((paused?) ? 0 : 1))
true
end
|
#paused? ⇒ Boolean
26
27
28
29
30
31
|
# File 'lib/fmod/channel.rb', line 26
def paused?
FFI::MemoryPointer.new(:int) do |ptr|
error_check FMOD_Channel_GetPaused(@pointer.read_pointer, ptr)
return ptr.read_int == 1
end
end
|
#playing? ⇒ Boolean
result = FMOD_Channel_IsPlaying(channel, &playing);
14
15
16
17
18
19
|
# File 'lib/fmod/channel.rb', line 14
def playing?
FFI::MemoryPointer.new(:int) do |ptr|
error_check FMOD_Channel_IsPlaying(@pointer.read_pointer, ptr)
return playing_ptr.read_int == 1
end
end
|
#set_position(int = 0) ⇒ Object
33
34
35
|
# File 'lib/fmod/channel.rb', line 33
def set_position(int = 0)
error_check FMOD_Channel_SetPosition(@pointer.read_pointer, int, FMOD_TIMEUNIT_MS)
end
|