Files
Work/midiseq/MIDISequencer.hpp
2024-08-07 09:16:27 -04:00

32 lines
674 B
C++

#ifndef _MIDISEQ_SEQUENCER_HPP_
#define _MIDISEQ_SEQUENCER_HPP_
#ifndef _COMMON_SMARTPOINTER_HPP_
#include <common/pointer.hpp>
#endif
#ifndef _MIDISEQ_MIDIBLOCK_HPP_
#include <midiseq/midiblck.hpp>
#endif
#ifndef _MIDISEQ_MIDIOUTDEVICE_HPP_
#include <midiseq/midiout.hpp>
#endif
class MIDISequencer
{
public:
MIDISequencer();
virtual ~MIDISequencer();
void setData(MIDIBlock &midiData);
bool sequence(MIDIOutputDevice &midiDevice);
private:
SmartPointer<MIDIBlock> mMIDIData;
DWORD mTrackIndices[MIDIBlock::MaxTracks];
};
inline
void MIDISequencer::setData(MIDIBlock &midiData)
{
mMIDIData=&midiData;
::memset(&mTrackIndices,0,sizeof(mTrackIndices));
}
#endif