Difference between revisions of "Gksound"

From Vendetta Lua
Jump to: navigation, search
m
 
(8 intermediate revisions by 5 users not shown)
Line 1: Line 1:
Functions ot control audio playback. Audio files read from disk must be in ogg vorbis format.
+
Functions to control audio playback. Audio files read from disk must be in ogg vorbis format.
  
 
== Functions ==
 
== Functions ==
  
=== GKPlaylist ===
+
=== GKLoadSound ===
 
'''Definition:'''<br>
 
'''Definition:'''<br>
GKPlaylist(string playlist) -> nil
+
GKLoadSound() -> boolean
 
<br><br>
 
<br><br>
 
'''Description:''' <br>
 
'''Description:''' <br>
Play playlist file as background music.
+
Load an audio file and assign it to a sound effect name to be played by GKPlaySound.<br>
 +
Files supported: wav, ogg, raw.
 +
When loading raw files, be sure to specify valid channel size and count.
 
<br><br>
 
<br><br>
'''Arguments:'''<br>
+
'''Arguments:'''<source lang="lua">
'''playlist''' filename playlist file
+
table:
 +
{
 +
  soundname = "soundeffect",
 +
  filename = "filename", -- must be a filepath relative to the Vendetta directory, e.g., "plugins/lies2/lies2.ogg"
 +
  samplerate = 44100,  -- optional, defaults to 44100 KHz
 +
  preload = boolean, -- optional, defaults to true, defines whether to load immediately or load when first played
 +
  stream = boolean, -- optional, defaults to false. defines whether to load entire file or stream.
 +
  channels = 2, -- optional, defaults to whatever is in the file. needed for raw files.
 +
  biasdist = 3000, -- optional, defaults to 3000, attenuates to 0 volume when this far from the listener when played as a 3D sound.
 +
  width = 0, -- optional, defaults to 0 which means to use whatever the file specifies. Otherwise either 8 or 16. defines how big each channel is.
 +
  loop = nil, -- optional, defaults to no loop. defined loop point in number of samples. the sound will play the entire sound and then loop back to the loop
 +
              -- point until it is stopped, which you can't stop right now, heh, so use at your own risk.
 +
}</source>
 
<br><br>
 
<br><br>
 
'''Returns:'''
 
'''Returns:'''
 +
boolean true if load succeeded, false if load failed.
 
<br><br>
 
<br><br>
 
'''Example:'''
 
'''Example:'''
 +
<source lang="lua">gksound.GKLoadSound{soundname='fart',filename='sound/warp_1.ogg'}</source>
 
<br><br>
 
<br><br>
  
  
 
+
=== GKPlaylist ===
=== GKPlayMusic ===
+
 
'''Definition:'''<br>
 
'''Definition:'''<br>
GKPlayMusic(string audiofile) -> nil
+
GKPlaylist(string playlist) -> nil
 
<br><br>
 
<br><br>
 
'''Description:''' <br>
 
'''Description:''' <br>
Playback the provided file as background music in a loop
+
Play playlist file as background music.
 
<br><br>
 
<br><br>
 
'''Arguments:'''<br>
 
'''Arguments:'''<br>
'''audiofile''' filename of an audiofile
+
'''playlist''' filename playlist file
 
<br><br>
 
<br><br>
 
'''Returns:'''
 
'''Returns:'''
Line 36: Line 51:
  
  
=== GKLoadSound ===
+
 
 +
=== GKPlayMusic ===
 
'''Definition:'''<br>
 
'''Definition:'''<br>
GKLoadSound() -> boolean
+
GKPlayMusic(string filename, boolean loop, forceplay, number looppoint, volume) -> nil
 
<br><br>
 
<br><br>
 
'''Description:''' <br>
 
'''Description:''' <br>
Load an audio file and assign it to a sound effect name to be played by GKPlaySound.<br>
+
Playback the provided file as background music in a loop
Files supported: wav, ogg, raw.
+
When loading raw files, be sure to specify valid channel size and count.
+
 
<br><br>
 
<br><br>
'''Arguments:'''
+
'''Arguments:'''<br>
table:
+
'''filename''' filename of an audiofile
{
+
  soundname = "soundeffect",
+
  filename = "filename",
+
  samplerate = 44100,  -- optional, defaults to 44100 KHz
+
  preload = boolean, -- optional, defaults to true, defines whether to load immediately or load when first played
+
  stream = boolean, -- optional, defaults to false. defines whether to load entire file or stream.
+
  channels = 2, -- optional, defaults to whatever is in the file. needed for raw files.
+
  biasdist = 3000, -- optional, defaults to 3000, attenuates to 0 volume when this far from the listener when played as a 3D sound.
+
  width = 0, -- optional, defaults to 0 which means to use whatever the file specifies. Otherwise either 8 or 16. defines how big each channel is.
+
  loop = nil, -- optiona, defaults to no loop. defined loop point in number of samples. the sound will play the entire sound and then loop back to the loop point over and over forever until it is stopped, which you can't stop right now, heh, so use at your own risk.
+
}
+
 
<br><br>
 
<br><br>
 
'''Returns:'''
 
'''Returns:'''
boolean true if load succeeded, false if load failed.
 
 
<br><br>
 
<br><br>
 
'''Example:'''
 
