5#include "Etterna/Models/Misc/PlayerNumber.h"
6#include "MessageManager.h"
16MusicThread_start(
void* p) -> int;
24 void Update(
float fDeltaTime);
34 fFadeInLengthSeconds = 0;
35 fFadeOutLengthSeconds = 0;
37 bApplyMusicRate =
false;
38 bAccurateSync =
false;
47 float fFadeInLengthSeconds;
48 float fFadeOutLengthSeconds;
56 void PlayMusic(
const std::string& sFile,
58 bool force_loop =
false,
60 float length_sec = -1,
61 float fFadeInLengthSeconds = 0,
63 bool align_beat =
true,
64 bool bApplyMusicRate =
false,
65 bool bAccurateSync =
false);
68 MESSAGEMAN->Broadcast(
"StoppedMusic");
71 void DimMusic(
float fVolume,
float fDurationSeconds);
72 [[nodiscard]]
auto GetMusicPath() const -> std::
string;
75 void PlayOnce(const std::
string& sPath);
76 void PlayOnceFromDir(const std::
string& sDir);
77 void PlayOnceFromAnnouncer(const std::
string& sFolderName);
79 void HandleSongTimer(
bool on = true);
81 static auto GetPlayerBalance(PlayerNumber pn) ->
float;
82 void WithRageSoundPlaying(std::function<
void(
RageSound*)> f);
87 void SetSoundPosition(
RageSound* s,
float fSeconds);
94 void DoPlayOnce(std::
string sPath);
95 void StartQueuedSounds();
96 void DoPlayOnceFromDir(std::
string sPath);
97 auto SoundWaiting() ->
bool;
98 void HandleSetPosition();
100 void HandleSetParams();
103 unsigned int recentPCMSamplesBufferSize = 1024;
104 Screen* callbackOwningScreen{
nullptr };
106 void HandleMessage(
const Message& msg)
override;
108 void ResyncMusicPlaying();
111 void PushSelf(lua_State* L);
High-level sound utilities.
Definition GameSoundManager.h:20
A self-cleaning Lua reference.
Definition LuaReference.h:10
Definition MessageManager.h:182
Definition RageSound.h:135
Class that holds a screen-full of Actors.
Definition Screen.h:64
Holds data for translating beats<->seconds.
Definition TimingData.h:54
Definition GameSoundManager.h:27
Definition MessageManager.h:101
Definition GameSoundManager.cpp:94
The parameters to play a sound.
Definition RageSound.h:51