class GUSOut

Sends MIDI events to GUS synths. More...

Definition#include <gusout.h>
InheritsMidiOut
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Members


Detailed Description

Gravis Ultrasound synthesizer output class . This class is used to send midi events to synthesizers on GUS cards.

GUSOut inherits MidiOut and supports the same simple API.

The recommended way to use this class is by using a DeviceManager object, and use the DeviceManager::setPatchesToUse() member which will call the setPatchesToUse() member in this class.

GUSOut (int d=0,int total =12)

Constructor. See MidiOut::MidiOut() for more information.

~GUSOut ()

Destructor.

void openDev (int sqfd)
[virtual]

See MidiOut::openDev()

Reimplemented from MidiOut

void closeDev (void)
[virtual]

See MidiOut::closeDev()

Reimplemented from MidiOut

void initDev (void)
[virtual]

See MidiOut::initDev()

Reimplemented from MidiOut

void noteOn ( uchar chn, uchar note, uchar vel )
[virtual]

See MidiOut::noteOn()

Reimplemented from MidiOut

void noteOff ( uchar chn, uchar note, uchar vel )
[virtual]

See MidiOut::noteOff()

Reimplemented from MidiOut

void keyPressure ( uchar chn, uchar note, uchar vel )
[virtual]

See MidiOut::keyPressure()

Reimplemented from MidiOut

void chnPatchChange ( uchar chn, uchar patch )
[virtual]

See MidiOut::chnPatchChange()

Reimplemented from MidiOut

void chnPressure ( uchar chn, uchar vel )
[virtual]

See MidiOut::chnPressure()

Reimplemented from MidiOut

void chnPitchBender ( uchar chn, uchar lsb, uchar msb )
[virtual]

See MidiOut::chnPitchBender()

Reimplemented from MidiOut

void chnController ( uchar chn, uchar ctl , uchar v )
[virtual]

See MidiOut::chnController()

Reimplemented from MidiOut

void sysex ( uchar *data,ulong size)
[virtual]

It's an empty function, as GUS synths don't support System Exclusive messages

Reimplemented from MidiOut

void setPatchesToUse (int *patchesused)

See DeviceManager::setPatchesToUse() . All the information about this member is explained there because it's (for now) just a simple call to this function when the device used is a GUS device, and you're supposed to use a DeviceManager object instead of a GUSOut object except in rare ocassions.

See also: patch(), loadPatch()

int loadPatch (int pgm)

Loads a single patch on the synthesizer memory.

Parameters:
pgmis the number of the GM patch when pgm is between 0 and 127. Values from 128 to 255 are used to represent the percussion instruments.

Returns: 0 if OK and -1 if there was an error (patch not found, not enough memory, etc.)

See also: patch(), setPatchesToUse()

int patch (int p)

Returns p if the patch with number p has been correctly loaded. In the case it hasn't been loaded, it returns the number of another patch that is loaded and that should be used instead.

See also: loadPatch(), setPatchesToUse()

void setGUSPatchesDirectory (const char *dir)
[static]

Sets the directory where the GUS patches are stored, that is, where the acpiano.pat, ... files can be found.

It will store a copy of the parameter, so you should delete the memory used by the parameter you passed.