Isle
Loading...
Searching...
No Matches
mxmidipresenter.h
Go to the documentation of this file.
1#ifndef MXMIDIPRESENTER_H
2#define MXMIDIPRESENTER_H
3
4#include "mxmusicpresenter.h"
5
6class MxStreamChunk;
7
8// VTABLE: LEGO1 0x100dca20
9// SIZE 0x58
19public:
26
33 ~MxMIDIPresenter() override;
34
39 static const char* HandlerClassName();
40
45 const char* ClassName() const override; // vtable+0x0c
46
52 MxBool IsA(const char* p_name) const override; // vtable+0x10
53
59 void ReadyTickle() override; // vtable+0x18
60
66 void StartingTickle() override; // vtable+0x1c
67
73 void StreamingTickle() override; // vtable+0x20
74
80 void DoneTickle() override; // vtable+0x2c
81
87 void Destroy() override; // vtable+0x38
88
94 void EndAction() override; // vtable+0x40
95
102 MxResult PutData() override; // vtable+0x4c
103
110 void SetVolume(MxS32 p_volume) override; // vtable+0x60
111
112 // SYNTHETIC: LEGO1 0x100c27a0
113 // MxMIDIPresenter::`scalar deleting destructor'
114 // [AI] Standard compiler-generated destructor for proper memory cleanup
115
116private:
122 void Init();
123
131 void Destroy(MxBool p_fromDestructor);
132
133protected:
139 MxStreamChunk* m_chunk; // 0x54 [AI]
140};
141
142#endif // MXMIDIPRESENTER_H
MIDI presenter class responsible for handling playback of MIDI music streams.
MxBool IsA(const char *p_name) const override
Checks if this instance matches a class type by name.
void DoneTickle() override
Tickle state signaling that playback is done.
void ReadyTickle() override
Tickle state for preparing the presenter before playback starts.
MxMIDIPresenter()
Constructs an MxMIDIPresenter object and initializes its data.
~MxMIDIPresenter() override
Destructor, ensures proper resource cleanup for MIDI playback.
void EndAction() override
Called when playback/action is finished or needs to be ended.
const char * ClassName() const override
Returns the class name for run-time type identification.
void SetVolume(MxS32 p_volume) override
Sets the playback volume for MIDI music.
MxStreamChunk * m_chunk
Current MIDI data chunk being streamed/played.
void Destroy() override
Cleanup resources, free MIDI data, and deinitialize MIDI.
MxResult PutData() override
Actually provides MIDI stream data to the playback system.
static const char * HandlerClassName()
Returns the handler class name for this presenter.
void StartingTickle() override
Tickle state for initializing MIDI playback of the current chunk.
void StreamingTickle() override
Tickle state for streaming (playing) the MIDI chunk.
[AI] Presenter class that handles playback and management of music (streamed or MIDI) in LEGO Island.
[AI] Represents a streamable chunk of data, typically sourced from a media buffer and designed for no...
Definition: mxstreamchunk.h:19
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106
signed int MxS32
[AI]
Definition: mxtypes.h:38