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];
Definition: adlib_ms.h:295
void send(uint32 b) override
Definition: mididrv_m_adlib.h:36
uint8 calculateUnscaledVolume(uint8 channel, uint8 source, uint8 velocity, const OplInstrumentDefinition &instrumentDef, uint8 operatorNum) override
void writeVolume(uint8 oplChannel, uint8 operatorNum, OplInstrumentRhythmType rhythmType=RHYTHM_TYPE_UNDEFINED) override
void writeFrequency(uint8 oplChannel, OplInstrumentRhythmType rhythmType=RHYTHM_TYPE_UNDEFINED) override
void send(int8 source, uint32 b) override
void deinitSource(uint8 source) override
void programChange(uint8 channel, uint8 program, uint8 source) override
void modulation(uint8 channel, uint8 modulation, uint8 source) override
uint8 allocateOplChannel(uint8 channel, uint8 source, InstrumentInfo &instrumentInfo) override
void metaEvent(int8 source, byte type, const byte *data, uint16 length) override
uint16 calculateFrequency(uint8 channel, uint8 source, uint8 note) override
Definition: adlib_ms.h:651
Definition: adlib_ms.h:79