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;
46 float fFadeInLengthSeconds;
47 float fFadeOutLengthSeconds;
54 void PlayMusic(
const std::string& sFile,
56 bool force_loop =
false,
58 float length_sec = -1,
59 float fFadeInLengthSeconds = 0,
61 bool align_beat =
true,
62 bool bApplyMusicRate =
false,
63 bool bAccurateSync =
false);
64 void StopMusic() { PlayMusic(
""); }
65 void DimMusic(
float fVolume,
float fDurationSeconds);
66 [[nodiscard]]
auto GetMusicPath() const -> std::
string;
69 void PlayOnce(const std::
string& sPath);
70 void PlayOnceFromDir(const std::
string& sDir);
71 void PlayOnceFromAnnouncer(const std::
string& sFolderName);
73 void HandleSongTimer(
bool on = true);
75 static auto GetPlayerBalance(PlayerNumber pn) ->
float;
76 void WithRageSoundPlaying(std::function<
void(
RageSound*)> f);
81 void SetSoundPosition(
RageSound* s,
float fSeconds);
88 void DoPlayOnce(std::
string sPath);
89 void StartQueuedSounds();
90 void DoPlayOnceFromDir(std::
string sPath);
91 auto SoundWaiting() ->
bool;
92 void HandleSetPosition();
94 void HandleSetParams();
97 unsigned int recentPCMSamplesBufferSize = 1024;
98 Screen* callbackOwningScreen{
nullptr };
100 void HandleMessage(
const Message& msg)
override;
102 void ResyncMusicPlaying();
105 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:177
Definition RageSound.h:130
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:96
Definition GameSoundManager.cpp:94
The parameters to play a sound.
Definition RageSound.h:51