'''Example:'''
gksound.GKLoadSound{soundname='fart',filename='sound/warp_1.ogg'}
 
 
<br><br>
 
<br><br>
 
  
 
=== GKPlaySound ===
 
=== GKPlaySound ===
Line 81: Line 81:
 
<br><br>
 
<br><br>
 
'''Example:'''<br>
 
'''Example:'''<br>
GKPlaySound("explosion", 0.5) -> nil
+
<source lang="lua">GKPlaySound("explosion", 0.5) -> nil -- play explosion sound effect at half volume</source>
play explosion sound effect at half volume
+
 
<br><br>
 
<br><br>
  
Line 98: Line 97:
 
'''Example:'''
 
'''Example:'''
 
<br><br>
 
<br><br>
 +
 +
=== MuteSound ===
 +
'''Definition:'''<br>
 +
MuteSound(boolean mute) -> nil
 +
<br><br>
 +
'''Description:''' <br>
 +
Set volume to level set with [[Gksound#SetSoundDuckingLevel]]
 +
<br><br>
 +
'''Arguments:'''<br>
 +
'''mute''' mute sound if true
 +
<br><br>
 +
'''Returns:'''
 +
<br><br>
 +
'''Example:'''
 +
<br><br>
 +
 +
 +
=== GetSoundDuckingLevel ===
 +
'''Definition:'''<br>
 +
GetSoundDuckingLevel() -> float level
 +
<br><br>
 +
'''Description:''' <br>
 +
Get volume level when receiving or sending voice chat
 +
<br><br>
 +
'''Arguments:'''
 +
<br><br>
 +
'''Returns:'''<br>
 +
'''level''' volume level (0-1)
 +
<br><br>
 +
'''Example:'''
 +
<br><br>
 +
 +
 +
=== SetSoundDuckingLevel ===
 +
'''Definition:'''<br>
 +
SetSoundDuckingLevel(float level) -> nil
 +
<br><br>
 +
'''Description:''' <br>
 +
Set volume level when receiving or sending voice chat
 +
<br><br>
 +
'''Arguments:'''<br>
 +
'''level''' volume level (0-1)
 +
<br><br>
 +
'''Returns:'''
 +
<br><br>
 +
'''Example:'''
 +
<br><br>
 +
 +
[[Category:Tables]]

Latest revision as of 03:57, 25 June 2023

Functions to control audio playback. Audio files read from disk must be in ogg vorbis format.

Functions

GKLoadSound

Definition:
GKLoadSound() -> boolean

Description:
Load an audio file and assign it to a sound effect name to be played by GKPlaySound.
Files supported: wav, ogg, raw. When loading raw files, be sure to specify valid channel size and count.

Arguments:
table:
{
  soundname = "soundeffect",
  filename = "filename", -- must be a filepath relative to the Vendetta directory, e.g., "plugins/lies2/lies2.ogg"
  samplerate = 44100,  -- optional, defaults to 44100 KHz
  preload = boolean, -- optional, defaults to true, defines whether to load immediately or load when first played
  stream = boolean, -- optional, defaults to false. defines whether to load entire file or stream.
  channels = 2, -- optional, defaults to whatever is in the file. needed for raw files.
  biasdist = 3000, -- optional, defaults to 3000, attenuates to 0 volume when this far from the listener when played as a 3D sound.
  width = 0, -- optional, defaults to 0 which means to use whatever the file specifies. Otherwise either 8 or 16. defines how big each channel is.
  loop = nil, -- optional, defaults to no loop. defined loop point in number of samples. the sound will play the entire sound and then loop back to the loop
              -- point until it is stopped, which you can't stop right now, heh, so use at your own risk.
}



Returns: boolean true if load succeeded, false if load failed.

Example:

gksound.GKLoadSound{soundname='fart',filename='sound/warp_1.ogg'}




GKPlaylist

Definition:
GKPlaylist(string playlist) -> nil

Description:
Play playlist file as background music.

Arguments:
playlist filename playlist file

Returns:

Example:


GKPlayMusic

Definition:
GKPlayMusic(string filename, boolean loop, forceplay, number looppoint, volume) -> nil

Description:
Playback the provided file as background music in a loop

Arguments:
filename filename of an audiofile

Returns:

Example:

GKPlaySound

Definition:
GKPlaySound(string soundeffect, float volume) -> nil

Description:
Playback a soundeffect at the given volume

Arguments:
soundeffect name of a soundeffect
volume playback volume (0-1)

Returns:

Example:

GKPlaySound("explosion", 0.5) -> nil -- play explosion sound effect at half volume



GKStopMusic

Definition:
GKStopMusic() -> nil

Description:
Stop playing background music

Arguments:

Returns:

Example:

MuteSound

Definition:
MuteSound(boolean mute) -> nil

Description:
Set volume to level set with Gksound#SetSoundDuckingLevel

Arguments:
mute mute sound if true

Returns:

Example:


GetSoundDuckingLevel

Definition:
GetSoundDuckingLevel() -> float level

Description:
Get volume level when receiving or sending voice chat

Arguments:

Returns:
level volume level (0-1)

Example:


SetSoundDuckingLevel

Definition:
SetSoundDuckingLevel(float level) -> nil

Description:
Set volume level when receiving or sending voice chat

Arguments:
level volume level (0-1)

Returns:

Example: