81 lines
1.5 KiB
C++
81 lines
1.5 KiB
C++
#ifndef _MIDISEQ_TIMEBLOCK_HPP_
|
|
#define _MIDISEQ_TIMEBLOCK_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
|
|
#ifndef _COMMON_ARRAY_HPP_
|
|
#include <common/array.hpp>
|
|
#endif
|
|
|
|
#ifndef _COMMON_BLOCK_HPP_
|
|
#include <common/block.hpp>
|
|
#endif
|
|
#ifndef _MIDISEQ_PUREEVENT_HPP_
|
|
#include <midiseq/pureevnt.hpp>
|
|
#endif
|
|
#ifndef _MIDISEQ_EVENTBLOCK_HPP_
|
|
#include <midiseq/evntblck.hpp>
|
|
#endif
|
|
|
|
class MIDIBlock;
|
|
|
|
class TimeBlock
|
|
{
|
|
public:
|
|
TimeBlock(void);
|
|
virtual ~TimeBlock();
|
|
void setStartTime(DWORD startTime);
|
|
void setTempo(DWORD tempo);
|
|
void setDivision(DWORD division);
|
|
void fixTimeBlock(MIDIBlock &midiEvents,Array<PureEvent> &sortedEvents);
|
|
void printBlock(String pathFileName,Array<PureEvent> &eventVector);
|
|
private:
|
|
void fixTimeBlock(EventBlock &midiEventBlock);
|
|
void sortBlocks(MIDIBlock &midiEventBlocks,Array<PureEvent> &sortedEvents);
|
|
void calculateRealTime(Array<PureEvent> &eventBlock);
|
|
void dumpTimeVector(Array<PureEvent> &eventBlock,String pathFileName);
|
|
void operator=(const TimeBlock &someTimeBlock);
|
|
|
|
DWORD mTempo;
|
|
DWORD mDivision;
|
|
DWORD mStartTime;
|
|
};
|
|
|
|
inline
|
|
TimeBlock::TimeBlock(void)
|
|
: mStartTime(0L), mTempo(5000000L), mDivision(136L)
|
|
{
|
|
}
|
|
|
|
inline
|
|
TimeBlock::~TimeBlock()
|
|
{
|
|
}
|
|
|
|
inline
|
|
void TimeBlock::setStartTime(DWORD startTime)
|
|
{
|
|
mStartTime=startTime;
|
|
}
|
|
|
|
inline
|
|
void TimeBlock::setTempo(DWORD tempo)
|
|
{
|
|
mTempo=tempo;
|
|
}
|
|
|
|
inline
|
|
void TimeBlock::setDivision(DWORD division)
|
|
{
|
|
mDivision=division;
|
|
}
|
|
|
|
inline
|
|
void TimeBlock::operator=(const TimeBlock &/*someTimeBlock*/)
|
|
{
|
|
return;
|
|
}
|
|
#endif
|
|
|