# class GUSOut | Sends MIDI events to GUS synths. More...
Definition | `#include <gusout.h>`
Inherits | MidiOut [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- GUSOut (int d=0,int total =12)
- ~GUSOut ()
- virtual void openDev (int sqfd)
- virtual void closeDev (void)
- virtual void initDev (void)
- virtual void noteOn ( uchar chn, uchar note, uchar vel )
- virtual void noteOff ( uchar chn, uchar note, uchar vel )
- virtual void keyPressure ( uchar chn, uchar note, uchar vel )
- virtual void chnPatchChange ( uchar chn, uchar patch )
- virtual void chnPressure ( uchar chn, uchar vel )
- virtual void chnPitchBender ( uchar chn, uchar lsb, uchar msb )
- virtual void chnController ( uchar chn, uchar ctl , uchar v )
- virtual void sysex ( uchar *data,ulong size)
- void setPatchesToUse (int *patchesused)
- int loadPatch (int pgm)
- int patch (int p)

#### Public Static Methods

- static void setGUSPatchesDirectory (const char *dir)

## 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:

pgm | is 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.

- Version: 0.9.5 17/01/2000
- Author: Antonio Larrosa Jimenez <larrosa@kde.org>
- Generated: root@sparc.ports.openbsd.org on Wed May 2 09:49:53 2001, using kdoc 2.0a53.