# class FMOut | Sends MIDI events to FM devices. More...
Definition | `#include <fmout.h>`
Inherits | MidiOut [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- FMOut ( int d=0, int total =12 )
- ~FMOut ()
- 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)
- virtual void setVolumePercentage ( int i )
- int patch (int p)

#### Public Static Methods

- static void setFMPatchesDirectory (const char *dir)

## Detailed Description

FM device output class . FMOut is used to send MIDI events to FM devices, such as AdLib cards, or OPL3 synthesizers.

FMOut inherits MidiOut and supports the same simple API.

The preferred way to use this class is by selecting a FM device on the MidiManager and using a MidiManager object directly

FMOut ( int d=0, int total =12 ) | ### FMOut

Constructor. See MidiOut::MidiOut() for more information.

~FMOut () | ### ~FMOut

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 FM devices don't support System Exclusive messages

Reimplemented from MidiOut.

void setVolumePercentage ( int i ) | ### setVolumePercentage

[virtual]

See MidiOut::setVolumePercentage()

Reimplemented from MidiOut.

int patch (int p) | ### patch

Returns `p` if the patch p has been loaded, or another patch (already loaded) if `p` hasn't been loaded.

void setFMPatchesDirectory (const char *dir) | ### setFMPatchesDirectory

[static]

Sets the directory where the FM patches are stored, that is, where the std.o3, std.sb, drums.o3 and drums.sb 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@i386.ports.openbsd.org on Wed Apr 25 13:59:16 2001, using kdoc 2.0a53.