pokered/music/pokeredmusicdisasm/Modulation.h

37 lines
868 B
C
Raw Normal View History

#ifndef MODULATION_H
#define MODULATION_H
#include "AbstractData.h"
//Represents 1 modulation value
class Modulation : public AbstractData
{
public:
// Constructors
Modulation();
Modulation(unsigned char* byte); // Parse Immidiately
Modulation(unsigned char delay, unsigned char depth, unsigned char rate, bool); // Set value
// Direct Getter/Setter Functions
unsigned char GetDelay();
void SetDelay(unsigned char value);
unsigned char GetDepth();
void SetDepth(unsigned char value);
unsigned char GetRate();
void SetRate(unsigned char value);
// Re-implemented
virtual std::string GenAsm();
virtual bool IsValid(unsigned char* byte);
virtual bool Parse(unsigned char* byte);
virtual unsigned int Arguments();
private:
unsigned char delay;
unsigned char depth;
unsigned char rate;
};
#endif