# libkmid Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# GUSOut Class Reference

Gravis Ultrasound synthesizer output class . Sends MIDI events to GUS synths. More...

`#include <gusout.h>`

Inheritance diagram for GUSOut:

[legend]
Collaboration diagram for GUSOut:

[legend]
List of all members.

## Public Member Functions

| GUSOut (int d=0, int total=12)
| Constructor.
| ~GUSOut ()
| Destructor.
virtual void | openDev (int sqfd)
| See MidiOut::openDev().
virtual void | closeDev (void)
| See MidiOut::closeDev().
virtual void | initDev (void)
| See MidiOut::initDev().
virtual void | noteOn (uchar chn, uchar note, uchar vel)
| See MidiOut::noteOn().
virtual void | noteOff (uchar chn, uchar note, uchar vel)
| See MidiOut::noteOff().
virtual void | keyPressure (uchar chn, uchar note, uchar vel)
| See MidiOut::keyPressure().
virtual void | chnPatchChange (uchar chn, uchar patch)
| See MidiOut::chnPatchChange().
virtual void | chnPressure (uchar chn, uchar vel)
| See MidiOut::chnPressure().
virtual void | chnPitchBender (uchar chn, uchar lsb, uchar msb)
| See MidiOut::chnPitchBender().
virtual void | chnController (uchar chn, uchar ctl, uchar v)
| See MidiOut::chnController().
virtual void | sysex (uchar *data, ulong size)
| It's an empty function, as GUS synths don't support System Exclusive messages.
void | setPatchesToUse (int *patchesused)
| See DeviceManager::setPatchesToUse() .
int | loadPatch (int pgm)
| Loads a single patch on the synthesizer memory.
int | patch (int p)
| Returns p if the patch with number p has been correctly loaded.

## Static Public Member Functions

void | setGUSPatchesDirectory (const char *dir)
| Sets the directory where the GUS patches are stored, that is, where the acpiano.pat, ...

## Detailed Description

Gravis Ultrasound synthesizer output class . Sends MIDI events to GUS synths.

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.

Version:
  0.9.5 17/01/2000

Author:
  Antonio Larrosa Jimenez <larrosa@kde.org>

Definition at line 45 of file gusout.h.

## Constructor & Destructor Documentation

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

| Constructor. See MidiOut::MidiOut() for more information. Definition at line 112 of file gusout.cc.

GUSOut::~GUSOut | ( |  | ) |

| Destructor. Definition at line 124 of file gusout.cc. References closeDev().

## Member Function Documentation

void GUSOut::openDev | ( | int | sqfd | ) | `[virtual]`

| See MidiOut::openDev(). Reimplemented from MidiOut. Definition at line 137 of file gusout.cc.

void GUSOut::closeDev | ( | void |  | ) | `[virtual]`

| See MidiOut::closeDev(). Reimplemented from MidiOut. Definition at line 169 of file gusout.cc. References MidiOut::ok(). Referenced by ~GUSOut().

void GUSOut::initDev | ( | void |  | ) | `[virtual]`

| See MidiOut::initDev(). Reimplemented from MidiOut. Definition at line 178 of file gusout.cc. References chnController(), chnPatchChange(), chnPitchBender(), MidiOut::ok(), and sysex().

void GUSOut::noteOn | ( | uchar | chn,
|  | uchar | note,
|  | uchar | vel
| ) | `[virtual]`

| See MidiOut::noteOn(). Reimplemented from MidiOut. Definition at line 217 of file gusout.cc. References noteOff(), MidiMapper::patch(), and patch().

void GUSOut::noteOff | ( | uchar | chn,
|  | uchar | note,
|  | uchar | vel
| ) | `[virtual]`

| See MidiOut::noteOff(). Reimplemented from MidiOut. Definition at line 247 of file gusout.cc. Referenced by noteOn().

void GUSOut::keyPressure | ( | uchar | chn,
|  | uchar | note,
|  | uchar | vel
| ) | `[virtual]`

| See MidiOut::keyPressure(). Reimplemented from MidiOut. Definition at line 262 of file gusout.cc.

void GUSOut::chnPatchChange | ( | uchar | chn,
|  | uchar | patch
| ) | `[virtual]`

| See MidiOut::chnPatchChange(). Reimplemented from MidiOut. Definition at line 270 of file gusout.cc. References MidiMapper::patch(). Referenced by initDev().

void GUSOut::chnPressure | ( | uchar | chn,
|  | uchar | vel
| ) | `[virtual]`

| See MidiOut::chnPressure(). Reimplemented from MidiOut. Definition at line 281 of file gusout.cc.

void GUSOut::chnPitchBender | ( | uchar | chn,
|  | uchar | lsb,
|  | uchar | msb
| ) | `[virtual]`

| See MidiOut::chnPitchBender(). Reimplemented from MidiOut. Definition at line 291 of file gusout.cc. Referenced by initDev().

void GUSOut::chnController | ( | uchar | chn,
|  | uchar | ctl,
|  | uchar | v
| ) | `[virtual]`

| See MidiOut::chnController(). Reimplemented from MidiOut. Definition at line 301 of file gusout.cc. Referenced by initDev().

void GUSOut::sysex | ( | uchar * | data,
|  | ulong | size
| ) | `[virtual]`

| It's an empty function, as GUS synths don't support System Exclusive messages. Reimplemented from MidiOut. Definition at line 317 of file gusout.cc. Referenced by initDev().

void GUSOut::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()

Definition at line 525 of file gusout.cc.

References loadPatch().

Referenced by DeviceManager::setPatchesToUse().

int GUSOut::loadPatch | ( | int | pgm | ) |

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()

Definition at line 338 of file gusout.cc.

References patch().

Referenced by setPatchesToUse().

int GUSOut::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()

Definition at line 208 of file gusout.cc.

Referenced by loadPatch(), and noteOn().

void GUSOut::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. Definition at line 322 of file gusout.cc.

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

- gusout.h
- gusout.cc

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:28:37 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001