Skip to main content

BoomBox Client

BoomBoxClient Documentation​

Overview​

BoomBoxClient is a singleton module responsible for controlling music playback in a Roblox game. It provides various methods for syncing audio, interacting with music genres and stations, and controlling the audio player's behavior, such as play, skip, rewind, and volume adjustments.

Requiring​

It is necessary to require the BoomBoxClient module from the LocalPlayer's PlayerGui, as it is a singleton module.

local BoomBoxClient = require(Players.LocalPlayer.PlayerGui:WaitForChild("BoomBoxClient"))

Methods​

SyncToBeat​

SyncToBeat(Callback: (Beat: number, BeatDuration: number) -> nil) Syncs a callback function to the beat of the current sound. This callback is triggered every time a beat occurs in the audio.

Parameters:​

  • Callback: A function that receives two parameters: Beat (the current beat number) and BeatDuration (the duration of the beat).

Example:​

BoomBoxClient:SyncToBeat(function(Beat, BeatDuration)
print("Beat:", Beat, "Duration:", BeatDuration)
end)

SyncToSixteenthNote​

SyncToSixteenthNote(Callback: (SixteenthNote: number, NoteDuration: number) -> nil) Syncs a callback function to the sixteenth note of the current sound. This callback is triggered every time a sixteenth note is played.

Parameters:​

  • Callback: A function that receives two parameters: SixteenthNote (the current sixteenth note) and NoteDuration (the duration of the note).

Example:​

BoomBoxClient:SyncToSixteenthNote(function(SixteenthNote, NoteDuration)
print("Sixteenth Note:", SixteenthNote, "Duration:", NoteDuration)
end)

SyncToDownBeat​

SyncToDownBeat(Callback: (Beat: number) -> nil) Syncs a callback function to the downbeat of the current sound.

Parameters:​

  • Callback: A function that receives one parameter: Beat (the current downbeat).

Example:​

BoomBoxClient:SyncToDownBeat(function(Beat)
print("Downbeat:", Beat)
end)

GetGenres​

GetGenres() -> {string} Retrieves the available genres from the system after ensuring that the genres are loaded. The genres are matched against a predefined list in GenreBoxText.

Returns:​

  • Genres: A list of available genres.

Example:​

local genres = BoomBoxClient:GetGenres()
for _, genre in ipairs(genres) do
print(genre)
end

GetStations​

GetStations() -> {string} Retrieves the available stations, excluding those that are part of the predefined GenreBoxText. The stations are retrieved after ensuring that the system is fully loaded.

Returns:​

  • Stations: A list of available stations.

Example:​

local stations = BoomBoxClient:GetStations()
for _, station in ipairs(stations) do
print(station)
end

PlayGenre​

PlayGenre(Genre: string) Plays music from the specified genre.

Parameters:​

  • Genre: The genre of music to play.

Example:​

BoomBoxClient:PlayGenre("Trap")

PlayStation​

PlayStation(Station: string) Plays music from the specified station.

Parameters:​

  • Station: The station to play music from.

Example:​

BoomBoxClient:PlayStation("Lo-fi Station")

TogglePlay​

TogglePlay() Toggles between play and pause for the current song.

Example:​

BoomBoxClient:TogglePlay()

Skip​

Skip() Skips to the next track in the current playlist or station.

Example:​

BoomBoxClient:Skip()

Rewind​

Rewind() Rewinds to the previous track in the current playlist or station.

Example:​

BoomBoxClient:Rewind()

Volume​

Volume(number: number) Sets the volume for the audio player. The volume is clamped to the maximum allowable volume.

Parameters:​

  • number: The volume level (between 0 and the maximum volume).

Example:​

BoomBoxClient:Volume(5)

MaxVolume​

MaxVolume(number: number) Sets the maximum volume for the audio player.

Parameters:​

  • number: The maximum volume level.

Example:​

BoomBoxClient:MaxVolume(10)

SetExcludedStations​

SetExcludedStations(ExcludedStations: {string}) Excludes certain stations from being played.

Parameters:​

  • ExcludedStations: A list of stations to exclude.

Example:​

BoomBoxClient:SetExcludedStations({"Jazz", "Classical"})

SetPlayerVisible​

SetPlayerVisible(PlayerVisible: boolean) Sets the visibility of the audio player UI.

Parameters:​

  • PlayerVisible: A boolean value where true makes the player visible and false hides it.

Example:​

BoomBoxClient:SetPlayerVisible(true)