.TH "GUSOut" 3 "28 Jan 2004" "libkmid Library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
GUSOut \- Gravis Ultrasound synthesizer output class . Sends MIDI events to GUS synths.  

.PP
.SH SYNOPSIS
.br
.PP
\fC#include <gusout.h>\fP
.PP
Inherits \fBMidiOut\fP.
.PP
.SS "Public Member Functions"

.in +1c
.ti -1c
.RI "\fBGUSOut\fP (int d=0, int total=12)"
.br
.RI "\fIConstructor. \fP"
.ti -1c
.RI "\fB~GUSOut\fP ()"
.br
.RI "\fIDestructor. \fP"
.ti -1c
.RI "virtual void \fBopenDev\fP (int sqfd)"
.br
.RI "\fISee \fBMidiOut::openDev\fP(). \fP"
.ti -1c
.RI "virtual void \fBcloseDev\fP (void)"
.br
.RI "\fISee \fBMidiOut::closeDev\fP(). \fP"
.ti -1c
.RI "virtual void \fBinitDev\fP (void)"
.br
.RI "\fISee \fBMidiOut::initDev\fP(). \fP"
.ti -1c
.RI "virtual void \fBnoteOn\fP (\fBuchar\fP chn, \fBuchar\fP note, \fBuchar\fP vel)"
.br
.RI "\fISee \fBMidiOut::noteOn\fP(). \fP"
.ti -1c
.RI "virtual void \fBnoteOff\fP (\fBuchar\fP chn, \fBuchar\fP note, \fBuchar\fP vel)"
.br
.RI "\fISee \fBMidiOut::noteOff\fP(). \fP"
.ti -1c
.RI "virtual void \fBkeyPressure\fP (\fBuchar\fP chn, \fBuchar\fP note, \fBuchar\fP vel)"
.br
.RI "\fISee \fBMidiOut::keyPressure\fP(). \fP"
.ti -1c
.RI "virtual void \fBchnPatchChange\fP (\fBuchar\fP chn, \fBuchar\fP patch)"
.br
.RI "\fISee \fBMidiOut::chnPatchChange\fP(). \fP"
.ti -1c
.RI "virtual void \fBchnPressure\fP (\fBuchar\fP chn, \fBuchar\fP vel)"
.br
.RI "\fISee \fBMidiOut::chnPressure\fP(). \fP"
.ti -1c
.RI "virtual void \fBchnPitchBender\fP (\fBuchar\fP chn, \fBuchar\fP lsb, \fBuchar\fP msb)"
.br
.RI "\fISee \fBMidiOut::chnPitchBender\fP(). \fP"
.ti -1c
.RI "virtual void \fBchnController\fP (\fBuchar\fP chn, \fBuchar\fP ctl, \fBuchar\fP v)"
.br
.RI "\fISee \fBMidiOut::chnController\fP(). \fP"
.ti -1c
.RI "virtual void \fBsysex\fP (\fBuchar\fP *data, \fBulong\fP size)"
.br
.RI "\fIIt's an empty function, as GUS synths don't support System Exclusive messages. \fP"
.ti -1c
.RI "void \fBsetPatchesToUse\fP (int *patchesused)"
.br
.RI "\fISee \fBDeviceManager::setPatchesToUse\fP() . \fP"
.ti -1c
.RI "int \fBloadPatch\fP (int pgm)"
.br
.RI "\fILoads a single patch on the synthesizer memory. \fP"
.ti -1c
.RI "int \fBpatch\fP (int p)"
.br
.RI "\fIReturns p if the patch with number p has been correctly loaded. \fP"
.in -1c
.SS "Static Public Member Functions"

.in +1c
.ti -1c
.RI "void \fBsetGUSPatchesDirectory\fP (const  char *dir)"
.br
.RI "\fISets the directory where the GUS patches are stored, that is, where the acpiano.pat, ... \fP"
.in -1c
.SH "Detailed Description"
.PP 
Gravis Ultrasound synthesizer output class . Sends MIDI events to GUS synths. 

This class is used to send midi events to synthesizers on GUS cards.
.PP
GUSOut inherits \fBMidiOut\fP and supports the same simple API.
.PP
The recommended way to use this class is by using a \fBDeviceManager\fP object, and use the \fBDeviceManager::setPatchesToUse\fP() member which will call the \fBsetPatchesToUse\fP() member in this class.
.PP
\fBVersion:\fP
.RS 4
0.9.5 17/01/2000 
.RE
.PP
\fBAuthor:\fP
.RS 4
Antonio Larrosa Jimenez <larrosa@kde.org> 
.RE
.PP

