ResidualVM logo ResidualVM website - Forums - Contact us BuildBot - Doxygen - Wiki curved edge
Inheritance diagram for MidiDriver_ADLIB:
Collaboration diagram for MidiDriver_ADLIB:

List of all members.

Public Member Functions

 MidiDriver_ADLIB ()
int open ()
 Open the midi driver.
void close ()
 Close the midi driver.
void send (uint32 b)
 Output a packed midi command to the midi stream.
void send (byte channel, uint32 b)
uint32 property (int prop, uint32 param)
 Get or set a property.
bool isOpen () const
 Check whether the midi driver has already been opened.
uint32 getBaseTempo ()
 The time in microseconds between invocations of the timer callback.
void setPitchBendRange (byte channel, uint range)
void sysEx_customInstrument (byte channel, uint32 type, const byte *instr)
MidiChannelallocateChannel ()
MidiChannelgetPercussionChannel ()
virtual void setTimerCallback (void *timerParam, Common::TimerManager::TimerProc timerProc)

Private Member Functions

void onTimer ()
void partKeyOn (AdLibPart *part, const AdLibInstrument *instr, byte note, byte velocity, const AdLibInstrument *second, byte pan)
void partKeyOff (AdLibPart *part, byte note)
void adlibKeyOff (int chan)
void adlibNoteOn (int chan, byte note, int mod)
void adlibNoteOnEx (int chan, byte note, int mod)
int adlibGetRegValueParam (int chan, byte data)
void adlibSetupChannel (int chan, const AdLibInstrument *instr, byte vol1, byte vol2)
void adlibSetupChannelSecondary (int chan, const AdLibInstrument *instr, byte vol1, byte vol2, byte pan)
byte adlibGetRegValue (byte reg)
byte adlibGetRegValueSecondary (byte reg)
void adlibSetParam (int channel, byte param, int value, bool primary=true)
void adlibKeyOnOff (int channel)
void adlibWrite (byte reg, byte value)
void adlibWriteSecondary (byte reg, byte value)
void adlibPlayNote (int channel, int note)
AdLibVoiceallocateVoice (byte pri)
void mcOff (AdLibVoice *voice)
void mcIncStuff (AdLibVoice *voice, Struct10 *s10, Struct11 *s11)
void mcInitStuff (AdLibVoice *voice, Struct10 *s10, Struct11 *s11, byte flags, const InstrumentExtra *ie)
void struct10Init (Struct10 *s10, const InstrumentExtra *ie)
void mcKeyOn (AdLibVoice *voice, const AdLibInstrument *instr, byte note, byte velocity, const AdLibInstrument *second, byte pan)

Static Private Member Functions

static void linkMc (AdLibPart *part, AdLibVoice *voice)
static byte struct10OnTimer (Struct10 *s10, Struct11 *s11)
static void struct10Setup (Struct10 *s10)
static int randomNr (int a)

Private Attributes

bool _scummSmallHeader
bool _opl3Mode
OPL::OPL_opl
byte_regCache
byte_regCacheSecondary
Common::TimerManager::TimerProc _adlibTimerProc
void * _adlibTimerParam
int _timerCounter
uint16 _channelTable2 [9]
int _voiceIndex
int _timerIncrease
int _timerThreshold
uint16 _curNotTable [9]
AdLibVoice _voices [9]
AdLibPart _parts [32]
AdLibPercussionChannel _percussion
bool _isOpen

Friends

class AdLibPart
class AdLibPercussionChannel

Detailed Description

Definition at line 929 of file adlib.cpp.


Constructor & Destructor Documentation

MidiDriver_ADLIB::MidiDriver_ADLIB (  ) 

Definition at line 1381 of file adlib.cpp.


Member Function Documentation

byte MidiDriver_ADLIB::adlibGetRegValue ( byte  reg  )  [inline, private]

Definition at line 992 of file adlib.cpp.

int MidiDriver_ADLIB::adlibGetRegValueParam ( int  chan,
byte  data 
) [private]

