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

Static Public Member Functions

static void setGUSPatchesDirectory (const char *dir)

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.

References MidiOut::_ok, MidiOut::device, MidiOut::devicetype, and MidiOut::seqfd.

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.

References MidiOut::_ok, MidiOut::device, and MidiOut::seqfd.

void GUSOut::closeDev void   )  [virtual]
 

See MidiOut::closeDev().

Reimplemented from MidiOut.

Definition at line 169 of file gusout.cc.

References VoiceManager::clearLists(), MidiOut::ok(), and MidiOut::seqfd.

Referenced by ~GUSOut().

void GUSOut::initDev void   )  [virtual]
 

See MidiOut::initDev().

Reimplemented from MidiOut.

Definition at line 178 of file gusout.cc.

References chnController(), MidiOut::chnmute, chnPatchChange(), chnPitchBender(), MidiOut::device, VoiceManager::note(), 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 VoiceManager::allocateVoice(), MidiOut::chnbender, MidiOut::chnpatch, MidiOut::chnpressure, MidiOut::device, MidiOut::map, 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.

References VoiceManager::deallocateVoice(), MidiOut::device, VoiceManager::initSearch(), and VoiceManager::search().

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.

References MidiOut::device, VoiceManager::initSearch(), and VoiceManager::search().

void GUSOut::chnPatchChange uchar  chn,
uchar  patch
[virtual]
 

See MidiOut::chnPatchChange().

Reimplemented from MidiOut.

Definition at line 270 of file gusout.cc.

References MidiOut::chnpatch, MidiOut::device, VoiceManager::initSearch(), MidiOut::map, MidiMapper::patch(), and VoiceManager::search().

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.

References MidiOut::chnbender, MidiOut::device, VoiceManager::initSearch(), and VoiceManager::search().

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.

References MidiOut::chncontroller, MidiOut::device, VoiceManager::initSearch(), VoiceManager::search(), and MidiOut::volumepercentage.

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 MidiOut::device, patch(), and MidiOut::seqfd.

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 libkmid Library Version 3.4.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Sep 15 10:57:57 2005 by doxygen 1.4.4 written by Dimitri van Heesch, © 1997-2003