Difference between revisions of "Gksound"

From Vendetta Lua
Jump to: navigation, search
(GKLoadSound: Added caveat to the filename param -- VO crashes if not done properly!)
m
 
(6 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:'''<source lang="lua">
+
'''Arguments:'''<br>
table:
+
'''filename''' filename of an audiofile
{
+
  soundname = "soundeffect",
+
  filename = "filename", -- must be a filepath relative to the Vendetta directory, e.g., "plugins/lies2/lies2.mov"
+
  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>
  
Line 97: 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: