Difference between revisions of "Gksound"

From Vendetta Lua
Jump to: navigation, search
(GKUnloadSound)
 
(10 intermediate revisions by 6 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 ===
+
=== GKUnloadSound ===
 
'''Definition:'''<br>
 
'''Definition:'''<br>
GKPlaylist(string playlist) -> nil
+
GKUnloadSound()
 
<br><br>
 
<br><br>
 
'''Description:''' <br>
 
'''Description:''' <br>
Play playlist file as background music.
+
Unloads a sound when a sound is specified.<br>
 
<br><br>
 
<br><br>
 
'''Arguments:'''<br>
 
'''Arguments:'''<br>
'''playlist''' filename playlist file
+
'''Soundname'''
 
<br><br>
 
<br><br>
 
'''Returns:'''
 
'''Returns:'''
 
<br><br>
 
<br><br>
 
'''Example:'''
 
'''Example:'''
 +
<source lang="lua">gksound.GKUnloadSound{'billboard.buzz'}</source>
 
<br><br>
 
<br><br>
 
 
 
=== GKPlayMusic ===
 
'''Definition:'''<br>
 
GKPlayMusic(string audiofile) -> nil
 
<br><br>
 
'''Description:''' <br>
 
Playback the provided file as background music in a loop
 
<br><br>
 
'''Arguments:'''<br>
 
'''audiofile''' filename of an audiofile
 
<br><br>
 
'''Returns:'''
 
<br><br>
 
'''Example:'''
 
<br><br>
 
 
  
 
=== GKLoadSound ===
 
=== GKLoadSound ===
Line 45: Line 28:
 
When loading raw files, be sure to specify valid channel size and count.
 
When loading raw files, be sure to specify valid channel size and count.
 
<br><br>
 
<br><br>
'''Arguments:'''
+
'''Arguments:'''<source lang="lua">
 
table:
 
table:
{
+
{
 
   soundname = "soundeffect",
 
   soundname = "soundeffect",
   filename = "filename",
+
   filename = "filename", -- must be a filepath relative to the Vendetta directory, e.g., "plugins/lies2/lies2.ogg"
 
   samplerate = 44100,  -- optional, defaults to 44100 KHz
 
   samplerate = 44100,  -- optional, defaults to 44100 KHz
 
   preload = boolean, -- optional, defaults to true, defines whether to load immediately or load when first played
 
   preload = boolean, -- optional, defaults to true, defines whether to load immediately or load when first played
Line 56: Line 39:
 
   biasdist = 3000, -- optional, defaults to 3000, attenuates to 0 volume when this far from the listener when played as a 3D sound.
 
   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.
 
   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.
+
   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:'''
Line 63: Line 47:
 
<br><br>
 
<br><br>
 
'''Example:'''
 
'''Example:'''
gksound.GKLoadSound{soundname='fart',filename='sound/warp_1.ogg'}
+
<source lang="lua">gksound.GKLoadSound{soundname='fart',filename='sound/warp_1.ogg'}</source>
 
<br><br>
 
<br><br>
  
 +
 +
=== GKPlaylist ===
 +
'''Definition:'''<br>
 +
GKPlaylist(string playlist) -> nil
 +
<br><br>
 +
'''Description:''' <br>
 +
Play playlist file as background music.
 +
<br><br>
 +
'''Arguments:'''<br>
 +
'''playlist''' filename playlist file
 +
<br><br>
 +
'''Returns:'''
 +
<br><br>
 +
'''Example:'''
 +
<br><br>
 +
 +
 +
 +
=== GKPlayMusic ===
 +
'''Definition:'''<br>
 +
GKPlayMusic(string filename, boolean loop, forceplay, number looppoint, volume) -> nil
 +
<br><br>
 +
'''Description:''' <br>
 +
Playback the provided file as background music in a loop
 +
<br><br>
 +
'''Arguments:'''<br>
 +
'''filename''' filename of an audiofile
 +
<br><br>
 +
'''Returns:'''
 +
<br><br>
 +
'''Example:'''
 +
<br><br>
  
 
=== GKPlaySound ===
 
=== GKPlaySound ===
Line 81: Line 97:
 
<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 113:
 
'''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 00:42, 16 June 2024

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

Functions

GKUnloadSound

Definition:
GKUnloadSound()

Description:
Unloads a sound when a sound is specified.


Arguments:
Soundname

Returns:

Example:

gksound.GKUnloadSound{'billboard.buzz'}



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: