libkmid Library API Documentation

GUSOut Class Reference

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

#include <gusout.h>

Inheritance diagram for GUSOut:

Inheritance graph
[legend]
Collaboration diagram for GUSOut:

Collaboration graph
[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:
KDE Logo
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