Definition at line 2215 of file adlib.cpp.

byte MidiDriver_ADLIB::adlibGetRegValueSecondary ( byte  reg  )  [inline, private]

Definition at line 996 of file adlib.cpp.

void MidiDriver_ADLIB::adlibKeyOff ( int  chan  )  [private]

Definition at line 1724 of file adlib.cpp.

void MidiDriver_ADLIB::adlibKeyOnOff ( int  channel  )  [private]

Definition at line 1822 of file adlib.cpp.

void MidiDriver_ADLIB::adlibNoteOn ( int  chan,
byte  note,
int  mod 
) [private]

Definition at line 2248 of file adlib.cpp.

void MidiDriver_ADLIB::adlibNoteOnEx ( int  chan,
byte  note,
int  mod 
) [private]

Definition at line 2262 of file adlib.cpp.

void MidiDriver_ADLIB::adlibPlayNote ( int  channel,
int  note 
) [private]

Definition at line 1885 of file adlib.cpp.

void MidiDriver_ADLIB::adlibSetParam ( int  channel,
byte  param,
int  value,
bool  primary = true 
) [private]

Definition at line 1777 of file adlib.cpp.

void MidiDriver_ADLIB::adlibSetupChannel ( int  chan,
const AdLibInstrument instr,
byte  vol1,
byte  vol2 
) [private]

Definition at line 2096 of file adlib.cpp.

void MidiDriver_ADLIB::adlibSetupChannelSecondary ( int  chan,
const AdLibInstrument instr,
byte  vol1,
byte  vol2,
byte  pan 
) [private]

Definition at line 2121 of file adlib.cpp.

void MidiDriver_ADLIB::adlibWrite ( byte  reg,
byte  value 
) [private]

Definition at line 1595 of file adlib.cpp.

void MidiDriver_ADLIB::adlibWriteSecondary ( byte  reg,
byte  value 
) [private]

Definition at line 1608 of file adlib.cpp.

MidiChannel * MidiDriver_ADLIB::allocateChannel (  )  [virtual]

Implements MidiDriver.

Definition at line 1579 of file adlib.cpp.

AdLibVoice * MidiDriver_ADLIB::allocateVoice ( byte  pri  )  [private]

Definition at line 1956 of file adlib.cpp.

void MidiDriver_ADLIB::close (  )  [virtual]

Close the midi driver.

Implements MidiDriver.

Definition at line 1463 of file adlib.cpp.

uint32 MidiDriver_ADLIB::getBaseTempo (  )  [inline, virtual]

The time in microseconds between invocations of the timer callback.

Implements MidiDriver.

Definition at line 942 of file adlib.cpp.

MidiChannel* MidiDriver_ADLIB::getPercussionChannel (  )  [inline, virtual]

Implements MidiDriver.

Definition at line 948 of file adlib.cpp.

bool MidiDriver_ADLIB::isOpen (  )  const [inline, virtual]

Check whether the midi driver has already been opened.

Implements MidiDriver.

Definition at line 941 of file adlib.cpp.

void MidiDriver_ADLIB::linkMc ( AdLibPart part,
AdLibVoice voice 
) [static, private]

Definition at line 1983 of file adlib.cpp.

void MidiDriver_ADLIB::mcIncStuff ( AdLibVoice voice,
Struct10 s10,
Struct11 s11 
) [private]

Definition at line 1679 of file adlib.cpp.

void MidiDriver_ADLIB::mcInitStuff ( AdLibVoice voice,
Struct10 s10,
Struct11 s11,
byte  flags,
const InstrumentExtra ie 
) [private]

Definition at line 2152 of file adlib.cpp.

void MidiDriver_ADLIB::mcKeyOn ( AdLibVoice voice,
const AdLibInstrument instr,
byte  note,
byte  velocity,
const AdLibInstrument second,
byte  pan 
) [private]

Definition at line 1993 of file adlib.cpp.

void MidiDriver_ADLIB::mcOff ( AdLibVoice voice  )  [private]

