class GUSOut

Sends MIDI events to GUS synths. More...

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

Public Methods

Public Static Methods


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)

GUSOut

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

 ~GUSOut ()

~GUSOut

Destructor.

void  openDev (int sqfd)

openDev

[virtual]

See MidiOut::openDev()

Reimplemented from MidiOut.

void  closeDev (void)

closeDev

[virtual]

See MidiOut::closeDev()

Reimplemented from MidiOut.

void  initDev (void)

initDev

[virtual]

See MidiOut::initDev()

Reimplemented from MidiOut.

void  noteOn ( uchar chn, uchar note, uchar vel )

noteOn

[virtual]

See MidiOut::noteOn()

Reimplemented from MidiOut.

void  noteOff ( uchar chn, uchar note, uchar vel )

noteOff

[virtual]

See MidiOut::noteOff()

Reimplemented from MidiOut.

void  keyPressure ( uchar chn, uchar note, uchar vel )

keyPressure

[virtual]

See MidiOut::keyPressure()

Reimplemented from MidiOut.

void  chnPatchChange ( uchar chn, uchar patch )

chnPatchChange

[virtual]

See MidiOut::chnPatchChange()

Reimplemented from MidiOut.

void  chnPressure ( uchar chn, uchar vel )

chnPressure

[virtual]

See MidiOut::chnPressure()

Reimplemented from MidiOut.

void  chnPitchBender ( uchar chn, uchar lsb, uchar msb )

chnPitchBender

[virtual]

See MidiOut::chnPitchBender()

Reimplemented from MidiOut.

void  chnController ( uchar chn, uchar ctl , uchar v )

chnController

[virtual]

See MidiOut::chnController()

Reimplemented from MidiOut.

void  sysex ( uchar *data,ulong size)

sysex

[virtual]

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

Reimplemented from MidiOut.

void  setPatchesToUse (int *patchesused)

setPatchesToUse

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)

loadPatch

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)

patch

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)

setGUSPatchesDirectory

[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.