pokered/music/pokeredmusicdisasm/Octave.h

43 lines
814 B
C
Raw Normal View History

#ifndef OCTAVE_H
#define OCTAVE_H
#include "AbstractData.h"
//Represents 1 octave value
class Octave : public AbstractData
{
public:
// Constructors
Octave();
Octave(unsigned char* byte); // Parse Immidiately
Octave(unsigned char octave, bool); // Set value
// Direct Getters / Setters
unsigned char GetOctave();
void SetOctave(unsigned char value);
// Overides
virtual std::string GenAsm();
virtual bool IsValid(unsigned char* byte);
virtual bool Parse(unsigned char* byte);
virtual unsigned int Arguments();
std::string LookupOctString();
const enum OctaveCode : unsigned char
{
oct0 = 0xE7,
oct1 = 0xE6,
oct2 = 0xE5,
oct3 = 0xE4,
oct4 = 0xE3,
oct5 = 0xE2,
oct6 = 0xE1,
oct7 = 0xE0,
};
private:
unsigned char octave;
};
#endif