Definition at line 1663 of file adlib.cpp.

void MidiDriver_ADLIB::onTimer (  )  [private]

Definition at line 1623 of file adlib.cpp.

int MidiDriver_ADLIB::open (  )  [virtual]

Open the midi driver.

Returns:
0 if successful, otherwise an error code.

Implements MidiDriver.

Definition at line 1412 of file adlib.cpp.

void MidiDriver_ADLIB::partKeyOff ( AdLibPart part,
byte  note 
) [private]

Definition at line 1932 of file adlib.cpp.

void MidiDriver_ADLIB::partKeyOn ( AdLibPart part,
const AdLibInstrument instr,
byte  note,
byte  velocity,
const AdLibInstrument second,
byte  pan 
) [private]

Definition at line 1945 of file adlib.cpp.

uint32 MidiDriver_ADLIB::property ( int  prop,
uint32  param 
) [virtual]

Get or set a property.

Reimplemented from MidiDriver.

Definition at line 1534 of file adlib.cpp.

int MidiDriver_ADLIB::randomNr ( int  a  )  [static, private]

Definition at line 1921 of file adlib.cpp.

void MidiDriver_ADLIB::send ( uint32  b  )  [virtual]

Output a packed midi command to the midi stream.

The 'lowest' byte (i.e. b & 0xFF) is the status code, then come (if used) the first and second opcode.

Implements MidiDriver_BASE.

Definition at line 1487 of file adlib.cpp.

void MidiDriver_ADLIB::send ( byte  channel,
uint32  b 
)

Definition at line 1491 of file adlib.cpp.

void MidiDriver_ADLIB::setPitchBendRange ( byte  channel,
uint  range 
) [virtual]

Reimplemented from MidiDriver.

Definition at line 1557 of file adlib.cpp.

void MidiDriver_ADLIB::setTimerCallback ( void *  timerParam,
Common::TimerManager::TimerProc  timerProc 
) [virtual]

Implements MidiDriver.

Definition at line 1658 of file adlib.cpp.

void MidiDriver_ADLIB::struct10Init ( Struct10 s10,
const InstrumentExtra ie 
) [private]

Definition at line 2190 of file adlib.cpp.

byte MidiDriver_ADLIB::struct10OnTimer ( Struct10 s10,
Struct11 s11 
) [static, private]

Definition at line 1734 of file adlib.cpp.

void MidiDriver_ADLIB::struct10Setup ( Struct10 s10  )  [static, private]

Definition at line 1836 of file adlib.cpp.

void MidiDriver_ADLIB::sysEx_customInstrument ( byte  channel,
uint32  type,
const byte instr 
) [virtual]

Reimplemented from MidiDriver.

Definition at line 1575 of file adlib.cpp.


Friends And Related Function Documentation

friend class AdLibPart [friend]

Definition at line 930 of file adlib.cpp.

friend class AdLibPercussionChannel [friend]

Definition at line 931 of file adlib.cpp.


Member Data Documentation

Definition at line 965 of file adlib.cpp.

Definition at line 969 of file adlib.cpp.

Definition at line 973 of file adlib.cpp.

bool MidiDriver_ADLIB::_isOpen [private]

Definition at line 978 of file adlib.cpp.

Definition at line 958 of file adlib.cpp.

Definition at line 955 of file adlib.cpp.

Definition at line 975 of file adlib.cpp.

Definition at line 976 of file adlib.cpp.

Definition at line 959 of file adlib.cpp.

Definition at line 961 of file adlib.cpp.

Definition at line 953 of file adlib.cpp.

Definition at line 967 of file adlib.cpp.

Definition at line 971 of file adlib.cpp.

Definition at line 972 of file adlib.cpp.

Definition at line 970 of file adlib.cpp.

Definition at line 974 of file adlib.cpp.


The documentation for this class was generated from the following file:


Generated on Sat Jan 12 2019 05:03:22 for ResidualVM by doxygen 1.7.1
curved edge   curved edge