Etterna 0.74.4
Loading...
Searching...
No Matches
AutoKeysounds.h
1#ifndef AUTO_KEYSOUNDS_H
2#define AUTO_KEYSOUNDS_H
3
4#include "Etterna/Models/NoteData/NoteData.h"
5#include "Etterna/Models/Misc/PlayerNumber.h"
6#include "RageUtil/Sound/RageSound.h"
7
10class Song;
13{
14 public:
15 void Load(PlayerNumber pn, const NoteData& ndAutoKeysoundsOnly);
16 void Update(float fDelta);
19 void FinishLoading();
20 RageSound* GetSound() { return &m_sSound; }
21 RageSoundReader* GetSharedSound() const { return m_pSharedSound; }
22 RageSoundReader* GetPlayerSound(PlayerNumber pn) const
23 {
24 if (pn == PLAYER_INVALID)
25 return nullptr;
26 return m_pPlayerSounds;
27 }
28
29 protected:
30 void LoadAutoplaySoundsInto(RageSoundReader_Chain* pChain);
31 static void LoadTracks(const Song* pSong,
32 RageSoundReader*& pGlobal,
33 RageSoundReader*& pPlayer1);
34
35 NoteData m_ndAutoKeysoundsOnly;
36 std::vector<RageSound> m_vKeysounds;
37 RageSound m_sSound;
38 RageSoundReader* m_pChain; // owned by m_sSound
39 RageSoundReader* m_pPlayerSounds; // owned by m_sSound
40 RageSoundReader* m_pSharedSound; // owned by m_sSound
41};
42
43#endif
Handle playback of auto keysound notes.
Definition AutoKeysounds.h:13
void FinishLoading()
Finish loading the main sounds, and setup the auto keysounds if any.
Definition AutoKeysounds.cpp:151
Holds data about the notes that the player is supposed to hit.
Definition NoteData.h:43
Definition RageSoundReader_Chain.h:11
Definition RageSoundReader.h:7
Definition RageSound.h:130
Holds all music metadata and steps for one song.
Definition Song.h:65