.PP
Definition at line 45 of file gusout.h.
.SH "Constructor & Destructor Documentation"
.PP 
.SS "GUSOut::GUSOut (int d = 0, int total = 12)"
.PP
Constructor. See \fBMidiOut::MidiOut\fP() for more information. Definition at line 112 of file gusout.cc.
.SS "GUSOut::~\fBGUSOut\fP ()"
.PP
Destructor. Definition at line 124 of file gusout.cc.
.PP
References closeDev().
.SH "Member Function Documentation"
.PP 
.SS "void GUSOut::openDev (int sqfd)\fC [virtual]\fP"
.PP
See \fBMidiOut::openDev\fP(). Reimplemented from \fBMidiOut\fP.
.PP
Definition at line 137 of file gusout.cc.
.SS "void GUSOut::closeDev (void)\fC [virtual]\fP"
.PP
See \fBMidiOut::closeDev\fP(). Reimplemented from \fBMidiOut\fP.
.PP
Definition at line 169 of file gusout.cc.
.PP
References MidiOut::ok().
.PP
Referenced by ~GUSOut().
.SS "void GUSOut::initDev (void)\fC [virtual]\fP"
.PP
See \fBMidiOut::initDev\fP(). Reimplemented from \fBMidiOut\fP.
.PP
Definition at line 178 of file gusout.cc.
.PP
References chnController(), chnPatchChange(), chnPitchBender(), MidiOut::ok(), and sysex().
.SS "void GUSOut::noteOn (\fBuchar\fP chn, \fBuchar\fP note, \fBuchar\fP vel)\fC [virtual]\fP"
.PP
See \fBMidiOut::noteOn\fP(). Reimplemented from \fBMidiOut\fP.
.PP
Definition at line 217 of file gusout.cc.
.PP
References noteOff(), MidiMapper::patch(), and patch().
.SS "void GUSOut::noteOff (\fBuchar\fP chn, \fBuchar\fP note, \fBuchar\fP vel)\fC [virtual]\fP"
.PP
See \fBMidiOut::noteOff\fP(). Reimplemented from \fBMidiOut\fP.
.PP
Definition at line 247 of file gusout.cc.
.PP
Referenced by noteOn().
.SS "void GUSOut::keyPressure (\fBuchar\fP chn, \fBuchar\fP note, \fBuchar\fP vel)\fC [virtual]\fP"
.PP
See \fBMidiOut::keyPressure\fP(). Reimplemented from \fBMidiOut\fP.
.PP
Definition at line 262 of file gusout.cc.
.SS "void GUSOut::chnPatchChange (\fBuchar\fP chn, \fBuchar\fP patch)\fC [virtual]\fP"
.PP
See \fBMidiOut::chnPatchChange\fP(). Reimplemented from \fBMidiOut\fP.
.PP
Definition at line 270 of file gusout.cc.
.PP
References MidiMapper::patch().
.PP
Referenced by initDev().
.SS "void GUSOut::chnPressure (\fBuchar\fP chn, \fBuchar\fP vel)\fC [virtual]\fP"
.PP
See \fBMidiOut::chnPressure\fP(). Reimplemented from \fBMidiOut\fP.
.PP
Definition at line 281 of file gusout.cc.
.SS "void GUSOut::chnPitchBender (\fBuchar\fP chn, \fBuchar\fP lsb, \fBuchar\fP msb)\fC [virtual]\fP"
.PP
See \fBMidiOut::chnPitchBender\fP(). Reimplemented from \fBMidiOut\fP.
.PP
Definition at line 291 of file gusout.cc.
.PP
Referenced by initDev().
.SS "void GUSOut::chnController (\fBuchar\fP chn, \fBuchar\fP ctl, \fBuchar\fP v)\fC [virtual]\fP"
.PP
See \fBMidiOut::chnController\fP(). Reimplemented from \fBMidiOut\fP.
.PP
Definition at line 301 of file gusout.cc.
.PP
Referenced by initDev().
.SS "void GUSOut::sysex (\fBuchar\fP * data, \fBulong\fP size)\fC [virtual]\fP"
.PP
It's an empty function, as GUS synths don't support System Exclusive messages. Reimplemented from \fBMidiOut\fP.
.PP
Definition at line 317 of file gusout.cc.
.PP
Referenced by initDev().
.SS "void GUSOut::setPatchesToUse (int * patchesused)"
.PP
See \fBDeviceManager::setPatchesToUse\fP() . 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 \fBDeviceManager\fP object instead of a GUSOut object except in rare ocassions.
.PP
\fBSee also:\fP
.RS 4
\fBpatch()\fP 
.PP
\fBloadPatch()\fP 
.RE
.PP
Definition at line 525 of file gusout.cc.
.PP
References loadPatch().
.PP
Referenced by DeviceManager::setPatchesToUse().
.SS "int GUSOut::loadPatch (int pgm)"
.PP
Loads a single patch on the synthesizer memory. \fBParameters:\fP
.RS 4
\fIpgm\fP 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. 
.RE
.PP
\fBReturns:\fP
.RS 4
0 if OK and -1 if there was an error (patch not found, not enough memory, etc.)
.RE
.PP
\fBSee also:\fP
.RS 4
\fBpatch()\fP 
.PP
\fBsetPatchesToUse()\fP 
.RE
.PP
Definition at line 338 of file gusout.cc.
.PP
References patch().
.PP
Referenced by setPatchesToUse().
.SS "int GUSOut::patch (int p)"
.PP
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.
.PP
\fBSee also:\fP
.RS 4
\fBloadPatch()\fP 
.PP
\fBsetPatchesToUse()\fP 
.RE
.PP
Definition at line 208 of file gusout.cc.
.PP
Referenced by loadPatch(), and noteOn().
.SS "void GUSOut::setGUSPatchesDirectory (const char * dir)\fC [static]\fP"
.PP
Sets the directory where the GUS patches are stored, that is, where the acpiano.pat, ... files can be found.
.PP
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.

.SH "Author"
.PP 
Generated automatically by Doxygen for libkmid Library from the source code.
