Initial
This commit is contained in:
138
midiseq/timeinfo.hpp
Normal file
138
midiseq/timeinfo.hpp
Normal file
@@ -0,0 +1,138 @@
|
||||
#ifndef _MIDISEQ_TIMEINFO_HPP_
|
||||
#define _MIDISEQ_TIMEINFO_HPP_
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
|
||||
class TimeInfo
|
||||
{
|
||||
public:
|
||||
enum {LengthTimeInfo=4};
|
||||
TimeInfo(void);
|
||||
TimeInfo(const TimeInfo &someTimeInfo);
|
||||
TimeInfo(BYTE numerator,BYTE denominator,BYTE midiClocksPerMetronome,BYTE thirtySecondNotesPerQtrNote);
|
||||
virtual ~TimeInfo();
|
||||
TimeInfo &operator=(const TimeInfo &someTimeInfo);
|
||||
WORD operator==(const TimeInfo &someTimeInfo)const;
|
||||
BYTE numerator(void)const;
|
||||
void numerator(BYTE numerator);
|
||||
BYTE denominator(void)const;
|
||||
void denominator(BYTE denominator);
|
||||
BYTE midiClocksPerMetronome(void)const;
|
||||
void midiClocksPerMetronome(BYTE midiClocksPerMetronome);
|
||||
BYTE thirtySecondNotesPerQtrNote(void)const;
|
||||
void thirtySecondNotesPerQtrNote(BYTE thirtySecondNotesPerQtrNote);
|
||||
String toString(void)const;
|
||||
private:
|
||||
enum{MidiClocksPerQtrNote=24};
|
||||
BYTE mNumerator;
|
||||
BYTE mDenominator;
|
||||
BYTE mMidiClocksPerMetronome;
|
||||
BYTE mThirtySecondNotesPerQtrNote;
|
||||
};
|
||||
|
||||
inline
|
||||
TimeInfo::TimeInfo(void)
|
||||
: mNumerator(0), mDenominator(0), mMidiClocksPerMetronome(0),
|
||||
mThirtySecondNotesPerQtrNote(0)
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
TimeInfo::TimeInfo(BYTE numerator,BYTE denominator,BYTE midiClocksPerMetronome,BYTE thirtySecondNotesPerQtrNote)
|
||||
: mNumerator(numerator), mDenominator(denominator),
|
||||
mMidiClocksPerMetronome(midiClocksPerMetronome),
|
||||
mThirtySecondNotesPerQtrNote(thirtySecondNotesPerQtrNote)
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
TimeInfo::TimeInfo(const TimeInfo &someTimeInfo)
|
||||
{
|
||||
*this=someTimeInfo;
|
||||
}
|
||||
|
||||
inline
|
||||
TimeInfo::~TimeInfo()
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
TimeInfo &TimeInfo::operator=(const TimeInfo &someTimeInfo)
|
||||
{
|
||||
numerator(someTimeInfo.numerator());
|
||||
denominator(someTimeInfo.denominator());
|
||||
midiClocksPerMetronome(someTimeInfo.midiClocksPerMetronome());
|
||||
thirtySecondNotesPerQtrNote(someTimeInfo.thirtySecondNotesPerQtrNote());
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
WORD TimeInfo::operator==(const TimeInfo &someTimeInfo)const
|
||||
{
|
||||
return (numerator()==someTimeInfo.numerator()&&
|
||||
denominator()==someTimeInfo.denominator()&&
|
||||
midiClocksPerMetronome()==someTimeInfo.midiClocksPerMetronome()&&
|
||||
thirtySecondNotesPerQtrNote()==someTimeInfo.thirtySecondNotesPerQtrNote());
|
||||
}
|
||||
|
||||
inline
|
||||
BYTE TimeInfo::numerator(void)const
|
||||
{
|
||||
return mNumerator;
|
||||
}
|
||||
|
||||
inline
|
||||
void TimeInfo::numerator(BYTE numerator)
|
||||
{
|
||||
mNumerator=numerator;
|
||||
}
|
||||
|
||||
inline
|
||||
BYTE TimeInfo::denominator(void)const
|
||||
{
|
||||
return mDenominator;
|
||||
}
|
||||
|
||||
inline
|
||||
void TimeInfo::denominator(BYTE denominator)
|
||||
{
|
||||
mDenominator=denominator;
|
||||
}
|
||||
|
||||
inline
|
||||
BYTE TimeInfo::midiClocksPerMetronome(void)const
|
||||
{
|
||||
return mMidiClocksPerMetronome;
|
||||
}
|
||||
|
||||
inline
|
||||
void TimeInfo::midiClocksPerMetronome(BYTE midiClocksPerMetronome)
|
||||
{
|
||||
mMidiClocksPerMetronome=midiClocksPerMetronome;
|
||||
}
|
||||
|
||||
inline
|
||||
BYTE TimeInfo::thirtySecondNotesPerQtrNote(void)const
|
||||
{
|
||||
return mThirtySecondNotesPerQtrNote;
|
||||
}
|
||||
|
||||
inline
|
||||
void TimeInfo::thirtySecondNotesPerQtrNote(BYTE thirtySecondNotesPerQtrNote)
|
||||
{
|
||||
mThirtySecondNotesPerQtrNote=thirtySecondNotesPerQtrNote;
|
||||
}
|
||||
|
||||
inline
|
||||
String TimeInfo::toString(void)const
|
||||
{
|
||||
String string;
|
||||
String sep(", ");
|
||||
|
||||
string+=String().fromInt(mNumerator)+String("/")+String().fromInt(mDenominator)+String(" time")+sep;
|
||||
string+=String("MIDIClocksPerMetronome=")+String().fromInt(mMidiClocksPerMetronome)+sep;
|
||||
string+=String("32nd notes per 1/4 note=")+String().fromInt(mThirtySecondNotesPerQtrNote);
|
||||
return string;
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user