22 #ifndef NUVIE_SOUND_MIDIDRV_M_ADLIB_H 23 #define NUVIE_SOUND_MIDIDRV_M_ADLIB_H 25 #include "audio/adlib_ms.h" 41 FADE_DIRECTION_FADE_IN,
42 FADE_DIRECTION_FADE_OUT
46 enum VibratoDirection {
47 VIBRATO_DIRECTION_RISING,
48 VIBRATO_DIRECTION_FALLING
52 static const uint16 FNUM_VALUES[24];
59 void send(int8 source, uint32 b)
override;
60 void metaEvent(int8 source, byte type,
const byte *data, uint16 length)
override;
63 void programChange(uint8 channel, uint8 program, uint8 source)
override;
67 void writeFrequency(uint8 oplChannel, OplInstrumentRhythmType rhythmType = RHYTHM_TYPE_UNDEFINED)
override;
70 void writeVolume(uint8 oplChannel, uint8 operatorNum, OplInstrumentRhythmType rhythmType = RHYTHM_TYPE_UNDEFINED)
override;
81 uint8 _vibratoDepths[9];
83 uint8 _vibratoFactors[9];
86 uint8 _vibratoCurrentDepths[9];
89 VibratoDirection _vibratoDirections[9];
92 FadeDirection _fadeDirections[9];
95 uint8 _fadeStepDelays[9];
97 uint8 _fadeCurrentDelays[9];
void deinitSource(uint8 source) override
void programChange(uint8 channel, uint8 program, uint8 source) override
void writeFrequency(uint8 oplChannel, OplInstrumentRhythmType rhythmType=RHYTHM_TYPE_UNDEFINED) override
void metaEvent(int8 source, byte type, const byte *data, uint16 length) override
Definition: adlib_ms.h:651
Definition: adlib_ms.h:295
Definition: detection.h:27
void modulation(uint8 channel, uint8 modulation, uint8 source) override
void send(int8 source, uint32 b) override
void send(uint32 b) override
void writeVolume(uint8 oplChannel, uint8 operatorNum, OplInstrumentRhythmType rhythmType=RHYTHM_TYPE_UNDEFINED) override
uint8 calculateUnscaledVolume(uint8 channel, uint8 source, uint8 velocity, const OplInstrumentDefinition &instrumentDef, uint8 operatorNum) override
uint8 allocateOplChannel(uint8 channel, uint8 source, InstrumentInfo &instrumentInfo) override
Definition: adlib_ms.h:79
Definition: mididrv_m_adlib.h:36
uint16 calculateFrequency(uint8 channel, uint8 source, uint8 note) override