#ifndef _MIDISEQ_TIMEBLOCK_HPP_ #define _MIDISEQ_TIMEBLOCK_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_ARRAY_HPP_ #include #endif #ifndef _COMMON_BLOCK_HPP_ #include #endif #ifndef _MIDISEQ_PUREEVENT_HPP_ #include #endif #ifndef _MIDISEQ_EVENTBLOCK_HPP_ #include #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 &sortedEvents); void printBlock(String pathFileName,Array &eventVector); private: void fixTimeBlock(EventBlock &midiEventBlock); void sortBlocks(MIDIBlock &midiEventBlocks,Array &sortedEvents); void calculateRealTime(Array &eventBlock); void dumpTimeVector(Array &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