Files
Work/midiseq/hold/TIMEBLCK.HPP
2024-08-07 09:16:27 -04:00

79 lines
1.5 KiB
C++

#ifndef _MIDISEQ_TIMEBLOCK_HPP_
#define _MIDISEQ_TIMEBLOCK_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _COMMON_PUREVECTOR_HPP_
#include <common/pvector.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,PureVector<PureEvent> &sortedEvents);
void printBlock(String pathFileName,PureVector<PureEvent> &eventVector);
private:
void fixTimeBlock(EventBlock &midiEventBlock);
void sortBlocks(MIDIBlock &midiEventBlocks,PureVector<PureEvent> &sortedEvents);
void calculateRealTime(PureVector<PureEvent> &eventBlock);
void dumpTimeVector(PureVector<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