GetSoundBPM: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
(Remove obsolete Requirements section)
 
(19 intermediate revisions by 14 users not shown)
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Client function}}
{{Client function}}
{{New feature/item|4.0140|1.3.0|4145|
{{New feature/item|3.0131|1.3.0|4145|
This function gets the beats per minute of a specific [[sound]] element.
This function gets the beats per minute of a specific [[sound]] element.
{{Warning|This function is expensive to call and will freeze the client about 1-3 seconds. Also, trying to get the BPM from a sound directly after its creation will make the sound start only after the client freeze. You can use a [[setTimer]] to call this function after song creation so it can play normally.}}
}}
}}


==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">int getSoundBPM( element sound )</syntaxhighlight>  
<syntaxhighlight lang="lua">int getSoundBPM ( element sound )</syntaxhighlight>  
 
{{OOP||[[sound]]:getBPM}}
===Required Arguments===  
===Required Arguments===  
*'''sound:''' A sound element that is created using [[playSound]] or [[playSound3D]]
*'''sound:''' a sound element that is created using [[playSound]] or [[playSound3D]]


===Returns===
===Returns===
Line 17: Line 18:
<section name="Client" class="client" show="true">
<section name="Client" class="client" show="true">
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function bpm ()
function getBPM()
     -- Long version (might be more understandable as example)
     local soundElement = playSound("song.mp3") -- Play the song
    sound = playSound ( "song.mp3" ) -- Play the song
     local beatsValue = getSoundBPM(soundElement) -- Get the beats per minute of the song
     beats = getSoundBPM ( sound ) -- Get the beats per minute of the song
    outputChatBox ( "Long code version: " .. beats ) -- Output the beats to the chat box


    -- Short version + Would save some memory
     outputChatBox("BPM: "..beatsValue) -- Output the beats to the chat box
     outputChatBox ( "Short code version: " .. getSoundBPM ( playSound ( "song.mp3" ) ) )
end
end
addCommandHandler ( "bpm", bpm )
addCommandHandler("bpm", getBPM)
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>
==Requirements==
{{Requirements|n/a|1.3.0-9.04162|}}


==See Also==
==See Also==
{{Client_audio_functions}}
{{Audio_functions|client}}
[[hu:GetSoundBPM]]
[[ru:getSoundBPM]]
[[ar:getSoundBPM]]
[[RO:getSoundBPM]]
[[PT-BR:getSoundBPM]]

Latest revision as of 17:05, 7 November 2024

This function gets the beats per minute of a specific sound element.

[[|link=|]] Warning: This function is expensive to call and will freeze the client about 1-3 seconds. Also, trying to get the BPM from a sound directly after its creation will make the sound start only after the client freeze. You can use a setTimer to call this function after song creation so it can play normally.

Syntax

int getSoundBPM ( element sound )

OOP Syntax Help! I don't understand this!

Method: sound:getBPM(...)


Required Arguments

Returns

Returns the beats per minute of the given sound.

Example

Click to collapse [-]
Client
function getBPM()
    local soundElement = playSound("song.mp3") -- Play the song
    local beatsValue = getSoundBPM(soundElement) -- Get the beats per minute of the song

    outputChatBox("BPM: "..beatsValue) -- Output the beats to the chat box
end
addCommandHandler("bpm", getBPM)

See Also