32 lines
674 B
C++
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
|