22 #ifndef FREESCAPE_ECLIPSE_OPL_MUSIC_H 23 #define FREESCAPE_ECLIPSE_OPL_MUSIC_H 25 #include "audio/fmopl.h" 45 bool isPlaying()
const;
62 const byte *orderList;
65 uint16 patternDataOffset;
68 byte instrumentOffset;
81 byte arpeggioSequencePos;
82 byte arpeggioSequence[9];
83 byte arpeggioSequenceLen;
100 byte pulseWidthDirection;
119 ChannelState _channels[kChannelCount];
120 byte _arpeggioIntervals[8];
125 void loadNextPattern(
int channel);
126 void buildEffectArpeggio(
int channel);
127 void loadCurrentFrequency(
int channel);
128 void finalizeChannel(
int channel);
129 void processChannel(
int channel,
bool newBeat);
130 void parseCommands(
int channel);
131 void applyNote(
int channel, byte note);
132 void applyFrameEffects(
int channel);
133 bool applyInstrumentVibrato(
int channel);
134 void applyEffectArpeggio(
int channel);
135 void applyTimedSlide(
int channel);
136 void triggerADSR(
int channel, byte ad, byte sr);
137 void releaseADSR(
int channel);
138 void updateADSR(
int channel);
139 void updatePulseWidth(
int channel,
bool advance);
140 void applyOperatorLevels(
int channel);
142 void setOPLInstrument(
int channel, byte instrumentOffset);
143 void noteOn(
int channel);
144 void noteOff(
int channel);
145 void setFrequency(
int channel, uint16 fnum, byte block);
146 void writeFrequency(
int channel, uint16 fnum, byte block);
147 void noteToFnumBlock(byte note, uint16 &fnum, byte &block)
const;
149 byte readPatternByte(
int channel);
150 byte clampNote(byte note)
const;
Definition: opl.music.h:38