AlsaOut Class Reference

`#include <alsaout.h>`

Inheritance diagram for AlsaOut:

## Public Member Functions

| AlsaOut (int d, int client=64, int port=0, const char *cname="", const char *pname="")
virtual | ~AlsaOut ()
virtual void | openDev (int sqfd)
virtual void | closeDev ()
virtual void | initDev ()
int | deviceType () const
virtual const char * | deviceName (void) const
int | rate (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 | channelSilence (uchar chn)
virtual void | channelMute (uchar chn, int b)
virtual void | setVolumePercentage (int volper)
int | ok (void)
virtual void | wait (double ticks)
virtual void | tmrSetTempo (int v)
virtual void | tmrStart (int tpcn)
virtual void | tmrStart ()
virtual void | tmrStop ()
virtual void | tmrContinue ()
void | sync (int i=0)
Public Member Functions inherited from MidiOut
| MidiOut (int d=0)
virtual | ~MidiOut ()
int | deviceType () const
const char * | deviceName (void) const
void | setMidiMapper (MidiMapper *map)
void | allNotesOff (void)
int | ok (void)
const char * | midiMapFilename ()
void | sync (int i=0)

## Public Attributes

AlsaOutPrivate * | di

## Protected Member Functions

virtual void | seqbuf_dump (void)
virtual void | seqbuf_clean (void)
void | eventInit (snd_seq_event_t *ev)
void | eventSend (snd_seq_event_t *ep)
void | timerEventSend (int type)
Protected Member Functions inherited from MidiOut
void | seqbuf_dump (void)
void | seqbuf_clean (void)

## Protected Attributes

int | ndevs
int | nmidiports
double | count
double | lastcount
double | lasttime
double | begintime
int | m_rate
double | convertrate
long int | time
Protected Attributes inherited from MidiOut
int | seqfd
int | device
int | devicetype
int | volumepercentage
MidiMapper * | map
uchar | chnpatch [16]
int | chnbender [16]
uchar | chnpressure [16]
uchar | chncontroller [16][256]
int | chnmute [16]
int | _ok

## Friends

class | DeviceManager

## Detailed Description

Sends MIDI events to a MIDI devices using ALSA.

Version
  0.9.5 17/01/2000

Author
  Antonio Larrosa Jimenez larro.nosp@m.sa@k.nosp@m.de.or.nosp@m.g

Definition at line 37 of file alsaout.h.

## Constructor & Destructor Documentation

AlsaOut::AlsaOut | ( | int | d,
|  | int | client = `64`,
|  | int | port = `0`,
|  | const char * | cname = `""`,
|  | const char * | pname = `""`
| ) |  |

Constructor.

After constructing a MidiOut device, you must open it (using openDev() ). Additionally you may want to initialize it (with initDev() ),

Definition at line 111 of file alsaout.cc.

AlsaOut::~AlsaOut | ( |  | ) |

virtual

Destructor.

It doesn't matter if you close the device ( closeDev() ) before you destruct the object because in other case, it will be closed here.

Definition at line 126 of file alsaout.cc.

## Member Function Documentation

void AlsaOut::channelMute | ( | uchar | chn,
|  | int | b
| ) |  |

virtual

Mute or "unmute" a given channel .

Parameters

  chn | channel to work on
  b | if true, the device will ignore subsequent notes played on the chn channel, and mute all notes being played on it. If b is false, the channel is back to work.

Reimplemented from MidiOut.

Definition at line 441 of file alsaout.cc.

void AlsaOut::channelSilence | ( | uchar | chn | ) |

virtual

Mutes all notes being played on a given channel.

Reimplemented from MidiOut.

Definition at line 427 of file alsaout.cc.

void AlsaOut::chnController | ( | uchar | chn,
|  | uchar | ctl,
|  | uchar | v
| ) |  |

virtual

See DeviceManager::chnController()

Reimplemented from MidiOut.

Definition at line 390 of file alsaout.cc.

void AlsaOut::chnPatchChange | ( | uchar | chn,
|  | uchar | patch
| ) |  |

virtual

See DeviceManager::chnPatchChange()

Reimplemented from MidiOut.

Definition at line 343 of file alsaout.cc.

void AlsaOut::chnPitchBender | ( | uchar | chn,
|  | uchar | lsb,
|  | uchar | msb
| ) |  |

virtual

See DeviceManager::chnPitchBender()

Reimplemented from MidiOut.

Definition at line 374 of file alsaout.cc.

void AlsaOut::chnPressure | ( | uchar | chn,
|  | uchar | vel
| ) |  |

virtual

See DeviceManager::chnPressure()

Reimplemented from MidiOut.

Definition at line 360 of file alsaout.cc.

void AlsaOut::closeDev | ( | void |  | ) |

virtual

Closes the device.

It basically tells the device (the file descriptor) is going to be closed.

See also
  openDev

Reimplemented from MidiOut.

Definition at line 181 of file alsaout.cc.

const char * AlsaOut::deviceName | ( | void |  | ) | const

virtual

Returns the name and type of this MIDI device.

See also
  deviceType

Definition at line 564 of file alsaout.cc.

int AlsaOut::deviceType | ( |  | ) | const

inline

Returns
  the device type of the object. This is to identify the inherited class that a given object is polymorphed to. The returned value is one of these :

- KMID_EXTERNAL_MIDI if it's a MidiOut object
- KMID_SYNTH if it's a SynthOut object (as an AWE device)
- KMID_FM if it's a FMOut object
- KMID_GUS if it's a GUSOut object

which are defined in midispec.h

See also
  deviceName

Definition at line 129 of file alsaout.h.

void AlsaOut::initDev | ( | void |  | ) |

virtual

Initializes the device sending generic standard midi events and controllers, such as changing the patches of each channel to an Acoustic Piano (000), setting the volume to a normal value, etc.

Reimplemented from MidiOut.

Definition at line 209 of file alsaout.cc.

void AlsaOut::keyPressure | ( | uchar | chn,
|  | uchar | note,
|  | uchar | vel
| ) |  |

virtual

See DeviceManager::keyPressure()

Reimplemented from MidiOut.

Definition at line 331 of file alsaout.cc.

void AlsaOut::noteOff | ( | uchar | chn,
|  | uchar | note,
|  | uchar | vel
| ) |  |

virtual

See DeviceManager::noteOff()

Reimplemented from MidiOut.

Definition at line 316 of file alsaout.cc.

void AlsaOut::noteOn | ( | uchar | chn,
|  | uchar | note,
|  | uchar | vel
| ) |  |

virtual

See DeviceManager::noteOn()

Reimplemented from MidiOut.

Definition at line 294 of file alsaout.cc.

int AlsaOut::ok | ( | void |  | ) |

inline

Returns true if everything's ok and false if there has been any problem.

Definition at line 209 of file alsaout.h.

void AlsaOut::openDev | ( | int | sqfd | ) |

virtual

Opens the device.

This is generally called from DeviceManager , so you shouldn't call this yourself (except if you created the MidiOut object yourself.

Parameters

  sqfd | a file descriptor of /dev/sequencer

See also
  closeDev
  initDev

Reimplemented from MidiOut.

Definition at line 132 of file alsaout.cc.

virtual void AlsaOut::setVolumePercentage | ( | int | volper | ) |

inline virtual

Change all channel volume events multiplying it by this percentage correction Instead of forcing a channel to a fixed volume, this method allows to music to fade out even when it was being played softly.

Parameters

  volper | is an integer value, where 0 is quiet, 100 is used to send an unmodified value, 200 play music twice louder than it should, etc.

Reimplemented from MidiOut.

Definition at line 203 of file alsaout.h.

void AlsaOut::sysex | ( | uchar * | data,
|  | ulong | size
| ) |  |

virtual

See DeviceManager::sysex()

Reimplemented from MidiOut.

Definition at line 411 of file alsaout.cc.

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

- alsaout.h
- alsaout.cc

KDE Home | KDE Accessibility Home | Description of Access Keys