CommonLibSSE NG
BSIMusicTrack.h
Go to the documentation of this file.
1 #pragma once
2 
3 namespace RE
4 {
6  {
7  public:
8  inline static constexpr auto RTTI = RTTI_BSIMusicTrack;
9 
10  enum class TrackType : std::uint32_t
11  {
12  kSilentTrack = 0xA1A9C4D5,
13  kSingleTrack = 0x6ED7E048,
14  kPalette = 0x23F678C3
15  };
16 
17  enum class MUSIC_STATUS
18  {
19  kInactive = 0,
20  kPlaying = 1,
21  kPaused = 2,
22  kFinishing = 3,
23  kFinished = 4
24  };
25 
26  virtual ~BSIMusicTrack(); // 00
27 
28  // add
29  virtual void DoUpdate() = 0; // 01
30  virtual void DoPlay() = 0; // 02
31  virtual void DoPause() = 0; // 03
32  virtual void DoFinish(bool a_immediate, float a_fadeTime) = 0; // 04
33  [[nodiscard]] virtual float GetDurationImpl() const = 0; // 05
34  [[nodiscard]] virtual TrackType GetType() const = 0; // 06 - CRC32 hash of class name
35  [[nodiscard]] virtual bool TestCanPlay() const; // 07 - { return true; }
36  [[nodiscard]] virtual MUSIC_STATUS GetMusicStatus() const; // 08 - { return trackStatus; }
37  virtual void DoSetDuckingAttenuation(std::uint16_t a_ducking); // 09 - { return; }
38  virtual void DoClearDucking(); // 0A - { return; }
39 
40  // members
42  std::uint32_t pad0C; // 0C
43  };
44  static_assert(sizeof(BSIMusicTrack) == 0x10);
45 }
Definition: BSIMusicTrack.h:6
virtual void DoPause()=0
static constexpr auto RTTI
Definition: BSIMusicTrack.h:8
virtual bool TestCanPlay() const
virtual ~BSIMusicTrack()
virtual void DoClearDucking()
MUSIC_STATUS
Definition: BSIMusicTrack.h:18
virtual void DoUpdate()=0
virtual TrackType GetType() const =0
virtual float GetDurationImpl() const =0
virtual void DoPlay()=0
stl::enumeration< MUSIC_STATUS, std::uint32_t > trackStatus
Definition: BSIMusicTrack.h:41
std::uint32_t pad0C
Definition: BSIMusicTrack.h:42
TrackType
Definition: BSIMusicTrack.h:11
virtual MUSIC_STATUS GetMusicStatus() const
virtual void DoSetDuckingAttenuation(std::uint16_t a_ducking)
virtual void DoFinish(bool a_immediate, float a_fadeTime)=0
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BSIMusicTrack(685259, 393034, 0x1ee2720)